From cfc74dc089d95e9a553c10da8b06e80c226eea13 Mon Sep 17 00:00:00 2001 From: Build Automaion Date: Tue, 14 Oct 2025 20:23:49 +0530 Subject: [PATCH 01/19] Integrated latest changes at 10-14-2025 7:30:11 PM --- ej2-react-toc.html | 2 - .../gantt/checkbox-cs1/index.html | 2 +- .../gantt/checkbox-cs1/systemjs.config.js | 2 +- .../code-snippet/gantt/column-cs1/index.html | 2 +- .../gantt/column-cs1/systemjs.config.js | 2 +- .../gantt/minutetimeline-cs1/app/App.jsx | 0 .../gantt/minutetimeline-cs1/app/App.tsx | 0 .../minutetimeline-cs1/app/datasource.jsx | 24 + .../minutetimeline-cs1/app/datasource.tsx | 24 + .../gantt/minutetimeline-cs1/app/index.jsx | 41 + .../gantt/minutetimeline-cs1/app/index.tsx | 41 + .../gantt/minutetimeline-cs1/index.html | 32 + .../minutetimeline-cs1/systemjs.config.js | 64 + .../app/index.jsx | 7 +- .../app/index.tsx | 3 +- .../pdf-export-customization-cs1/index.html | 2 +- .../systemjs.config.js | 2 +- .../app/index.jsx | 2 +- .../projectview-multitaskbar-cs1/index.html | 2 +- .../systemjs.config.js | 2 +- .../pivot-grid/default-cs1/index.html | 20 +- .../pivot-grid/default-cs1/systemjs.config.js | 2 +- .../icon-customization-cs1/index.html | 20 +- .../icon-customization-cs1/systemjs.config.js | 2 +- .../pivot-table/accessibility/app/App.css | 24 +- .../pivot-table/accessibility/index.html | 24 +- .../accessibility/systemjs.config.js | 2 +- .../background-css-cs1/app/App.css | 24 +- .../pivot-table/background-css-cs1/index.html | 24 +- .../background-css-cs1/systemjs.config.js | 2 +- .../classic-layout-cs1/app/App.css | 24 +- .../pivot-table/classic-layout-cs1/index.html | 24 +- .../classic-layout-cs1/systemjs.config.js | 2 +- .../pivot-table/default-cs1/app/App.css | 24 +- .../pivot-table/default-cs1/app/App.jsx | 2 +- .../pivot-table/default-cs1/app/App.tsx | 2 +- .../pivot-table/default-cs1/index.html | 24 +- .../default-cs1/systemjs.config.js | 2 +- .../pivot-table/default-cs10/app/App.css | 24 +- .../pivot-table/default-cs10/index.html | 24 +- .../default-cs10/systemjs.config.js | 2 +- .../pivot-table/default-cs100/app/App.css | 24 +- .../pivot-table/default-cs100/index.html | 24 +- .../default-cs100/systemjs.config.js | 2 +- .../pivot-table/default-cs101/app/App.css | 24 +- .../pivot-table/default-cs101/index.html | 24 +- .../default-cs101/systemjs.config.js | 2 +- .../pivot-table/default-cs102/app/App.css | 24 +- .../pivot-table/default-cs102/index.html | 24 +- .../default-cs102/systemjs.config.js | 2 +- .../pivot-table/default-cs103/app/App.css | 24 +- .../pivot-table/default-cs103/index.html | 24 +- .../default-cs103/systemjs.config.js | 2 +- .../pivot-table/default-cs104/app/App.css | 24 +- .../pivot-table/default-cs104/index.html | 24 +- .../default-cs104/systemjs.config.js | 2 +- .../pivot-table/default-cs105/app/App.css | 24 +- .../pivot-table/default-cs105/index.html | 24 +- .../default-cs105/systemjs.config.js | 2 +- .../pivot-table/default-cs106/app/App.css | 24 +- .../pivot-table/default-cs106/index.html | 24 +- .../default-cs106/systemjs.config.js | 2 +- .../pivot-table/default-cs107/app/App.css | 24 +- .../pivot-table/default-cs107/index.html | 24 +- .../default-cs107/systemjs.config.js | 2 +- .../pivot-table/default-cs108/app/App.css | 24 +- .../pivot-table/default-cs108/index.html | 24 +- .../default-cs108/systemjs.config.js | 2 +- .../pivot-table/default-cs109/app/App.css | 24 +- .../pivot-table/default-cs109/index.html | 24 +- .../default-cs109/systemjs.config.js | 2 +- .../pivot-table/default-cs11/app/App.css | 24 +- .../pivot-table/default-cs11/index.html | 24 +- .../default-cs11/systemjs.config.js | 2 +- .../pivot-table/default-cs110/app/App.css | 24 +- .../pivot-table/default-cs110/index.html | 24 +- .../default-cs110/systemjs.config.js | 2 +- .../pivot-table/default-cs111/app/App.css | 24 +- .../pivot-table/default-cs111/index.html | 24 +- .../default-cs111/systemjs.config.js | 2 +- .../pivot-table/default-cs112/app/App.css | 24 +- .../pivot-table/default-cs112/index.html | 24 +- .../default-cs112/systemjs.config.js | 2 +- .../pivot-table/default-cs113/app/App.css | 24 +- .../pivot-table/default-cs113/index.html | 24 +- .../default-cs113/systemjs.config.js | 2 +- .../pivot-table/default-cs114/app/App.css | 24 +- .../pivot-table/default-cs114/index.html | 24 +- .../default-cs114/systemjs.config.js | 2 +- .../pivot-table/default-cs115/app/App.css | 24 +- .../pivot-table/default-cs115/index.html | 24 +- .../default-cs115/systemjs.config.js | 2 +- .../pivot-table/default-cs116/app/App.css | 24 +- .../pivot-table/default-cs116/index.html | 24 +- .../default-cs116/systemjs.config.js | 2 +- .../pivot-table/default-cs117/app/App.css | 24 +- .../pivot-table/default-cs117/index.html | 24 +- .../default-cs117/systemjs.config.js | 2 +- .../pivot-table/default-cs118/app/App.css | 24 +- .../pivot-table/default-cs118/index.html | 24 +- .../default-cs118/systemjs.config.js | 2 +- .../pivot-table/default-cs119/app/App.css | 24 +- .../pivot-table/default-cs119/index.html | 24 +- .../default-cs119/systemjs.config.js | 2 +- .../pivot-table/default-cs12/app/App.css | 24 +- .../pivot-table/default-cs12/index.html | 24 +- .../default-cs12/systemjs.config.js | 2 +- .../pivot-table/default-cs120/app/App.css | 24 +- .../pivot-table/default-cs120/index.html | 24 +- .../default-cs120/systemjs.config.js | 2 +- .../pivot-table/default-cs121/app/App.css | 24 +- .../pivot-table/default-cs121/index.html | 24 +- .../default-cs121/systemjs.config.js | 2 +- .../pivot-table/default-cs122/app/App.css | 24 +- .../pivot-table/default-cs122/index.html | 24 +- .../default-cs122/systemjs.config.js | 2 +- .../pivot-table/default-cs123/app/App.css | 24 +- .../pivot-table/default-cs123/index.html | 24 +- .../default-cs123/systemjs.config.js | 2 +- .../pivot-table/default-cs124/app/App.css | 24 +- .../pivot-table/default-cs124/index.html | 24 +- .../default-cs124/systemjs.config.js | 2 +- .../pivot-table/default-cs125/app/App.css | 24 +- .../pivot-table/default-cs125/index.html | 24 +- .../default-cs125/systemjs.config.js | 2 +- .../pivot-table/default-cs126/app/App.css | 24 +- .../pivot-table/default-cs126/index.html | 24 +- .../default-cs126/systemjs.config.js | 2 +- .../pivot-table/default-cs127/app/App.css | 24 +- .../pivot-table/default-cs127/index.html | 24 +- .../default-cs127/systemjs.config.js | 2 +- .../pivot-table/default-cs128/app/App.css | 24 +- .../pivot-table/default-cs128/index.html | 24 +- .../default-cs128/systemjs.config.js | 2 +- .../pivot-table/default-cs129/app/App.css | 24 +- .../pivot-table/default-cs129/index.html | 24 +- .../default-cs129/systemjs.config.js | 2 +- .../pivot-table/default-cs13/app/App.css | 24 +- .../pivot-table/default-cs13/index.html | 24 +- .../default-cs13/systemjs.config.js | 2 +- .../pivot-table/default-cs130/app/App.css | 24 +- .../pivot-table/default-cs130/index.html | 24 +- .../default-cs130/systemjs.config.js | 2 +- .../pivot-table/default-cs131/app/App.css | 24 +- .../pivot-table/default-cs131/index.html | 24 +- .../default-cs131/systemjs.config.js | 2 +- .../pivot-table/default-cs132/app/App.css | 24 +- .../pivot-table/default-cs132/index.html | 24 +- .../default-cs132/systemjs.config.js | 2 +- .../pivot-table/default-cs133/app/App.css | 24 +- .../pivot-table/default-cs133/index.html | 24 +- .../default-cs133/systemjs.config.js | 2 +- .../pivot-table/default-cs134/app/App.css | 24 +- .../pivot-table/default-cs134/index.html | 24 +- .../default-cs134/systemjs.config.js | 2 +- .../pivot-table/default-cs135/app/App.css | 24 +- .../pivot-table/default-cs135/index.html | 24 +- .../default-cs135/systemjs.config.js | 2 +- .../pivot-table/default-cs136/app/App.css | 24 +- .../pivot-table/default-cs136/index.html | 24 +- .../default-cs136/systemjs.config.js | 2 +- .../pivot-table/default-cs137/app/App.css | 24 +- .../pivot-table/default-cs137/index.html | 24 +- .../default-cs137/systemjs.config.js | 2 +- .../pivot-table/default-cs138/app/App.css | 24 +- .../pivot-table/default-cs138/index.html | 24 +- .../default-cs138/systemjs.config.js | 2 +- .../pivot-table/default-cs139/app/App.css | 24 +- .../pivot-table/default-cs139/index.html | 24 +- .../default-cs139/systemjs.config.js | 2 +- .../pivot-table/default-cs14/app/App.css | 24 +- .../pivot-table/default-cs14/index.html | 24 +- .../default-cs14/systemjs.config.js | 2 +- .../pivot-table/default-cs140/app/App.css | 24 +- .../pivot-table/default-cs140/index.html | 24 +- .../default-cs140/systemjs.config.js | 2 +- .../pivot-table/default-cs141/app/App.css | 24 +- .../pivot-table/default-cs141/index.html | 24 +- .../default-cs141/systemjs.config.js | 2 +- .../pivot-table/default-cs142/app/App.css | 24 +- .../pivot-table/default-cs142/index.html | 24 +- .../default-cs142/systemjs.config.js | 2 +- .../pivot-table/default-cs143/app/App.css | 24 +- .../pivot-table/default-cs143/index.html | 24 +- .../default-cs143/systemjs.config.js | 2 +- .../pivot-table/default-cs144/app/App.css | 24 +- .../pivot-table/default-cs144/index.html | 24 +- .../default-cs144/systemjs.config.js | 2 +- .../pivot-table/default-cs145/app/App.css | 24 +- .../pivot-table/default-cs145/index.html | 24 +- .../default-cs145/systemjs.config.js | 2 +- .../pivot-table/default-cs146/app/App.css | 24 +- .../pivot-table/default-cs146/index.html | 24 +- .../default-cs146/systemjs.config.js | 2 +- .../pivot-table/default-cs147/app/App.css | 24 +- .../pivot-table/default-cs147/index.html | 24 +- .../default-cs147/systemjs.config.js | 2 +- .../pivot-table/default-cs148/app/App.css | 24 +- .../pivot-table/default-cs148/index.html | 24 +- .../default-cs148/systemjs.config.js | 2 +- .../pivot-table/default-cs149/app/App.css | 24 +- .../pivot-table/default-cs149/index.html | 24 +- .../default-cs149/systemjs.config.js | 2 +- .../pivot-table/default-cs15/app/App.css | 24 +- .../pivot-table/default-cs15/index.html | 24 +- .../default-cs15/systemjs.config.js | 2 +- .../pivot-table/default-cs150/app/App.css | 24 +- .../pivot-table/default-cs150/index.html | 24 +- .../default-cs150/systemjs.config.js | 2 +- .../pivot-table/default-cs151/app/App.css | 24 +- .../pivot-table/default-cs151/index.html | 24 +- .../default-cs151/systemjs.config.js | 2 +- .../pivot-table/default-cs152/app/App.css | 24 +- .../pivot-table/default-cs152/index.html | 24 +- .../default-cs152/systemjs.config.js | 2 +- .../pivot-table/default-cs153/app/App.css | 24 +- .../pivot-table/default-cs153/index.html | 24 +- .../default-cs153/systemjs.config.js | 2 +- .../pivot-table/default-cs154/app/App.css | 24 +- .../pivot-table/default-cs154/index.html | 24 +- .../default-cs154/systemjs.config.js | 2 +- .../pivot-table/default-cs155/index.html | 24 +- .../default-cs155/systemjs.config.js | 2 +- .../pivot-table/default-cs156/app/App.css | 24 +- .../pivot-table/default-cs156/index.html | 24 +- .../default-cs156/systemjs.config.js | 2 +- .../pivot-table/default-cs157/app/App.css | 24 +- .../pivot-table/default-cs157/index.html | 24 +- .../default-cs157/systemjs.config.js | 2 +- .../pivot-table/default-cs158/app/App.css | 24 +- .../pivot-table/default-cs158/index.html | 24 +- .../default-cs158/systemjs.config.js | 2 +- .../pivot-table/default-cs159/app/App.css | 24 +- .../pivot-table/default-cs159/index.html | 24 +- .../default-cs159/systemjs.config.js | 2 +- .../pivot-table/default-cs16/app/App.css | 24 +- .../pivot-table/default-cs16/index.html | 24 +- .../default-cs16/systemjs.config.js | 2 +- .../pivot-table/default-cs160/app/App.css | 24 +- .../pivot-table/default-cs160/index.html | 24 +- .../default-cs160/systemjs.config.js | 2 +- .../pivot-table/default-cs161/app/App.css | 24 +- .../pivot-table/default-cs161/index.html | 24 +- .../default-cs161/systemjs.config.js | 2 +- .../pivot-table/default-cs162/app/App.css | 24 +- .../pivot-table/default-cs162/index.html | 24 +- .../default-cs162/systemjs.config.js | 2 +- .../pivot-table/default-cs163/index.html | 24 +- .../default-cs163/systemjs.config.js | 2 +- .../pivot-table/default-cs164/app/App.css | 24 +- .../pivot-table/default-cs164/index.html | 24 +- .../default-cs164/systemjs.config.js | 2 +- .../pivot-table/default-cs165/app/App.css | 24 +- .../pivot-table/default-cs165/index.html | 24 +- .../default-cs165/systemjs.config.js | 2 +- .../pivot-table/default-cs166/app/App.css | 24 +- .../pivot-table/default-cs166/index.html | 24 +- .../default-cs166/systemjs.config.js | 2 +- .../pivot-table/default-cs167/index.html | 24 +- .../default-cs167/systemjs.config.js | 2 +- .../pivot-table/default-cs168/app/App.css | 24 +- .../pivot-table/default-cs168/index.html | 24 +- .../default-cs168/systemjs.config.js | 2 +- .../pivot-table/default-cs169/app/App.css | 24 +- .../pivot-table/default-cs169/index.html | 24 +- .../default-cs169/systemjs.config.js | 2 +- .../pivot-table/default-cs17/app/App.css | 24 +- .../pivot-table/default-cs17/index.html | 24 +- .../default-cs17/systemjs.config.js | 2 +- .../pivot-table/default-cs170/app/App.css | 24 +- .../pivot-table/default-cs170/index.html | 24 +- .../default-cs170/systemjs.config.js | 2 +- .../pivot-table/default-cs171/app/App.css | 24 +- .../pivot-table/default-cs171/index.html | 24 +- .../default-cs171/systemjs.config.js | 2 +- .../pivot-table/default-cs172/app/App.css | 24 +- .../pivot-table/default-cs172/index.html | 24 +- .../default-cs172/systemjs.config.js | 2 +- .../pivot-table/default-cs173/app/App.css | 24 +- .../pivot-table/default-cs173/index.html | 24 +- .../default-cs173/systemjs.config.js | 2 +- .../pivot-table/default-cs174/app/App.css | 24 +- .../pivot-table/default-cs174/index.html | 24 +- .../default-cs174/systemjs.config.js | 2 +- .../pivot-table/default-cs175/app/App.css | 24 +- .../pivot-table/default-cs175/index.html | 24 +- .../default-cs175/systemjs.config.js | 2 +- .../pivot-table/default-cs176/app/App.css | 24 +- .../pivot-table/default-cs176/index.html | 24 +- .../default-cs176/systemjs.config.js | 2 +- .../pivot-table/default-cs177/app/App.css | 24 +- .../pivot-table/default-cs177/app/App.jsx | 2 +- .../pivot-table/default-cs177/app/App.tsx | 2 +- .../pivot-table/default-cs177/index.html | 24 +- .../default-cs177/systemjs.config.js | 2 +- .../pivot-table/default-cs178/app/App.css | 24 +- .../pivot-table/default-cs178/index.html | 24 +- .../default-cs178/systemjs.config.js | 2 +- .../pivot-table/default-cs179/app/App.css | 24 +- .../pivot-table/default-cs179/index.html | 24 +- .../default-cs179/systemjs.config.js | 2 +- .../pivot-table/default-cs18/app/App.css | 24 +- .../pivot-table/default-cs18/index.html | 24 +- .../default-cs18/systemjs.config.js | 2 +- .../pivot-table/default-cs180/app/App.css | 24 +- .../pivot-table/default-cs180/index.html | 24 +- .../default-cs180/systemjs.config.js | 2 +- .../pivot-table/default-cs181/app/App.css | 24 +- .../pivot-table/default-cs181/index.html | 24 +- .../default-cs181/systemjs.config.js | 2 +- .../pivot-table/default-cs182/app/App.css | 24 +- .../pivot-table/default-cs182/index.html | 24 +- .../default-cs182/systemjs.config.js | 2 +- .../pivot-table/default-cs183/app/App.css | 24 +- .../pivot-table/default-cs183/index.html | 24 +- .../default-cs183/systemjs.config.js | 2 +- .../pivot-table/default-cs184/app/App.css | 24 +- .../pivot-table/default-cs184/index.html | 24 +- .../default-cs184/systemjs.config.js | 2 +- .../pivot-table/default-cs185/app/App.css | 24 +- .../pivot-table/default-cs185/index.html | 24 +- .../default-cs185/systemjs.config.js | 2 +- .../pivot-table/default-cs186/app/App.css | 24 +- .../pivot-table/default-cs186/index.html | 24 +- .../default-cs186/systemjs.config.js | 2 +- .../pivot-table/default-cs187/app/App.css | 24 +- .../pivot-table/default-cs187/index.html | 24 +- .../default-cs187/systemjs.config.js | 2 +- .../pivot-table/default-cs188/app/App.css | 24 +- .../pivot-table/default-cs188/index.html | 24 +- .../default-cs188/systemjs.config.js | 2 +- .../pivot-table/default-cs189/app/App.css | 24 +- .../pivot-table/default-cs189/index.html | 24 +- .../default-cs189/systemjs.config.js | 2 +- .../pivot-table/default-cs19/app/App.css | 24 +- .../pivot-table/default-cs19/index.html | 24 +- .../default-cs19/systemjs.config.js | 2 +- .../pivot-table/default-cs190/app/App.css | 24 +- .../pivot-table/default-cs190/index.html | 24 +- .../default-cs190/systemjs.config.js | 2 +- .../pivot-table/default-cs191/app/App.css | 24 +- .../pivot-table/default-cs191/index.html | 24 +- .../default-cs191/systemjs.config.js | 2 +- .../pivot-table/default-cs192/app/App.css | 24 +- .../pivot-table/default-cs192/index.html | 24 +- .../default-cs192/systemjs.config.js | 2 +- .../pivot-table/default-cs193/app/App.css | 24 +- .../pivot-table/default-cs193/index.html | 24 +- .../default-cs193/systemjs.config.js | 2 +- .../pivot-table/default-cs194/app/App.css | 24 +- .../pivot-table/default-cs194/index.html | 24 +- .../default-cs194/systemjs.config.js | 2 +- .../pivot-table/default-cs195/app/App.css | 24 +- .../pivot-table/default-cs195/index.html | 24 +- .../default-cs195/systemjs.config.js | 2 +- .../pivot-table/default-cs196/app/App.css | 24 +- .../pivot-table/default-cs196/index.html | 24 +- .../default-cs196/systemjs.config.js | 2 +- .../pivot-table/default-cs197/app/App.css | 24 +- .../pivot-table/default-cs197/index.html | 24 +- .../default-cs197/systemjs.config.js | 2 +- .../pivot-table/default-cs198/app/App.css | 24 +- .../pivot-table/default-cs198/index.html | 24 +- .../default-cs198/systemjs.config.js | 2 +- .../pivot-table/default-cs199/app/App.css | 24 +- .../pivot-table/default-cs199/index.html | 24 +- .../default-cs199/systemjs.config.js | 2 +- .../pivot-table/default-cs2/app/App.css | 24 +- .../pivot-table/default-cs2/index.html | 24 +- .../default-cs2/systemjs.config.js | 2 +- .../pivot-table/default-cs20/app/App.css | 24 +- .../pivot-table/default-cs20/index.html | 24 +- .../default-cs20/systemjs.config.js | 2 +- .../pivot-table/default-cs200/app/App.css | 24 +- .../pivot-table/default-cs200/index.html | 24 +- .../default-cs200/systemjs.config.js | 2 +- .../pivot-table/default-cs201/app/App.jsx | 39 +- .../pivot-table/default-cs201/app/App.tsx | 42 +- .../pivot-table/default-cs201/index.html | 24 +- .../default-cs201/systemjs.config.js | 2 +- .../pivot-table/default-cs202/app/App.jsx | 23 +- .../pivot-table/default-cs202/app/App.tsx | 25 +- .../pivot-table/default-cs202/index.html | 24 +- .../default-cs202/systemjs.config.js | 2 +- .../pivot-table/default-cs203/app/App.jsx | 23 +- .../pivot-table/default-cs203/app/App.tsx | 26 +- .../pivot-table/default-cs203/index.html | 24 +- .../default-cs203/systemjs.config.js | 2 +- .../pivot-table/default-cs204/app/App.jsx | 25 +- .../pivot-table/default-cs204/app/App.tsx | 25 +- .../pivot-table/default-cs204/index.html | 24 +- .../default-cs204/systemjs.config.js | 2 +- .../pivot-table/default-cs205/app/App.jsx | 23 +- .../pivot-table/default-cs205/app/App.tsx | 26 +- .../pivot-table/default-cs205/index.html | 24 +- .../default-cs205/systemjs.config.js | 2 +- .../pivot-table/default-cs206/app/App.jsx | 25 +- .../pivot-table/default-cs206/app/App.tsx | 27 +- .../pivot-table/default-cs206/index.html | 24 +- .../default-cs206/systemjs.config.js | 2 +- .../pivot-table/default-cs207/app/App.jsx | 27 +- .../pivot-table/default-cs207/app/App.tsx | 33 +- .../pivot-table/default-cs207/index.html | 24 +- .../default-cs207/systemjs.config.js | 2 +- .../pivot-table/default-cs208/app/App.css | 24 +- .../pivot-table/default-cs208/index.html | 24 +- .../default-cs208/systemjs.config.js | 2 +- .../pivot-table/default-cs209/app/App.css | 24 +- .../pivot-table/default-cs209/index.html | 24 +- .../default-cs209/systemjs.config.js | 2 +- .../pivot-table/default-cs21/index.html | 24 +- .../default-cs21/systemjs.config.js | 2 +- .../pivot-table/default-cs210/app/App.css | 24 +- .../pivot-table/default-cs210/index.html | 24 +- .../default-cs210/systemjs.config.js | 2 +- .../pivot-table/default-cs211/app/App.css | 24 +- .../pivot-table/default-cs211/index.html | 24 +- .../default-cs211/systemjs.config.js | 2 +- .../pivot-table/default-cs212/app/App.css | 24 +- .../pivot-table/default-cs212/index.html | 24 +- .../default-cs212/systemjs.config.js | 2 +- .../pivot-table/default-cs213/app/App.css | 24 +- .../pivot-table/default-cs213/index.html | 24 +- .../default-cs213/systemjs.config.js | 2 +- .../pivot-table/default-cs214/app/App.css | 24 +- .../pivot-table/default-cs214/index.html | 24 +- .../default-cs214/systemjs.config.js | 2 +- .../pivot-table/default-cs215/app/App.css | 24 +- .../pivot-table/default-cs215/index.html | 24 +- .../default-cs215/systemjs.config.js | 2 +- .../pivot-table/default-cs216/app/App.css | 24 +- .../pivot-table/default-cs216/index.html | 24 +- .../default-cs216/systemjs.config.js | 2 +- .../pivot-table/default-cs217/app/App.css | 24 +- .../pivot-table/default-cs217/index.html | 24 +- .../default-cs217/systemjs.config.js | 2 +- .../pivot-table/default-cs218/app/App.css | 24 +- .../pivot-table/default-cs218/index.html | 24 +- .../default-cs218/systemjs.config.js | 2 +- .../pivot-table/default-cs219/app/App.css | 24 +- .../pivot-table/default-cs219/index.html | 24 +- .../default-cs219/systemjs.config.js | 2 +- .../pivot-table/default-cs22/index.html | 24 +- .../default-cs22/systemjs.config.js | 2 +- .../pivot-table/default-cs220/app/App.css | 24 +- .../pivot-table/default-cs220/index.html | 24 +- .../default-cs220/systemjs.config.js | 2 +- .../pivot-table/default-cs221/app/App.css | 24 +- .../pivot-table/default-cs221/index.html | 24 +- .../default-cs221/systemjs.config.js | 2 +- .../pivot-table/default-cs222/app/App.css | 24 +- .../pivot-table/default-cs222/index.html | 24 +- .../default-cs222/systemjs.config.js | 2 +- .../pivot-table/default-cs223/app/App.css | 24 +- .../pivot-table/default-cs223/index.html | 24 +- .../default-cs223/systemjs.config.js | 2 +- .../pivot-table/default-cs224/app/App.css | 24 +- .../pivot-table/default-cs224/index.html | 24 +- .../default-cs224/systemjs.config.js | 2 +- .../pivot-table/default-cs225/app/App.css | 24 +- .../pivot-table/default-cs225/index.html | 24 +- .../default-cs225/systemjs.config.js | 2 +- .../pivot-table/default-cs226/app/App.css | 24 +- .../pivot-table/default-cs226/index.html | 24 +- .../default-cs226/systemjs.config.js | 2 +- .../pivot-table/default-cs227/app/App.css | 24 +- .../pivot-table/default-cs227/index.html | 24 +- .../default-cs227/systemjs.config.js | 2 +- .../pivot-table/default-cs228/app/App.css | 24 +- .../pivot-table/default-cs228/index.html | 24 +- .../default-cs228/systemjs.config.js | 2 +- .../pivot-table/default-cs229/app/App.css | 24 +- .../pivot-table/default-cs229/index.html | 24 +- .../default-cs229/systemjs.config.js | 2 +- .../pivot-table/default-cs23/app/App.css | 24 +- .../pivot-table/default-cs23/index.html | 24 +- .../default-cs23/systemjs.config.js | 2 +- .../pivot-table/default-cs230/app/App.css | 24 +- .../pivot-table/default-cs230/index.html | 24 +- .../default-cs230/systemjs.config.js | 2 +- .../pivot-table/default-cs231/app/App.css | 24 +- .../pivot-table/default-cs231/index.html | 24 +- .../default-cs231/systemjs.config.js | 2 +- .../pivot-table/default-cs232/app/App.css | 24 +- .../pivot-table/default-cs232/index.html | 24 +- .../default-cs232/systemjs.config.js | 2 +- .../pivot-table/default-cs233/app/App.css | 24 +- .../pivot-table/default-cs233/index.html | 24 +- .../default-cs233/systemjs.config.js | 2 +- .../pivot-table/default-cs234/app/App.css | 24 +- .../pivot-table/default-cs234/index.html | 24 +- .../default-cs234/systemjs.config.js | 2 +- .../pivot-table/default-cs235/app/App.css | 24 +- .../pivot-table/default-cs235/index.html | 24 +- .../default-cs235/systemjs.config.js | 2 +- .../pivot-table/default-cs236/app/App.css | 24 +- .../pivot-table/default-cs236/index.html | 24 +- .../default-cs236/systemjs.config.js | 2 +- .../pivot-table/default-cs237/app/App.css | 24 +- .../pivot-table/default-cs237/index.html | 24 +- .../default-cs237/systemjs.config.js | 2 +- .../pivot-table/default-cs238/app/App.css | 24 +- .../pivot-table/default-cs238/index.html | 24 +- .../default-cs238/systemjs.config.js | 2 +- .../pivot-table/default-cs239/app/App.css | 24 +- .../pivot-table/default-cs239/index.html | 24 +- .../default-cs239/systemjs.config.js | 2 +- .../pivot-table/default-cs24/app/App.css | 24 +- .../pivot-table/default-cs24/index.html | 24 +- .../default-cs24/systemjs.config.js | 2 +- .../pivot-table/default-cs240/app/App.css | 24 +- .../pivot-table/default-cs240/index.html | 24 +- .../default-cs240/systemjs.config.js | 2 +- .../pivot-table/default-cs241/app/App.css | 24 +- .../pivot-table/default-cs241/index.html | 24 +- .../default-cs241/systemjs.config.js | 2 +- .../pivot-table/default-cs242/app/App.css | 24 +- .../pivot-table/default-cs242/index.html | 24 +- .../default-cs242/systemjs.config.js | 2 +- .../pivot-table/default-cs243/app/App.css | 24 +- .../pivot-table/default-cs243/index.html | 24 +- .../default-cs243/systemjs.config.js | 2 +- .../pivot-table/default-cs244/app/App.css | 24 +- .../pivot-table/default-cs244/index.html | 24 +- .../default-cs244/systemjs.config.js | 2 +- .../pivot-table/default-cs245/app/App.css | 24 +- .../pivot-table/default-cs245/index.html | 24 +- .../default-cs245/systemjs.config.js | 2 +- .../pivot-table/default-cs246/app/App.css | 24 +- .../pivot-table/default-cs246/index.html | 24 +- .../default-cs246/systemjs.config.js | 2 +- .../pivot-table/default-cs247/app/App.css | 24 +- .../pivot-table/default-cs247/index.html | 24 +- .../default-cs247/systemjs.config.js | 2 +- .../pivot-table/default-cs248/app/App.css | 24 +- .../pivot-table/default-cs248/index.html | 24 +- .../default-cs248/systemjs.config.js | 2 +- .../pivot-table/default-cs249/app/App.css | 24 +- .../pivot-table/default-cs249/index.html | 24 +- .../default-cs249/systemjs.config.js | 2 +- .../pivot-table/default-cs25/index.html | 24 +- .../default-cs25/systemjs.config.js | 2 +- .../pivot-table/default-cs250/app/App.css | 24 +- .../pivot-table/default-cs250/index.html | 24 +- .../default-cs250/systemjs.config.js | 2 +- .../pivot-table/default-cs251/app/App.css | 24 +- .../pivot-table/default-cs251/index.html | 24 +- .../default-cs251/systemjs.config.js | 2 +- .../pivot-table/default-cs252/app/App.css | 24 +- .../pivot-table/default-cs252/index.html | 24 +- .../default-cs252/systemjs.config.js | 2 +- .../pivot-table/default-cs253/app/App.css | 24 +- .../pivot-table/default-cs253/index.html | 24 +- .../default-cs253/systemjs.config.js | 2 +- .../pivot-table/default-cs254/app/App.css | 24 +- .../pivot-table/default-cs254/index.html | 24 +- .../default-cs254/systemjs.config.js | 2 +- .../pivot-table/default-cs255/app/App.css | 24 +- .../pivot-table/default-cs255/index.html | 24 +- .../default-cs255/systemjs.config.js | 2 +- .../pivot-table/default-cs256/app/App.css | 24 +- .../pivot-table/default-cs256/index.html | 24 +- .../default-cs256/systemjs.config.js | 2 +- .../pivot-table/default-cs257/app/App.css | 24 +- .../pivot-table/default-cs257/index.html | 24 +- .../default-cs257/systemjs.config.js | 2 +- .../pivot-table/default-cs258/app/App.css | 24 +- .../pivot-table/default-cs258/index.html | 24 +- .../default-cs258/systemjs.config.js | 2 +- .../pivot-table/default-cs259/app/App.css | 24 +- .../pivot-table/default-cs259/index.html | 24 +- .../default-cs259/systemjs.config.js | 2 +- .../pivot-table/default-cs26/app/App.css | 24 +- .../pivot-table/default-cs26/index.html | 24 +- .../default-cs26/systemjs.config.js | 2 +- .../pivot-table/default-cs260/app/App.css | 24 +- .../pivot-table/default-cs260/index.html | 24 +- .../default-cs260/systemjs.config.js | 2 +- .../pivot-table/default-cs261/app/App.css | 24 +- .../pivot-table/default-cs261/index.html | 24 +- .../default-cs261/systemjs.config.js | 2 +- .../pivot-table/default-cs262/app/App.css | 24 +- .../pivot-table/default-cs262/index.html | 24 +- .../default-cs262/systemjs.config.js | 2 +- .../pivot-table/default-cs263/app/App.css | 24 +- .../pivot-table/default-cs263/index.html | 24 +- .../default-cs263/systemjs.config.js | 2 +- .../pivot-table/default-cs264/app/App.css | 24 +- .../pivot-table/default-cs264/index.html | 24 +- .../default-cs264/systemjs.config.js | 2 +- .../pivot-table/default-cs265/app/App.css | 24 +- .../pivot-table/default-cs265/index.html | 24 +- .../default-cs265/systemjs.config.js | 2 +- .../pivot-table/default-cs266/app/App.css | 24 +- .../pivot-table/default-cs266/index.html | 24 +- .../default-cs266/systemjs.config.js | 2 +- .../pivot-table/default-cs267/app/App.css | 24 +- .../pivot-table/default-cs267/index.html | 24 +- .../default-cs267/systemjs.config.js | 2 +- .../pivot-table/default-cs268/app/App.css | 24 +- .../pivot-table/default-cs268/index.html | 24 +- .../default-cs268/systemjs.config.js | 2 +- .../pivot-table/default-cs269/app/App.css | 24 +- .../pivot-table/default-cs269/index.html | 24 +- .../default-cs269/systemjs.config.js | 2 +- .../pivot-table/default-cs27/index.html | 24 +- .../default-cs27/systemjs.config.js | 2 +- .../pivot-table/default-cs270/app/App.css | 24 +- .../pivot-table/default-cs270/index.html | 24 +- .../default-cs270/systemjs.config.js | 2 +- .../pivot-table/default-cs271/app/App.css | 24 +- .../pivot-table/default-cs271/index.html | 24 +- .../default-cs271/systemjs.config.js | 2 +- .../pivot-table/default-cs272/app/App.css | 24 +- .../pivot-table/default-cs272/index.html | 24 +- .../default-cs272/systemjs.config.js | 2 +- .../pivot-table/default-cs273/app/App.css | 24 +- .../pivot-table/default-cs273/index.html | 24 +- .../default-cs273/systemjs.config.js | 2 +- .../pivot-table/default-cs274/app/App.css | 24 +- .../pivot-table/default-cs274/index.html | 24 +- .../default-cs274/systemjs.config.js | 2 +- .../pivot-table/default-cs275/app/App.css | 24 +- .../pivot-table/default-cs275/index.html | 24 +- .../default-cs275/systemjs.config.js | 2 +- .../pivot-table/default-cs276/app/App.css | 24 +- .../pivot-table/default-cs276/index.html | 24 +- .../default-cs276/systemjs.config.js | 2 +- .../pivot-table/default-cs277/app/App.css | 24 +- .../pivot-table/default-cs277/index.html | 24 +- .../default-cs277/systemjs.config.js | 2 +- .../pivot-table/default-cs278/app/App.css | 24 +- .../pivot-table/default-cs278/index.html | 24 +- .../default-cs278/systemjs.config.js | 2 +- .../pivot-table/default-cs279/app/App.css | 24 +- .../pivot-table/default-cs279/index.html | 24 +- .../default-cs279/systemjs.config.js | 2 +- .../pivot-table/default-cs28/index.html | 24 +- .../default-cs28/systemjs.config.js | 2 +- .../pivot-table/default-cs280/app/App.css | 24 +- .../pivot-table/default-cs280/index.html | 24 +- .../default-cs280/systemjs.config.js | 2 +- .../pivot-table/default-cs281/app/App.css | 24 +- .../pivot-table/default-cs281/index.html | 24 +- .../default-cs281/systemjs.config.js | 2 +- .../pivot-table/default-cs282/app/App.css | 24 +- .../pivot-table/default-cs282/index.html | 24 +- .../default-cs282/systemjs.config.js | 2 +- .../pivot-table/default-cs283/app/App.css | 24 +- .../pivot-table/default-cs283/index.html | 24 +- .../default-cs283/systemjs.config.js | 2 +- .../pivot-table/default-cs284/app/App.css | 24 +- .../pivot-table/default-cs284/index.html | 24 +- .../default-cs284/systemjs.config.js | 2 +- .../pivot-table/default-cs285/app/App.css | 24 +- .../pivot-table/default-cs285/index.html | 24 +- .../default-cs285/systemjs.config.js | 2 +- .../pivot-table/default-cs286/app/App.css | 24 +- .../pivot-table/default-cs286/index.html | 24 +- .../default-cs286/systemjs.config.js | 2 +- .../pivot-table/default-cs287/app/App.css | 24 +- .../pivot-table/default-cs287/index.html | 24 +- .../default-cs287/systemjs.config.js | 2 +- .../pivot-table/default-cs288/app/App.css | 24 +- .../pivot-table/default-cs288/index.html | 24 +- .../default-cs288/systemjs.config.js | 2 +- .../pivot-table/default-cs289/app/App.css | 24 +- .../pivot-table/default-cs289/index.html | 24 +- .../default-cs289/systemjs.config.js | 2 +- .../pivot-table/default-cs29/index.html | 24 +- .../default-cs29/systemjs.config.js | 2 +- .../pivot-table/default-cs290/app/App.css | 24 +- .../pivot-table/default-cs290/index.html | 24 +- .../default-cs290/systemjs.config.js | 2 +- .../pivot-table/default-cs291/app/App.css | 24 +- .../pivot-table/default-cs291/index.html | 24 +- .../default-cs291/systemjs.config.js | 2 +- .../pivot-table/default-cs292/app/App.css | 24 +- .../pivot-table/default-cs292/index.html | 24 +- .../default-cs292/systemjs.config.js | 2 +- .../pivot-table/default-cs293/app/App.css | 24 +- .../pivot-table/default-cs293/index.html | 24 +- .../default-cs293/systemjs.config.js | 2 +- .../pivot-table/default-cs294/app/App.css | 24 +- .../pivot-table/default-cs294/index.html | 24 +- .../default-cs294/systemjs.config.js | 2 +- .../pivot-table/default-cs295/app/App.css | 24 +- .../pivot-table/default-cs295/index.html | 24 +- .../default-cs295/systemjs.config.js | 2 +- .../pivot-table/default-cs296/app/App.css | 24 +- .../pivot-table/default-cs296/index.html | 24 +- .../default-cs296/systemjs.config.js | 2 +- .../pivot-table/default-cs297/app/App.css | 24 +- .../pivot-table/default-cs297/index.html | 24 +- .../default-cs297/systemjs.config.js | 2 +- .../pivot-table/default-cs298/index.html | 24 +- .../default-cs298/systemjs.config.js | 2 +- .../pivot-table/default-cs299/app/App.css | 24 +- .../pivot-table/default-cs299/index.html | 24 +- .../default-cs299/systemjs.config.js | 2 +- .../pivot-table/default-cs3/app/App.css | 24 +- .../pivot-table/default-cs3/index.html | 24 +- .../default-cs3/systemjs.config.js | 2 +- .../pivot-table/default-cs30/index.html | 24 +- .../default-cs30/systemjs.config.js | 2 +- .../pivot-table/default-cs300/app/App.css | 24 +- .../pivot-table/default-cs300/index.html | 24 +- .../default-cs300/systemjs.config.js | 2 +- .../pivot-table/default-cs301/app/App.css | 24 +- .../pivot-table/default-cs301/index.html | 24 +- .../default-cs301/systemjs.config.js | 2 +- .../pivot-table/default-cs302/app/App.css | 24 +- .../pivot-table/default-cs302/index.html | 24 +- .../default-cs302/systemjs.config.js | 2 +- .../pivot-table/default-cs303/app/App.css | 24 +- .../pivot-table/default-cs303/index.html | 24 +- .../default-cs303/systemjs.config.js | 2 +- .../pivot-table/default-cs304/app/App.css | 24 +- .../pivot-table/default-cs304/index.html | 24 +- .../default-cs304/systemjs.config.js | 2 +- .../pivot-table/default-cs305/app/App.css | 24 +- .../pivot-table/default-cs305/index.html | 24 +- .../default-cs305/systemjs.config.js | 2 +- .../pivot-table/default-cs306/app/App.css | 24 +- .../pivot-table/default-cs306/index.html | 24 +- .../default-cs306/systemjs.config.js | 2 +- .../pivot-table/default-cs307/app/App.css | 24 +- .../pivot-table/default-cs307/index.html | 24 +- .../default-cs307/systemjs.config.js | 2 +- .../pivot-table/default-cs308/index.html | 24 +- .../default-cs308/systemjs.config.js | 2 +- .../pivot-table/default-cs309/index.html | 24 +- .../default-cs309/systemjs.config.js | 2 +- .../pivot-table/default-cs31/index.html | 24 +- .../default-cs31/systemjs.config.js | 2 +- .../pivot-table/default-cs310/index.html | 24 +- .../default-cs310/systemjs.config.js | 2 +- .../pivot-table/default-cs311/app/App.css | 24 +- .../pivot-table/default-cs311/index.html | 24 +- .../default-cs311/systemjs.config.js | 2 +- .../pivot-table/default-cs312/app/App.css | 24 +- .../pivot-table/default-cs312/index.html | 24 +- .../default-cs312/systemjs.config.js | 2 +- .../pivot-table/default-cs313/app/App.css | 24 +- .../pivot-table/default-cs313/index.html | 24 +- .../default-cs313/systemjs.config.js | 2 +- .../pivot-table/default-cs314/app/App.css | 24 +- .../pivot-table/default-cs314/index.html | 24 +- .../default-cs314/systemjs.config.js | 2 +- .../pivot-table/default-cs315/app/App.css | 24 +- .../pivot-table/default-cs315/index.html | 24 +- .../default-cs315/systemjs.config.js | 2 +- .../pivot-table/default-cs316/app/App.css | 24 +- .../pivot-table/default-cs316/index.html | 24 +- .../default-cs316/systemjs.config.js | 2 +- .../pivot-table/default-cs317/app/App.css | 24 +- .../pivot-table/default-cs317/index.html | 24 +- .../default-cs317/systemjs.config.js | 2 +- .../pivot-table/default-cs318/index.html | 24 +- .../default-cs318/systemjs.config.js | 2 +- .../pivot-table/default-cs319/index.html | 24 +- .../default-cs319/systemjs.config.js | 2 +- .../pivot-table/default-cs32/app/App.css | 24 +- .../pivot-table/default-cs32/index.html | 24 +- .../default-cs32/systemjs.config.js | 2 +- .../pivot-table/default-cs320/app/App.css | 24 +- .../pivot-table/default-cs320/index.html | 24 +- .../default-cs320/systemjs.config.js | 2 +- .../pivot-table/default-cs321/app/App.css | 24 +- .../pivot-table/default-cs321/index.html | 24 +- .../default-cs321/systemjs.config.js | 2 +- .../pivot-table/default-cs322/app/App.css | 24 +- .../pivot-table/default-cs322/index.html | 24 +- .../default-cs322/systemjs.config.js | 2 +- .../pivot-table/default-cs323/app/App.css | 24 +- .../pivot-table/default-cs323/index.html | 24 +- .../default-cs323/systemjs.config.js | 2 +- .../pivot-table/default-cs324/app/App.css | 24 +- .../pivot-table/default-cs324/index.html | 24 +- .../default-cs324/systemjs.config.js | 2 +- .../pivot-table/default-cs325/app/App.css | 24 +- .../pivot-table/default-cs325/index.html | 24 +- .../default-cs325/systemjs.config.js | 2 +- .../pivot-table/default-cs326/app/App.css | 24 +- .../pivot-table/default-cs326/index.html | 24 +- .../default-cs326/systemjs.config.js | 2 +- .../pivot-table/default-cs327/app/App.css | 24 +- .../pivot-table/default-cs327/index.html | 24 +- .../default-cs327/systemjs.config.js | 2 +- .../pivot-table/default-cs328/index.html | 24 +- .../default-cs328/systemjs.config.js | 2 +- .../pivot-table/default-cs329/app/App.css | 24 +- .../pivot-table/default-cs329/index.html | 24 +- .../default-cs329/systemjs.config.js | 2 +- .../pivot-table/default-cs33/app/App.css | 24 +- .../pivot-table/default-cs33/index.html | 24 +- .../default-cs33/systemjs.config.js | 2 +- .../pivot-table/default-cs330/app/App.css | 12 + .../pivot-table/default-cs330/app/App.jsx | 19 + .../pivot-table/default-cs330/app/App.tsx | 21 + .../default-cs330/app/datasource.jsx | 27 + .../default-cs330/app/datasource.tsx | 27 + .../pivot-table/default-cs330/app/index.tsx | 13 + .../pivot-table/default-cs330/index.css | 5 + .../pivot-table/default-cs330/index.html | 45 + .../default-cs330/systemjs.config.js | 61 + .../pivot-table/default-cs331/app/App.css | 12 + .../pivot-table/default-cs331/app/App.jsx | 26 + .../pivot-table/default-cs331/app/App.tsx | 30 + .../default-cs331/app/datasource.jsx | 27 + .../default-cs331/app/datasource.tsx | 27 + .../pivot-table/default-cs331/app/index.tsx | 13 + .../pivot-table/default-cs331/index.css | 5 + .../pivot-table/default-cs331/index.html | 45 + .../default-cs331/systemjs.config.js | 61 + .../pivot-table/default-cs34/app/App.css | 24 +- .../pivot-table/default-cs34/index.html | 24 +- .../default-cs34/systemjs.config.js | 2 +- .../pivot-table/default-cs35/app/App.css | 24 +- .../pivot-table/default-cs35/index.html | 24 +- .../default-cs35/systemjs.config.js | 2 +- .../pivot-table/default-cs36/app/App.css | 24 +- .../pivot-table/default-cs36/index.html | 24 +- .../default-cs36/systemjs.config.js | 2 +- .../pivot-table/default-cs37/app/App.css | 24 +- .../pivot-table/default-cs37/index.html | 24 +- .../default-cs37/systemjs.config.js | 2 +- .../pivot-table/default-cs38/app/App.css | 24 +- .../pivot-table/default-cs38/index.html | 24 +- .../default-cs38/systemjs.config.js | 2 +- .../pivot-table/default-cs39/app/App.css | 24 +- .../pivot-table/default-cs39/index.html | 24 +- .../default-cs39/systemjs.config.js | 2 +- .../pivot-table/default-cs4/app/App.css | 24 +- .../pivot-table/default-cs4/index.html | 24 +- .../default-cs4/systemjs.config.js | 2 +- .../pivot-table/default-cs40/app/App.css | 24 +- .../pivot-table/default-cs40/index.html | 24 +- .../default-cs40/systemjs.config.js | 2 +- .../pivot-table/default-cs41/app/App.css | 24 +- .../pivot-table/default-cs41/index.html | 24 +- .../default-cs41/systemjs.config.js | 2 +- .../pivot-table/default-cs42/app/App.css | 24 +- .../pivot-table/default-cs42/index.html | 24 +- .../default-cs42/systemjs.config.js | 2 +- .../pivot-table/default-cs43/app/App.css | 24 +- .../pivot-table/default-cs43/index.html | 24 +- .../default-cs43/systemjs.config.js | 2 +- .../pivot-table/default-cs44/app/App.css | 24 +- .../pivot-table/default-cs44/index.html | 24 +- .../default-cs44/systemjs.config.js | 2 +- .../pivot-table/default-cs45/app/App.css | 24 +- .../pivot-table/default-cs45/index.html | 24 +- .../default-cs45/systemjs.config.js | 2 +- .../pivot-table/default-cs46/app/App.css | 24 +- .../pivot-table/default-cs46/app/App.jsx | 9 +- .../pivot-table/default-cs46/app/App.tsx | 15 +- .../pivot-table/default-cs46/index.html | 24 +- .../default-cs46/systemjs.config.js | 2 +- .../pivot-table/default-cs47/app/App.css | 24 +- .../pivot-table/default-cs47/index.html | 24 +- .../default-cs47/systemjs.config.js | 2 +- .../pivot-table/default-cs48/app/App.css | 24 +- .../pivot-table/default-cs48/index.html | 24 +- .../default-cs48/systemjs.config.js | 2 +- .../pivot-table/default-cs49/app/App.css | 24 +- .../pivot-table/default-cs49/index.html | 24 +- .../default-cs49/systemjs.config.js | 2 +- .../pivot-table/default-cs5/app/App.css | 24 +- .../pivot-table/default-cs5/index.html | 24 +- .../default-cs5/systemjs.config.js | 2 +- .../pivot-table/default-cs50/app/App.css | 24 +- .../pivot-table/default-cs50/index.html | 24 +- .../default-cs50/systemjs.config.js | 2 +- .../pivot-table/default-cs51/app/App.css | 24 +- .../pivot-table/default-cs51/index.html | 24 +- .../default-cs51/systemjs.config.js | 2 +- .../pivot-table/default-cs52/app/App.css | 24 +- .../pivot-table/default-cs52/index.html | 24 +- .../default-cs52/systemjs.config.js | 2 +- .../pivot-table/default-cs53/app/App.css | 24 +- .../pivot-table/default-cs53/index.html | 24 +- .../default-cs53/systemjs.config.js | 2 +- .../pivot-table/default-cs54/app/App.css | 24 +- .../pivot-table/default-cs54/index.html | 24 +- .../default-cs54/systemjs.config.js | 2 +- .../pivot-table/default-cs55/app/App.css | 24 +- .../pivot-table/default-cs55/index.html | 24 +- .../default-cs55/systemjs.config.js | 2 +- .../pivot-table/default-cs56/app/App.css | 24 +- .../pivot-table/default-cs56/index.html | 24 +- .../default-cs56/systemjs.config.js | 2 +- .../pivot-table/default-cs57/app/App.css | 24 +- .../pivot-table/default-cs57/index.html | 24 +- .../default-cs57/systemjs.config.js | 2 +- .../pivot-table/default-cs58/app/App.css | 24 +- .../pivot-table/default-cs58/index.html | 24 +- .../default-cs58/systemjs.config.js | 2 +- .../pivot-table/default-cs59/app/App.css | 24 +- .../pivot-table/default-cs59/index.html | 24 +- .../default-cs59/systemjs.config.js | 2 +- .../pivot-table/default-cs6/app/App.css | 24 +- .../pivot-table/default-cs6/index.html | 24 +- .../default-cs6/systemjs.config.js | 2 +- .../pivot-table/default-cs60/app/App.css | 24 +- .../pivot-table/default-cs60/index.html | 24 +- .../default-cs60/systemjs.config.js | 2 +- .../pivot-table/default-cs61/app/App.css | 24 +- .../pivot-table/default-cs61/index.html | 24 +- .../default-cs61/systemjs.config.js | 2 +- .../pivot-table/default-cs62/app/App.css | 24 +- .../pivot-table/default-cs62/index.html | 24 +- .../default-cs62/systemjs.config.js | 2 +- .../pivot-table/default-cs63/app/App.css | 24 +- .../pivot-table/default-cs63/index.html | 24 +- .../default-cs63/systemjs.config.js | 2 +- .../pivot-table/default-cs64/app/App.css | 24 +- .../pivot-table/default-cs64/index.html | 24 +- .../default-cs64/systemjs.config.js | 2 +- .../pivot-table/default-cs65/app/App.css | 24 +- .../pivot-table/default-cs65/index.html | 24 +- .../default-cs65/systemjs.config.js | 2 +- .../pivot-table/default-cs66/app/App.css | 24 +- .../pivot-table/default-cs66/index.html | 24 +- .../default-cs66/systemjs.config.js | 2 +- .../pivot-table/default-cs67/app/App.css | 24 +- .../pivot-table/default-cs67/index.html | 24 +- .../default-cs67/systemjs.config.js | 2 +- .../pivot-table/default-cs68/app/App.css | 24 +- .../pivot-table/default-cs68/index.html | 24 +- .../default-cs68/systemjs.config.js | 2 +- .../pivot-table/default-cs69/app/App.css | 24 +- .../pivot-table/default-cs69/index.html | 24 +- .../default-cs69/systemjs.config.js | 2 +- .../pivot-table/default-cs7/app/App.css | 24 +- .../pivot-table/default-cs7/index.html | 24 +- .../default-cs7/systemjs.config.js | 2 +- .../pivot-table/default-cs70/app/App.css | 24 +- .../pivot-table/default-cs70/index.html | 24 +- .../default-cs70/systemjs.config.js | 2 +- .../pivot-table/default-cs71/app/App.css | 24 +- .../pivot-table/default-cs71/index.html | 24 +- .../default-cs71/systemjs.config.js | 2 +- .../pivot-table/default-cs72/app/App.css | 24 +- .../pivot-table/default-cs72/app/App.jsx | 6 +- .../pivot-table/default-cs72/app/App.tsx | 6 +- .../pivot-table/default-cs72/index.html | 24 +- .../default-cs72/systemjs.config.js | 2 +- .../pivot-table/default-cs73/app/App.css | 24 +- .../pivot-table/default-cs73/app/App.jsx | 4 +- .../pivot-table/default-cs73/app/App.tsx | 4 +- .../pivot-table/default-cs73/index.html | 24 +- .../default-cs73/systemjs.config.js | 2 +- .../pivot-table/default-cs74/app/App.css | 24 +- .../pivot-table/default-cs74/index.html | 24 +- .../default-cs74/systemjs.config.js | 2 +- .../pivot-table/default-cs75/app/App.css | 24 +- .../pivot-table/default-cs75/index.html | 24 +- .../default-cs75/systemjs.config.js | 2 +- .../pivot-table/default-cs76/app/App.css | 24 +- .../pivot-table/default-cs76/index.html | 24 +- .../default-cs76/systemjs.config.js | 2 +- .../pivot-table/default-cs77/app/App.css | 24 +- .../pivot-table/default-cs77/index.html | 24 +- .../default-cs77/systemjs.config.js | 2 +- .../pivot-table/default-cs78/app/App.css | 24 +- .../pivot-table/default-cs78/index.html | 24 +- .../default-cs78/systemjs.config.js | 2 +- .../pivot-table/default-cs79/app/App.css | 24 +- .../pivot-table/default-cs79/index.html | 24 +- .../default-cs79/systemjs.config.js | 2 +- .../pivot-table/default-cs8/app/App.css | 24 +- .../pivot-table/default-cs8/index.html | 24 +- .../default-cs8/systemjs.config.js | 2 +- .../pivot-table/default-cs80/app/App.css | 24 +- .../pivot-table/default-cs80/index.html | 24 +- .../default-cs80/systemjs.config.js | 2 +- .../pivot-table/default-cs81/app/App.css | 24 +- .../pivot-table/default-cs81/index.html | 24 +- .../default-cs81/systemjs.config.js | 2 +- .../pivot-table/default-cs82/app/App.css | 24 +- .../pivot-table/default-cs82/index.html | 24 +- .../default-cs82/systemjs.config.js | 2 +- .../pivot-table/default-cs83/app/App.css | 24 +- .../pivot-table/default-cs83/index.html | 24 +- .../default-cs83/systemjs.config.js | 2 +- .../pivot-table/default-cs84/app/App.css | 24 +- .../pivot-table/default-cs84/index.html | 24 +- .../default-cs84/systemjs.config.js | 2 +- .../pivot-table/default-cs85/app/App.css | 24 +- .../pivot-table/default-cs85/index.html | 24 +- .../default-cs85/systemjs.config.js | 2 +- .../pivot-table/default-cs86/app/App.css | 24 +- .../pivot-table/default-cs86/index.html | 24 +- .../default-cs86/systemjs.config.js | 2 +- .../pivot-table/default-cs87/app/App.css | 24 +- .../pivot-table/default-cs87/index.html | 24 +- .../default-cs87/systemjs.config.js | 2 +- .../pivot-table/default-cs88/app/App.css | 24 +- .../pivot-table/default-cs88/index.html | 24 +- .../default-cs88/systemjs.config.js | 2 +- .../pivot-table/default-cs89/app/App.css | 24 +- .../pivot-table/default-cs89/index.html | 24 +- .../default-cs89/systemjs.config.js | 2 +- .../pivot-table/default-cs9/app/App.css | 24 +- .../pivot-table/default-cs9/index.html | 24 +- .../default-cs9/systemjs.config.js | 2 +- .../pivot-table/default-cs90/app/App.css | 24 +- .../pivot-table/default-cs90/index.html | 24 +- .../default-cs90/systemjs.config.js | 2 +- .../pivot-table/default-cs91/app/App.css | 24 +- .../pivot-table/default-cs91/index.html | 24 +- .../default-cs91/systemjs.config.js | 2 +- .../pivot-table/default-cs92/app/App.css | 24 +- .../pivot-table/default-cs92/index.html | 24 +- .../default-cs92/systemjs.config.js | 2 +- .../pivot-table/default-cs93/app/App.css | 24 +- .../pivot-table/default-cs93/index.html | 24 +- .../default-cs93/systemjs.config.js | 2 +- .../pivot-table/default-cs94/app/App.css | 24 +- .../pivot-table/default-cs94/index.html | 24 +- .../default-cs94/systemjs.config.js | 2 +- .../pivot-table/default-cs95/app/App.css | 24 +- .../pivot-table/default-cs95/index.html | 24 +- .../default-cs95/systemjs.config.js | 2 +- .../pivot-table/default-cs96/index.html | 24 +- .../default-cs96/systemjs.config.js | 2 +- .../pivot-table/default-cs97/app/App.css | 24 +- .../pivot-table/default-cs97/index.html | 24 +- .../default-cs97/systemjs.config.js | 2 +- .../pivot-table/default-cs98/app/App.css | 24 +- .../pivot-table/default-cs98/index.html | 24 +- .../default-cs98/systemjs.config.js | 2 +- .../pivot-table/default-cs99/app/App.css | 24 +- .../pivot-table/default-cs99/index.html | 24 +- .../default-cs99/systemjs.config.js | 2 +- .../getting-started-cs1/app/App.css | 24 +- .../getting-started-cs1/index.html | 24 +- .../getting-started-cs1/systemjs.config.js | 2 +- .../getting-started-cs2/app/App.css | 24 +- .../getting-started-cs2/index.html | 24 +- .../getting-started-cs2/systemjs.config.js | 2 +- .../getting-started-cs3/app/App.css | 24 +- .../getting-started-cs3/index.html | 24 +- .../getting-started-cs3/systemjs.config.js | 2 +- .../getting-started-cs4/app/App.css | 24 +- .../getting-started-cs4/index.html | 24 +- .../getting-started-cs4/systemjs.config.js | 2 +- .../getting-started-cs5/app/App.css | 24 +- .../getting-started-cs5/index.html | 24 +- .../getting-started-cs5/systemjs.config.js | 2 +- .../getting-started-cs6/app/App.css | 24 +- .../getting-started-cs6/index.html | 24 +- .../getting-started-cs6/systemjs.config.js | 2 +- .../getting-started-cs7/app/App.css | 24 +- .../getting-started-cs7/index.html | 24 +- .../getting-started-cs7/systemjs.config.js | 2 +- .../icon-customization-cs1/app/App.css | 24 +- .../icon-customization-cs1/index.html | 24 +- .../icon-customization-cs1/systemjs.config.js | 2 +- .../pivot-table/locale-cs1/app/App.css | 24 +- .../pivot-table/locale-cs1/index.html | 24 +- .../pivot-table/locale-cs1/systemjs.config.js | 2 +- .../olap-afterServiceInvoke/app/App.css | 12 + .../olap-afterServiceInvoke/app/App.jsx | 31 + .../olap-afterServiceInvoke/app/App.tsx | 33 + .../olap-afterServiceInvoke/app/index.tsx | 13 + .../olap-afterServiceInvoke/index.css | 81 + .../olap-afterServiceInvoke/index.html | 63 + .../systemjs.config.js | 61 + .../olap-beforeServiceInvoke/app/App.css | 12 + .../olap-beforeServiceInvoke/app/App.jsx | 31 + .../olap-beforeServiceInvoke/app/App.tsx | 34 + .../olap-beforeServiceInvoke/app/index.tsx | 13 + .../olap-beforeServiceInvoke/index.css | 81 + .../olap-beforeServiceInvoke/index.html | 63 + .../systemjs.config.js | 61 + .../pagingTemplate-cs1/app/App.css | 15 +- .../pagingTemplate-cs1/app/App.jsx | 29 +- .../pagingTemplate-cs1/app/App.tsx | 32 +- .../pivot-table/pagingTemplate-cs1/index.css | 6 + .../pivot-table/pagingTemplate-cs1/index.html | 38 +- .../pagingTemplate-cs1/systemjs.config.js | 2 +- .../app/App.css | 24 +- .../performance-best-practices-cs1/index.html | 24 +- .../systemjs.config.js | 2 +- .../app/App.css | 24 +- .../performance-best-practices-cs2/index.html | 24 +- .../systemjs.config.js | 2 +- .../react-preview/systemjs.config.js | 2 +- .../pivot-table/selection-css-cs1/app/App.css | 24 +- .../pivot-table/selection-css-cs1/index.html | 24 +- .../selection-css-cs1/systemjs.config.js | 2 +- .../pivot-table/single-page-mode/app/App.css | 24 +- .../pivot-table/single-page-mode/index.html | 24 +- .../single-page-mode/systemjs.config.js | 2 +- .../pivot-table/switch-theme-cs1/app/App.css | 24 +- .../pivot-table/switch-theme-cs1/index.html | 24 +- .../switch-theme-cs1/systemjs.config.js | 2 +- .../pivot-table/switch-theme-cs2/app/App.css | 24 +- .../pivot-table/switch-theme-cs2/index.html | 24 +- .../switch-theme-cs2/systemjs.config.js | 2 +- .../tooltipTemplate-cs1/app/App.css | 24 +- .../tooltipTemplate-cs1/index.html | 24 +- .../tooltipTemplate-cs1/systemjs.config.js | 2 +- ej2-react/gantt/columns/check-box-column.md | 28 - ej2-react/gantt/columns/columns.md | 47 +- ej2-react/gantt/columns/responsive-columns.md | 28 - ej2-react/gantt/events.md | 2 +- ej2-react/gantt/getting-started.md | 2 + ej2-react/gantt/loading-animation.md | 446 ++++- .../managing-tasks/in-dent-and-out-dent.md | 2 +- ej2-react/gantt/taskbar.md | 220 ++- ej2-react/gantt/time-line/time-line.md | 19 + ej2-react/pivotview/aggregation.md | 116 +- ej2-react/pivotview/calculated-field.md | 412 ++-- ej2-react/pivotview/classic-layout.md | 6 +- ej2-react/pivotview/conditional-formatting.md | 58 +- .../elasticsearch.md | 178 +- .../microsoft-sql-server.md | 223 ++- .../connecting-to-data-source/mongodb.md | 256 +-- .../connecting-to-data-source/mysql.md | 133 +- .../connecting-to-data-source/oracle.md | 292 +-- .../connecting-to-data-source/postgresql.md | 237 ++- .../connecting-to-data-source/snowflake.md | 243 ++- ej2-react/pivotview/css-customization.md | 36 +- ej2-react/pivotview/data-binding.md | 237 ++- ej2-react/pivotview/data-compression.md | 24 +- ej2-react/pivotview/defer-update.md | 22 +- ej2-react/pivotview/drill-down.md | 195 +- ej2-react/pivotview/drill-through.md | 140 +- ej2-react/pivotview/editing.md | 244 +-- ej2-react/pivotview/excel-export.md | 92 +- ej2-react/pivotview/field-list.md | 288 +-- ej2-react/pivotview/filtering.md | 347 ++-- .../globalization-and-localization.md | 93 +- ej2-react/pivotview/grouping-bar.md | 388 ++-- ej2-react/pivotview/grouping.md | 149 +- ...igure-data-grid-options-on-editing-mode.md | 12 +- ...g-the-pivotview-component-minimum-width.md | 17 +- .../customize-number-date-and-time-values.md | 28 +- .../customize-the-icons-for-pivot-table.md | 31 +- .../how-to/customizing-loading-indicator.md | 19 +- .../display-value-in-hrs-min-sec-format.md | 10 +- .../drill-through-grid-cell-edit-type.md | 30 +- ...rt-into-the-same-document-using-toolbar.md | 18 +- .../pivotview/how-to/hide-empty-headers.md | 10 +- .../hide-specific-columns-in-pivot-table.md | 6 +- ...pre-defined-report-in-initial-rendering.md | 6 +- .../how-to/refresh-the-field-list.md | 10 +- ...stom-tooltip-for-row-and-column-headers.md | 14 +- .../show-field-list-when-pivot-table-empty.md | 8 +- .../how-to/switching-older-themes-style.md | 22 +- ej2-react/pivotview/hyper-link.md | 80 +- .../add-header-and-footer-while-exporting.png | Bin 0 -> 50667 bytes ej2-react/pivotview/images/code-web-app.jpeg | Bin 0 -> 99615 bytes ...v-export-with-server-side-pivot-engine.png | Bin 0 -> 41040 bytes ej2-react/pivotview/images/drill_position.png | Bin 60361 -> 85393 bytes ...l-export-with-server-side-pivot-engine.png | Bin 0 -> 42750 bytes .../pivotview/images/export-as-pivot.png | Bin 0 -> 47067 bytes ...s-data-sqlclient-nuget-package-install.png | Bin 109581 -> 81658 bytes ej2-react/pivotview/number-formatting.md | 82 +- ej2-react/pivotview/olap.md | 795 ++++---- ej2-react/pivotview/paging.md | 57 +- ej2-react/pivotview/pdf-export.md | 304 ++- .../pivotview/performance-best-practices.md | 43 +- ej2-react/pivotview/pivot-chart.md | 358 ++-- ej2-react/pivotview/print.md | 20 +- ej2-react/pivotview/row-and-column.md | 250 +-- ej2-react/pivotview/save-and-load.md | 14 +- .../pivotview/server-side-pivot-engine.md | 1658 ++++++++++------- ej2-react/pivotview/show-hide-totals.md | 78 +- ej2-react/pivotview/sorting.md | 276 +-- ej2-react/pivotview/state-persistence.md | 12 +- ej2-react/pivotview/tool-bar.md | 443 ++--- ej2-react/pivotview/tool-tip.md | 37 +- ej2-react/pivotview/virtual-scrolling.md | 46 +- 1177 files changed, 15997 insertions(+), 12706 deletions(-) create mode 100644 ej2-react/code-snippet/gantt/minutetimeline-cs1/app/App.jsx create mode 100644 ej2-react/code-snippet/gantt/minutetimeline-cs1/app/App.tsx create mode 100644 ej2-react/code-snippet/gantt/minutetimeline-cs1/app/datasource.jsx create mode 100644 ej2-react/code-snippet/gantt/minutetimeline-cs1/app/datasource.tsx create mode 100644 ej2-react/code-snippet/gantt/minutetimeline-cs1/app/index.jsx create mode 100644 ej2-react/code-snippet/gantt/minutetimeline-cs1/app/index.tsx create mode 100644 ej2-react/code-snippet/gantt/minutetimeline-cs1/index.html create mode 100644 ej2-react/code-snippet/gantt/minutetimeline-cs1/systemjs.config.js create mode 100644 ej2-react/code-snippet/pivot-table/default-cs330/app/App.css create mode 100644 ej2-react/code-snippet/pivot-table/default-cs330/app/App.jsx create mode 100644 ej2-react/code-snippet/pivot-table/default-cs330/app/App.tsx create mode 100644 ej2-react/code-snippet/pivot-table/default-cs330/app/datasource.jsx create mode 100644 ej2-react/code-snippet/pivot-table/default-cs330/app/datasource.tsx create mode 100644 ej2-react/code-snippet/pivot-table/default-cs330/app/index.tsx create mode 100644 ej2-react/code-snippet/pivot-table/default-cs330/index.css create mode 100644 ej2-react/code-snippet/pivot-table/default-cs330/index.html create mode 100644 ej2-react/code-snippet/pivot-table/default-cs330/systemjs.config.js create mode 100644 ej2-react/code-snippet/pivot-table/default-cs331/app/App.css create mode 100644 ej2-react/code-snippet/pivot-table/default-cs331/app/App.jsx create mode 100644 ej2-react/code-snippet/pivot-table/default-cs331/app/App.tsx create mode 100644 ej2-react/code-snippet/pivot-table/default-cs331/app/datasource.jsx create mode 100644 ej2-react/code-snippet/pivot-table/default-cs331/app/datasource.tsx create mode 100644 ej2-react/code-snippet/pivot-table/default-cs331/app/index.tsx create mode 100644 ej2-react/code-snippet/pivot-table/default-cs331/index.css create mode 100644 ej2-react/code-snippet/pivot-table/default-cs331/index.html create mode 100644 ej2-react/code-snippet/pivot-table/default-cs331/systemjs.config.js create mode 100644 ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/app/App.css create mode 100644 ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/app/App.jsx create mode 100644 ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/app/App.tsx create mode 100644 ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/app/index.tsx create mode 100644 ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/index.css create mode 100644 ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/index.html create mode 100644 ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/systemjs.config.js create mode 100644 ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/app/App.css create mode 100644 ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/app/App.jsx create mode 100644 ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/app/App.tsx create mode 100644 ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/app/index.tsx create mode 100644 ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/index.css create mode 100644 ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/index.html create mode 100644 ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/systemjs.config.js create mode 100644 ej2-react/code-snippet/pivot-table/pagingTemplate-cs1/index.css delete mode 100644 ej2-react/gantt/columns/check-box-column.md delete mode 100644 ej2-react/gantt/columns/responsive-columns.md create mode 100644 ej2-react/pivotview/images/add-header-and-footer-while-exporting.png create mode 100644 ej2-react/pivotview/images/code-web-app.jpeg create mode 100644 ej2-react/pivotview/images/csv-export-with-server-side-pivot-engine.png create mode 100644 ej2-react/pivotview/images/excel-export-with-server-side-pivot-engine.png create mode 100644 ej2-react/pivotview/images/export-as-pivot.png diff --git a/ej2-react-toc.html b/ej2-react-toc.html index df71e537e..5b68e306a 100644 --- a/ej2-react-toc.html +++ b/ej2-react-toc.html @@ -1193,8 +1193,6 @@
  • Column Resizing
  • Column Template
  • Column Menu
  • -
  • Responsive Columns
  • -
  • Checkbox Column
  • Column Spanning
  • WBS Column
  • diff --git a/ej2-react/code-snippet/gantt/checkbox-cs1/index.html b/ej2-react/code-snippet/gantt/checkbox-cs1/index.html index 46cfdd2c2..2576e7699 100644 --- a/ej2-react/code-snippet/gantt/checkbox-cs1/index.html +++ b/ej2-react/code-snippet/gantt/checkbox-cs1/index.html @@ -7,7 +7,7 @@ - + diff --git a/ej2-react/code-snippet/gantt/checkbox-cs1/systemjs.config.js b/ej2-react/code-snippet/gantt/checkbox-cs1/systemjs.config.js index d020a62a2..fddb475fc 100644 --- a/ej2-react/code-snippet/gantt/checkbox-cs1/systemjs.config.js +++ b/ej2-react/code-snippet/gantt/checkbox-cs1/systemjs.config.js @@ -14,7 +14,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/20.3.56/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/gantt/column-cs1/index.html b/ej2-react/code-snippet/gantt/column-cs1/index.html index 46cfdd2c2..2576e7699 100644 --- a/ej2-react/code-snippet/gantt/column-cs1/index.html +++ b/ej2-react/code-snippet/gantt/column-cs1/index.html @@ -7,7 +7,7 @@ - + diff --git a/ej2-react/code-snippet/gantt/column-cs1/systemjs.config.js b/ej2-react/code-snippet/gantt/column-cs1/systemjs.config.js index d020a62a2..fddb475fc 100644 --- a/ej2-react/code-snippet/gantt/column-cs1/systemjs.config.js +++ b/ej2-react/code-snippet/gantt/column-cs1/systemjs.config.js @@ -14,7 +14,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/20.3.56/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/gantt/minutetimeline-cs1/app/App.jsx b/ej2-react/code-snippet/gantt/minutetimeline-cs1/app/App.jsx new file mode 100644 index 000000000..e69de29bb diff --git a/ej2-react/code-snippet/gantt/minutetimeline-cs1/app/App.tsx b/ej2-react/code-snippet/gantt/minutetimeline-cs1/app/App.tsx new file mode 100644 index 000000000..e69de29bb diff --git a/ej2-react/code-snippet/gantt/minutetimeline-cs1/app/datasource.jsx b/ej2-react/code-snippet/gantt/minutetimeline-cs1/app/datasource.jsx new file mode 100644 index 000000000..4c6e2fe46 --- /dev/null +++ b/ej2-react/code-snippet/gantt/minutetimeline-cs1/app/datasource.jsx @@ -0,0 +1,24 @@ +export let HourData = [ + { + TaskID: 1, + TaskName: 'Project Initiation', + StartDate: new Date('04/02/2019'), + EndDate: new Date('04/21/2019'), + subtasks: [ + { TaskID: 2, TaskName: 'Identify Site location', StartDate: new Date('04/02/2019'), Duration: 2, Progress: 50 }, + { TaskID: 3, TaskName: 'Perform Soil test', StartDate: new Date('04/02/2019'), Duration: 2, Progress: 50 }, + { TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/02/2019'), Duration: 2, Progress: 50 }, + ] + }, + { + TaskID: 5, + TaskName: 'Project Estimation', + StartDate: new Date('04/02/2019'), + EndDate: new Date('04/21/2019'), + subtasks: [ + { TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/04/2019'), Duration: 2, Progress: 50 }, + { TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'), Duration: 2, Progress: 50 }, + { TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/04/2019'), Duration: 2, Progress: 50 } + ] + }, +]; diff --git a/ej2-react/code-snippet/gantt/minutetimeline-cs1/app/datasource.tsx b/ej2-react/code-snippet/gantt/minutetimeline-cs1/app/datasource.tsx new file mode 100644 index 000000000..08970aeee --- /dev/null +++ b/ej2-react/code-snippet/gantt/minutetimeline-cs1/app/datasource.tsx @@ -0,0 +1,24 @@ + export let HourData: Object[] = [ + { + TaskID: 1, + TaskName: 'Project Initiation', + StartDate: new Date('04/02/2019'), + EndDate: new Date('04/21/2019'), + subtasks: [ + { TaskID: 2, TaskName: 'Identify Site location', StartDate: new Date('04/02/2019'), Duration: 2, Progress: 50 }, + { TaskID: 3, TaskName: 'Perform Soil test', StartDate: new Date('04/02/2019'), Duration: 2, Progress: 50 }, + { TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/02/2019'), Duration: 2, Progress: 50 }, + ] + }, + { + TaskID: 5, + TaskName: 'Project Estimation', + StartDate: new Date('04/02/2019'), + EndDate: new Date('04/21/2019'), + subtasks: [ + { TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/04/2019'), Duration: 2, Progress: 50 }, + { TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'), Duration: 2, Progress: 50 }, + { TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/04/2019'), Duration: 2, Progress: 50 } + ] + }, + ]; \ No newline at end of file diff --git a/ej2-react/code-snippet/gantt/minutetimeline-cs1/app/index.jsx b/ej2-react/code-snippet/gantt/minutetimeline-cs1/app/index.jsx new file mode 100644 index 000000000..194a707d0 --- /dev/null +++ b/ej2-react/code-snippet/gantt/minutetimeline-cs1/app/index.jsx @@ -0,0 +1,41 @@ +let data = [ + { + TaskID: 1, + TaskName: 'Project Initiation', + StartDate: new Date('04/02/2019'), + EndDate: new Date('04/21/2019'), + }, + { TaskID: 2, TaskName: 'Identify Site location', StartDate: new Date('04/02/2019'), Duration: 4, ParentID: 1, Progress: 50 }, + { TaskID: 3, TaskName: 'Perform Soil test', StartDate: new Date('04/02/2019'), Duration: 4, ParentID: 1, Progress: 50 }, + { TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/02/2019'), Duration: 4, ParentID: 1, Progress: 50 }, + { + TaskID: 5, + TaskName: 'Project Estimation', + StartDate: new Date('04/02/2019'), + EndDate: new Date('04/21/2019'), + }, + { TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/04/2019'), Duration: 3, ParentID: 5, Progress: 50 }, + { TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'), Duration: 3, ParentID: 5, Progress: 50 }, + { TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/04/2019'), Duration: 3, ParentID: 5, Progress: 50 } +]; + +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; +import { GanttComponent } from '@syncfusion/ej2-react-gantt'; + +function App(){ + const taskFields = { + id: 'TaskID', + name: 'TaskName', + startDate: 'StartDate', + duration: 'Duration', + progress: 'Progress', + parentID: 'ParentID' + }; + const timelineSettings = { + timelineViewMode:'Minutes' + }; + return + +}; +ReactDOM.render(, document.getElementById('root')); \ No newline at end of file diff --git a/ej2-react/code-snippet/gantt/minutetimeline-cs1/app/index.tsx b/ej2-react/code-snippet/gantt/minutetimeline-cs1/app/index.tsx new file mode 100644 index 000000000..880185811 --- /dev/null +++ b/ej2-react/code-snippet/gantt/minutetimeline-cs1/app/index.tsx @@ -0,0 +1,41 @@ +let data: Object[] = [ + { + TaskID: 1, + TaskName: 'Project Initiation', + StartDate: new Date('04/02/2019'), + EndDate: new Date('04/21/2019'), + }, + { TaskID: 2, TaskName: 'Identify Site location', StartDate: new Date('04/02/2019'), Duration: 4, ParentID: 1, Progress: 50 }, + { TaskID: 3, TaskName: 'Perform Soil test', StartDate: new Date('04/02/2019'), Duration: 4, ParentID: 1, Progress: 50 }, + { TaskID: 4, TaskName: 'Soil test approval', StartDate: new Date('04/02/2019'), Duration: 4, ParentID: 1, Progress: 50 }, + { + TaskID: 5, + TaskName: 'Project Estimation', + StartDate: new Date('04/02/2019'), + EndDate: new Date('04/21/2019'), + }, + { TaskID: 6, TaskName: 'Develop floor plan for estimation', StartDate: new Date('04/04/2019'), Duration: 3, ParentID: 5, Progress: 50 }, + { TaskID: 7, TaskName: 'List materials', StartDate: new Date('04/04/2019'), Duration: 3, ParentID: 5, Progress: 50 }, + { TaskID: 8, TaskName: 'Estimation approval', StartDate: new Date('04/04/2019'), Duration: 3, ParentID: 5, Progress: 50 } +]; + +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; +import { GanttComponent } from '@syncfusion/ej2-react-gantt'; + +function App(){ + const taskFields: any = { + id: 'TaskID', + name: 'TaskName', + startDate: 'StartDate', + duration: 'Duration', + progress: 'Progress', + parentID: 'ParentID' + }; + const timelineSettings: any = { + timelineViewMode:'Minutes' + }; + return + +}; +ReactDOM.render(, document.getElementById('root')); \ No newline at end of file diff --git a/ej2-react/code-snippet/gantt/minutetimeline-cs1/index.html b/ej2-react/code-snippet/gantt/minutetimeline-cs1/index.html new file mode 100644 index 000000000..2576e7699 --- /dev/null +++ b/ej2-react/code-snippet/gantt/minutetimeline-cs1/index.html @@ -0,0 +1,32 @@ + + + + + Syncfusion React Gantt + + + + + + + + + + + + +
    +
    Loading....
    +
    + + + \ No newline at end of file diff --git a/ej2-react/code-snippet/gantt/minutetimeline-cs1/systemjs.config.js b/ej2-react/code-snippet/gantt/minutetimeline-cs1/systemjs.config.js new file mode 100644 index 000000000..fddb475fc --- /dev/null +++ b/ej2-react/code-snippet/gantt/minutetimeline-cs1/systemjs.config.js @@ -0,0 +1,64 @@ +System.config({ + transpiler: "ts", + typescriptOptions: { + target: "es5", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true, + "jsx": "react" + }, + meta: { + 'typescript': { + "exports": "ts" + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" + }, + map: { + app: 'app', + ts: "https://unpkg.com/plugin-typescript@4.0.10/lib/plugin.js", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-gantt": "syncfusion:ej2-gantt/dist/ej2-gantt.umd.min.js", + "@syncfusion/ej2-treegrid": "syncfusion:ej2-treegrid/dist/ej2-treegrid.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-filemanager": "syncfusion:ej2-filemanager/dist/ej2-filemanager.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-layouts": "syncfusion:ej2-layouts/dist/ej2-layouts.umd.min.js", + "@syncfusion/ej2-richtexteditor": "syncfusion:ej2-richtexteditor/dist/ej2-richtexteditor.umd.min.js", + "@syncfusion/ej2-react-base": "syncfusion:ej2-react-base/dist/ej2-react-base.umd.min.js", + "@syncfusion/ej2-react-grids": "syncfusion:ej2-react-grids/dist/ej2-react-grids.umd.min.js", + "@syncfusion/ej2-react-gantt": "syncfusion:ej2-react-gantt/dist/ej2-react-gantt.umd.min.js", + "@syncfusion/ej2-react-treegrid": "syncfusion:ej2-react-treegrid/dist/ej2-react-treegrid.umd.min.js", + "@syncfusion/ej2-react-buttons": "syncfusion:ej2-react-buttons/dist/ej2-react-buttons.umd.min.js", + "@syncfusion/ej2-react-dropdowns": "syncfusion:ej2-react-dropdowns/dist/ej2-react-dropdowns.umd.min.js", + "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js", + "@syncfusion/ej2-react-svg-base": "syncfusion:ej2-react-svg-base/dist/ej2-react-svg-base.umd.min.js", +"react-dom":"https://unpkg.com/react-dom@16.3.1/umd/react-dom.development.js", +"react":"https://unpkg.com/react@16.3.1/umd/react.development.js", + }, + packages: { + 'app': { main: 'index', defaultExtension: 'tsx' }, + } + +}); + +System.import('app'); + + + diff --git a/ej2-react/code-snippet/gantt/pdf-export-customization-cs1/app/index.jsx b/ej2-react/code-snippet/gantt/pdf-export-customization-cs1/app/index.jsx index 460e2d1e1..e90c3c691 100644 --- a/ej2-react/code-snippet/gantt/pdf-export-customization-cs1/app/index.jsx +++ b/ej2-react/code-snippet/gantt/pdf-export-customization-cs1/app/index.jsx @@ -1,11 +1,8 @@ import * as React from 'react'; import * as ReactDOM from 'react-dom'; -import { ClickEventArgs } from '@syncfusion/ej2-navigations/src/toolbar/toolbar'; -import { GanttComponent, Inject, Toolbar, ToolbarItem, PdfExport, Selection } from '@syncfusion/ej2-react-gantt'; +import { GanttComponent, Inject, Toolbar, PdfExport, Selection } from '@syncfusion/ej2-react-gantt'; import { data,image } from './datasource'; function App(){ - - let ganttChart; const taskFields = { id: 'TaskID', @@ -17,7 +14,7 @@ function App(){ }; const toolbarOptions = ['PdfExport']; function toolbarClick(args) { - if (args.item.text === 'Pdf export') { + if (args.item.text === 'PDF export') { var exportProperties = { header: { fromTop: 0, diff --git a/ej2-react/code-snippet/gantt/pdf-export-customization-cs1/app/index.tsx b/ej2-react/code-snippet/gantt/pdf-export-customization-cs1/app/index.tsx index 03d6f7f20..d7140b37a 100644 --- a/ej2-react/code-snippet/gantt/pdf-export-customization-cs1/app/index.tsx +++ b/ej2-react/code-snippet/gantt/pdf-export-customization-cs1/app/index.tsx @@ -15,7 +15,8 @@ function App(){ }; const toolbarOptions: ToolbarItem[] = ['PdfExport']; function toolbarClick(args: ClickEventArgs): void { - if (args.item.text === 'Pdf export') { + console.log(args.item.text); + if (args.item.text === 'PDF export') { var exportProperties = { header: { fromTop: 0, diff --git a/ej2-react/code-snippet/gantt/pdf-export-customization-cs1/index.html b/ej2-react/code-snippet/gantt/pdf-export-customization-cs1/index.html index 1c145be57..778b8e43c 100644 --- a/ej2-react/code-snippet/gantt/pdf-export-customization-cs1/index.html +++ b/ej2-react/code-snippet/gantt/pdf-export-customization-cs1/index.html @@ -7,7 +7,7 @@ - + diff --git a/ej2-react/code-snippet/gantt/pdf-export-customization-cs1/systemjs.config.js b/ej2-react/code-snippet/gantt/pdf-export-customization-cs1/systemjs.config.js index e4e9e9318..5790b181b 100644 --- a/ej2-react/code-snippet/gantt/pdf-export-customization-cs1/systemjs.config.js +++ b/ej2-react/code-snippet/gantt/pdf-export-customization-cs1/systemjs.config.js @@ -14,7 +14,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/20.3.56/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/gantt/projectview-multitaskbar-cs1/app/index.jsx b/ej2-react/code-snippet/gantt/projectview-multitaskbar-cs1/app/index.jsx index b59808bb1..e1df297e0 100644 --- a/ej2-react/code-snippet/gantt/projectview-multitaskbar-cs1/app/index.jsx +++ b/ej2-react/code-snippet/gantt/projectview-multitaskbar-cs1/app/index.jsx @@ -14,7 +14,7 @@ function App (){ expandState: 'isExpand' }; - return diff --git a/ej2-react/code-snippet/gantt/projectview-multitaskbar-cs1/index.html b/ej2-react/code-snippet/gantt/projectview-multitaskbar-cs1/index.html index 46cfdd2c2..2576e7699 100644 --- a/ej2-react/code-snippet/gantt/projectview-multitaskbar-cs1/index.html +++ b/ej2-react/code-snippet/gantt/projectview-multitaskbar-cs1/index.html @@ -7,7 +7,7 @@ - + diff --git a/ej2-react/code-snippet/gantt/projectview-multitaskbar-cs1/systemjs.config.js b/ej2-react/code-snippet/gantt/projectview-multitaskbar-cs1/systemjs.config.js index eb51b30fc..fddb475fc 100644 --- a/ej2-react/code-snippet/gantt/projectview-multitaskbar-cs1/systemjs.config.js +++ b/ej2-react/code-snippet/gantt/projectview-multitaskbar-cs1/systemjs.config.js @@ -14,7 +14,7 @@ System.config({ } }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/24.2.9/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-grid/default-cs1/index.html b/ej2-react/code-snippet/pivot-grid/default-cs1/index.html index 049769eb8..2650dfc45 100644 --- a/ej2-react/code-snippet/pivot-grid/default-cs1/index.html +++ b/ej2-react/code-snippet/pivot-grid/default-cs1/index.html @@ -8,16 +8,16 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-grid/default-cs1/systemjs.config.js b/ej2-react/code-snippet/pivot-grid/default-cs1/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-grid/default-cs1/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-grid/default-cs1/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-grid/icon-customization-cs1/index.html b/ej2-react/code-snippet/pivot-grid/icon-customization-cs1/index.html index c3e6c91cd..731d3165f 100644 --- a/ej2-react/code-snippet/pivot-grid/icon-customization-cs1/index.html +++ b/ej2-react/code-snippet/pivot-grid/icon-customization-cs1/index.html @@ -8,16 +8,16 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-grid/icon-customization-cs1/systemjs.config.js b/ej2-react/code-snippet/pivot-grid/icon-customization-cs1/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-grid/icon-customization-cs1/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-grid/icon-customization-cs1/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/accessibility/app/App.css b/ej2-react/code-snippet/pivot-table/accessibility/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/accessibility/app/App.css +++ b/ej2-react/code-snippet/pivot-table/accessibility/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/accessibility/index.html b/ej2-react/code-snippet/pivot-table/accessibility/index.html index 699cce65a..eaa41c9a8 100644 --- a/ej2-react/code-snippet/pivot-table/accessibility/index.html +++ b/ej2-react/code-snippet/pivot-table/accessibility/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/accessibility/systemjs.config.js b/ej2-react/code-snippet/pivot-table/accessibility/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/accessibility/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/accessibility/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/background-css-cs1/app/App.css b/ej2-react/code-snippet/pivot-table/background-css-cs1/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/background-css-cs1/app/App.css +++ b/ej2-react/code-snippet/pivot-table/background-css-cs1/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/background-css-cs1/index.html b/ej2-react/code-snippet/pivot-table/background-css-cs1/index.html index d08b2f39c..172ce11c4 100644 --- a/ej2-react/code-snippet/pivot-table/background-css-cs1/index.html +++ b/ej2-react/code-snippet/pivot-table/background-css-cs1/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/background-css-cs1/systemjs.config.js b/ej2-react/code-snippet/pivot-table/background-css-cs1/systemjs.config.js index 1ceae8766..60fe85059 100644 --- a/ej2-react/code-snippet/pivot-table/background-css-cs1/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/background-css-cs1/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/classic-layout-cs1/app/App.css b/ej2-react/code-snippet/pivot-table/classic-layout-cs1/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/classic-layout-cs1/app/App.css +++ b/ej2-react/code-snippet/pivot-table/classic-layout-cs1/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/classic-layout-cs1/index.html b/ej2-react/code-snippet/pivot-table/classic-layout-cs1/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/classic-layout-cs1/index.html +++ b/ej2-react/code-snippet/pivot-table/classic-layout-cs1/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/classic-layout-cs1/systemjs.config.js b/ej2-react/code-snippet/pivot-table/classic-layout-cs1/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/classic-layout-cs1/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/classic-layout-cs1/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs1/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs1/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs1/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs1/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs1/app/App.jsx b/ej2-react/code-snippet/pivot-table/default-cs1/app/App.jsx index 57bd224c1..5a73c58f7 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs1/app/App.jsx +++ b/ej2-react/code-snippet/pivot-table/default-cs1/app/App.jsx @@ -10,7 +10,7 @@ function App() { drilledMembers: [{ name: 'Country', items: ['France'] }], formatSettings: [{ name: 'Amount', format: 'C0' }], rows: [{ name: 'Country' }, { name: 'Products' }], - values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount', type: 'Sum' }] + values: [{ name: 'Sold', caption: 'Units Sold', type: 'DifferenceFrom', baseField: 'Year', baseItem: 'FY 2018' }, { name: 'Amount', caption: 'Sold Amount', type: 'Sum' }] }; let pivotObj; return ( pivotObj = d} id='PivotView' height={350} dataSourceSettings={dataSourceSettings}>); diff --git a/ej2-react/code-snippet/pivot-table/default-cs1/app/App.tsx b/ej2-react/code-snippet/pivot-table/default-cs1/app/App.tsx index e232d899d..5ab2d2a37 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs1/app/App.tsx +++ b/ej2-react/code-snippet/pivot-table/default-cs1/app/App.tsx @@ -13,7 +13,7 @@ function App() { drilledMembers: [{ name: 'Country', items: ['France'] }], formatSettings: [{ name: 'Amount', format: 'C0' }], rows: [{ name: 'Country' }, { name: 'Products' }], - values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount', type: 'Sum' }] + values: [{ name: 'Sold', caption: 'Units Sold', type: 'DifferenceFrom', baseField: 'Year', baseItem: 'FY 2018' }, { name: 'Amount', caption: 'Sold Amount', type: 'Sum' }] } let pivotObj: PivotViewComponent; return ( pivotObj = d } id='PivotView' height={350} dataSourceSettings={dataSourceSettings}>); diff --git a/ej2-react/code-snippet/pivot-table/default-cs1/index.html b/ej2-react/code-snippet/pivot-table/default-cs1/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs1/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs1/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs1/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs1/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs1/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs1/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs10/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs10/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs10/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs10/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs10/index.html b/ej2-react/code-snippet/pivot-table/default-cs10/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs10/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs10/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs10/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs10/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs10/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs10/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs100/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs100/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs100/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs100/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs100/index.html b/ej2-react/code-snippet/pivot-table/default-cs100/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs100/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs100/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs100/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs100/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs100/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs100/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs101/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs101/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs101/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs101/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs101/index.html b/ej2-react/code-snippet/pivot-table/default-cs101/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs101/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs101/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs101/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs101/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs101/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs101/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs102/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs102/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs102/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs102/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs102/index.html b/ej2-react/code-snippet/pivot-table/default-cs102/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs102/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs102/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs102/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs102/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs102/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs102/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs103/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs103/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs103/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs103/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs103/index.html b/ej2-react/code-snippet/pivot-table/default-cs103/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs103/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs103/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs103/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs103/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs103/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs103/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs104/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs104/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs104/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs104/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs104/index.html b/ej2-react/code-snippet/pivot-table/default-cs104/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs104/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs104/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs104/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs104/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs104/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs104/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs105/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs105/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs105/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs105/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs105/index.html b/ej2-react/code-snippet/pivot-table/default-cs105/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs105/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs105/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs105/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs105/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs105/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs105/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs106/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs106/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs106/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs106/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs106/index.html b/ej2-react/code-snippet/pivot-table/default-cs106/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs106/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs106/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs106/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs106/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs106/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs106/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs107/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs107/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs107/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs107/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs107/index.html b/ej2-react/code-snippet/pivot-table/default-cs107/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs107/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs107/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs107/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs107/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs107/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs107/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs108/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs108/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs108/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs108/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs108/index.html b/ej2-react/code-snippet/pivot-table/default-cs108/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs108/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs108/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs108/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs108/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs108/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs108/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs109/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs109/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs109/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs109/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs109/index.html b/ej2-react/code-snippet/pivot-table/default-cs109/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs109/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs109/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs109/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs109/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs109/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs109/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs11/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs11/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs11/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs11/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs11/index.html b/ej2-react/code-snippet/pivot-table/default-cs11/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs11/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs11/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs11/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs11/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs11/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs11/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs110/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs110/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs110/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs110/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs110/index.html b/ej2-react/code-snippet/pivot-table/default-cs110/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs110/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs110/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs110/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs110/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs110/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs110/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs111/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs111/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs111/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs111/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs111/index.html b/ej2-react/code-snippet/pivot-table/default-cs111/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs111/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs111/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs111/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs111/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs111/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs111/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs112/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs112/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs112/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs112/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs112/index.html b/ej2-react/code-snippet/pivot-table/default-cs112/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs112/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs112/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs112/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs112/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs112/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs112/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs113/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs113/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs113/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs113/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs113/index.html b/ej2-react/code-snippet/pivot-table/default-cs113/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs113/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs113/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs113/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs113/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs113/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs113/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs114/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs114/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs114/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs114/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs114/index.html b/ej2-react/code-snippet/pivot-table/default-cs114/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs114/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs114/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs114/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs114/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs114/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs114/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs115/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs115/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs115/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs115/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs115/index.html b/ej2-react/code-snippet/pivot-table/default-cs115/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs115/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs115/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs115/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs115/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs115/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs115/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs116/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs116/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs116/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs116/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs116/index.html b/ej2-react/code-snippet/pivot-table/default-cs116/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs116/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs116/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs116/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs116/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs116/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs116/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs117/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs117/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs117/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs117/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs117/index.html b/ej2-react/code-snippet/pivot-table/default-cs117/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs117/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs117/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs117/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs117/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs117/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs117/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs118/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs118/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs118/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs118/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs118/index.html b/ej2-react/code-snippet/pivot-table/default-cs118/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs118/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs118/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs118/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs118/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs118/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs118/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs119/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs119/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs119/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs119/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs119/index.html b/ej2-react/code-snippet/pivot-table/default-cs119/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs119/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs119/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs119/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs119/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs119/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs119/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs12/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs12/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs12/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs12/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs12/index.html b/ej2-react/code-snippet/pivot-table/default-cs12/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs12/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs12/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs12/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs12/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs12/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs12/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs120/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs120/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs120/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs120/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs120/index.html b/ej2-react/code-snippet/pivot-table/default-cs120/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs120/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs120/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs120/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs120/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs120/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs120/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs121/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs121/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs121/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs121/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs121/index.html b/ej2-react/code-snippet/pivot-table/default-cs121/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs121/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs121/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs121/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs121/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs121/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs121/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs122/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs122/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs122/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs122/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs122/index.html b/ej2-react/code-snippet/pivot-table/default-cs122/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs122/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs122/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs122/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs122/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs122/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs122/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs123/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs123/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs123/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs123/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs123/index.html b/ej2-react/code-snippet/pivot-table/default-cs123/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs123/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs123/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs123/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs123/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs123/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs123/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs124/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs124/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs124/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs124/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs124/index.html b/ej2-react/code-snippet/pivot-table/default-cs124/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs124/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs124/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs124/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs124/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs124/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs124/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs125/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs125/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs125/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs125/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs125/index.html b/ej2-react/code-snippet/pivot-table/default-cs125/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs125/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs125/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs125/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs125/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs125/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs125/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs126/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs126/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs126/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs126/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs126/index.html b/ej2-react/code-snippet/pivot-table/default-cs126/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs126/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs126/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs126/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs126/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs126/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs126/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs127/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs127/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs127/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs127/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs127/index.html b/ej2-react/code-snippet/pivot-table/default-cs127/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs127/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs127/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs127/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs127/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs127/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs127/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs128/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs128/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs128/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs128/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs128/index.html b/ej2-react/code-snippet/pivot-table/default-cs128/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs128/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs128/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs128/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs128/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs128/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs128/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs129/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs129/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs129/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs129/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs129/index.html b/ej2-react/code-snippet/pivot-table/default-cs129/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs129/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs129/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs129/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs129/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs129/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs129/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs13/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs13/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs13/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs13/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs13/index.html b/ej2-react/code-snippet/pivot-table/default-cs13/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs13/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs13/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs13/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs13/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs13/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs13/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs130/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs130/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs130/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs130/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs130/index.html b/ej2-react/code-snippet/pivot-table/default-cs130/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs130/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs130/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs130/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs130/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs130/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs130/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs131/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs131/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs131/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs131/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs131/index.html b/ej2-react/code-snippet/pivot-table/default-cs131/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs131/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs131/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs131/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs131/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs131/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs131/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs132/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs132/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs132/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs132/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs132/index.html b/ej2-react/code-snippet/pivot-table/default-cs132/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs132/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs132/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs132/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs132/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs132/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs132/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs133/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs133/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs133/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs133/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs133/index.html b/ej2-react/code-snippet/pivot-table/default-cs133/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs133/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs133/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs133/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs133/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs133/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs133/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs134/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs134/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs134/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs134/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs134/index.html b/ej2-react/code-snippet/pivot-table/default-cs134/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs134/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs134/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs134/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs134/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs134/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs134/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs135/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs135/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs135/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs135/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs135/index.html b/ej2-react/code-snippet/pivot-table/default-cs135/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs135/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs135/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs135/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs135/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs135/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs135/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs136/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs136/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs136/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs136/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs136/index.html b/ej2-react/code-snippet/pivot-table/default-cs136/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs136/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs136/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs136/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs136/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs136/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs136/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs137/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs137/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs137/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs137/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs137/index.html b/ej2-react/code-snippet/pivot-table/default-cs137/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs137/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs137/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs137/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs137/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs137/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs137/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs138/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs138/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs138/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs138/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs138/index.html b/ej2-react/code-snippet/pivot-table/default-cs138/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs138/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs138/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs138/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs138/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs138/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs138/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs139/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs139/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs139/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs139/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs139/index.html b/ej2-react/code-snippet/pivot-table/default-cs139/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs139/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs139/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs139/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs139/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs139/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs139/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs14/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs14/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs14/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs14/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs14/index.html b/ej2-react/code-snippet/pivot-table/default-cs14/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs14/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs14/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs14/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs14/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs14/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs14/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs140/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs140/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs140/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs140/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs140/index.html b/ej2-react/code-snippet/pivot-table/default-cs140/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs140/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs140/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs140/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs140/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs140/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs140/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs141/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs141/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs141/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs141/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs141/index.html b/ej2-react/code-snippet/pivot-table/default-cs141/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs141/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs141/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs141/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs141/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs141/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs141/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs142/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs142/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs142/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs142/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs142/index.html b/ej2-react/code-snippet/pivot-table/default-cs142/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs142/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs142/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs142/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs142/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs142/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs142/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs143/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs143/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs143/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs143/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs143/index.html b/ej2-react/code-snippet/pivot-table/default-cs143/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs143/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs143/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs143/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs143/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs143/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs143/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs144/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs144/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs144/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs144/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs144/index.html b/ej2-react/code-snippet/pivot-table/default-cs144/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs144/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs144/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs144/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs144/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs144/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs144/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs145/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs145/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs145/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs145/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs145/index.html b/ej2-react/code-snippet/pivot-table/default-cs145/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs145/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs145/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs145/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs145/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs145/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs145/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs146/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs146/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs146/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs146/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs146/index.html b/ej2-react/code-snippet/pivot-table/default-cs146/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs146/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs146/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs146/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs146/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs146/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs146/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs147/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs147/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs147/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs147/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs147/index.html b/ej2-react/code-snippet/pivot-table/default-cs147/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs147/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs147/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs147/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs147/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs147/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs147/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs148/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs148/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs148/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs148/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs148/index.html b/ej2-react/code-snippet/pivot-table/default-cs148/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs148/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs148/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs148/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs148/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs148/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs148/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs149/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs149/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs149/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs149/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs149/index.html b/ej2-react/code-snippet/pivot-table/default-cs149/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs149/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs149/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs149/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs149/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs149/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs149/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs15/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs15/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs15/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs15/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs15/index.html b/ej2-react/code-snippet/pivot-table/default-cs15/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs15/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs15/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs15/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs15/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs15/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs15/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs150/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs150/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs150/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs150/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs150/index.html b/ej2-react/code-snippet/pivot-table/default-cs150/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs150/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs150/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs150/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs150/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs150/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs150/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs151/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs151/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs151/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs151/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs151/index.html b/ej2-react/code-snippet/pivot-table/default-cs151/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs151/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs151/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs151/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs151/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs151/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs151/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs152/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs152/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs152/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs152/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs152/index.html b/ej2-react/code-snippet/pivot-table/default-cs152/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs152/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs152/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs152/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs152/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs152/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs152/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs153/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs153/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs153/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs153/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs153/index.html b/ej2-react/code-snippet/pivot-table/default-cs153/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs153/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs153/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs153/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs153/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs153/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs153/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs154/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs154/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs154/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs154/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs154/index.html b/ej2-react/code-snippet/pivot-table/default-cs154/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs154/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs154/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs154/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs154/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs154/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs154/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs155/index.html b/ej2-react/code-snippet/pivot-table/default-cs155/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs155/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs155/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs155/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs155/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs155/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs155/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs156/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs156/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs156/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs156/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs156/index.html b/ej2-react/code-snippet/pivot-table/default-cs156/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs156/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs156/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs156/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs156/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs156/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs156/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs157/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs157/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs157/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs157/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs157/index.html b/ej2-react/code-snippet/pivot-table/default-cs157/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs157/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs157/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs157/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs157/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs157/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs157/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs158/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs158/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs158/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs158/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs158/index.html b/ej2-react/code-snippet/pivot-table/default-cs158/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs158/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs158/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs158/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs158/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs158/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs158/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs159/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs159/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs159/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs159/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs159/index.html b/ej2-react/code-snippet/pivot-table/default-cs159/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs159/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs159/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs159/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs159/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs159/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs159/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs16/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs16/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs16/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs16/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs16/index.html b/ej2-react/code-snippet/pivot-table/default-cs16/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs16/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs16/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs16/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs16/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs16/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs16/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs160/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs160/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs160/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs160/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs160/index.html b/ej2-react/code-snippet/pivot-table/default-cs160/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs160/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs160/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs160/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs160/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs160/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs160/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs161/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs161/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs161/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs161/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs161/index.html b/ej2-react/code-snippet/pivot-table/default-cs161/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs161/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs161/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs161/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs161/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs161/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs161/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs162/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs162/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs162/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs162/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs162/index.html b/ej2-react/code-snippet/pivot-table/default-cs162/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs162/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs162/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs162/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs162/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs162/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs162/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs163/index.html b/ej2-react/code-snippet/pivot-table/default-cs163/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs163/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs163/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs163/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs163/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs163/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs163/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs164/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs164/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs164/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs164/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs164/index.html b/ej2-react/code-snippet/pivot-table/default-cs164/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs164/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs164/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs164/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs164/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs164/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs164/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs165/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs165/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs165/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs165/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs165/index.html b/ej2-react/code-snippet/pivot-table/default-cs165/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs165/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs165/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs165/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs165/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs165/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs165/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs166/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs166/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs166/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs166/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs166/index.html b/ej2-react/code-snippet/pivot-table/default-cs166/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs166/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs166/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs166/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs166/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs166/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs166/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs167/index.html b/ej2-react/code-snippet/pivot-table/default-cs167/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs167/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs167/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs167/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs167/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs167/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs167/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs168/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs168/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs168/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs168/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs168/index.html b/ej2-react/code-snippet/pivot-table/default-cs168/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs168/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs168/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs168/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs168/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs168/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs168/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs169/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs169/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs169/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs169/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs169/index.html b/ej2-react/code-snippet/pivot-table/default-cs169/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs169/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs169/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs169/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs169/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs169/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs169/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs17/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs17/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs17/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs17/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs17/index.html b/ej2-react/code-snippet/pivot-table/default-cs17/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs17/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs17/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs17/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs17/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs17/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs17/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs170/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs170/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs170/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs170/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs170/index.html b/ej2-react/code-snippet/pivot-table/default-cs170/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs170/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs170/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs170/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs170/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs170/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs170/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs171/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs171/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs171/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs171/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs171/index.html b/ej2-react/code-snippet/pivot-table/default-cs171/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs171/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs171/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs171/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs171/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs171/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs171/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs172/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs172/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs172/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs172/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs172/index.html b/ej2-react/code-snippet/pivot-table/default-cs172/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs172/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs172/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs172/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs172/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs172/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs172/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs173/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs173/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs173/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs173/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs173/index.html b/ej2-react/code-snippet/pivot-table/default-cs173/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs173/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs173/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs173/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs173/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs173/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs173/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs174/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs174/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs174/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs174/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs174/index.html b/ej2-react/code-snippet/pivot-table/default-cs174/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs174/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs174/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs174/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs174/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs174/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs174/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs175/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs175/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs175/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs175/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs175/index.html b/ej2-react/code-snippet/pivot-table/default-cs175/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs175/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs175/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs175/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs175/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs175/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs175/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs176/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs176/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs176/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs176/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs176/index.html b/ej2-react/code-snippet/pivot-table/default-cs176/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs176/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs176/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs176/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs176/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs176/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs176/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs177/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs177/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs177/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs177/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs177/app/App.jsx b/ej2-react/code-snippet/pivot-table/default-cs177/app/App.jsx index 677c6ea8e..419e647e5 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs177/app/App.jsx +++ b/ej2-react/code-snippet/pivot-table/default-cs177/app/App.jsx @@ -23,7 +23,7 @@ function App() { ); function hyperlinkCellClick(args) { args.cancel = false; - args.currentCell.setAttribute("data-url", "https://ej2.syncfusion.com/"); //here we have redirected to EJ2 Syncfusion on hyperlinkcell click + args.currentCell.setAttribute("data-url", "https://ej2.syncfusion.com/demos/#/tailwind3/pivot-table/hyper-link.html"); //here we have redirected to EJ2 Syncfusion on hyperlinkcell click } }; export default App; diff --git a/ej2-react/code-snippet/pivot-table/default-cs177/app/App.tsx b/ej2-react/code-snippet/pivot-table/default-cs177/app/App.tsx index 20a62d1e7..c9447478a 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs177/app/App.tsx +++ b/ej2-react/code-snippet/pivot-table/default-cs177/app/App.tsx @@ -28,7 +28,7 @@ function App() { function hyperlinkCellClick(args: HyperCellClickEventArgs): void { args.cancel = false; - args.currentCell.setAttribute("data-url", "https://ej2.syncfusion.com/");//here we have redirected to EJ2 Syncfusion on hyperlinkcell click + args.currentCell.setAttribute("data-url", "https://ej2.syncfusion.com/demos/#/tailwind3/pivot-table/hyper-link.html");//here we have redirected to EJ2 Syncfusion on hyperlinkcell click } }; diff --git a/ej2-react/code-snippet/pivot-table/default-cs177/index.html b/ej2-react/code-snippet/pivot-table/default-cs177/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs177/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs177/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs177/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs177/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs177/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs177/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs178/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs178/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs178/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs178/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs178/index.html b/ej2-react/code-snippet/pivot-table/default-cs178/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs178/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs178/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs178/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs178/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs178/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs178/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs179/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs179/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs179/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs179/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs179/index.html b/ej2-react/code-snippet/pivot-table/default-cs179/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs179/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs179/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs179/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs179/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs179/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs179/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs18/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs18/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs18/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs18/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs18/index.html b/ej2-react/code-snippet/pivot-table/default-cs18/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs18/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs18/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs18/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs18/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs18/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs18/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs180/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs180/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs180/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs180/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs180/index.html b/ej2-react/code-snippet/pivot-table/default-cs180/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs180/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs180/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs180/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs180/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs180/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs180/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs181/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs181/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs181/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs181/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs181/index.html b/ej2-react/code-snippet/pivot-table/default-cs181/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs181/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs181/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs181/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs181/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs181/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs181/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs182/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs182/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs182/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs182/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs182/index.html b/ej2-react/code-snippet/pivot-table/default-cs182/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs182/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs182/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs182/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs182/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs182/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs182/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs183/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs183/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs183/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs183/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs183/index.html b/ej2-react/code-snippet/pivot-table/default-cs183/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs183/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs183/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs183/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs183/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs183/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs183/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs184/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs184/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs184/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs184/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs184/index.html b/ej2-react/code-snippet/pivot-table/default-cs184/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs184/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs184/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs184/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs184/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs184/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs184/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs185/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs185/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs185/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs185/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs185/index.html b/ej2-react/code-snippet/pivot-table/default-cs185/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs185/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs185/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs185/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs185/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs185/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs185/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs186/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs186/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs186/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs186/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs186/index.html b/ej2-react/code-snippet/pivot-table/default-cs186/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs186/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs186/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs186/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs186/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs186/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs186/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs187/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs187/app/App.css index 2f3296e3b..0d3a51462 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs187/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs187/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); diff --git a/ej2-react/code-snippet/pivot-table/default-cs187/index.html b/ej2-react/code-snippet/pivot-table/default-cs187/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs187/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs187/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs187/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs187/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs187/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs187/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs188/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs188/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs188/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs188/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs188/index.html b/ej2-react/code-snippet/pivot-table/default-cs188/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs188/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs188/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs188/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs188/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs188/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs188/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs189/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs189/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs189/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs189/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs189/index.html b/ej2-react/code-snippet/pivot-table/default-cs189/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs189/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs189/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs189/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs189/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs189/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs189/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs19/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs19/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs19/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs19/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs19/index.html b/ej2-react/code-snippet/pivot-table/default-cs19/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs19/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs19/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs19/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs19/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs19/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs19/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs190/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs190/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs190/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs190/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs190/index.html b/ej2-react/code-snippet/pivot-table/default-cs190/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs190/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs190/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs190/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs190/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs190/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs190/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs191/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs191/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs191/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs191/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs191/index.html b/ej2-react/code-snippet/pivot-table/default-cs191/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs191/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs191/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs191/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs191/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs191/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs191/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs192/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs192/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs192/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs192/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs192/index.html b/ej2-react/code-snippet/pivot-table/default-cs192/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs192/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs192/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs192/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs192/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs192/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs192/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs193/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs193/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs193/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs193/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs193/index.html b/ej2-react/code-snippet/pivot-table/default-cs193/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs193/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs193/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs193/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs193/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs193/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs193/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs194/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs194/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs194/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs194/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs194/index.html b/ej2-react/code-snippet/pivot-table/default-cs194/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs194/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs194/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs194/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs194/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs194/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs194/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs195/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs195/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs195/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs195/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs195/index.html b/ej2-react/code-snippet/pivot-table/default-cs195/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs195/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs195/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs195/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs195/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs195/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs195/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs196/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs196/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs196/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs196/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs196/index.html b/ej2-react/code-snippet/pivot-table/default-cs196/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs196/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs196/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs196/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs196/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs196/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs196/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs197/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs197/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs197/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs197/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs197/index.html b/ej2-react/code-snippet/pivot-table/default-cs197/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs197/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs197/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs197/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs197/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs197/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs197/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs198/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs198/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs198/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs198/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs198/index.html b/ej2-react/code-snippet/pivot-table/default-cs198/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs198/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs198/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs198/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs198/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs198/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs198/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs199/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs199/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs199/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs199/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs199/index.html b/ej2-react/code-snippet/pivot-table/default-cs199/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs199/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs199/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs199/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs199/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs199/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs199/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs2/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs2/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs2/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs2/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs2/index.html b/ej2-react/code-snippet/pivot-table/default-cs2/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs2/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs2/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs2/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs2/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs2/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs2/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs20/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs20/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs20/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs20/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs20/index.html b/ej2-react/code-snippet/pivot-table/default-cs20/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs20/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs20/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs20/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs20/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs20/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs20/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs200/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs200/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs200/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs200/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs200/index.html b/ej2-react/code-snippet/pivot-table/default-cs200/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs200/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs200/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs200/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs200/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs200/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs200/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs201/app/App.jsx b/ej2-react/code-snippet/pivot-table/default-cs201/app/App.jsx index 6d8a0e4e5..9971feeed 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs201/app/App.jsx +++ b/ej2-react/code-snippet/pivot-table/default-cs201/app/App.jsx @@ -18,22 +18,29 @@ function App() { values: [{ name: 'Quantity' }, { name: 'UnitPrice', caption: 'Unit Price' }], filters: [] }; - return ( + let gridSettings = { + columnWidth: 120 + }; + + let pageSettings = { + rowPageSize: 10, + columnPageSize: 5, + currentColumnPage: 1, + currentRowPage: 1 + }; + + let pagerSettings = { + position: 'Bottom', + enableCompactView: false, + showColumnPager: true, + showRowPager: true, + columnPageSizes: [5, 10, 20, 50, 100], + rowPageSizes: [10, 50, 100, 200], + isInversed: false, + showColumnPageSize: true, + showRowPageSize: true + }; + return ( ); }; diff --git a/ej2-react/code-snippet/pivot-table/default-cs201/app/App.tsx b/ej2-react/code-snippet/pivot-table/default-cs201/app/App.tsx index e677d7556..a1108c236 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs201/app/App.tsx +++ b/ej2-react/code-snippet/pivot-table/default-cs201/app/App.tsx @@ -1,8 +1,9 @@ -import { PivotViewComponent, Pager, Inject } from '@syncfusion/ej2-react-pivotview'; +import { PivotViewComponent, Pager, Inject, PagerSettings, PageSettings} from '@syncfusion/ej2-react-pivotview'; import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; import { DataManager, WebApiAdaptor } from '@syncfusion/ej2-data'; import * as React from 'react'; +import { GridSettings } from '@syncfusion/ej2-pivotview/src/pivotview/model/gridsettings'; function App() { let remoteData: DataManager = new DataManager({ @@ -10,6 +11,28 @@ function App() { adaptor: new WebApiAdaptor(), crossDomain: true }); + let gridSettings: GridSettings = { + columnWidth: 120 + } as GridSettings; + + let pageSettings: PageSettings = { + rowPageSize: 10, + columnPageSize: 5, + currentColumnPage: 1, + currentRowPage: 1 + } + + let pagerSettings: PagerSettings = { + position: 'Bottom', + enableCompactView: false, + showColumnPager: true, + showRowPager: true, + columnPageSizes: [5, 10, 20, 50, 100], + rowPageSizes: [10, 50, 100, 200], + isInversed: false, + showColumnPageSize: true, + showRowPageSize: true + } let dataSourceSettings: DataSourceSettingsModel = { type: 'JSON', dataSource: remoteData, @@ -21,22 +44,7 @@ function App() { filters: [] }; - return ( + return ( ); }; diff --git a/ej2-react/code-snippet/pivot-table/default-cs201/index.html b/ej2-react/code-snippet/pivot-table/default-cs201/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs201/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs201/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs201/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs201/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs201/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs201/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs202/app/App.jsx b/ej2-react/code-snippet/pivot-table/default-cs202/app/App.jsx index 12b01b932..b61ce040b 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs202/app/App.jsx +++ b/ej2-react/code-snippet/pivot-table/default-cs202/app/App.jsx @@ -19,14 +19,21 @@ function App() { values: [{ name: 'Quantity' }, { name: 'UnitPrice', caption: 'Unit Price' }], filters: [] }; - return ( + let gridSettings = { + columnWidth: 120 + }; + + let pageSettings = { + rowPageSize: 10, + columnPageSize: 5, + currentColumnPage: 1, + currentRowPage: 1 + }; + + let pagerSettings = { + position: 'Top' + }; + return ( ); }; diff --git a/ej2-react/code-snippet/pivot-table/default-cs202/app/App.tsx b/ej2-react/code-snippet/pivot-table/default-cs202/app/App.tsx index d5a67d582..b58d6b19b 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs202/app/App.tsx +++ b/ej2-react/code-snippet/pivot-table/default-cs202/app/App.tsx @@ -1,8 +1,9 @@ -import { PivotViewComponent, Pager, Inject } from '@syncfusion/ej2-react-pivotview'; +import { PivotViewComponent, Pager, Inject, PagerSettings, PageSettings} from '@syncfusion/ej2-react-pivotview'; import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; import { DataManager, WebApiAdaptor } from '@syncfusion/ej2-data'; import * as React from 'react'; +import { GridSettings } from '@syncfusion/ej2-pivotview/src/pivotview/model/gridsettings'; function App() { let remoteData: DataManager = new DataManager({ @@ -20,15 +21,21 @@ function App() { values: [{ name: 'Quantity' }, { name: 'UnitPrice', caption: 'Unit Price' }], filters: [] }; + let gridSettings: GridSettings = { + columnWidth: 120 + } as GridSettings; - return ( + let pageSettings: PageSettings = { + rowPageSize: 10, + columnPageSize: 5, + currentColumnPage: 1, + currentRowPage: 1 + }; + + let pagerSettings: PagerSettings = { + position: 'Top' + }; + return ( ); }; diff --git a/ej2-react/code-snippet/pivot-table/default-cs202/index.html b/ej2-react/code-snippet/pivot-table/default-cs202/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs202/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs202/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs202/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs202/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs202/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs202/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs203/app/App.jsx b/ej2-react/code-snippet/pivot-table/default-cs203/app/App.jsx index e5cddb207..d2d7d1c6d 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs203/app/App.jsx +++ b/ej2-react/code-snippet/pivot-table/default-cs203/app/App.jsx @@ -19,14 +19,21 @@ function App() { values: [{ name: 'Quantity' }, { name: 'UnitPrice', caption: 'Unit Price' }], filters: [] }; - return ( + let gridSettings = { + columnWidth: 120 + }; + + let pageSettings = { + rowPageSize: 10, + columnPageSize: 5, + currentColumnPage: 1, + currentRowPage: 1 + }; + + let pagerSettings = { + isInversed: true + }; + return ( ); }; diff --git a/ej2-react/code-snippet/pivot-table/default-cs203/app/App.tsx b/ej2-react/code-snippet/pivot-table/default-cs203/app/App.tsx index 63c2def12..5a5a04290 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs203/app/App.tsx +++ b/ej2-react/code-snippet/pivot-table/default-cs203/app/App.tsx @@ -1,8 +1,9 @@ -import { PivotViewComponent, Pager, Inject } from '@syncfusion/ej2-react-pivotview'; +import { PivotViewComponent, Pager, Inject, PagerSettings, PageSettings} from '@syncfusion/ej2-react-pivotview'; import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; import { DataManager, WebApiAdaptor } from '@syncfusion/ej2-data'; import * as React from 'react'; +import { GridSettings } from '@syncfusion/ej2-pivotview/src/pivotview/model/gridsettings'; function App() { let remoteData: DataManager = new DataManager({ @@ -20,15 +21,22 @@ function App() { values: [{ name: 'Quantity' }, { name: 'UnitPrice', caption: 'Unit Price' }], filters: [] }; + let gridSettings: GridSettings = { + columnWidth: 120 + } as GridSettings; - return ( + let pageSettings: PageSettings = { + rowPageSize: 10, + columnPageSize: 5, + currentColumnPage: 1, + currentRowPage: 1 + }; + + let pagerSettings: PagerSettings = { + isInversed: true + }; + + return ( ); }; diff --git a/ej2-react/code-snippet/pivot-table/default-cs203/index.html b/ej2-react/code-snippet/pivot-table/default-cs203/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs203/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs203/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs203/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs203/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs203/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs203/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs204/app/App.jsx b/ej2-react/code-snippet/pivot-table/default-cs204/app/App.jsx index d6deedf42..b713f6b4e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs204/app/App.jsx +++ b/ej2-react/code-snippet/pivot-table/default-cs204/app/App.jsx @@ -19,14 +19,23 @@ function App() { values: [{ name: 'Quantity' }, { name: 'UnitPrice', caption: 'Unit Price' }], filters: [] }; - return ( + + let gridSettings = { + columnWidth: 120 + }; + + let pageSettings = { + rowPageSize: 10, + columnPageSize: 5, + currentColumnPage: 1, + currentRowPage: 1 + }; + + let pagerSettings = { + enableCompactView: true + }; + + return ( ); }; diff --git a/ej2-react/code-snippet/pivot-table/default-cs204/app/App.tsx b/ej2-react/code-snippet/pivot-table/default-cs204/app/App.tsx index 9fc1169ae..b1fb6b2cd 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs204/app/App.tsx +++ b/ej2-react/code-snippet/pivot-table/default-cs204/app/App.tsx @@ -1,8 +1,9 @@ -import { PivotViewComponent, Pager, Inject } from '@syncfusion/ej2-react-pivotview'; +import { PivotViewComponent, Pager, Inject, PagerSettings, PageSettings} from '@syncfusion/ej2-react-pivotview'; import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; import { DataManager, WebApiAdaptor } from '@syncfusion/ej2-data'; import * as React from 'react'; +import { GridSettings } from '@syncfusion/ej2-pivotview/src/pivotview/model/gridsettings'; function App() { let remoteData: DataManager = new DataManager({ @@ -20,15 +21,21 @@ function App() { values: [{ name: 'Quantity' }, { name: 'UnitPrice', caption: 'Unit Price' }], filters: [] }; + let gridSettings: GridSettings = { + columnWidth: 120 + } as GridSettings; - return ( + let pageSettings: PageSettings = { + rowPageSize: 10, + columnPageSize: 5, + currentColumnPage: 1, + currentRowPage: 1 + }; + + let pagerSettings: PagerSettings = { + enableCompactView: true + }; + return ( ); }; diff --git a/ej2-react/code-snippet/pivot-table/default-cs204/index.html b/ej2-react/code-snippet/pivot-table/default-cs204/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs204/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs204/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs204/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs204/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs204/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs204/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs205/app/App.jsx b/ej2-react/code-snippet/pivot-table/default-cs205/app/App.jsx index 904dbc5ea..10fc8782b 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs205/app/App.jsx +++ b/ej2-react/code-snippet/pivot-table/default-cs205/app/App.jsx @@ -19,14 +19,21 @@ function App() { values: [{ name: 'Quantity' }, { name: 'UnitPrice', caption: 'Unit Price' }], filters: [] }; - return ( + let gridSettings = { + columnWidth: 120 + }; + + let pageSettings = { + rowPageSize: 10, + columnPageSize: 5, + currentColumnPage: 1, + currentRowPage: 1 + }; + + let pagerSettings = { + showRowPager: false + }; + return ( ); }; diff --git a/ej2-react/code-snippet/pivot-table/default-cs205/app/App.tsx b/ej2-react/code-snippet/pivot-table/default-cs205/app/App.tsx index 4d53acddd..c0cde047d 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs205/app/App.tsx +++ b/ej2-react/code-snippet/pivot-table/default-cs205/app/App.tsx @@ -1,8 +1,9 @@ -import { PivotViewComponent, Pager, Inject } from '@syncfusion/ej2-react-pivotview'; +import { PivotViewComponent, Pager, Inject, PagerSettings, PageSettings} from '@syncfusion/ej2-react-pivotview'; import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; import { DataManager, WebApiAdaptor } from '@syncfusion/ej2-data'; import * as React from 'react'; +import { GridSettings } from '@syncfusion/ej2-pivotview/src/pivotview/model/gridsettings'; function App() { let remoteData: DataManager = new DataManager({ @@ -21,14 +22,21 @@ function App() { filters: [] }; - return ( + let gridSettings: GridSettings = { + columnWidth: 120 + } as GridSettings; + + let pageSettings: PageSettings = { + rowPageSize: 10, + columnPageSize: 5, + currentColumnPage: 1, + currentRowPage: 1 + }; + + let pagerSettings: PagerSettings = { + showRowPager: false + }; + return ( ); }; diff --git a/ej2-react/code-snippet/pivot-table/default-cs205/index.html b/ej2-react/code-snippet/pivot-table/default-cs205/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs205/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs205/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs205/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs205/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs205/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs205/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs206/app/App.jsx b/ej2-react/code-snippet/pivot-table/default-cs206/app/App.jsx index b96be6808..ffd62bc2e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs206/app/App.jsx +++ b/ej2-react/code-snippet/pivot-table/default-cs206/app/App.jsx @@ -19,15 +19,22 @@ function App() { values: [{ name: 'Quantity' }, { name: 'UnitPrice', caption: 'Unit Price' }], filters: [] }; - return ( + let gridSettings = { + columnWidth: 120 + }; + + let pageSettings = { + rowPageSize: 10, + columnPageSize: 5, + currentColumnPage: 1, + currentRowPage: 1 + }; + + let pagerSettings = { + showColumnPageSize: false, + showRowPageSize: false + }; + return ( ); }; diff --git a/ej2-react/code-snippet/pivot-table/default-cs206/app/App.tsx b/ej2-react/code-snippet/pivot-table/default-cs206/app/App.tsx index 9c6958165..0db68e938 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs206/app/App.tsx +++ b/ej2-react/code-snippet/pivot-table/default-cs206/app/App.tsx @@ -1,8 +1,9 @@ -import { PivotViewComponent, Pager, Inject } from '@syncfusion/ej2-react-pivotview'; +import { PivotViewComponent, Pager, Inject, PagerSettings, PageSettings} from '@syncfusion/ej2-react-pivotview'; import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; import { DataManager, WebApiAdaptor } from '@syncfusion/ej2-data'; import * as React from 'react'; +import { GridSettings } from '@syncfusion/ej2-pivotview/src/pivotview/model/gridsettings'; function App() { let remoteData: DataManager = new DataManager({ @@ -20,16 +21,22 @@ function App() { values: [{ name: 'Quantity' }, { name: 'UnitPrice', caption: 'Unit Price' }], filters: [] }; + let gridSettings: GridSettings = { + columnWidth: 120 + } as GridSettings; - return ( + let pageSettings: PageSettings = { + rowPageSize: 10, + columnPageSize: 5, + currentColumnPage: 1, + currentRowPage: 1 + }; + + let pagerSettings: PagerSettings = { + showColumnPageSize: false, + showRowPageSize: false + }; + return ( ); }; diff --git a/ej2-react/code-snippet/pivot-table/default-cs206/index.html b/ej2-react/code-snippet/pivot-table/default-cs206/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs206/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs206/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs206/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs206/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs206/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs206/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs207/app/App.jsx b/ej2-react/code-snippet/pivot-table/default-cs207/app/App.jsx index de6c77269..c7600945d 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs207/app/App.jsx +++ b/ej2-react/code-snippet/pivot-table/default-cs207/app/App.jsx @@ -19,15 +19,24 @@ function App() { values: [{ name: 'Quantity' }, { name: 'UnitPrice', caption: 'Unit Price' }], filters: [] }; - return ( + + let gridSettings = { + columnWidth: 120 + }; + + let pageSettings = { + rowPageSize: 10, + columnPageSize: 5, + currentColumnPage: 1, + currentRowPage: 1 + }; + + let pagerSettings = { + columnPageSizes: [5, 10, 15, 20, 30], + rowPageSizes: [10, 20, 30, 40, 50] + }; + + return ( ); }; diff --git a/ej2-react/code-snippet/pivot-table/default-cs207/app/App.tsx b/ej2-react/code-snippet/pivot-table/default-cs207/app/App.tsx index cb5853777..5bdd85b76 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs207/app/App.tsx +++ b/ej2-react/code-snippet/pivot-table/default-cs207/app/App.tsx @@ -1,8 +1,9 @@ -import { PivotViewComponent, Pager, Inject } from '@syncfusion/ej2-react-pivotview'; +import { PivotViewComponent, Pager, Inject, PagerSettings, PageSettings } from '@syncfusion/ej2-react-pivotview'; import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; import { DataManager, WebApiAdaptor } from '@syncfusion/ej2-data'; import * as React from 'react'; +import { GridSettings } from '@syncfusion/ej2-pivotview/src/pivotview/model/gridsettings'; function App() { let remoteData: DataManager = new DataManager({ @@ -21,17 +22,25 @@ function App() { filters: [] }; - return ( - - ); + let gridSettings: GridSettings = { + columnWidth: 120 + } as GridSettings; + + let pageSettings: PageSettings = { + rowPageSize: 10, + columnPageSize: 5, + currentColumnPage: 1, + currentRowPage: 1 + }; + + let pagerSettings: PagerSettings = { + columnPageSizes: [5, 10, 15, 20, 30], + rowPageSizes: [10, 20, 30, 40, 50] + }; + + return ( + + ); }; export default App; diff --git a/ej2-react/code-snippet/pivot-table/default-cs207/index.html b/ej2-react/code-snippet/pivot-table/default-cs207/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs207/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs207/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs207/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs207/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs207/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs207/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs208/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs208/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs208/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs208/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs208/index.html b/ej2-react/code-snippet/pivot-table/default-cs208/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs208/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs208/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs208/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs208/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs208/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs208/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs209/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs209/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs209/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs209/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs209/index.html b/ej2-react/code-snippet/pivot-table/default-cs209/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs209/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs209/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs209/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs209/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs209/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs209/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs21/index.html b/ej2-react/code-snippet/pivot-table/default-cs21/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs21/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs21/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs21/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs21/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs21/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs21/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs210/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs210/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs210/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs210/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs210/index.html b/ej2-react/code-snippet/pivot-table/default-cs210/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs210/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs210/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs210/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs210/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs210/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs210/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs211/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs211/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs211/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs211/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs211/index.html b/ej2-react/code-snippet/pivot-table/default-cs211/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs211/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs211/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs211/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs211/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs211/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs211/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs212/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs212/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs212/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs212/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs212/index.html b/ej2-react/code-snippet/pivot-table/default-cs212/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs212/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs212/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs212/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs212/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs212/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs212/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs213/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs213/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs213/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs213/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs213/index.html b/ej2-react/code-snippet/pivot-table/default-cs213/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs213/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs213/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs213/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs213/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs213/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs213/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs214/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs214/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs214/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs214/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs214/index.html b/ej2-react/code-snippet/pivot-table/default-cs214/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs214/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs214/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs214/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs214/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs214/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs214/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs215/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs215/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs215/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs215/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs215/index.html b/ej2-react/code-snippet/pivot-table/default-cs215/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs215/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs215/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs215/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs215/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs215/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs215/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs216/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs216/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs216/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs216/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs216/index.html b/ej2-react/code-snippet/pivot-table/default-cs216/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs216/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs216/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs216/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs216/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs216/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs216/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs217/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs217/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs217/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs217/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs217/index.html b/ej2-react/code-snippet/pivot-table/default-cs217/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs217/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs217/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs217/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs217/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs217/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs217/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs218/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs218/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs218/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs218/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs218/index.html b/ej2-react/code-snippet/pivot-table/default-cs218/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs218/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs218/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs218/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs218/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs218/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs218/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs219/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs219/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs219/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs219/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs219/index.html b/ej2-react/code-snippet/pivot-table/default-cs219/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs219/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs219/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs219/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs219/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs219/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs219/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs22/index.html b/ej2-react/code-snippet/pivot-table/default-cs22/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs22/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs22/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs22/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs22/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs22/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs22/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs220/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs220/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs220/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs220/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs220/index.html b/ej2-react/code-snippet/pivot-table/default-cs220/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs220/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs220/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs220/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs220/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs220/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs220/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs221/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs221/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs221/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs221/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs221/index.html b/ej2-react/code-snippet/pivot-table/default-cs221/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs221/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs221/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs221/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs221/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs221/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs221/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs222/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs222/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs222/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs222/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs222/index.html b/ej2-react/code-snippet/pivot-table/default-cs222/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs222/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs222/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs222/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs222/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs222/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs222/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs223/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs223/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs223/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs223/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs223/index.html b/ej2-react/code-snippet/pivot-table/default-cs223/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs223/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs223/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs223/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs223/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs223/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs223/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs224/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs224/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs224/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs224/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs224/index.html b/ej2-react/code-snippet/pivot-table/default-cs224/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs224/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs224/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs224/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs224/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs224/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs224/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs225/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs225/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs225/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs225/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs225/index.html b/ej2-react/code-snippet/pivot-table/default-cs225/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs225/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs225/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs225/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs225/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs225/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs225/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs226/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs226/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs226/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs226/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs226/index.html b/ej2-react/code-snippet/pivot-table/default-cs226/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs226/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs226/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs226/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs226/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs226/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs226/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs227/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs227/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs227/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs227/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs227/index.html b/ej2-react/code-snippet/pivot-table/default-cs227/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs227/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs227/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs227/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs227/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs227/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs227/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs228/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs228/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs228/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs228/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs228/index.html b/ej2-react/code-snippet/pivot-table/default-cs228/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs228/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs228/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs228/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs228/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs228/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs228/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs229/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs229/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs229/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs229/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs229/index.html b/ej2-react/code-snippet/pivot-table/default-cs229/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs229/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs229/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs229/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs229/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs229/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs229/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs23/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs23/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs23/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs23/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs23/index.html b/ej2-react/code-snippet/pivot-table/default-cs23/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs23/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs23/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs23/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs23/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs23/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs23/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs230/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs230/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs230/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs230/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs230/index.html b/ej2-react/code-snippet/pivot-table/default-cs230/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs230/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs230/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs230/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs230/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs230/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs230/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs231/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs231/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs231/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs231/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs231/index.html b/ej2-react/code-snippet/pivot-table/default-cs231/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs231/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs231/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs231/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs231/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs231/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs231/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs232/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs232/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs232/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs232/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs232/index.html b/ej2-react/code-snippet/pivot-table/default-cs232/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs232/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs232/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs232/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs232/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs232/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs232/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs233/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs233/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs233/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs233/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs233/index.html b/ej2-react/code-snippet/pivot-table/default-cs233/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs233/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs233/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs233/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs233/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs233/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs233/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs234/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs234/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs234/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs234/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs234/index.html b/ej2-react/code-snippet/pivot-table/default-cs234/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs234/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs234/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs234/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs234/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs234/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs234/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs235/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs235/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs235/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs235/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs235/index.html b/ej2-react/code-snippet/pivot-table/default-cs235/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs235/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs235/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs235/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs235/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs235/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs235/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs236/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs236/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs236/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs236/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs236/index.html b/ej2-react/code-snippet/pivot-table/default-cs236/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs236/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs236/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs236/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs236/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs236/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs236/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs237/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs237/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs237/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs237/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs237/index.html b/ej2-react/code-snippet/pivot-table/default-cs237/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs237/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs237/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs237/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs237/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs237/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs237/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs238/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs238/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs238/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs238/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs238/index.html b/ej2-react/code-snippet/pivot-table/default-cs238/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs238/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs238/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs238/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs238/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs238/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs238/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs239/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs239/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs239/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs239/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs239/index.html b/ej2-react/code-snippet/pivot-table/default-cs239/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs239/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs239/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs239/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs239/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs239/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs239/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs24/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs24/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs24/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs24/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs24/index.html b/ej2-react/code-snippet/pivot-table/default-cs24/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs24/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs24/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs24/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs24/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs24/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs24/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs240/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs240/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs240/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs240/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs240/index.html b/ej2-react/code-snippet/pivot-table/default-cs240/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs240/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs240/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs240/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs240/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs240/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs240/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs241/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs241/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs241/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs241/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs241/index.html b/ej2-react/code-snippet/pivot-table/default-cs241/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs241/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs241/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs241/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs241/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs241/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs241/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs242/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs242/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs242/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs242/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs242/index.html b/ej2-react/code-snippet/pivot-table/default-cs242/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs242/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs242/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs242/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs242/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs242/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs242/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs243/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs243/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs243/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs243/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs243/index.html b/ej2-react/code-snippet/pivot-table/default-cs243/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs243/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs243/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs243/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs243/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs243/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs243/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs244/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs244/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs244/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs244/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs244/index.html b/ej2-react/code-snippet/pivot-table/default-cs244/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs244/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs244/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs244/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs244/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs244/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs244/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs245/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs245/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs245/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs245/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs245/index.html b/ej2-react/code-snippet/pivot-table/default-cs245/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs245/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs245/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs245/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs245/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs245/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs245/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs246/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs246/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs246/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs246/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs246/index.html b/ej2-react/code-snippet/pivot-table/default-cs246/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs246/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs246/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs246/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs246/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs246/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs246/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs247/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs247/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs247/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs247/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs247/index.html b/ej2-react/code-snippet/pivot-table/default-cs247/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs247/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs247/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs247/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs247/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs247/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs247/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs248/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs248/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs248/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs248/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs248/index.html b/ej2-react/code-snippet/pivot-table/default-cs248/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs248/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs248/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs248/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs248/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs248/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs248/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs249/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs249/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs249/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs249/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs249/index.html b/ej2-react/code-snippet/pivot-table/default-cs249/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs249/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs249/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs249/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs249/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs249/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs249/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs25/index.html b/ej2-react/code-snippet/pivot-table/default-cs25/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs25/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs25/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs25/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs25/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs25/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs25/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs250/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs250/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs250/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs250/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs250/index.html b/ej2-react/code-snippet/pivot-table/default-cs250/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs250/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs250/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs250/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs250/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs250/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs250/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs251/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs251/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs251/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs251/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs251/index.html b/ej2-react/code-snippet/pivot-table/default-cs251/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs251/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs251/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs251/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs251/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs251/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs251/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs252/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs252/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs252/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs252/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs252/index.html b/ej2-react/code-snippet/pivot-table/default-cs252/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs252/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs252/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs252/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs252/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs252/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs252/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs253/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs253/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs253/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs253/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs253/index.html b/ej2-react/code-snippet/pivot-table/default-cs253/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs253/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs253/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs253/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs253/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs253/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs253/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs254/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs254/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs254/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs254/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs254/index.html b/ej2-react/code-snippet/pivot-table/default-cs254/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs254/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs254/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs254/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs254/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs254/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs254/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs255/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs255/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs255/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs255/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs255/index.html b/ej2-react/code-snippet/pivot-table/default-cs255/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs255/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs255/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs255/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs255/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs255/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs255/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs256/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs256/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs256/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs256/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs256/index.html b/ej2-react/code-snippet/pivot-table/default-cs256/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs256/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs256/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs256/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs256/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs256/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs256/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs257/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs257/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs257/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs257/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs257/index.html b/ej2-react/code-snippet/pivot-table/default-cs257/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs257/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs257/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs257/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs257/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs257/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs257/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs258/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs258/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs258/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs258/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs258/index.html b/ej2-react/code-snippet/pivot-table/default-cs258/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs258/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs258/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs258/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs258/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs258/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs258/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs259/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs259/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs259/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs259/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs259/index.html b/ej2-react/code-snippet/pivot-table/default-cs259/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs259/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs259/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs259/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs259/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs259/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs259/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs26/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs26/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs26/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs26/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs26/index.html b/ej2-react/code-snippet/pivot-table/default-cs26/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs26/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs26/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs26/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs26/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs26/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs26/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs260/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs260/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs260/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs260/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs260/index.html b/ej2-react/code-snippet/pivot-table/default-cs260/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs260/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs260/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs260/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs260/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs260/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs260/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs261/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs261/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs261/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs261/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs261/index.html b/ej2-react/code-snippet/pivot-table/default-cs261/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs261/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs261/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs261/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs261/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs261/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs261/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs262/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs262/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs262/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs262/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs262/index.html b/ej2-react/code-snippet/pivot-table/default-cs262/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs262/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs262/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs262/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs262/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs262/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs262/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs263/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs263/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs263/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs263/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs263/index.html b/ej2-react/code-snippet/pivot-table/default-cs263/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs263/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs263/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs263/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs263/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs263/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs263/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs264/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs264/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs264/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs264/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs264/index.html b/ej2-react/code-snippet/pivot-table/default-cs264/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs264/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs264/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs264/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs264/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs264/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs264/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs265/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs265/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs265/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs265/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs265/index.html b/ej2-react/code-snippet/pivot-table/default-cs265/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs265/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs265/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs265/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs265/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs265/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs265/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs266/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs266/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs266/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs266/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs266/index.html b/ej2-react/code-snippet/pivot-table/default-cs266/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs266/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs266/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs266/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs266/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs266/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs266/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs267/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs267/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs267/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs267/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs267/index.html b/ej2-react/code-snippet/pivot-table/default-cs267/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs267/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs267/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs267/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs267/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs267/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs267/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs268/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs268/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs268/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs268/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs268/index.html b/ej2-react/code-snippet/pivot-table/default-cs268/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs268/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs268/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs268/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs268/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs268/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs268/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs269/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs269/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs269/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs269/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs269/index.html b/ej2-react/code-snippet/pivot-table/default-cs269/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs269/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs269/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs269/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs269/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs269/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs269/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs27/index.html b/ej2-react/code-snippet/pivot-table/default-cs27/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs27/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs27/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs27/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs27/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs27/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs27/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs270/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs270/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs270/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs270/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs270/index.html b/ej2-react/code-snippet/pivot-table/default-cs270/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs270/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs270/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs270/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs270/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs270/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs270/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs271/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs271/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs271/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs271/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs271/index.html b/ej2-react/code-snippet/pivot-table/default-cs271/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs271/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs271/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs271/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs271/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs271/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs271/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs272/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs272/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs272/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs272/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs272/index.html b/ej2-react/code-snippet/pivot-table/default-cs272/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs272/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs272/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs272/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs272/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs272/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs272/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs273/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs273/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs273/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs273/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs273/index.html b/ej2-react/code-snippet/pivot-table/default-cs273/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs273/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs273/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs273/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs273/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs273/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs273/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs274/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs274/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs274/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs274/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs274/index.html b/ej2-react/code-snippet/pivot-table/default-cs274/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs274/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs274/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs274/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs274/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs274/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs274/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs275/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs275/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs275/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs275/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs275/index.html b/ej2-react/code-snippet/pivot-table/default-cs275/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs275/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs275/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs275/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs275/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs275/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs275/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs276/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs276/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs276/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs276/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs276/index.html b/ej2-react/code-snippet/pivot-table/default-cs276/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs276/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs276/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs276/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs276/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs276/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs276/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs277/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs277/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs277/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs277/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs277/index.html b/ej2-react/code-snippet/pivot-table/default-cs277/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs277/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs277/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs277/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs277/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs277/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs277/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs278/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs278/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs278/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs278/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs278/index.html b/ej2-react/code-snippet/pivot-table/default-cs278/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs278/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs278/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs278/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs278/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs278/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs278/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs279/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs279/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs279/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs279/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs279/index.html b/ej2-react/code-snippet/pivot-table/default-cs279/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs279/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs279/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs279/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs279/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs279/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs279/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs28/index.html b/ej2-react/code-snippet/pivot-table/default-cs28/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs28/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs28/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs28/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs28/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs28/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs28/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs280/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs280/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs280/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs280/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs280/index.html b/ej2-react/code-snippet/pivot-table/default-cs280/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs280/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs280/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs280/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs280/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs280/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs280/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs281/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs281/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs281/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs281/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs281/index.html b/ej2-react/code-snippet/pivot-table/default-cs281/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs281/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs281/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs281/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs281/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs281/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs281/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs282/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs282/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs282/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs282/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs282/index.html b/ej2-react/code-snippet/pivot-table/default-cs282/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs282/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs282/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs282/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs282/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs282/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs282/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs283/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs283/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs283/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs283/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs283/index.html b/ej2-react/code-snippet/pivot-table/default-cs283/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs283/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs283/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs283/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs283/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs283/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs283/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs284/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs284/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs284/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs284/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs284/index.html b/ej2-react/code-snippet/pivot-table/default-cs284/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs284/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs284/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs284/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs284/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs284/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs284/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs285/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs285/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs285/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs285/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs285/index.html b/ej2-react/code-snippet/pivot-table/default-cs285/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs285/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs285/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs285/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs285/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs285/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs285/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs286/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs286/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs286/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs286/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs286/index.html b/ej2-react/code-snippet/pivot-table/default-cs286/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs286/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs286/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs286/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs286/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs286/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs286/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs287/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs287/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs287/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs287/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs287/index.html b/ej2-react/code-snippet/pivot-table/default-cs287/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs287/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs287/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs287/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs287/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs287/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs287/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs288/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs288/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs288/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs288/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs288/index.html b/ej2-react/code-snippet/pivot-table/default-cs288/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs288/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs288/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs288/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs288/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs288/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs288/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs289/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs289/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs289/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs289/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs289/index.html b/ej2-react/code-snippet/pivot-table/default-cs289/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs289/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs289/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs289/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs289/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs289/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs289/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs29/index.html b/ej2-react/code-snippet/pivot-table/default-cs29/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs29/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs29/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs29/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs29/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs29/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs29/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs290/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs290/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs290/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs290/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs290/index.html b/ej2-react/code-snippet/pivot-table/default-cs290/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs290/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs290/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs290/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs290/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs290/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs290/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs291/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs291/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs291/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs291/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs291/index.html b/ej2-react/code-snippet/pivot-table/default-cs291/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs291/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs291/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs291/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs291/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs291/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs291/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs292/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs292/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs292/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs292/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs292/index.html b/ej2-react/code-snippet/pivot-table/default-cs292/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs292/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs292/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs292/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs292/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs292/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs292/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs293/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs293/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs293/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs293/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs293/index.html b/ej2-react/code-snippet/pivot-table/default-cs293/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs293/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs293/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs293/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs293/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs293/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs293/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs294/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs294/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs294/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs294/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs294/index.html b/ej2-react/code-snippet/pivot-table/default-cs294/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs294/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs294/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs294/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs294/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs294/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs294/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs295/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs295/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs295/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs295/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs295/index.html b/ej2-react/code-snippet/pivot-table/default-cs295/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs295/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs295/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs295/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs295/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs295/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs295/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs296/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs296/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs296/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs296/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs296/index.html b/ej2-react/code-snippet/pivot-table/default-cs296/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs296/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs296/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs296/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs296/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs296/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs296/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs297/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs297/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs297/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs297/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs297/index.html b/ej2-react/code-snippet/pivot-table/default-cs297/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs297/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs297/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs297/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs297/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs297/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs297/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs298/index.html b/ej2-react/code-snippet/pivot-table/default-cs298/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs298/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs298/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs298/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs298/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs298/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs298/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs299/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs299/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs299/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs299/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs299/index.html b/ej2-react/code-snippet/pivot-table/default-cs299/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs299/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs299/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs299/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs299/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs299/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs299/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs3/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs3/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs3/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs3/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs3/index.html b/ej2-react/code-snippet/pivot-table/default-cs3/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs3/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs3/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs3/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs3/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs3/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs3/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs30/index.html b/ej2-react/code-snippet/pivot-table/default-cs30/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs30/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs30/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs30/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs30/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs30/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs30/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs300/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs300/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs300/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs300/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs300/index.html b/ej2-react/code-snippet/pivot-table/default-cs300/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs300/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs300/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs300/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs300/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs300/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs300/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs301/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs301/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs301/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs301/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs301/index.html b/ej2-react/code-snippet/pivot-table/default-cs301/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs301/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs301/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs301/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs301/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs301/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs301/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs302/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs302/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs302/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs302/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs302/index.html b/ej2-react/code-snippet/pivot-table/default-cs302/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs302/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs302/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs302/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs302/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs302/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs302/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs303/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs303/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs303/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs303/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs303/index.html b/ej2-react/code-snippet/pivot-table/default-cs303/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs303/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs303/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs303/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs303/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs303/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs303/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs304/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs304/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs304/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs304/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs304/index.html b/ej2-react/code-snippet/pivot-table/default-cs304/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs304/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs304/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs304/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs304/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs304/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs304/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs305/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs305/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs305/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs305/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs305/index.html b/ej2-react/code-snippet/pivot-table/default-cs305/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs305/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs305/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs305/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs305/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs305/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs305/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs306/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs306/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs306/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs306/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs306/index.html b/ej2-react/code-snippet/pivot-table/default-cs306/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs306/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs306/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs306/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs306/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs306/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs306/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs307/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs307/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs307/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs307/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs307/index.html b/ej2-react/code-snippet/pivot-table/default-cs307/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs307/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs307/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs307/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs307/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs307/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs307/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs308/index.html b/ej2-react/code-snippet/pivot-table/default-cs308/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs308/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs308/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs308/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs308/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs308/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs308/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs309/index.html b/ej2-react/code-snippet/pivot-table/default-cs309/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs309/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs309/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs309/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs309/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs309/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs309/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs31/index.html b/ej2-react/code-snippet/pivot-table/default-cs31/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs31/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs31/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs31/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs31/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs31/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs31/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs310/index.html b/ej2-react/code-snippet/pivot-table/default-cs310/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs310/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs310/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs310/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs310/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs310/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs310/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs311/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs311/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs311/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs311/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs311/index.html b/ej2-react/code-snippet/pivot-table/default-cs311/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs311/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs311/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs311/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs311/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs311/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs311/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs312/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs312/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs312/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs312/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs312/index.html b/ej2-react/code-snippet/pivot-table/default-cs312/index.html index 2cfcd8325..0ee471d74 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs312/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs312/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs312/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs312/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs312/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs312/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs313/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs313/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs313/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs313/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs313/index.html b/ej2-react/code-snippet/pivot-table/default-cs313/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs313/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs313/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs313/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs313/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs313/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs313/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs314/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs314/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs314/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs314/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs314/index.html b/ej2-react/code-snippet/pivot-table/default-cs314/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs314/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs314/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs314/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs314/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs314/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs314/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs315/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs315/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs315/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs315/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs315/index.html b/ej2-react/code-snippet/pivot-table/default-cs315/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs315/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs315/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs315/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs315/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs315/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs315/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs316/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs316/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs316/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs316/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs316/index.html b/ej2-react/code-snippet/pivot-table/default-cs316/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs316/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs316/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs316/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs316/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs316/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs316/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs317/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs317/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs317/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs317/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs317/index.html b/ej2-react/code-snippet/pivot-table/default-cs317/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs317/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs317/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs317/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs317/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs317/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs317/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs318/index.html b/ej2-react/code-snippet/pivot-table/default-cs318/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs318/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs318/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs318/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs318/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs318/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs318/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs319/index.html b/ej2-react/code-snippet/pivot-table/default-cs319/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs319/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs319/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs319/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs319/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs319/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs319/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs32/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs32/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs32/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs32/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs32/index.html b/ej2-react/code-snippet/pivot-table/default-cs32/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs32/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs32/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs32/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs32/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs32/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs32/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs320/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs320/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs320/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs320/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs320/index.html b/ej2-react/code-snippet/pivot-table/default-cs320/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs320/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs320/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs320/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs320/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs320/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs320/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs321/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs321/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs321/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs321/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs321/index.html b/ej2-react/code-snippet/pivot-table/default-cs321/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs321/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs321/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs321/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs321/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs321/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs321/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs322/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs322/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs322/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs322/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs322/index.html b/ej2-react/code-snippet/pivot-table/default-cs322/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs322/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs322/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs322/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs322/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs322/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs322/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs323/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs323/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs323/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs323/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs323/index.html b/ej2-react/code-snippet/pivot-table/default-cs323/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs323/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs323/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs323/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs323/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs323/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs323/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs324/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs324/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs324/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs324/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs324/index.html b/ej2-react/code-snippet/pivot-table/default-cs324/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs324/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs324/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs324/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs324/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs324/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs324/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs325/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs325/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs325/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs325/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs325/index.html b/ej2-react/code-snippet/pivot-table/default-cs325/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs325/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs325/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs325/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs325/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs325/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs325/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs326/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs326/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs326/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs326/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs326/index.html b/ej2-react/code-snippet/pivot-table/default-cs326/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs326/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs326/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs326/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs326/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs326/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs326/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs327/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs327/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs327/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs327/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs327/index.html b/ej2-react/code-snippet/pivot-table/default-cs327/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs327/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs327/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs327/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs327/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs327/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs327/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs328/index.html b/ej2-react/code-snippet/pivot-table/default-cs328/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs328/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs328/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs328/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs328/systemjs.config.js index adff36436..4a51705e0 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs328/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs328/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs329/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs329/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs329/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs329/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs329/index.html b/ej2-react/code-snippet/pivot-table/default-cs329/index.html index 70cd2ff24..93bf0f699 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs329/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs329/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs329/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs329/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs329/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs329/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs33/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs33/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs33/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs33/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs33/index.html b/ej2-react/code-snippet/pivot-table/default-cs33/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs33/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs33/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs33/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs33/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs33/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs33/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs330/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs330/app/App.css new file mode 100644 index 000000000..eb3b64f9e --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/default-cs330/app/App.css @@ -0,0 +1,12 @@ +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs330/app/App.jsx b/ej2-react/code-snippet/pivot-table/default-cs330/app/App.jsx new file mode 100644 index 000000000..5a84eedf0 --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/default-cs330/app/App.jsx @@ -0,0 +1,19 @@ +import { PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; +import * as React from 'react'; +import { pivotData } from './datasource'; +function App() { + let dataSourceSettings = { + columns: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }, { name: 'Products' }], + dataSource: pivotData, + filters: [], + showSubTotals: false, + formatSettings: [{ name: 'Amount', format: 'C0' }], + rows: [{ name: 'Country' }], + columns: [{ name: 'Year' }, { name: 'Quarter' }], + values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }] + }; + let pivotObj; + return ( pivotObj = d} id='PivotView' dataSourceSettings={dataSourceSettings}>); +}; +export default App; + diff --git a/ej2-react/code-snippet/pivot-table/default-cs330/app/App.tsx b/ej2-react/code-snippet/pivot-table/default-cs330/app/App.tsx new file mode 100644 index 000000000..1002e031d --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/default-cs330/app/App.tsx @@ -0,0 +1,21 @@ +import { IDataSet, PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; +import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; +import * as React from 'react'; +import { pivotData } from './datasource'; + +function App() { + + let dataSourceSettings: DataSourceSettingsModel = { + columns: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }, { name: 'Products' }], + dataSource: pivotData as IDataSet[], + filters: [], + formatSettings: [{ name: 'Amount', format: 'C0' }], + showSubTotals: false, + rows: [{ name: 'Country' }, { name: 'Products' }], + values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }] + } + let pivotObj: PivotViewComponent; + return ( pivotObj = d } id='PivotView' dataSourceSettings={dataSourceSettings}>); +}; + +export default App; diff --git a/ej2-react/code-snippet/pivot-table/default-cs330/app/datasource.jsx b/ej2-react/code-snippet/pivot-table/default-cs330/app/datasource.jsx new file mode 100644 index 000000000..930aa6657 --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/default-cs330/app/datasource.jsx @@ -0,0 +1,27 @@ +export let pivotData = [ + { 'In_Stock': 34, 'Sold': 51, 'Amount': 383, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'In_Stock': 4, 'Sold': 423, 'Amount': 3595.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'In_Stock': 11, 'Sold': 19, 'Amount': 85.5, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'In_Stock': 10, 'Sold': 64, 'Amount': 320, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'In_Stock': 2, 'Sold': 141, 'Amount': 1692, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'In_Stock': 30, 'Sold': 332, 'Amount': 3735, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'In_Stock': 9, 'Sold': 353, 'Amount': 3000.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'In_Stock': 32, 'Sold': 269, 'Amount': 1345, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'In_Stock': 31, 'Sold': 73, 'Amount': 1387, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'In_Stock': 19, 'Sold': 279, 'Amount': 205363, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'In_Stock': 41, 'Sold': 82, 'Amount': 922.5, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'In_Stock': 15, 'Sold': 188, 'Amount': 1457, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'In_Stock': 31, 'Sold': 78, 'Amount': 1677, 'Country': 'United Kingdom', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'In_Stock': 46, 'Sold': 393, 'Amount': 6681, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'In_Stock': 35, 'Sold': 61, 'Amount': 991.25, 'Country': 'United Kingdom', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'In_Stock': 34, 'Sold': 271, 'Amount': 4336, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'In_Stock': 48, 'Sold': 361, 'Amount': 10469, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'In_Stock': 20, 'Sold': 464, 'Amount': 13108, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'In_Stock': 45, 'Sold': 257, 'Amount': 28784, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'In_Stock': 5, 'Sold': 333, 'Amount': 2081.25, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'In_Stock': 47, 'Sold': 252, 'Amount': 401940, 'Country': 'United Kingdom', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'In_Stock': 38, 'Sold': 287, 'Amount': 457765, 'Country': 'United Kingdom', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'In_Stock': 29, 'Sold': 92, 'Amount': 146786, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'In_Stock': 14, 'Sold': 535, 'Amount': 10165, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'In_Stock': 47, 'Sold': 405, 'Amount': 3037.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' }, +]; \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs330/app/datasource.tsx b/ej2-react/code-snippet/pivot-table/default-cs330/app/datasource.tsx new file mode 100644 index 000000000..5bdd92306 --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/default-cs330/app/datasource.tsx @@ -0,0 +1,27 @@ +export let pivotData: object[] = [ + { 'In_Stock': 34, 'Sold': 51, 'Amount': 383, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'In_Stock': 4, 'Sold': 423, 'Amount': 3595.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'In_Stock': 11, 'Sold': 19, 'Amount': 85.5, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'In_Stock': 10, 'Sold': 64, 'Amount': 320, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'In_Stock': 2, 'Sold': 141, 'Amount': 1692, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'In_Stock': 30, 'Sold': 332, 'Amount': 3735, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'In_Stock': 9, 'Sold': 353, 'Amount': 3000.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'In_Stock': 32, 'Sold': 269, 'Amount': 1345, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'In_Stock': 31, 'Sold': 73, 'Amount': 1387, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'In_Stock': 19, 'Sold': 279, 'Amount': 205363, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'In_Stock': 41, 'Sold': 82, 'Amount': 922.5, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'In_Stock': 15, 'Sold': 188, 'Amount': 1457, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'In_Stock': 31, 'Sold': 78, 'Amount': 1677, 'Country': 'United Kingdom', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'In_Stock': 46, 'Sold': 393, 'Amount': 6681, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'In_Stock': 35, 'Sold': 61, 'Amount': 991.25, 'Country': 'United Kingdom', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'In_Stock': 34, 'Sold': 271, 'Amount': 4336, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'In_Stock': 48, 'Sold': 361, 'Amount': 10469, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'In_Stock': 20, 'Sold': 464, 'Amount': 13108, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'In_Stock': 45, 'Sold': 257, 'Amount': 28784, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'In_Stock': 5, 'Sold': 333, 'Amount': 2081.25, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'In_Stock': 47, 'Sold': 252, 'Amount': 401940, 'Country': 'United Kingdom', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'In_Stock': 38, 'Sold': 287, 'Amount': 457765, 'Country': 'United Kingdom', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'In_Stock': 29, 'Sold': 92, 'Amount': 146786, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'In_Stock': 14, 'Sold': 535, 'Amount': 10165, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'In_Stock': 47, 'Sold': 405, 'Amount': 3037.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' }, +]; \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs330/app/index.tsx b/ej2-react/code-snippet/pivot-table/default-cs330/app/index.tsx new file mode 100644 index 000000000..73863c3be --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/default-cs330/app/index.tsx @@ -0,0 +1,13 @@ +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; +import App from './App'; + +const root = ReactDOM.createRoot( + document.getElementById('root') +); + +root.render( + + + +); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs330/index.css b/ej2-react/code-snippet/pivot-table/default-cs330/index.css new file mode 100644 index 000000000..25bb2e473 --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/default-cs330/index.css @@ -0,0 +1,5 @@ +#PivotViewFieldList { + width: 58%; + height: 100%; + float: left; +} \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs330/index.html b/ej2-react/code-snippet/pivot-table/default-cs330/index.html new file mode 100644 index 000000000..93bf0f699 --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/default-cs330/index.html @@ -0,0 +1,45 @@ + + + + + Syncfusion React Grid + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    Loading....
    +
    + + + \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs330/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs330/systemjs.config.js new file mode 100644 index 000000000..bf5cae374 --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/default-cs330/systemjs.config.js @@ -0,0 +1,61 @@ +System.config({ + transpiler: "ts", + typescriptOptions: { + target: "es5", + module: "system", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true, + "jsx": "react" + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" + }, + map: { + app: 'app', + ts: "https://unpkg.com/plugin-typescript@4.0.10/lib/plugin.js", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js", + "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-pivotview": "syncfusion:ej2-pivotview/dist/ej2-pivotview.umd.min.js", + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + + "@syncfusion/ej2-react-base": "syncfusion:ej2-react-base/dist/ej2-react-base.umd.min.js", + "@syncfusion/ej2-react-buttons": "syncfusion:ej2-react-buttons/dist/ej2-react-buttons.umd.min.js", + "@syncfusion/ej2-react-pivotview": "syncfusion:ej2-react-pivotview/dist/ej2-react-pivotview.umd.min.js", + "@syncfusion/ej2-react-dropdowns": "syncfusion:ej2-react-dropdowns/dist/ej2-react-dropdowns.umd.min.js", + "plugin-json": "https://cdnjs.cloudflare.com/ajax/libs/systemjs-plugin-json/0.3.0/json.min.js", + "react-dom": "https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js", + "react": "https://unpkg.com/react@18.2.0/umd/react.production.min.js", + }, + meta: { + '*.json': { loader: 'plugin-json' }, + 'typescript': { + "exports": "ts" + } + }, + packages: { + 'app': { main: 'index', defaultExtension: 'tsx' }, + } + +}); + +System.import('app'); + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs331/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs331/app/App.css new file mode 100644 index 000000000..eb3b64f9e --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/default-cs331/app/App.css @@ -0,0 +1,12 @@ +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs331/app/App.jsx b/ej2-react/code-snippet/pivot-table/default-cs331/app/App.jsx new file mode 100644 index 000000000..081bfdb9b --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/default-cs331/app/App.jsx @@ -0,0 +1,26 @@ +import { PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; +import * as React from 'react'; +import { pivotData } from './datasource'; +function App() { + let dataSourceSettings = { + columns: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }], + dataSource: pivotData, + expandAll: false, + valueSortSettings: { + columnHeaderText: 'FY 2015##Units Sold', + columnSortOrder: 'Descending', + rowHeaderText: 'France', + rowSortOrder: 'Ascending', + headerDelimiter: '##', + }, + filters: [], + drilledMembers: [{ name: 'Country', items: ['France'] }], + formatSettings: [{ name: 'Amount', format: 'C0' }], + rows: [{ name: 'Country' }, { name: 'Products' }], + values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }] + }; + let pivotObj; + return ( pivotObj = d} id='PivotView' height={350} enableValueSorting={true} dataSourceSettings={dataSourceSettings}>); +}; +export default App; + diff --git a/ej2-react/code-snippet/pivot-table/default-cs331/app/App.tsx b/ej2-react/code-snippet/pivot-table/default-cs331/app/App.tsx new file mode 100644 index 000000000..8b90aac89 --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/default-cs331/app/App.tsx @@ -0,0 +1,30 @@ +import { IDataSet, PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; +import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; +import * as React from 'react'; +import { pivotData } from './datasource'; + +function App() { + + let dataSourceSettings: DataSourceSettingsModel = { + columns: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }], + dataSource: pivotData as IDataSet[], + expandAll: false, + valueSortSettings: { + columnHeaderText: 'FY 2015##Units Sold', + headerDelimiter: '##', + columnSortOrder: 'Descending', + rowHeaderText: 'France', + rowSortOrder: 'Ascending', + }, + filters: [], + drilledMembers: [{ name: 'Country', items: ['France'] }], + formatSettings: [{ name: 'Amount', format: 'C0' }], + rows: [{ name: 'Country' }, { name: 'Products' }], + values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }] + } + let pivotObj: PivotViewComponent; + + return ( pivotObj = d } id='PivotView' height={350} enableValueSorting={true} dataSourceSettings={dataSourceSettings}>); +}; + +export default App; diff --git a/ej2-react/code-snippet/pivot-table/default-cs331/app/datasource.jsx b/ej2-react/code-snippet/pivot-table/default-cs331/app/datasource.jsx new file mode 100644 index 000000000..03d57dc4a --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/default-cs331/app/datasource.jsx @@ -0,0 +1,27 @@ +export let pivotData = [ + { 'In_Stock': 34, 'Sold': 51, 'Amount': 383, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'In_Stock': 4, 'Sold': 423, 'Amount': 3595.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'In_Stock': 11, 'Sold': 19, 'Amount': 85.5, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'In_Stock': 10, 'Sold': 64, 'Amount': 320, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q4' }, + { 'In_Stock': 2, 'Sold': 141, 'Amount': 1692, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'In_Stock': 30, 'Sold': 332, 'Amount': 3735, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'In_Stock': 9, 'Sold': 353, 'Amount': 3000.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'In_Stock': 32, 'Sold': 269, 'Amount': 1345, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'In_Stock': 31, 'Sold': 73, 'Amount': 1387, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'In_Stock': 19, 'Sold': 279, 'Amount': 205363, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'In_Stock': 41, 'Sold': 82, 'Amount': 922.5, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'In_Stock': 15, 'Sold': 188, 'Amount': 1457, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'In_Stock': 31, 'Sold': 78, 'Amount': 1677, 'Country': 'United Kingdom', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'In_Stock': 46, 'Sold': 393, 'Amount': 6681, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'In_Stock': 35, 'Sold': 61, 'Amount': 991.25, 'Country': 'United Kingdom', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'In_Stock': 34, 'Sold': 271, 'Amount': 4336, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'In_Stock': 48, 'Sold': 361, 'Amount': 10469, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'In_Stock': 20, 'Sold': 464, 'Amount': 13108, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'In_Stock': 45, 'Sold': 257, 'Amount': 28784, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'In_Stock': 5, 'Sold': 333, 'Amount': 2081.25, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'In_Stock': 47, 'Sold': 252, 'Amount': 401940, 'Country': 'United Kingdom', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'In_Stock': 38, 'Sold': 287, 'Amount': 457765, 'Country': 'United Kingdom', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'In_Stock': 29, 'Sold': 92, 'Amount': 146786, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q3' }, + { 'In_Stock': 14, 'Sold': 535, 'Amount': 10165, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'In_Stock': 47, 'Sold': 405, 'Amount': 3037.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' }, +]; \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs331/app/datasource.tsx b/ej2-react/code-snippet/pivot-table/default-cs331/app/datasource.tsx new file mode 100644 index 000000000..10ea8abeb --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/default-cs331/app/datasource.tsx @@ -0,0 +1,27 @@ +export let pivotData: object[] = [ + { 'In_Stock': 34, 'Sold': 51, 'Amount': 383, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'In_Stock': 4, 'Sold': 423, 'Amount': 3595.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'In_Stock': 11, 'Sold': 19, 'Amount': 85.5, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'In_Stock': 10, 'Sold': 64, 'Amount': 320, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q4' }, + { 'In_Stock': 2, 'Sold': 141, 'Amount': 1692, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'In_Stock': 30, 'Sold': 332, 'Amount': 3735, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'In_Stock': 9, 'Sold': 353, 'Amount': 3000.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'In_Stock': 32, 'Sold': 269, 'Amount': 1345, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' }, + { 'In_Stock': 31, 'Sold': 73, 'Amount': 1387, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'In_Stock': 19, 'Sold': 279, 'Amount': 205363, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'In_Stock': 41, 'Sold': 82, 'Amount': 922.5, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'In_Stock': 15, 'Sold': 188, 'Amount': 1457, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'In_Stock': 31, 'Sold': 78, 'Amount': 1677, 'Country': 'United Kingdom', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' }, + { 'In_Stock': 46, 'Sold': 393, 'Amount': 6681, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'In_Stock': 35, 'Sold': 61, 'Amount': 991.25, 'Country': 'United Kingdom', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'In_Stock': 34, 'Sold': 271, 'Amount': 4336, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'In_Stock': 48, 'Sold': 361, 'Amount': 10469, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' }, + { 'In_Stock': 20, 'Sold': 464, 'Amount': 13108, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' }, + { 'In_Stock': 45, 'Sold': 257, 'Amount': 28784, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' }, + { 'In_Stock': 5, 'Sold': 333, 'Amount': 2081.25, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' }, + { 'In_Stock': 47, 'Sold': 252, 'Amount': 401940, 'Country': 'United Kingdom', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' }, + { 'In_Stock': 38, 'Sold': 287, 'Amount': 457765, 'Country': 'United Kingdom', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' }, + { 'In_Stock': 29, 'Sold': 92, 'Amount': 146786, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q3' }, + { 'In_Stock': 14, 'Sold': 535, 'Amount': 10165, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' }, + { 'In_Stock': 47, 'Sold': 405, 'Amount': 3037.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' }, +]; \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs331/app/index.tsx b/ej2-react/code-snippet/pivot-table/default-cs331/app/index.tsx new file mode 100644 index 000000000..73863c3be --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/default-cs331/app/index.tsx @@ -0,0 +1,13 @@ +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; +import App from './App'; + +const root = ReactDOM.createRoot( + document.getElementById('root') +); + +root.render( + + + +); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs331/index.css b/ej2-react/code-snippet/pivot-table/default-cs331/index.css new file mode 100644 index 000000000..25bb2e473 --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/default-cs331/index.css @@ -0,0 +1,5 @@ +#PivotViewFieldList { + width: 58%; + height: 100%; + float: left; +} \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs331/index.html b/ej2-react/code-snippet/pivot-table/default-cs331/index.html new file mode 100644 index 000000000..93bf0f699 --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/default-cs331/index.html @@ -0,0 +1,45 @@ + + + + + Syncfusion React Grid + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    Loading....
    +
    + + + \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs331/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs331/systemjs.config.js new file mode 100644 index 000000000..bf5cae374 --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/default-cs331/systemjs.config.js @@ -0,0 +1,61 @@ +System.config({ + transpiler: "ts", + typescriptOptions: { + target: "es5", + module: "system", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true, + "jsx": "react" + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" + }, + map: { + app: 'app', + ts: "https://unpkg.com/plugin-typescript@4.0.10/lib/plugin.js", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js", + "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-pivotview": "syncfusion:ej2-pivotview/dist/ej2-pivotview.umd.min.js", + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + + "@syncfusion/ej2-react-base": "syncfusion:ej2-react-base/dist/ej2-react-base.umd.min.js", + "@syncfusion/ej2-react-buttons": "syncfusion:ej2-react-buttons/dist/ej2-react-buttons.umd.min.js", + "@syncfusion/ej2-react-pivotview": "syncfusion:ej2-react-pivotview/dist/ej2-react-pivotview.umd.min.js", + "@syncfusion/ej2-react-dropdowns": "syncfusion:ej2-react-dropdowns/dist/ej2-react-dropdowns.umd.min.js", + "plugin-json": "https://cdnjs.cloudflare.com/ajax/libs/systemjs-plugin-json/0.3.0/json.min.js", + "react-dom": "https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js", + "react": "https://unpkg.com/react@18.2.0/umd/react.production.min.js", + }, + meta: { + '*.json': { loader: 'plugin-json' }, + 'typescript': { + "exports": "ts" + } + }, + packages: { + 'app': { main: 'index', defaultExtension: 'tsx' }, + } + +}); + +System.import('app'); + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs34/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs34/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs34/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs34/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs34/index.html b/ej2-react/code-snippet/pivot-table/default-cs34/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs34/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs34/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs34/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs34/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs34/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs34/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs35/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs35/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs35/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs35/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs35/index.html b/ej2-react/code-snippet/pivot-table/default-cs35/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs35/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs35/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs35/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs35/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs35/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs35/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs36/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs36/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs36/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs36/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs36/index.html b/ej2-react/code-snippet/pivot-table/default-cs36/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs36/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs36/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs36/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs36/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs36/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs36/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs37/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs37/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs37/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs37/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs37/index.html b/ej2-react/code-snippet/pivot-table/default-cs37/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs37/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs37/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs37/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs37/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs37/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs37/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs38/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs38/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs38/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs38/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs38/index.html b/ej2-react/code-snippet/pivot-table/default-cs38/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs38/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs38/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs38/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs38/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs38/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs38/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs39/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs39/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs39/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs39/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs39/index.html b/ej2-react/code-snippet/pivot-table/default-cs39/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs39/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs39/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs39/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs39/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs39/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs39/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs4/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs4/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs4/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs4/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs4/index.html b/ej2-react/code-snippet/pivot-table/default-cs4/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs4/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs4/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs4/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs4/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs4/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs4/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs40/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs40/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs40/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs40/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs40/index.html b/ej2-react/code-snippet/pivot-table/default-cs40/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs40/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs40/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs40/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs40/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs40/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs40/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs41/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs41/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs41/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs41/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs41/index.html b/ej2-react/code-snippet/pivot-table/default-cs41/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs41/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs41/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs41/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs41/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs41/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs41/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs42/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs42/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs42/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs42/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs42/index.html b/ej2-react/code-snippet/pivot-table/default-cs42/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs42/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs42/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs42/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs42/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs42/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs42/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs43/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs43/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs43/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs43/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs43/index.html b/ej2-react/code-snippet/pivot-table/default-cs43/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs43/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs43/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs43/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs43/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs43/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs43/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs44/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs44/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs44/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs44/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs44/index.html b/ej2-react/code-snippet/pivot-table/default-cs44/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs44/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs44/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs44/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs44/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs44/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs44/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs45/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs45/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs45/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs45/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs45/index.html b/ej2-react/code-snippet/pivot-table/default-cs45/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs45/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs45/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs45/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs45/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs45/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs45/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs46/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs46/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs46/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs46/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs46/app/App.jsx b/ej2-react/code-snippet/pivot-table/default-cs46/app/App.jsx index df443c49f..2aa27eb9a 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs46/app/App.jsx +++ b/ej2-react/code-snippet/pivot-table/default-cs46/app/App.jsx @@ -3,14 +3,13 @@ import * as React from 'react'; import { pivotData } from './datasource'; function App() { let dataSourceSettings = { - columns: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }], dataSource: pivotData, expandAll: false, - drilledMembers: [{ name: 'Country', items: ['France'] }], + drilledMembers: [{ name: 'Year', items: ['FY 2015','FY 2016'] }, { name: 'Quarter', delimiter:'~~',items: ['FY 2015~~Q1'] }], + rows: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }, { name: 'Products' }], + values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }], + columns: [{ name: 'Country' }], filters: [], - formatSettings: [{ name: 'Amount', format: 'C0' }], - rows: [{ name: 'Country' }, { name: 'Products' }], - values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }] }; let pivotObj; return ( pivotObj = d} id='PivotView' height={350} dataSourceSettings={dataSourceSettings}>); diff --git a/ej2-react/code-snippet/pivot-table/default-cs46/app/App.tsx b/ej2-react/code-snippet/pivot-table/default-cs46/app/App.tsx index b302223d9..cf035a627 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs46/app/App.tsx +++ b/ej2-react/code-snippet/pivot-table/default-cs46/app/App.tsx @@ -6,14 +6,13 @@ import { pivotData } from './datasource'; function App() { let dataSourceSettings: DataSourceSettingsModel = { - columns: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }], - dataSource: pivotData as IDataSet[], - expandAll: false, - drilledMembers: [{ name: 'Country', items: ['France'] }], - filters: [], - formatSettings: [{ name: 'Amount', format: 'C0' }], - rows: [{ name: 'Country' }, { name: 'Products' }], - values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }] + dataSource: pivotData as IDataSet[], + expandAll: false, + drilledMembers: [{ name: 'Year', items: ['FY 2015','FY 2016'] }, { name: 'Quarter', delimiter:'~~',items: ['FY 2015~~Q1'] }], + rows: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }, { name: 'Products' }], + values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }], + columns: [{ name: 'Country' }], + filters: [], } let pivotObj: PivotViewComponent; return ( pivotObj = d } id='PivotView' height={350} dataSourceSettings={dataSourceSettings}>); diff --git a/ej2-react/code-snippet/pivot-table/default-cs46/index.html b/ej2-react/code-snippet/pivot-table/default-cs46/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs46/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs46/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs46/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs46/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs46/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs46/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs47/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs47/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs47/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs47/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs47/index.html b/ej2-react/code-snippet/pivot-table/default-cs47/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs47/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs47/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs47/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs47/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs47/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs47/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs48/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs48/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs48/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs48/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs48/index.html b/ej2-react/code-snippet/pivot-table/default-cs48/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs48/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs48/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs48/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs48/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs48/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs48/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs49/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs49/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs49/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs49/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs49/index.html b/ej2-react/code-snippet/pivot-table/default-cs49/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs49/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs49/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs49/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs49/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs49/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs49/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs5/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs5/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs5/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs5/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs5/index.html b/ej2-react/code-snippet/pivot-table/default-cs5/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs5/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs5/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs5/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs5/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs5/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs5/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs50/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs50/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs50/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs50/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs50/index.html b/ej2-react/code-snippet/pivot-table/default-cs50/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs50/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs50/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs50/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs50/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs50/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs50/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs51/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs51/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs51/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs51/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs51/index.html b/ej2-react/code-snippet/pivot-table/default-cs51/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs51/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs51/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs51/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs51/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs51/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs51/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs52/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs52/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs52/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs52/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs52/index.html b/ej2-react/code-snippet/pivot-table/default-cs52/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs52/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs52/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs52/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs52/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs52/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs52/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs53/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs53/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs53/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs53/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs53/index.html b/ej2-react/code-snippet/pivot-table/default-cs53/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs53/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs53/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs53/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs53/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs53/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs53/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs54/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs54/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs54/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs54/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs54/index.html b/ej2-react/code-snippet/pivot-table/default-cs54/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs54/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs54/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs54/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs54/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs54/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs54/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs55/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs55/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs55/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs55/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs55/index.html b/ej2-react/code-snippet/pivot-table/default-cs55/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs55/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs55/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs55/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs55/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs55/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs55/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs56/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs56/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs56/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs56/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs56/index.html b/ej2-react/code-snippet/pivot-table/default-cs56/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs56/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs56/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs56/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs56/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs56/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs56/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs57/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs57/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs57/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs57/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs57/index.html b/ej2-react/code-snippet/pivot-table/default-cs57/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs57/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs57/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs57/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs57/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs57/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs57/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs58/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs58/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs58/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs58/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs58/index.html b/ej2-react/code-snippet/pivot-table/default-cs58/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs58/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs58/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs58/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs58/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs58/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs58/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs59/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs59/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs59/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs59/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs59/index.html b/ej2-react/code-snippet/pivot-table/default-cs59/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs59/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs59/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs59/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs59/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs59/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs59/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs6/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs6/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs6/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs6/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs6/index.html b/ej2-react/code-snippet/pivot-table/default-cs6/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs6/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs6/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs6/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs6/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs6/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs6/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs60/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs60/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs60/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs60/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs60/index.html b/ej2-react/code-snippet/pivot-table/default-cs60/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs60/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs60/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs60/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs60/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs60/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs60/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs61/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs61/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs61/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs61/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs61/index.html b/ej2-react/code-snippet/pivot-table/default-cs61/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs61/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs61/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs61/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs61/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs61/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs61/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs62/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs62/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs62/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs62/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs62/index.html b/ej2-react/code-snippet/pivot-table/default-cs62/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs62/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs62/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs62/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs62/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs62/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs62/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs63/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs63/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs63/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs63/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs63/index.html b/ej2-react/code-snippet/pivot-table/default-cs63/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs63/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs63/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs63/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs63/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs63/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs63/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs64/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs64/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs64/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs64/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs64/index.html b/ej2-react/code-snippet/pivot-table/default-cs64/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs64/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs64/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs64/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs64/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs64/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs64/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs65/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs65/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs65/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs65/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs65/index.html b/ej2-react/code-snippet/pivot-table/default-cs65/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs65/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs65/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs65/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs65/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs65/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs65/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs66/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs66/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs66/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs66/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs66/index.html b/ej2-react/code-snippet/pivot-table/default-cs66/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs66/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs66/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs66/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs66/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs66/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs66/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs67/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs67/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs67/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs67/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs67/index.html b/ej2-react/code-snippet/pivot-table/default-cs67/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs67/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs67/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs67/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs67/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs67/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs67/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs68/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs68/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs68/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs68/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs68/index.html b/ej2-react/code-snippet/pivot-table/default-cs68/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs68/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs68/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs68/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs68/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs68/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs68/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs69/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs69/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs69/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs69/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs69/index.html b/ej2-react/code-snippet/pivot-table/default-cs69/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs69/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs69/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs69/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs69/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs69/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs69/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs7/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs7/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs7/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs7/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs7/index.html b/ej2-react/code-snippet/pivot-table/default-cs7/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs7/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs7/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs7/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs7/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs7/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs7/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs70/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs70/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs70/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs70/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs70/index.html b/ej2-react/code-snippet/pivot-table/default-cs70/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs70/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs70/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs70/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs70/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs70/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs70/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs71/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs71/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs71/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs71/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs71/index.html b/ej2-react/code-snippet/pivot-table/default-cs71/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs71/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs71/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs71/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs71/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs71/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs71/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs72/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs72/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs72/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs72/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs72/app/App.jsx b/ej2-react/code-snippet/pivot-table/default-cs72/app/App.jsx index 451b9b097..71821b77e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs72/app/App.jsx +++ b/ej2-react/code-snippet/pivot-table/default-cs72/app/App.jsx @@ -1,5 +1,5 @@ import { ButtonComponent } from '@syncfusion/ej2-react-buttons'; -import { PivotViewComponent, Inject, ExcelExport } from '@syncfusion/ej2-react-pivotview'; +import { PivotViewComponent, Inject, ExcelExport, VirtualScroll} from '@syncfusion/ej2-react-pivotview'; import * as React from 'react'; import { pivotData } from './datasource'; function App() { @@ -13,10 +13,10 @@ function App() { values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }] }; let pivotObj; - return (
    pivotObj = d} id='PivotView' height={350} dataSourceSettings={dataSourceSettings} allowExcelExport={true}>
    + return (
    pivotObj = d} id='PivotView' height={350} dataSourceSettings={dataSourceSettings} enableVirtualization={true} allowExcelExport={true}>
    Export
    ); function btnClick() { - pivotObj.excelExportModule.exportToExcel('Excel'); + pivotObj.excelExport(); } }; export default App; diff --git a/ej2-react/code-snippet/pivot-table/default-cs72/app/App.tsx b/ej2-react/code-snippet/pivot-table/default-cs72/app/App.tsx index 2c3607ade..66f4ec6a5 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs72/app/App.tsx +++ b/ej2-react/code-snippet/pivot-table/default-cs72/app/App.tsx @@ -1,5 +1,5 @@ import { ButtonComponent } from '@syncfusion/ej2-react-buttons'; -import { IDataSet, PivotViewComponent, Inject, ExcelExport } from '@syncfusion/ej2-react-pivotview'; +import { IDataSet, PivotViewComponent, Inject, ExcelExport, VirtualScroll} from '@syncfusion/ej2-react-pivotview'; import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; import * as React from 'react'; import { pivotData } from './datasource'; @@ -16,11 +16,11 @@ function App() { values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }] } let pivotObj: PivotViewComponent; - return (
    pivotObj = d } id='PivotView' height={350} dataSourceSettings={dataSourceSettings} allowExcelExport={true}>
    + return (
    pivotObj = d } id='PivotView' height={350} dataSourceSettings={dataSourceSettings} enableVirtualization={true} allowExcelExport={true}>
    Export
    ); function btnClick(): void { - pivotObj.excelExportModule.exportToExcel('Excel'); + pivotObj.excelExport(); } }; diff --git a/ej2-react/code-snippet/pivot-table/default-cs72/index.html b/ej2-react/code-snippet/pivot-table/default-cs72/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs72/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs72/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs72/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs72/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs72/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs72/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs73/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs73/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs73/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs73/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs73/app/App.jsx b/ej2-react/code-snippet/pivot-table/default-cs73/app/App.jsx index 01fca9507..90395786f 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs73/app/App.jsx +++ b/ej2-react/code-snippet/pivot-table/default-cs73/app/App.jsx @@ -1,5 +1,5 @@ import { ButtonComponent } from '@syncfusion/ej2-react-buttons'; -import { PivotViewComponent, Inject, ExcelExport } from '@syncfusion/ej2-react-pivotview'; +import { PivotViewComponent, Inject, ExcelExport, VirtualScroll} from '@syncfusion/ej2-react-pivotview'; import * as React from 'react'; import { pivotData } from './datasource'; function App() { @@ -13,7 +13,7 @@ function App() { values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }] }; let pivotObj; - return (
    pivotObj = d} id='PivotView' height={350} dataSourceSettings={dataSourceSettings} allowExcelExport={true}>
    + return (
    pivotObj = d} id='PivotView' height={350} dataSourceSettings={dataSourceSettings} enableVirtualization={true} allowExcelExport={true}>
    Export
    ); function btnClick() { let excelExportProperties = { diff --git a/ej2-react/code-snippet/pivot-table/default-cs73/app/App.tsx b/ej2-react/code-snippet/pivot-table/default-cs73/app/App.tsx index 547d47ef3..32c2a6c1c 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs73/app/App.tsx +++ b/ej2-react/code-snippet/pivot-table/default-cs73/app/App.tsx @@ -1,5 +1,5 @@ import { ButtonComponent } from '@syncfusion/ej2-react-buttons'; -import { IDataSet, PivotViewComponent, Inject, ExcelExport } from '@syncfusion/ej2-react-pivotview'; +import { IDataSet, PivotViewComponent, Inject, ExcelExport, VirtualScroll} from '@syncfusion/ej2-react-pivotview'; import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; import * as React from 'react'; import { pivotData } from './datasource'; @@ -17,7 +17,7 @@ function App() { } let pivotObj: PivotViewComponent; - return (
    pivotObj = d } id='PivotView' height={350} dataSourceSettings={dataSourceSettings} allowExcelExport={true}>
    + return (
    pivotObj = d } id='PivotView' height={350} dataSourceSettings={dataSourceSettings} enableVirtualization={true} allowExcelExport={true}>
    Export
    ); function btnClick(): void { diff --git a/ej2-react/code-snippet/pivot-table/default-cs73/index.html b/ej2-react/code-snippet/pivot-table/default-cs73/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs73/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs73/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs73/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs73/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs73/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs73/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs74/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs74/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs74/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs74/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs74/index.html b/ej2-react/code-snippet/pivot-table/default-cs74/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs74/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs74/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs74/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs74/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs74/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs74/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs75/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs75/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs75/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs75/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs75/index.html b/ej2-react/code-snippet/pivot-table/default-cs75/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs75/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs75/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs75/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs75/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs75/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs75/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs76/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs76/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs76/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs76/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs76/index.html b/ej2-react/code-snippet/pivot-table/default-cs76/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs76/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs76/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs76/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs76/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs76/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs76/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs77/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs77/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs77/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs77/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs77/index.html b/ej2-react/code-snippet/pivot-table/default-cs77/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs77/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs77/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs77/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs77/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs77/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs77/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs78/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs78/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs78/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs78/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs78/index.html b/ej2-react/code-snippet/pivot-table/default-cs78/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs78/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs78/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs78/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs78/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs78/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs78/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs79/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs79/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs79/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs79/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs79/index.html b/ej2-react/code-snippet/pivot-table/default-cs79/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs79/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs79/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs79/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs79/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs79/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs79/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs8/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs8/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs8/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs8/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs8/index.html b/ej2-react/code-snippet/pivot-table/default-cs8/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs8/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs8/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs8/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs8/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs8/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs8/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs80/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs80/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs80/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs80/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs80/index.html b/ej2-react/code-snippet/pivot-table/default-cs80/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs80/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs80/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs80/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs80/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs80/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs80/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs81/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs81/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs81/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs81/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs81/index.html b/ej2-react/code-snippet/pivot-table/default-cs81/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs81/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs81/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs81/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs81/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs81/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs81/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs82/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs82/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs82/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs82/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs82/index.html b/ej2-react/code-snippet/pivot-table/default-cs82/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs82/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs82/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs82/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs82/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs82/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs82/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs83/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs83/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs83/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs83/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs83/index.html b/ej2-react/code-snippet/pivot-table/default-cs83/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs83/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs83/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs83/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs83/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs83/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs83/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs84/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs84/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs84/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs84/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs84/index.html b/ej2-react/code-snippet/pivot-table/default-cs84/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs84/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs84/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs84/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs84/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs84/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs84/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs85/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs85/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs85/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs85/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs85/index.html b/ej2-react/code-snippet/pivot-table/default-cs85/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs85/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs85/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs85/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs85/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs85/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs85/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs86/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs86/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs86/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs86/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs86/index.html b/ej2-react/code-snippet/pivot-table/default-cs86/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs86/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs86/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs86/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs86/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs86/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs86/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs87/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs87/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs87/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs87/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs87/index.html b/ej2-react/code-snippet/pivot-table/default-cs87/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs87/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs87/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs87/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs87/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs87/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs87/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs88/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs88/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs88/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs88/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs88/index.html b/ej2-react/code-snippet/pivot-table/default-cs88/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs88/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs88/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs88/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs88/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs88/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs88/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs89/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs89/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs89/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs89/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs89/index.html b/ej2-react/code-snippet/pivot-table/default-cs89/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs89/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs89/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs89/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs89/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs89/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs89/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs9/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs9/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs9/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs9/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs9/index.html b/ej2-react/code-snippet/pivot-table/default-cs9/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs9/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs9/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs9/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs9/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs9/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs9/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs90/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs90/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs90/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs90/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs90/index.html b/ej2-react/code-snippet/pivot-table/default-cs90/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs90/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs90/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs90/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs90/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs90/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs90/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs91/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs91/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs91/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs91/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs91/index.html b/ej2-react/code-snippet/pivot-table/default-cs91/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs91/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs91/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs91/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs91/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs91/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs91/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs92/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs92/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs92/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs92/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs92/index.html b/ej2-react/code-snippet/pivot-table/default-cs92/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs92/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs92/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs92/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs92/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs92/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs92/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs93/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs93/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs93/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs93/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs93/index.html b/ej2-react/code-snippet/pivot-table/default-cs93/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs93/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs93/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs93/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs93/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs93/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs93/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs94/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs94/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs94/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs94/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs94/index.html b/ej2-react/code-snippet/pivot-table/default-cs94/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs94/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs94/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs94/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs94/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs94/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs94/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs95/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs95/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs95/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs95/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs95/index.html b/ej2-react/code-snippet/pivot-table/default-cs95/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs95/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs95/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs95/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs95/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs95/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs95/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs96/index.html b/ej2-react/code-snippet/pivot-table/default-cs96/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs96/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs96/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs96/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs96/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs96/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs96/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs97/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs97/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs97/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs97/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs97/index.html b/ej2-react/code-snippet/pivot-table/default-cs97/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs97/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs97/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs97/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs97/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs97/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs97/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs98/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs98/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs98/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs98/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs98/index.html b/ej2-react/code-snippet/pivot-table/default-cs98/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs98/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs98/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs98/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs98/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs98/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs98/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/default-cs99/app/App.css b/ej2-react/code-snippet/pivot-table/default-cs99/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs99/app/App.css +++ b/ej2-react/code-snippet/pivot-table/default-cs99/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/default-cs99/index.html b/ej2-react/code-snippet/pivot-table/default-cs99/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs99/index.html +++ b/ej2-react/code-snippet/pivot-table/default-cs99/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/default-cs99/systemjs.config.js b/ej2-react/code-snippet/pivot-table/default-cs99/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/default-cs99/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/default-cs99/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/getting-started-cs1/app/App.css b/ej2-react/code-snippet/pivot-table/getting-started-cs1/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/getting-started-cs1/app/App.css +++ b/ej2-react/code-snippet/pivot-table/getting-started-cs1/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/getting-started-cs1/index.html b/ej2-react/code-snippet/pivot-table/getting-started-cs1/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/getting-started-cs1/index.html +++ b/ej2-react/code-snippet/pivot-table/getting-started-cs1/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/getting-started-cs1/systemjs.config.js b/ej2-react/code-snippet/pivot-table/getting-started-cs1/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/getting-started-cs1/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/getting-started-cs1/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/getting-started-cs2/app/App.css b/ej2-react/code-snippet/pivot-table/getting-started-cs2/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/getting-started-cs2/app/App.css +++ b/ej2-react/code-snippet/pivot-table/getting-started-cs2/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/getting-started-cs2/index.html b/ej2-react/code-snippet/pivot-table/getting-started-cs2/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/getting-started-cs2/index.html +++ b/ej2-react/code-snippet/pivot-table/getting-started-cs2/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/getting-started-cs2/systemjs.config.js b/ej2-react/code-snippet/pivot-table/getting-started-cs2/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/getting-started-cs2/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/getting-started-cs2/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/getting-started-cs3/app/App.css b/ej2-react/code-snippet/pivot-table/getting-started-cs3/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/getting-started-cs3/app/App.css +++ b/ej2-react/code-snippet/pivot-table/getting-started-cs3/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/getting-started-cs3/index.html b/ej2-react/code-snippet/pivot-table/getting-started-cs3/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/getting-started-cs3/index.html +++ b/ej2-react/code-snippet/pivot-table/getting-started-cs3/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/getting-started-cs3/systemjs.config.js b/ej2-react/code-snippet/pivot-table/getting-started-cs3/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/getting-started-cs3/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/getting-started-cs3/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/getting-started-cs4/app/App.css b/ej2-react/code-snippet/pivot-table/getting-started-cs4/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/getting-started-cs4/app/App.css +++ b/ej2-react/code-snippet/pivot-table/getting-started-cs4/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/getting-started-cs4/index.html b/ej2-react/code-snippet/pivot-table/getting-started-cs4/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/getting-started-cs4/index.html +++ b/ej2-react/code-snippet/pivot-table/getting-started-cs4/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/getting-started-cs4/systemjs.config.js b/ej2-react/code-snippet/pivot-table/getting-started-cs4/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/getting-started-cs4/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/getting-started-cs4/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/getting-started-cs5/app/App.css b/ej2-react/code-snippet/pivot-table/getting-started-cs5/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/getting-started-cs5/app/App.css +++ b/ej2-react/code-snippet/pivot-table/getting-started-cs5/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/getting-started-cs5/index.html b/ej2-react/code-snippet/pivot-table/getting-started-cs5/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/getting-started-cs5/index.html +++ b/ej2-react/code-snippet/pivot-table/getting-started-cs5/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/getting-started-cs5/systemjs.config.js b/ej2-react/code-snippet/pivot-table/getting-started-cs5/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/getting-started-cs5/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/getting-started-cs5/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/getting-started-cs6/app/App.css b/ej2-react/code-snippet/pivot-table/getting-started-cs6/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/getting-started-cs6/app/App.css +++ b/ej2-react/code-snippet/pivot-table/getting-started-cs6/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/getting-started-cs6/index.html b/ej2-react/code-snippet/pivot-table/getting-started-cs6/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/getting-started-cs6/index.html +++ b/ej2-react/code-snippet/pivot-table/getting-started-cs6/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/getting-started-cs6/systemjs.config.js b/ej2-react/code-snippet/pivot-table/getting-started-cs6/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/getting-started-cs6/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/getting-started-cs6/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/getting-started-cs7/app/App.css b/ej2-react/code-snippet/pivot-table/getting-started-cs7/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/getting-started-cs7/app/App.css +++ b/ej2-react/code-snippet/pivot-table/getting-started-cs7/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/getting-started-cs7/index.html b/ej2-react/code-snippet/pivot-table/getting-started-cs7/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/getting-started-cs7/index.html +++ b/ej2-react/code-snippet/pivot-table/getting-started-cs7/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/getting-started-cs7/systemjs.config.js b/ej2-react/code-snippet/pivot-table/getting-started-cs7/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/getting-started-cs7/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/getting-started-cs7/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/icon-customization-cs1/app/App.css b/ej2-react/code-snippet/pivot-table/icon-customization-cs1/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/icon-customization-cs1/app/App.css +++ b/ej2-react/code-snippet/pivot-table/icon-customization-cs1/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/icon-customization-cs1/index.html b/ej2-react/code-snippet/pivot-table/icon-customization-cs1/index.html index 6dc9e7589..3e0be5443 100644 --- a/ej2-react/code-snippet/pivot-table/icon-customization-cs1/index.html +++ b/ej2-react/code-snippet/pivot-table/icon-customization-cs1/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/icon-customization-cs1/systemjs.config.js b/ej2-react/code-snippet/pivot-table/icon-customization-cs1/systemjs.config.js index 82d32e602..35427971a 100644 --- a/ej2-react/code-snippet/pivot-table/icon-customization-cs1/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/icon-customization-cs1/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/locale-cs1/app/App.css b/ej2-react/code-snippet/pivot-table/locale-cs1/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/locale-cs1/app/App.css +++ b/ej2-react/code-snippet/pivot-table/locale-cs1/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/locale-cs1/index.html b/ej2-react/code-snippet/pivot-table/locale-cs1/index.html index c5b5fc0ef..29aa57518 100644 --- a/ej2-react/code-snippet/pivot-table/locale-cs1/index.html +++ b/ej2-react/code-snippet/pivot-table/locale-cs1/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/locale-cs1/systemjs.config.js b/ej2-react/code-snippet/pivot-table/locale-cs1/systemjs.config.js index faa6573d3..0fbc5c024 100644 --- a/ej2-react/code-snippet/pivot-table/locale-cs1/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/locale-cs1/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/app/App.css b/ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/app/App.css new file mode 100644 index 000000000..eb3b64f9e --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/app/App.css @@ -0,0 +1,12 @@ +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/app/App.jsx b/ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/app/App.jsx new file mode 100644 index 000000000..b5f67dce8 --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/app/App.jsx @@ -0,0 +1,31 @@ +import * as React from 'react'; +import { PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; +function App() { + let dataSourceSettings = { + catalog: 'Adventure Works DW 2008 SE', + cube: 'Adventure Works', + providerType: 'SSAS', + url: 'https://bi.syncfusion.com/olap/msmdpump.dll', + localeIdentifier: 1033, + rows: [ + { name: '[Customer].[Customer Geography]', caption: 'Customer Geography' }, + ], + columns: [ + { name: '[Product].[Product Categories]', caption: 'Product Categories' }, + { name: '[Measures]', caption: 'Measures' }, + ], + values: [ + { name: '[Measures].[Customer Count]', caption: 'Customer Count' }, + { name: '[Measures].[Internet Sales Amount]', caption: 'Internet Sales Amount' } + ] + }; + let pivotObj; + + function afterServiceInvoke(args) { + console.log(args.action); + } + return ( pivotObj = d} id='PivotView' height={350} dataSourceSettings={dataSourceSettings} afterServiceInvoke={afterServiceInvoke.bind(this)}> + ); +}; +export default App; + diff --git a/ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/app/App.tsx b/ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/app/App.tsx new file mode 100644 index 000000000..960890e8c --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/app/App.tsx @@ -0,0 +1,33 @@ +import * as React from 'react'; +import { PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; +import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; +function App() { + let dataSourceSettings: DataSourceSettingsModel = { + catalog: 'Adventure Works DW 2008 SE', + cube: 'Adventure Works', + providerType: 'SSAS', + url: 'https://bi.syncfusion.com/olap/msmdpump.dll', + localeIdentifier: 1033, + rows: [ + { name: '[Customer].[Customer Geography]', caption: 'Customer Geography' }, + ], + columns: [ + { name: '[Product].[Product Categories]', caption: 'Product Categories' }, + { name: '[Measures]', caption: 'Measures' }, + ], + values: [ + { name: '[Measures].[Customer Count]', caption: 'Customer Count' }, + { name: '[Measures].[Internet Sales Amount]', caption: 'Internet Sales Amount' } + ] + }; + let pivotObj: PivotViewComponent; + + function afterServiceInvoke(args: any): void { + console.log(args.action); + } + + return ( pivotObj = d} id='PivotView' height={350} dataSourceSettings={dataSourceSettings} afterServiceInvoke={afterServiceInvoke.bind(this)}> + ); +}; + +export default App; diff --git a/ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/app/index.tsx b/ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/app/index.tsx new file mode 100644 index 000000000..73863c3be --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/app/index.tsx @@ -0,0 +1,13 @@ +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; +import App from './App'; + +const root = ReactDOM.createRoot( + document.getElementById('root') +); + +root.render( + + + +); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/index.css b/ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/index.css new file mode 100644 index 000000000..536bcca4d --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/index.css @@ -0,0 +1,81 @@ +#PivotViewFieldList { + width: 58%; + height: 100%; + float: left; +} + +.e-pivotfieldlist { + width: 42%; + height: 100%; + float: right; +} + +/* csslint ignore:start */ + +.e-pivotfieldlist .e-static { + width: 100% !important; +} + +/* csslint ignore:end */ + +.e-custom-class { + color: #008cff; + text-decoration: underline; +} + +.e-custom-class:hover { + color: red; + text-decoration: none; +} + +.e-pivotview .e-columnsheader .tempwrap { + display: none; +} +.e-pivotview .e-rowsheader .tempwrap { + display: none; +} + +/* csslint ignore:start */ +@font-face { + font-family: 'e-pivot'; + src: + url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAAKAIAAAwAgT1MvMjhUSmAAAAEoAAAAVmNtYXCs3q0zAAABkAAAAEpnbHlmdaItOwAAAegAAAE0aGVhZBRYEz0AAADQAAAANmhoZWEHmQNtAAAArAAAACRobXR4D7gAAAAAAYAAAAAQbG9jYQDAAHIAAAHcAAAACm1heHABDwBBAAABCAAAACBuYW1lc0cOBgAAAxwAAAIlcG9zdK9TctUAAAVEAAAARwABAAADUv9qAFoEAAAA//4D6gABAAAAAAAAAAAAAAAAAAAABAABAAAAAQAAT8kba18PPPUACwPoAAAAANin5zgAAAAA2KfnOAAAAAAD6gPoAAAACAACAAAAAAAAAAEAAAAEADUAAQAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAQPuAZAABQAAAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA4jToTQNS/2oAWgPoAJYAAAABAAAAAAAABAAAAAPoAAAD6AAAA+gAAAAAAAIAAAADAAAAFAADAAEAAAAUAAQANgAAAAgACAACAADiNOI56E3//wAA4jTiOehN//8AAAAAAAAAAQAIAAgACAAAAAEAAwACAAAAAAAAACYAcgCaAAAAAQAAAAADTAPoABUAAAkBBhY7AREUFjsBMjY1ETMyNicBJiIB3f7KCw4SxxAMqgwQxhIPC/7FCBgD3/6tDyH9wAwQEAwCQCEPAVMJAAEAAAAAA+oDTAA0AAABMx8BAR8DDwMBDwMjLwwhLwE1NzUnPwEhPwQ1PwQCXgIFCQFxBAIEAgEDBAf+ogYKBQUEAwQDAwICAQIBAQYJCf3mAgEDAgEBAh4KCAQCAQICAgIDA0wBBf7VAwQJCQkJCQf+4QQGAgEBAQIDBAQFC50DBAQDAQICCuANAgECBQIDAqcMBQQDAQAAAQAAAAADTAPoABYAAAEGFREjIgYXARYyNwE2JisBETQmKwEiAYsIxhIPDAE5CRgJATUMDhPGEAyqDAPgCAz9wCEP/q0JCQFTDyECQAwQAAAAABIA3gABAAAAAAAAAAEAAAABAAAAAAABAAcAAQABAAAAAAACAAcACAABAAAAAAADAAcADwABAAAAAAAEAAcAFgABAAAAAAAFAAsAHQABAAAAAAAGAAcAKAABAAAAAAAKACwALwABAAAAAAALABIAWwADAAEECQAAAAIAbQADAAEECQABAA4AbwADAAEECQACAA4AfQADAAEECQADAA4AiwADAAEECQAEAA4AmQADAAEECQAFABYApwADAAEECQAGAA4AvQADAAEECQAKAFgAywADAAEECQALACQBIyBlLWljb25zUmVndWxhcmUtaWNvbnNlLWljb25zVmVyc2lvbiAxLjBlLWljb25zRm9udCBnZW5lcmF0ZWQgdXNpbmcgU3luY2Z1c2lvbiBNZXRybyBTdHVkaW93d3cuc3luY2Z1c2lvbi5jb20AIABlAC0AaQBjAG8AbgBzAFIAZQBnAHUAbABhAHIAZQAtAGkAYwBvAG4AcwBlAC0AaQBjAG8AbgBzAFYAZQByAHMAaQBvAG4AIAAxAC4AMABlAC0AaQBjAG8AbgBzAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAHUAcwBpAG4AZwAgAFMAeQBuAGMAZgB1AHMAaQBvAG4AIABNAGUAdAByAG8AIABTAHQAdQBkAGkAbwB3AHcAdwAuAHMAeQBuAGMAZgB1AHMAaQBvAG4ALgBjAG8AbQAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAgEDAQQBBQADVXAxC2Fycm93LXJpZ2h0CURvd25fU29ydAAAAA==) format('truetype'); + font-weight: normal; + font-style: normal; +} + +.pv-icons { + font-family: 'e-pivot'; + font-style: normal; + font-variant: normal; + font-weight: normal; + text-transform: none; + line-height: 1; +} + +.sb-icon-profit::before { + content: '\e234'; + padding-left: 30px; + margin: auto !important; + color: #219122; + size: 20px; +} + +.sb-icon-neutral::before { + content: '\e84d'; + padding-left: 30px; + margin: auto !important; + color: #82b5e9; +} + +.sb-icon-loss::before { + content: '\e239'; + padding-left: 30px; + margin: auto !important; + color: #ff2222; +} + +/* csslint ignore:end */ +.e-tool-expand::before { + content: '\e702'; +} \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/index.html b/ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/index.html new file mode 100644 index 000000000..f400da6ca --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/index.html @@ -0,0 +1,63 @@ + + + + + Syncfusion React Grid + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    Loading....
    +
    + + + \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/systemjs.config.js b/ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/systemjs.config.js new file mode 100644 index 000000000..bf5cae374 --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/olap-afterServiceInvoke/systemjs.config.js @@ -0,0 +1,61 @@ +System.config({ + transpiler: "ts", + typescriptOptions: { + target: "es5", + module: "system", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true, + "jsx": "react" + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" + }, + map: { + app: 'app', + ts: "https://unpkg.com/plugin-typescript@4.0.10/lib/plugin.js", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js", + "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-pivotview": "syncfusion:ej2-pivotview/dist/ej2-pivotview.umd.min.js", + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + + "@syncfusion/ej2-react-base": "syncfusion:ej2-react-base/dist/ej2-react-base.umd.min.js", + "@syncfusion/ej2-react-buttons": "syncfusion:ej2-react-buttons/dist/ej2-react-buttons.umd.min.js", + "@syncfusion/ej2-react-pivotview": "syncfusion:ej2-react-pivotview/dist/ej2-react-pivotview.umd.min.js", + "@syncfusion/ej2-react-dropdowns": "syncfusion:ej2-react-dropdowns/dist/ej2-react-dropdowns.umd.min.js", + "plugin-json": "https://cdnjs.cloudflare.com/ajax/libs/systemjs-plugin-json/0.3.0/json.min.js", + "react-dom": "https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js", + "react": "https://unpkg.com/react@18.2.0/umd/react.production.min.js", + }, + meta: { + '*.json': { loader: 'plugin-json' }, + 'typescript': { + "exports": "ts" + } + }, + packages: { + 'app': { main: 'index', defaultExtension: 'tsx' }, + } + +}); + +System.import('app'); + + + diff --git a/ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/app/App.css b/ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/app/App.css new file mode 100644 index 000000000..eb3b64f9e --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/app/App.css @@ -0,0 +1,12 @@ +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/app/App.jsx b/ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/app/App.jsx new file mode 100644 index 000000000..dc8a5f985 --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/app/App.jsx @@ -0,0 +1,31 @@ +import * as React from 'react'; +import { PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; +function App() { + let dataSourceSettings = { + catalog: 'Adventure Works DW 2008 SE', + cube: 'Adventure Works', + providerType: 'SSAS', + url: 'https://bi.syncfusion.com/olap/msmdpump.dll', + localeIdentifier: 1033, + rows: [ + { name: '[Customer].[Customer Geography]', caption: 'Customer Geography' }, + ], + columns: [ + { name: '[Product].[Product Categories]', caption: 'Product Categories' }, + { name: '[Measures]', caption: 'Measures' }, + ], + values: [ + { name: '[Measures].[Customer Count]', caption: 'Customer Count' }, + { name: '[Measures].[Internet Sales Amount]', caption: 'Internet Sales Amount' } + ] + }; + let pivotObj; + + function beforeServiceInvoke(args) { + args.internalProperties.headers['accept-language'] = 'es-ES'; + console.log(args.internalProperties.headers); + } + return ( pivotObj = d} id='PivotView' height={350} dataSourceSettings={dataSourceSettings} beforeServiceInvoke={beforeServiceInvoke.bind(this)}> + ); +}; +export default App; \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/app/App.tsx b/ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/app/App.tsx new file mode 100644 index 000000000..19c30eff1 --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/app/App.tsx @@ -0,0 +1,34 @@ +import * as React from 'react'; +import { IDataSet, PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; +import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; +function App() { + let dataSourceSettings: DataSourceSettingsModel = { + catalog: 'Adventure Works DW 2008 SE', + cube: 'Adventure Works', + providerType: 'SSAS', + url: 'https://bi.syncfusion.com/olap/msmdpump.dll', + localeIdentifier: 1033, + rows: [ + { name: '[Customer].[Customer Geography]', caption: 'Customer Geography' }, + ], + columns: [ + { name: '[Product].[Product Categories]', caption: 'Product Categories' }, + { name: '[Measures]', caption: 'Measures' }, + ], + values: [ + { name: '[Measures].[Customer Count]', caption: 'Customer Count' }, + { name: '[Measures].[Internet Sales Amount]', caption: 'Internet Sales Amount' } + ] + }; + let pivotObj: PivotViewComponent; + + function beforeServiceInvoke(args: any): void { + args.internalProperties.headers['accept-language'] = 'es-ES'; + console.log(args.internalProperties.headers); + } + + return ( pivotObj = d} id='PivotView' height={350} dataSourceSettings={dataSourceSettings} beforeServiceInvoke={beforeServiceInvoke.bind(this)}> + ); +}; + +export default App; diff --git a/ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/app/index.tsx b/ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/app/index.tsx new file mode 100644 index 000000000..73863c3be --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/app/index.tsx @@ -0,0 +1,13 @@ +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; +import App from './App'; + +const root = ReactDOM.createRoot( + document.getElementById('root') +); + +root.render( + + + +); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/index.css b/ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/index.css new file mode 100644 index 000000000..536bcca4d --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/index.css @@ -0,0 +1,81 @@ +#PivotViewFieldList { + width: 58%; + height: 100%; + float: left; +} + +.e-pivotfieldlist { + width: 42%; + height: 100%; + float: right; +} + +/* csslint ignore:start */ + +.e-pivotfieldlist .e-static { + width: 100% !important; +} + +/* csslint ignore:end */ + +.e-custom-class { + color: #008cff; + text-decoration: underline; +} + +.e-custom-class:hover { + color: red; + text-decoration: none; +} + +.e-pivotview .e-columnsheader .tempwrap { + display: none; +} +.e-pivotview .e-rowsheader .tempwrap { + display: none; +} + +/* csslint ignore:start */ +@font-face { + font-family: 'e-pivot'; + src: + url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAAKAIAAAwAgT1MvMjhUSmAAAAEoAAAAVmNtYXCs3q0zAAABkAAAAEpnbHlmdaItOwAAAegAAAE0aGVhZBRYEz0AAADQAAAANmhoZWEHmQNtAAAArAAAACRobXR4D7gAAAAAAYAAAAAQbG9jYQDAAHIAAAHcAAAACm1heHABDwBBAAABCAAAACBuYW1lc0cOBgAAAxwAAAIlcG9zdK9TctUAAAVEAAAARwABAAADUv9qAFoEAAAA//4D6gABAAAAAAAAAAAAAAAAAAAABAABAAAAAQAAT8kba18PPPUACwPoAAAAANin5zgAAAAA2KfnOAAAAAAD6gPoAAAACAACAAAAAAAAAAEAAAAEADUAAQAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAQPuAZAABQAAAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA4jToTQNS/2oAWgPoAJYAAAABAAAAAAAABAAAAAPoAAAD6AAAA+gAAAAAAAIAAAADAAAAFAADAAEAAAAUAAQANgAAAAgACAACAADiNOI56E3//wAA4jTiOehN//8AAAAAAAAAAQAIAAgACAAAAAEAAwACAAAAAAAAACYAcgCaAAAAAQAAAAADTAPoABUAAAkBBhY7AREUFjsBMjY1ETMyNicBJiIB3f7KCw4SxxAMqgwQxhIPC/7FCBgD3/6tDyH9wAwQEAwCQCEPAVMJAAEAAAAAA+oDTAA0AAABMx8BAR8DDwMBDwMjLwwhLwE1NzUnPwEhPwQ1PwQCXgIFCQFxBAIEAgEDBAf+ogYKBQUEAwQDAwICAQIBAQYJCf3mAgEDAgEBAh4KCAQCAQICAgIDA0wBBf7VAwQJCQkJCQf+4QQGAgEBAQIDBAQFC50DBAQDAQICCuANAgECBQIDAqcMBQQDAQAAAQAAAAADTAPoABYAAAEGFREjIgYXARYyNwE2JisBETQmKwEiAYsIxhIPDAE5CRgJATUMDhPGEAyqDAPgCAz9wCEP/q0JCQFTDyECQAwQAAAAABIA3gABAAAAAAAAAAEAAAABAAAAAAABAAcAAQABAAAAAAACAAcACAABAAAAAAADAAcADwABAAAAAAAEAAcAFgABAAAAAAAFAAsAHQABAAAAAAAGAAcAKAABAAAAAAAKACwALwABAAAAAAALABIAWwADAAEECQAAAAIAbQADAAEECQABAA4AbwADAAEECQACAA4AfQADAAEECQADAA4AiwADAAEECQAEAA4AmQADAAEECQAFABYApwADAAEECQAGAA4AvQADAAEECQAKAFgAywADAAEECQALACQBIyBlLWljb25zUmVndWxhcmUtaWNvbnNlLWljb25zVmVyc2lvbiAxLjBlLWljb25zRm9udCBnZW5lcmF0ZWQgdXNpbmcgU3luY2Z1c2lvbiBNZXRybyBTdHVkaW93d3cuc3luY2Z1c2lvbi5jb20AIABlAC0AaQBjAG8AbgBzAFIAZQBnAHUAbABhAHIAZQAtAGkAYwBvAG4AcwBlAC0AaQBjAG8AbgBzAFYAZQByAHMAaQBvAG4AIAAxAC4AMABlAC0AaQBjAG8AbgBzAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAHUAcwBpAG4AZwAgAFMAeQBuAGMAZgB1AHMAaQBvAG4AIABNAGUAdAByAG8AIABTAHQAdQBkAGkAbwB3AHcAdwAuAHMAeQBuAGMAZgB1AHMAaQBvAG4ALgBjAG8AbQAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAgEDAQQBBQADVXAxC2Fycm93LXJpZ2h0CURvd25fU29ydAAAAA==) format('truetype'); + font-weight: normal; + font-style: normal; +} + +.pv-icons { + font-family: 'e-pivot'; + font-style: normal; + font-variant: normal; + font-weight: normal; + text-transform: none; + line-height: 1; +} + +.sb-icon-profit::before { + content: '\e234'; + padding-left: 30px; + margin: auto !important; + color: #219122; + size: 20px; +} + +.sb-icon-neutral::before { + content: '\e84d'; + padding-left: 30px; + margin: auto !important; + color: #82b5e9; +} + +.sb-icon-loss::before { + content: '\e239'; + padding-left: 30px; + margin: auto !important; + color: #ff2222; +} + +/* csslint ignore:end */ +.e-tool-expand::before { + content: '\e702'; +} \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/index.html b/ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/index.html new file mode 100644 index 000000000..f400da6ca --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/index.html @@ -0,0 +1,63 @@ + + + + + Syncfusion React Grid + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    Loading....
    +
    + + + \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/systemjs.config.js b/ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/systemjs.config.js new file mode 100644 index 000000000..bf5cae374 --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/olap-beforeServiceInvoke/systemjs.config.js @@ -0,0 +1,61 @@ +System.config({ + transpiler: "ts", + typescriptOptions: { + target: "es5", + module: "system", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true, + "jsx": "react" + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" + }, + map: { + app: 'app', + ts: "https://unpkg.com/plugin-typescript@4.0.10/lib/plugin.js", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js", + "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-pivotview": "syncfusion:ej2-pivotview/dist/ej2-pivotview.umd.min.js", + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + + "@syncfusion/ej2-react-base": "syncfusion:ej2-react-base/dist/ej2-react-base.umd.min.js", + "@syncfusion/ej2-react-buttons": "syncfusion:ej2-react-buttons/dist/ej2-react-buttons.umd.min.js", + "@syncfusion/ej2-react-pivotview": "syncfusion:ej2-react-pivotview/dist/ej2-react-pivotview.umd.min.js", + "@syncfusion/ej2-react-dropdowns": "syncfusion:ej2-react-dropdowns/dist/ej2-react-dropdowns.umd.min.js", + "plugin-json": "https://cdnjs.cloudflare.com/ajax/libs/systemjs-plugin-json/0.3.0/json.min.js", + "react-dom": "https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js", + "react": "https://unpkg.com/react@18.2.0/umd/react.production.min.js", + }, + meta: { + '*.json': { loader: 'plugin-json' }, + 'typescript': { + "exports": "ts" + } + }, + packages: { + 'app': { main: 'index', defaultExtension: 'tsx' }, + } + +}); + +System.import('app'); + + + diff --git a/ej2-react/code-snippet/pivot-table/pagingTemplate-cs1/app/App.css b/ej2-react/code-snippet/pivot-table/pagingTemplate-cs1/app/App.css index 55760bb65..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/pagingTemplate-cs1/app/App.css +++ b/ej2-react/code-snippet/pivot-table/pagingTemplate-cs1/app/App.css @@ -1,3 +1,12 @@ -#PivotViewpivot-pager { - display: flex !important; -} \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/pagingTemplate-cs1/app/App.jsx b/ej2-react/code-snippet/pivot-table/pagingTemplate-cs1/app/App.jsx index 33cce57fe..2b6b67024 100644 --- a/ej2-react/code-snippet/pivot-table/pagingTemplate-cs1/app/App.jsx +++ b/ej2-react/code-snippet/pivot-table/pagingTemplate-cs1/app/App.jsx @@ -3,7 +3,6 @@ import { DataManager, WebApiAdaptor } from '@syncfusion/ej2-data'; import { isNullOrUndefined } from '@syncfusion/ej2-base'; import { Pager as GridPager } from '@syncfusion/ej2-grids'; import * as React from 'react'; -import './App.css'; function App() { let pivotObj; @@ -27,6 +26,21 @@ function App() { let rowPager; let columnPager; + let gridSettings = { + columnWidth: 120 + }; + + let pageSettings = { + rowPageSize: 10, + columnPageSize: 5, + currentColumnPage: 1, + currentRowPage: 1 + }; + + let pagerSettings = { + template: '#template' + }; + function dataBound() { updateTemplate(); } @@ -74,16 +88,9 @@ function App() { id='PivotView' height={350} dataSourceSettings={dataSourceSettings} - gridSettings={{ columnWidth: 120 }} - pageSettings={{ - rowPageSize: 10, - columnPageSize: 5, - currentColumnPage: 1, - currentRowPage: 1 - }} - pagerSettings={{ - template: '#template' - }} + gridSettings={gridSettings} + pageSettings={pageSettings} + pagerSettings={pagerSettings} enablePaging={true} dataBound={dataBound.bind(this)} > diff --git a/ej2-react/code-snippet/pivot-table/pagingTemplate-cs1/app/App.tsx b/ej2-react/code-snippet/pivot-table/pagingTemplate-cs1/app/App.tsx index 0f4daf01b..9dc0d473d 100644 --- a/ej2-react/code-snippet/pivot-table/pagingTemplate-cs1/app/App.tsx +++ b/ej2-react/code-snippet/pivot-table/pagingTemplate-cs1/app/App.tsx @@ -1,10 +1,10 @@ -import { PivotViewComponent, Pager, Inject } from '@syncfusion/ej2-react-pivotview'; +import { PivotViewComponent, Pager, Inject, PagerSettings, PageSettings } from '@syncfusion/ej2-react-pivotview'; import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; import { DataManager, WebApiAdaptor } from '@syncfusion/ej2-data'; import { isNullOrUndefined } from '@syncfusion/ej2-base'; import { Pager as GridPager } from '@syncfusion/ej2-grids'; import * as React from 'react'; -import './App.css'; +import { GridSettings } from '@syncfusion/ej2-pivotview/src/pivotview/model/gridsettings'; function App() { let pivotObj: PivotViewComponent; @@ -28,6 +28,21 @@ function App() { let rowPager: GridPager; let columnPager: GridPager; + let gridSettings: GridSettings = { + columnWidth: 120 + } as GridSettings; + + let pageSettings: PageSettings = { + rowPageSize: 10, + columnPageSize: 5, + currentColumnPage: 1, + currentRowPage: 1 + }; + + let pagerSettings: PagerSettings = { + template: '#template' + }; + function dataBound() { updateTemplate(); } @@ -75,16 +90,9 @@ function App() { id='PivotView' height={350} dataSourceSettings={dataSourceSettings} - gridSettings={{ columnWidth: 120 }} - pageSettings={{ - rowPageSize: 10, - columnPageSize: 5, - currentColumnPage: 1, - currentRowPage: 1 - }} - pagerSettings={{ - template: '#template' - }} + gridSettings={gridSettings} + pageSettings={pageSettings} + pagerSettings={pagerSettings} enablePaging={true} dataBound={dataBound.bind(this)} > diff --git a/ej2-react/code-snippet/pivot-table/pagingTemplate-cs1/index.css b/ej2-react/code-snippet/pivot-table/pagingTemplate-cs1/index.css new file mode 100644 index 000000000..bc1139838 --- /dev/null +++ b/ej2-react/code-snippet/pivot-table/pagingTemplate-cs1/index.css @@ -0,0 +1,6 @@ +#PivotViewFieldList { + width: 58%; + height: 100%; + float: left; +} + diff --git a/ej2-react/code-snippet/pivot-table/pagingTemplate-cs1/index.html b/ej2-react/code-snippet/pivot-table/pagingTemplate-cs1/index.html index 026402bc7..19831de97 100644 --- a/ej2-react/code-snippet/pivot-table/pagingTemplate-cs1/index.html +++ b/ej2-react/code-snippet/pivot-table/pagingTemplate-cs1/index.html @@ -8,22 +8,36 @@ - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/pagingTemplate-cs1/systemjs.config.js b/ej2-react/code-snippet/pivot-table/pagingTemplate-cs1/systemjs.config.js index 82d32e602..35427971a 100644 --- a/ej2-react/code-snippet/pivot-table/pagingTemplate-cs1/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/pagingTemplate-cs1/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/performance-best-practices-cs1/app/App.css b/ej2-react/code-snippet/pivot-table/performance-best-practices-cs1/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/performance-best-practices-cs1/app/App.css +++ b/ej2-react/code-snippet/pivot-table/performance-best-practices-cs1/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/performance-best-practices-cs1/index.html b/ej2-react/code-snippet/pivot-table/performance-best-practices-cs1/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/performance-best-practices-cs1/index.html +++ b/ej2-react/code-snippet/pivot-table/performance-best-practices-cs1/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/performance-best-practices-cs1/systemjs.config.js b/ej2-react/code-snippet/pivot-table/performance-best-practices-cs1/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/performance-best-practices-cs1/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/performance-best-practices-cs1/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/performance-best-practices-cs2/app/App.css b/ej2-react/code-snippet/pivot-table/performance-best-practices-cs2/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/performance-best-practices-cs2/app/App.css +++ b/ej2-react/code-snippet/pivot-table/performance-best-practices-cs2/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/performance-best-practices-cs2/index.html b/ej2-react/code-snippet/pivot-table/performance-best-practices-cs2/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/performance-best-practices-cs2/index.html +++ b/ej2-react/code-snippet/pivot-table/performance-best-practices-cs2/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/performance-best-practices-cs2/systemjs.config.js b/ej2-react/code-snippet/pivot-table/performance-best-practices-cs2/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/performance-best-practices-cs2/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/performance-best-practices-cs2/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/react-preview/systemjs.config.js b/ej2-react/code-snippet/pivot-table/react-preview/systemjs.config.js index d2c24a62f..dd574e043 100644 --- a/ej2-react/code-snippet/pivot-table/react-preview/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/react-preview/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/selection-css-cs1/app/App.css b/ej2-react/code-snippet/pivot-table/selection-css-cs1/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/selection-css-cs1/app/App.css +++ b/ej2-react/code-snippet/pivot-table/selection-css-cs1/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/selection-css-cs1/index.html b/ej2-react/code-snippet/pivot-table/selection-css-cs1/index.html index 875dfeee0..46974a6f0 100644 --- a/ej2-react/code-snippet/pivot-table/selection-css-cs1/index.html +++ b/ej2-react/code-snippet/pivot-table/selection-css-cs1/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/selection-css-cs1/systemjs.config.js b/ej2-react/code-snippet/pivot-table/selection-css-cs1/systemjs.config.js index 6099326e1..deed8da50 100644 --- a/ej2-react/code-snippet/pivot-table/selection-css-cs1/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/selection-css-cs1/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/single-page-mode/app/App.css b/ej2-react/code-snippet/pivot-table/single-page-mode/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/single-page-mode/app/App.css +++ b/ej2-react/code-snippet/pivot-table/single-page-mode/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/single-page-mode/index.html b/ej2-react/code-snippet/pivot-table/single-page-mode/index.html index ca508d2f8..f400da6ca 100644 --- a/ej2-react/code-snippet/pivot-table/single-page-mode/index.html +++ b/ej2-react/code-snippet/pivot-table/single-page-mode/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/single-page-mode/systemjs.config.js b/ej2-react/code-snippet/pivot-table/single-page-mode/systemjs.config.js index 5223b77aa..bf5cae374 100644 --- a/ej2-react/code-snippet/pivot-table/single-page-mode/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/single-page-mode/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/switch-theme-cs1/app/App.css b/ej2-react/code-snippet/pivot-table/switch-theme-cs1/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/switch-theme-cs1/app/App.css +++ b/ej2-react/code-snippet/pivot-table/switch-theme-cs1/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/switch-theme-cs1/index.html b/ej2-react/code-snippet/pivot-table/switch-theme-cs1/index.html index b43ffaffd..bc5c105eb 100644 --- a/ej2-react/code-snippet/pivot-table/switch-theme-cs1/index.html +++ b/ej2-react/code-snippet/pivot-table/switch-theme-cs1/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/switch-theme-cs1/systemjs.config.js b/ej2-react/code-snippet/pivot-table/switch-theme-cs1/systemjs.config.js index 82d32e602..35427971a 100644 --- a/ej2-react/code-snippet/pivot-table/switch-theme-cs1/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/switch-theme-cs1/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/switch-theme-cs2/app/App.css b/ej2-react/code-snippet/pivot-table/switch-theme-cs2/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/switch-theme-cs2/app/App.css +++ b/ej2-react/code-snippet/pivot-table/switch-theme-cs2/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/switch-theme-cs2/index.html b/ej2-react/code-snippet/pivot-table/switch-theme-cs2/index.html index b43ffaffd..bc5c105eb 100644 --- a/ej2-react/code-snippet/pivot-table/switch-theme-cs2/index.html +++ b/ej2-react/code-snippet/pivot-table/switch-theme-cs2/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/switch-theme-cs2/systemjs.config.js b/ej2-react/code-snippet/pivot-table/switch-theme-cs2/systemjs.config.js index 82d32e602..35427971a 100644 --- a/ej2-react/code-snippet/pivot-table/switch-theme-cs2/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/switch-theme-cs2/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/code-snippet/pivot-table/tooltipTemplate-cs1/app/App.css b/ej2-react/code-snippet/pivot-table/tooltipTemplate-cs1/app/App.css index f21d094a6..eb3b64f9e 100644 --- a/ej2-react/code-snippet/pivot-table/tooltipTemplate-cs1/app/App.css +++ b/ej2-react/code-snippet/pivot-table/tooltipTemplate-cs1/app/App.css @@ -1,12 +1,12 @@ -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-base/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-buttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-calendars/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-dropdowns/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-grids/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-charts/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-inputs/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-lists/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-navigations/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-popups/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-splitbuttons/styles/material.css'); -@import url('https://cdn.syncfusion.com/ej2/29.1.33/ej2-pivotview/styles/material.css'); \ No newline at end of file +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-base/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-buttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-calendars/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-dropdowns/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-grids/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-charts/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-inputs/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-lists/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-navigations/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-popups/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-splitbuttons/styles/material.css'); +@import url('https://cdn.syncfusion.com/ej2/31.1.17/ej2-pivotview/styles/material.css'); \ No newline at end of file diff --git a/ej2-react/code-snippet/pivot-table/tooltipTemplate-cs1/index.html b/ej2-react/code-snippet/pivot-table/tooltipTemplate-cs1/index.html index 705ed0f69..c54caa512 100644 --- a/ej2-react/code-snippet/pivot-table/tooltipTemplate-cs1/index.html +++ b/ej2-react/code-snippet/pivot-table/tooltipTemplate-cs1/index.html @@ -8,18 +8,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/ej2-react/code-snippet/pivot-table/tooltipTemplate-cs1/systemjs.config.js b/ej2-react/code-snippet/pivot-table/tooltipTemplate-cs1/systemjs.config.js index 82d32e602..35427971a 100644 --- a/ej2-react/code-snippet/pivot-table/tooltipTemplate-cs1/systemjs.config.js +++ b/ej2-react/code-snippet/pivot-table/tooltipTemplate-cs1/systemjs.config.js @@ -9,7 +9,7 @@ System.config({ "jsx": "react" }, paths: { - "syncfusion:": "https://cdn.syncfusion.com/ej2/29.1.33/" + "syncfusion:": "https://cdn.syncfusion.com/ej2/31.1.17/" }, map: { app: 'app', diff --git a/ej2-react/gantt/columns/check-box-column.md b/ej2-react/gantt/columns/check-box-column.md deleted file mode 100644 index e07fb296a..000000000 --- a/ej2-react/gantt/columns/check-box-column.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: post -title: Check box column in React Gantt component | Syncfusion -description: Learn here all about Check box column in Syncfusion React Gantt component of Syncfusion Essential JS 2 and more. -control: Check box column -platform: ej2-react -documentation: ug -domainurl: ##DomainURL## ---- - -# Check box column in React Gantt component - -To render boolean values as checkbox in columns, you need to set [`displayAsCheckBox`](https://ej2.syncfusion.com/react/documentation/api/gantt/column/#displayascheckbox) property as **true**. - -{% tabs %} -{% highlight js tabtitle="index.jsx" %} -{% include code-snippet/gantt/checkbox-cs1/app/index.jsx %} -{% endhighlight %} -{% highlight ts tabtitle="index.tsx" %} -{% include code-snippet/gantt/checkbox-cs1/app/index.tsx %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/gantt/checkbox-cs1/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "page.domainurl/code-snippet/gantt/checkbox-cs1" %} - diff --git a/ej2-react/gantt/columns/columns.md b/ej2-react/gantt/columns/columns.md index a9a9fd3fa..b4bbf6b8f 100644 --- a/ej2-react/gantt/columns/columns.md +++ b/ej2-react/gantt/columns/columns.md @@ -171,7 +171,7 @@ You can enable or disable gantt action for a particular column by setting the [` Column type can be specified using the `columns.type` property. It specifies the type of data the column binds. -If the `format` is defined for a column, the column uses `type` to select the appropriate format option [number](../common/internationalization/#number-formatting) or [date](../common/internationalization/#manipulating-datetime). +If the `format` is defined for a column, the column uses `type` to select the appropriate format option [number](../common/internationalization#number-formatting) or [date](../common/internationalization#manipulating-datetime). Gantt column supports the following types: * string @@ -181,4 +181,47 @@ Gantt column supports the following types: * datetime > If the `type` is not defined, it will be determined from the first record of the [`dataSource`](https://ej2.syncfusion.com/react/documentation/api/gantt/#datasource). -> In case if the first record of the [`dataSource`](https://ej2.syncfusion.com/react/documentation/api/gantt/#datasource) is null/blank value for a column then it is necessary to define the `type` for that column. \ No newline at end of file +> In case if the first record of the [`dataSource`](https://ej2.syncfusion.com/react/documentation/api/gantt/#datasource) is null/blank value for a column then it is necessary to define the `type` for that column. + +## Render boolean value as checkbox + +You can render boolean values as checkboxes in Gantt component by setting the [displayAsCheckBox](https://ej2.syncfusion.com/react/documentation/api/gantt/column/#displayascheckbox) property to **true** for the desired column. This replaces the default text representation of **true** or **false** with a checkbox, making boolean fields visually clearer and more intuitive. + +The following sample demonstrates how to display a boolean value as a checkbox for the **Verified** column. + +{% tabs %} +{% highlight js tabtitle="index.jsx" %} +{% include code-snippet/gantt/checkbox-cs1/app/index.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="index.tsx" %} +{% include code-snippet/gantt/checkbox-cs1/app/index.tsx %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/gantt/checkbox-cs1/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/gantt/checkbox-cs1" %} + +>* The `displayAsCheckBox` property is only applicable to boolean values in Gantt columns. +>* When `displayAsCheckBox` is set to **true**, the boolean values will be rendered as checkboxes in the Gantt column, with checked state indicating **true** and unchecked state indicating **false**. + +## Responsive columns + +The Syncfusion® react Gantt component provides a built-in feature to control column visibility based on media queries using the `hideAtMedia` property in the column object. This method can be used to hide columns automatically when the screen width matches specified [media query](http://cssmediaqueries.com/what-are-css-media-queries.html) conditions. + +The following example demonstrates a Gantt chart where the **Task Name** column is set to `(min-width: 700px)`, meaning it will be hidden when the browser width is less than or equal to 700px. Similarly, the **Duration** column is set to `(max-width: 500px)`, so it will be hidden when the browser width exceeds 500px. + +{% tabs %} +{% highlight js tabtitle="index.jsx" %} +{% include code-snippet/gantt/column-cs1/app/index.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="index.tsx" %} +{% include code-snippet/gantt/column-cs1/app/index.tsx %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/gantt/column-cs1/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/gantt/column-cs1" %} \ No newline at end of file diff --git a/ej2-react/gantt/columns/responsive-columns.md b/ej2-react/gantt/columns/responsive-columns.md deleted file mode 100644 index 316bd4187..000000000 --- a/ej2-react/gantt/columns/responsive-columns.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: post -title: Responsive Columns in React Gantt Component | Syncfusion -description: Learn here all about responsive columns in Syncfusion React Gantt component, it's elements, and more. -control: Responsive columns -platform: ej2-react -documentation: ug -domainurl: ##DomainURL## ---- - -# Responsive Columns in React Gantt Component - -You can toggle the column visibility based on media queries, which are defined in the [`hideAtMedia`](https://ej2.syncfusion.com/react/documentation/api/gantt/column/#hideatmedia). The [`hideAtMedia`](https://ej2.syncfusion.com/react/documentation/api/gantt/column/#hideatmedia) accepts valid [Media Queries]( http://cssmediaqueries.com/what-are-css-media-queries.html ). - -{% tabs %} -{% highlight js tabtitle="index.jsx" %} -{% include code-snippet/gantt/column-cs1/app/index.jsx %} -{% endhighlight %} -{% highlight ts tabtitle="index.tsx" %} -{% include code-snippet/gantt/column-cs1/app/index.tsx %} -{% endhighlight %} -{% highlight html tabtitle="index.html" %} -{% include code-snippet/gantt/column-cs1/index.html %} -{% endhighlight %} -{% endtabs %} - -{% previewsample "page.domainurl/code-snippet/gantt/column-cs1" %} - diff --git a/ej2-react/gantt/events.md b/ej2-react/gantt/events.md index 52fed54c0..a81e68dca 100644 --- a/ej2-react/gantt/events.md +++ b/ej2-react/gantt/events.md @@ -4666,7 +4666,7 @@ ReactDOM.render(, document.getElementById('root')); ## endEdit -The [endEdit](https://ej2.syncfusion.com/react/documentation/api/gantt/#endedit) event is triggered after a task is modified through cell or taskbar editing. It enables post-edit actions such as validation, logging, or syncing changes with external systems. +The [endEdit](https://ej2.syncfusion.com/react/documentation/api/gantt/#endedit) event is triggered after a task is modified through cell editing. It enables post-edit actions such as validation, logging, or syncing changes with external systems. The event provides an argument of type [ITaskbarEditedEventArgs](https://ej2.syncfusion.com/react/documentation/api/gantt/iTaskbarEditedEventArgs/) with the following properties: diff --git a/ej2-react/gantt/getting-started.md b/ej2-react/gantt/getting-started.md index 6c9bacc79..c8284f80f 100644 --- a/ej2-react/gantt/getting-started.md +++ b/ej2-react/gantt/getting-started.md @@ -273,6 +273,8 @@ ReactDOM.render(, document.getElementById('root')); Bind data with the Gantt control by using the [`dataSource`](https://ej2.syncfusion.com/react/documentation/api/gantt/#datasource) property. It accepts an array of JavaScript object or the DataManager instance. +The Gantt component binds to project data through the [dataSource](https://ej2.syncfusion.com/react/documentation/api/gantt/#datasource) property, which accepts an array of JavaScript objects or a `DataManager` instance. The [taskFields](https://ej2.syncfusion.com/react/documentation/api/gantt/#taskfields) property maps data source fields to task attributes (e.g., id, name, startDate, duration). + ``` diff --git a/ej2-react/gantt/loading-animation.md b/ej2-react/gantt/loading-animation.md index 2134f07c2..cab57ad7a 100644 --- a/ej2-react/gantt/loading-animation.md +++ b/ej2-react/gantt/loading-animation.md @@ -16,10 +16,452 @@ In the following sample, the Shimmer indicator is displayed while the gantt is s {% tabs %} {% highlight js tabtitle="index.jsx" %} -{% include code-snippet/gantt/loadinganimation-cs1/app/index.jsx %} +{% raw %} + +let tempData = [ + { + TaskID: 1, TaskName: 'Product concept',StartDate: new Date('04/02/2019'), EndDate: new Date('04/21/2019'), + ParentID: 0 + }, + { + TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2019'), + Duration: 3, Progress: 30, ParentID: 1 + }, + { + TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2019'), + ParentID: 1, Duration: 3 + }, + { + TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/05/2019'), + Duration: 2, ParentID: 1, Progress: 30 + }, + { + TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/08/2019'), + ParentID: 0, Duration: 0 + }, + { + TaskID: 6, TaskName: 'Market research', StartDate: new Date('04/02/2019'), + ParentID: 0, EndDate: new Date('04/21/2019') + }, + { + TaskID: 7, TaskName: 'Demand analysis', StartDate: new Date('04/04/2019'), + EndDate: new Date('04/21/2019'), ParentID: 6 + }, + { + TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/09/2019'), + Duration: 4, ParentID: 7, Progress: 30 + }, + { + TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/09/2019'), + Duration: 4, ParentID: 7 + }, + { + TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/15/2019'), + Duration: 4, ParentID: 6, Progress: 30 + }, + { + TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/15/2019'), + Duration: 4, ParentID: 6 + }, + { + TaskID: 12, TaskName: 'Research complete', StartDate: new Date('04/18/2019'), + Duration: 0, ParentID: 6 + }, + { + TaskID: 13, TaskName: 'Product design and development', StartDate: new Date('04/04/2019'), + ParentID: 0, EndDate: new Date('04/21/2019') + }, + { + TaskID: 14, TaskName: 'Functionality design', StartDate: new Date('04/19/2019'), + Duration: 3, ParentID: 13, Progress: 30 + }, + { + TaskID: 15, TaskName: 'Quality design', StartDate: new Date('04/19/2019'), + Duration: 3, ParentID: 13 + }, + { + TaskID: 16, TaskName: 'Define reliability', StartDate: new Date('04/24/2019'), + Duration: 2, Progress: 30, ParentID: 13 + }, + { + TaskID: 17, TaskName: 'Identifying raw materials', StartDate: new Date('04/24/2019'), + Duration: 2, ParentID: 13 + }, + { + TaskID: 18, TaskName: 'Define cost plan', StartDate: new Date('04/04/2019'), + ParentID: 13, EndDate: new Date('04/21/2019') + }, + { + TaskID: 19, TaskName: 'Manufacturing cost', StartDate: new Date('04/26/2019'), + Duration: 2, Progress: 30, ParentID: 18 + }, + { + TaskID: 20, TaskName: 'Selling cost', StartDate: new Date('04/26/2019'), + Duration: 2, ParentID: 18 + }, + { + TaskID: 21, TaskName: 'Development of the final design', StartDate: new Date('04/30/2019'), + ParentID: 13, EndDate: new Date('04/21/2019') + }, + { + TaskID: 22, TaskName: 'Defining dimensions and package volume', StartDate: new Date('04/30/2019'), + Duration: 2, ParentID: 21, Progress: 30 + }, + { + TaskID: 23, TaskName: 'Develop design to meet industry standards', StartDate: new Date('05/02/2019'), + Duration: 2, ParentID: 21 + }, + { + TaskID: 24, TaskName: 'Include all the details', StartDate: new Date('05/06/2019'), + Duration: 3, ParentID: 21 + }, + { + TaskID: 25, TaskName: 'CAD computer-aided design', StartDate: new Date('05/09/2019'), + Duration: 3, ParentID: 13, Progress: 30 + }, + { + TaskID: 26, TaskName: 'CAM computer-aided manufacturing', StartDate: new Date('09/14/2019'), + Duration: 3, ParentID: 13 + }, + { + TaskID: 27, TaskName: 'Design complete', StartDate: new Date('05/16/2019'), + Duration: 0, ParentID: 13 + }, + { + TaskID: 28, TaskName: 'Prototype testing', StartDate: new Date('05/17/2019'), + Duration: 4, Progress: 30, ParentID: 0 + }, + { + TaskID: 29, TaskName: 'Include feedback', StartDate: new Date('05/17/2019'), + Duration: 4, ParentID: 0 + }, + { + TaskID: 30, TaskName: 'Manufacturing', StartDate: new Date('05/23/2019'), + Duration: 5, Progress: 30, ParentID: 0 + }, + { + TaskID: 31, TaskName: 'Assembling materials to finsihed goods', StartDate: new Date('05/30/2019'), + Duration: 5, ParentID: 0 + }, + { + TaskID: 32, TaskName: 'Feedback and testing', StartDate: new Date('04/04/2019'), + ParentID: 0, EndDate: new Date('04/21/2019'), + }, + { + TaskID: 33, TaskName: 'Internal testing and feedback', StartDate: new Date('06/06/2019'), + Duration: 3, ParentID: 32, Progress: 45 + }, + { + TaskID: 34, TaskName: 'Customer testing and feedback', StartDate: new Date('06/11/2019'), + Duration: 3, ParentID: 32, Progress: 50 + }, + { + TaskID: 35, TaskName: 'Final product development', StartDate: new Date('04/04/2019'), + ParentID: 0, EndDate: new Date('04/21/2019'), + }, + { + TaskID: 36, TaskName: 'Important improvements', StartDate: new Date('06/14/2019'), + Duration: 4, Progress: 30, ParentID: 35 + }, + { + TaskID: 37, TaskName: 'Address any unforeseen issues', StartDate: new Date('06/14/2019'), + Duration: 4, Progress: 30, ParentID: 35 + }, + { + TaskID: 38, TaskName: 'Final product', StartDate: new Date('04/04/2019'), + ParentID: 0, EndDate: new Date('04/21/2019'), + }, + { + TaskID: 39, TaskName: 'Branding product', StartDate: new Date('06/20/2019'), + Duration: 4, ParentID: 38 + }, + { + TaskID: 40, TaskName: 'Marketing and presales', StartDate: new Date('06/26/2019'), Duration: 4, + Progress: 30, ParentID: 38 + } +]; + +let virtualData = []; +let projId = 1; +for (let i = 0; i < 50; i++) { + let x = virtualData.length + 1; + let parent = {}; + /* tslint:disable:no-string-literal */ + parent['TaskID'] = x; + parent['TaskName'] = 'Project ' + (i + 1); + virtualData.push(parent); + for (let j = 0; j < tempData.length; j++) { + let subtasks= {}; + /* tslint:disable:no-string-literal */ + subtasks['TaskID'] = tempData[j].TaskID + x; + subtasks['TaskName'] = tempData[j].TaskName; + subtasks['StartDate'] = tempData[j].StartDate; + subtasks['Duration'] = tempData[j].Duration; + subtasks['Progress'] = tempData[j].Progress; + subtasks['ParentID'] = tempData[j].ParentID + x; + virtualData.push(subtasks); + } +} +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; +import {GanttComponent,ColumnsDirective,ColumnDirective,Inject,Selection, VirtualScroll, Sort, Filter} from '@syncfusion/ej2-react-gantt'; + +function App (){ + const taskFields = { + id: 'TaskID', + name: 'TaskName', + startDate: 'StartDate', + endDate: 'EndDate', + duration: 'Duration', + progress: 'Progress', + parentID: 'ParentID' + }; + const splitterSettings = { + columnIndex: 2 + }; + const labelSettings = { + taskLabel: 'Progress' + }; + return ( + + + + + + + + + + ) +}; +ReactDOM.render(, document.getElementById('root')); + +{% endraw %} {% endhighlight %} {% highlight ts tabtitle="index.tsx" %} -{% include code-snippet/gantt/loadinganimation-cs1/app/index.tsx %} +{% raw %} + +let tempData: any[] = [ + { + TaskID: 1, TaskName: 'Product concept',StartDate: new Date('04/02/2019'), EndDate: new Date('04/21/2019'), + ParentID: 0 + }, + { + TaskID: 2, TaskName: 'Defining the product and its usage', StartDate: new Date('04/02/2019'), + Duration: 3, Progress: 30, ParentID: 1 + }, + { + TaskID: 3, TaskName: 'Defining target audience', StartDate: new Date('04/02/2019'), + ParentID: 1, Duration: 3 + }, + { + TaskID: 4, TaskName: 'Prepare product sketch and notes', StartDate: new Date('04/05/2019'), + Duration: 2, ParentID: 1, Progress: 30 + }, + { + TaskID: 5, TaskName: 'Concept approval', StartDate: new Date('04/08/2019'), + ParentID: 0, Duration: 0 + }, + { + TaskID: 6, TaskName: 'Market research', StartDate: new Date('04/02/2019'), + ParentID: 0, EndDate: new Date('04/21/2019') + }, + { + TaskID: 7, TaskName: 'Demand analysis', StartDate: new Date('04/04/2019'), + EndDate: new Date('04/21/2019'), ParentID: 6 + }, + { + TaskID: 8, TaskName: 'Customer strength', StartDate: new Date('04/09/2019'), + Duration: 4, ParentID: 7, Progress: 30 + }, + { + TaskID: 9, TaskName: 'Market opportunity analysis', StartDate: new Date('04/09/2019'), + Duration: 4, ParentID: 7 + }, + { + TaskID: 10, TaskName: 'Competitor analysis', StartDate: new Date('04/15/2019'), + Duration: 4, ParentID: 6, Progress: 30 + }, + { + TaskID: 11, TaskName: 'Product strength analsysis', StartDate: new Date('04/15/2019'), + Duration: 4, ParentID: 6 + }, + { + TaskID: 12, TaskName: 'Research complete', StartDate: new Date('04/18/2019'), + Duration: 0, ParentID: 6 + }, + { + TaskID: 13, TaskName: 'Product design and development', StartDate: new Date('04/04/2019'), + ParentID: 0, EndDate: new Date('04/21/2019') + }, + { + TaskID: 14, TaskName: 'Functionality design', StartDate: new Date('04/19/2019'), + Duration: 3, ParentID: 13, Progress: 30 + }, + { + TaskID: 15, TaskName: 'Quality design', StartDate: new Date('04/19/2019'), + Duration: 3, ParentID: 13 + }, + { + TaskID: 16, TaskName: 'Define reliability', StartDate: new Date('04/24/2019'), + Duration: 2, Progress: 30, ParentID: 13 + }, + { + TaskID: 17, TaskName: 'Identifying raw materials', StartDate: new Date('04/24/2019'), + Duration: 2, ParentID: 13 + }, + { + TaskID: 18, TaskName: 'Define cost plan', StartDate: new Date('04/04/2019'), + ParentID: 13, EndDate: new Date('04/21/2019') + }, + { + TaskID: 19, TaskName: 'Manufacturing cost', StartDate: new Date('04/26/2019'), + Duration: 2, Progress: 30, ParentID: 18 + }, + { + TaskID: 20, TaskName: 'Selling cost', StartDate: new Date('04/26/2019'), + Duration: 2, ParentID: 18 + }, + { + TaskID: 21, TaskName: 'Development of the final design', StartDate: new Date('04/30/2019'), + ParentID: 13, EndDate: new Date('04/21/2019') + }, + { + TaskID: 22, TaskName: 'Defining dimensions and package volume', StartDate: new Date('04/30/2019'), + Duration: 2, ParentID: 21, Progress: 30 + }, + { + TaskID: 23, TaskName: 'Develop design to meet industry standards', StartDate: new Date('05/02/2019'), + Duration: 2, ParentID: 21 + }, + { + TaskID: 24, TaskName: 'Include all the details', StartDate: new Date('05/06/2019'), + Duration: 3, ParentID: 21 + }, + { + TaskID: 25, TaskName: 'CAD computer-aided design', StartDate: new Date('05/09/2019'), + Duration: 3, ParentID: 13, Progress: 30 + }, + { + TaskID: 26, TaskName: 'CAM computer-aided manufacturing', StartDate: new Date('09/14/2019'), + Duration: 3, ParentID: 13 + }, + { + TaskID: 27, TaskName: 'Design complete', StartDate: new Date('05/16/2019'), + Duration: 0, ParentID: 13 + }, + { + TaskID: 28, TaskName: 'Prototype testing', StartDate: new Date('05/17/2019'), + Duration: 4, Progress: 30, ParentID: 0 + }, + { + TaskID: 29, TaskName: 'Include feedback', StartDate: new Date('05/17/2019'), + Duration: 4, ParentID: 0 + }, + { + TaskID: 30, TaskName: 'Manufacturing', StartDate: new Date('05/23/2019'), + Duration: 5, Progress: 30, ParentID: 0 + }, + { + TaskID: 31, TaskName: 'Assembling materials to finsihed goods', StartDate: new Date('05/30/2019'), + Duration: 5, ParentID: 0 + }, + { + TaskID: 32, TaskName: 'Feedback and testing', StartDate: new Date('04/04/2019'), + ParentID: 0, EndDate: new Date('04/21/2019'), + }, + { + TaskID: 33, TaskName: 'Internal testing and feedback', StartDate: new Date('06/06/2019'), + Duration: 3, ParentID: 32, Progress: 45 + }, + { + TaskID: 34, TaskName: 'Customer testing and feedback', StartDate: new Date('06/11/2019'), + Duration: 3, ParentID: 32, Progress: 50 + }, + { + TaskID: 35, TaskName: 'Final product development', StartDate: new Date('04/04/2019'), + ParentID: 0, EndDate: new Date('04/21/2019'), + }, + { + TaskID: 36, TaskName: 'Important improvements', StartDate: new Date('06/14/2019'), + Duration: 4, Progress: 30, ParentID: 35 + }, + { + TaskID: 37, TaskName: 'Address any unforeseen issues', StartDate: new Date('06/14/2019'), + Duration: 4, Progress: 30, ParentID: 35 + }, + { + TaskID: 38, TaskName: 'Final product', StartDate: new Date('04/04/2019'), + ParentID: 0, EndDate: new Date('04/21/2019'), + }, + { + TaskID: 39, TaskName: 'Branding product', StartDate: new Date('06/20/2019'), + Duration: 4, ParentID: 38 + }, + { + TaskID: 40, TaskName: 'Marketing and presales', StartDate: new Date('06/26/2019'), Duration: 4, + Progress: 30, ParentID: 38 + } +]; + +let virtualData: any[] = []; +let projId: number = 1; +for (let i: number = 0; i < 50; i++) { + let x: number = virtualData.length + 1; + let parent: any = {}; + /* tslint:disable:no-string-literal */ + parent['TaskID'] = x; + parent['TaskName'] = 'Project ' + (i + 1); + virtualData.push(parent); + for (let j: number = 0; j < tempData.length; j++) { + let subtasks: any = {}; + /* tslint:disable:no-string-literal */ + subtasks['TaskID'] = tempData[j].TaskID + x; + subtasks['TaskName'] = tempData[j].TaskName; + subtasks['StartDate'] = tempData[j].StartDate; + subtasks['Duration'] = tempData[j].Duration; + subtasks['Progress'] = tempData[j].Progress; + subtasks['ParentID'] = tempData[j].ParentID + x; + virtualData.push(subtasks); + } +} +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; +import {GanttComponent,ColumnsDirective,ColumnDirective,Inject,Selection, VirtualScroll, Sort, Filter} from '@syncfusion/ej2-react-gantt'; + +function App (){ + const taskFields: any = { + id: 'TaskID', + name: 'TaskName', + startDate: 'StartDate', + endDate: 'EndDate', + duration: 'Duration', + progress: 'Progress', + parentID: 'ParentID' + }; + const splitterSettings: any = { + columnIndex: 2 + }; + const labelSettings: any = { + taskLabel: 'Progress' + }; + return ( + + + + + + + + + + ) +}; +ReactDOM.render(, document.getElementById('root')); + +{% endraw %} {% endhighlight %} {% highlight html tabtitle="index.html" %} {% include code-snippet/gantt/loadinganimation-cs1/index.html %} diff --git a/ej2-react/gantt/managing-tasks/in-dent-and-out-dent.md b/ej2-react/gantt/managing-tasks/in-dent-and-out-dent.md index 662358494..2bbf94d28 100644 --- a/ej2-react/gantt/managing-tasks/in-dent-and-out-dent.md +++ b/ej2-react/gantt/managing-tasks/in-dent-and-out-dent.md @@ -8,7 +8,7 @@ documentation: ug domainurl: ##DomainURL## --- -# In dent and out dent in React Gantt component +# Indent and outdent in React Gantt component Indent and Outdent of a task are used to update the level of the task in hierarchical order of the task. It can be performed bu enabling the ['editSettings.allowEditing'](https://ej2.syncfusion.com/react/documentation/api/gantt/editSettings/#allowediting) property. diff --git a/ej2-react/gantt/taskbar.md b/ej2-react/gantt/taskbar.md index ef9eda704..0b413de32 100644 --- a/ej2-react/gantt/taskbar.md +++ b/ej2-react/gantt/taskbar.md @@ -16,10 +16,224 @@ You can design your own taskbars to view the tasks in Gantt by using [`taskbarTe {% tabs %} {% highlight js tabtitle="index.jsx" %} -{% include code-snippet/gantt/customization-cs1/app/index.jsx %} +{% raw %} + +import * as React from "react"; +import * as ReactDOM from "react-dom"; +import { GanttComponent } from "@syncfusion/ej2-react-gantt"; +import { data } from "./datasource"; + +function App() { + const taskFields = { + id: "TaskID", + name: "TaskName", + startDate: "StartDate", + duration: "Duration", + progress: "Progress", + parentID: 'ParentID', + }; + + function TaskbarTemplate(props) { + return ( +
    +
    + + {props.TaskName} + +
    + ); + } + function ParentTaskbarTemplate(props) { + return ( +
    +
    + + {props.TaskName} + +
    + ); + } + function MilestoneTemplate(props) { + return ( +
    + ); + } + return ( + + ); +} +ReactDOM.render(, document.getElementById("root")); + +{% endraw %} {% endhighlight %} {% highlight ts tabtitle="index.tsx" %} -{% include code-snippet/gantt/customization-cs1/app/index.tsx %} +{% raw %} + +import * as React from "react"; +import * as ReactDOM from "react-dom"; +import { GanttComponent } from "@syncfusion/ej2-react-gantt"; +import { data } from "./datasource"; + +function App() { + const taskFields: any = { + id: "TaskID", + name: "TaskName", + startDate: "StartDate", + duration: "Duration", + progress: "Progress", + parentID: 'ParentID', + }; + + function TaskbarTemplate(props: any) { + return ( +
    +
    + + {props.TaskName} + +
    + ); + } + function ParentTaskbarTemplate(props: any) { + return ( +
    +
    + + {props.TaskName} + +
    + ); + } + function MilestoneTemplate(props: any) { + return ( +
    + ); + } + return ( + + ); +} +ReactDOM.render(, document.getElementById("root")); + +{% endraw %} {% endhighlight %} {% highlight html tabtitle="index.html" %} {% include code-snippet/gantt/customization-cs1/index.html %} @@ -135,7 +349,7 @@ In the Gantt component, you can enable or disable the mouse hover tooltip for th * Taskbar * Connector line * Baseline -* Event marker +* Timeline {% tabs %} {% highlight js tabtitle="index.jsx" %} diff --git a/ej2-react/gantt/time-line/time-line.md b/ej2-react/gantt/time-line/time-line.md index b8ee4b23a..e22d025ef 100644 --- a/ej2-react/gantt/time-line/time-line.md +++ b/ej2-react/gantt/time-line/time-line.md @@ -21,6 +21,7 @@ Gantt contains the following in-built timeline view modes: * Week * Month * Year +* Minutes Timescale mode in Gantt can be defined by using [`timelineViewMode`](https://ej2.syncfusion.com/react/documentation/api/gantt/timelineViewMode/) property and also we can define timescale mode of top tier and bottom tier by using [`topTier.unit`](https://ej2.syncfusion.com/react/documentation/api/gantt/timelineTierSettingsModel/#unit) and [`bottomTier.unit`](https://ej2.syncfusion.com/react/documentation/api/gantt/timelineTierSettingsModel/#unit) properties. @@ -114,6 +115,24 @@ An `Hour` timeline mode tracks the tasks in minutes scale. In this mode, the upp {% previewsample "page.domainurl/code-snippet/gantt/hourtimeline-cs1" %} +### Minutes timeline mode + +In Minutes timeline mode, the tier displays minute-level intervals, ideal for tracking short-duration tasks with high precision. + +{% tabs %} +{% highlight js tabtitle="index.jsx" %} +{% include code-snippet/gantt/minutetimeline-cs1/app/index.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="index.tsx" %} +{% include code-snippet/gantt/minutetimeline-cs1/app/index.tsx %} +{% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/gantt/minutetimeline-cs1/index.html %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/gantt/minutetimeline-cs1" %} + ## Change timeline view mode programmatically In the Gantt component, the timeline view mode can be modified programmatically. As described below, the Dropdown menu is also used to change the timeline view. The `Dropdownlist` component can be used to create a dropdown menu. Once the dropdown menu is enabled, the [`timelineViewMode`](https://ej2.syncfusion.com/react/documentation/api/gantt/timelineViewMode/) property from the [`timelineSettings`](https://helpej2.syncfusion.com/react/documentation/api/gantt/timelineSettings/) can be utilized to switch the timeline view between Hour, Day, Week, Month, and Year. Refer to the following code example. diff --git a/ej2-react/pivotview/aggregation.md b/ej2-react/pivotview/aggregation.md index 0af9a7b5b..b92ed949d 100644 --- a/ej2-react/pivotview/aggregation.md +++ b/ej2-react/pivotview/aggregation.md @@ -1,37 +1,37 @@ --- layout: post -title: Aggregation in React Pivotview component | Syncfusion -description: Learn here all about Aggregation in Syncfusion React Pivotview component of Syncfusion Essential JS 2 and more. -control: Aggregation +title: Aggregation in React Pivot Table component | Syncfusion +description: Learn here all about Aggregation in Syncfusion React Pivot Table component of Syncfusion Essential JS 2 and more. +control: Aggregation platform: ej2-react documentation: ug domainurl: ##DomainURL## --- -# Aggregation in React Pivotview component +# Aggregation in React Pivot Table component > This feature is applicable only for the relational data source. -End user can perform calculations over a group of values (exclusively for value fields bound in value axis) using the aggregation option. By default, values are added (summed) together. The other aggregation types are explained below. +End users can perform calculations on groups of values (specifically for value fields placed in the value axis) by using different aggregation types. By default, values are combined by summing them. Additional aggregation types are described below. -> The fields with data type such as number support all aggregation types mentioned below except for **"CalculatedField"**. The fields with data type such as string, date, datetime, boolean, etc., support **"Count"** and **"DistinctCount"** aggregation types alone. +> Numeric fields support all aggregation types listed below, except **CalculatedField**. Fields of type string, date, datetime, boolean, and similar types support only **Count** and **DistinctCount** aggregation. | Operator | Description | |------|-------------| -| Sum| Displays the pivot table values with sum.| -| Product| Displays the pivot table values with product.| -| Count| Displays the pivot table values with count.| -| DistinctCount| Displays the pivot table values with distinct count.| -| Min| Displays the pivot table with minimum value.| -| Max| Displays the pivot table with maximum value.| -| Avg| Displays the pivot table values with average.| -| Median| Displays the pivot table values with median.| -| Index| Displays the pivot table values with index.| -| PopulationStDev| Displays the pivot table values with standard deviation of population.| -| SampleStDev| Displays the pivot table values with sample standard deviation.| -| PopulationVar| Displays the pivot table values with variance of population.| -| SampleVar| Displays the pivot table values with sample variance.| -| RunningTotals| Displays the pivot table values with running totals.| +| Sum| Displays the total sum for the selected field values.| +| Product| Displays the product of the selected field values.| +| Count| Displays the number of records for the selected field.| +| DistinctCount| Displays the number of unique records for the selected field.| +| Min| Displays the minimum value for the selected field.| +| Max| Displays the maximum value for the selected field.| +| Avg| Displays the average (mean) of the selected field values.| +| Median| Displays the median value for the selected field.| +| Index| Displays the index value for the selected field data.| +| PopulationStDev| Displays the standard deviation of the population for the selected field.| +| SampleStDev| Displays the sample standard deviation for the selected field.| +| PopulationVar| Displays the variance of the population for the selected field.| +| SampleVar| Displays the sample variance for the selected field.| +| RunningTotals| Displays the running total for the selected field values.| | DifferenceFrom| Displays the pivot table values with difference from the value of the base item in the base field.| | PercentageOfDifferenceFrom| Displays the pivot table values with percentage difference from the value of the base item in the base field.| | PercentageOfGrandTotal| Displays the pivot table values with percentage of grand total of all values.| @@ -44,7 +44,7 @@ End user can perform calculations over a group of values (exclusively for value ## Assigning aggregation type for value fields through API -For each value field, the aggregation type can be set using the property [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#type) in [`values`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#values) class. Meanwhile, aggregation types like **DifferenceFrom** and **PercentageOfDifferenceFrom** can check for specific field of specific item using [`baseField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#basefield) and [`baseItem`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#baseitem) properties. Likewise, **PercentageOfParentTotal** type can for specific field using [`baseField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#basefield) property. For instance, the aggregation type **DifferenceFrom** would intake the specified field and its corresponding member as input and its value is compared across other members in the same field and also across different fields to formulate an appropriate output value. +For each value field, the aggregation type can be set using the property [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#type) in [`values`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#values). Meanwhile, aggregation types like **DifferenceFrom** and **PercentageOfDifferenceFrom** can check for specific field of specific item using [`baseField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#basefield) and [`baseItem`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#baseitem) properties. Likewise, **PercentageOfParentTotal** type can for specific field using [`baseField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#basefield) property. For instance, the aggregation type **DifferenceFrom** would intake the specified field and its corresponding member as input and its value is compared across other members in the same field and also across different fields to formulate an appropriate output value. * [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#type): It allows to set the aggregate type of the field. * [`baseField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#basefield): It allows to set the specific field to aggregate the values. @@ -65,23 +65,25 @@ For each value field, the aggregation type can be set using the property [`type` {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs1" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs1" %} > By default, the aggregation will be considered as **Sum** to the value fields which had number type and for the value fields which had non-number type values such as string, date, datetime, boolean, etc., the aggregation type will be considered as **Count**. ## Modifying aggregation type for value fields at runtime -Aggregation types can be changed easily through UI at runtime. The value fields bound to grouping bar and field list appears with a dropdown icon which helps to select an appropriate aggregation type for the respective value field. On selection, the values in the pivot table will be changed dynamically. +You can dynamically modify the aggregation type for value fields in the Pivot Table component through the UI at runtime. Value fields, displayed in the grouping bar and field list, include a dropdown icon that allows you to select from various aggregation types (e.g., **Sum**, **Average**, **Count**). Once you select a new aggregation type, the pivot table updates instantly to reflect the change, providing a seamless experience for data analysis. -![output](images/aggregation_fl_menu.png "List of pre-defined aggregation types to be changed via Field List") +![List of pre-defined aggregation types to be changed via Field List](images/aggregation_fl_menu.png)
    -
    -![output](images/aggregation_gb_menu.png "List of pre-defined aggregation types to be changed via Grouping Bar") + +![List of pre-defined aggregation types to be changed via Grouping Bar](images/aggregation_gb_menu.png) ## Show desired aggregation types in its dropdown menu -By default, all the aggregation types are displayed in the dropdown menu available in buttons. However, based on the request for an application, we may need to show selective aggregation types on our own. This can be achieved using the [`aggregateTypes`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#aggregatetypes) property. +By default, the dropdown menu for value fields includes all available aggregation types. However, you can customize this menu to display only specific aggregation types relevant to your application using the [`aggregateTypes`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#aggregatetypes) property. This allows you to tailor the user experience by limiting the options to those that best fit your use case. + +The following code demonstrates how to configure the pivot table component to display only the **DistinctCount**, **Average**, and **Product** aggregation types in the dropdown menu. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -98,11 +100,13 @@ By default, all the aggregation types are displayed in the dropdown menu availab {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs2" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs2" %} ## Hiding aggregation type from button text -By default, in value axis each field would be displayed by its name and aggregation type together. To hide aggregation type and display field name alone, set the property [`showAggregationOnValueField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#showaggregationonvaluefield) in [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) to **false**. +By default, each field in the value axis is displayed with its name and aggregation type (e.g., "Sum of Units Sold"). To display only the field name (e.g., "Units Sold") and hide the aggregation type, set the [`showAggregationOnValueField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#showaggregationonvaluefield) property in the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) to **false**. + +This customization enhances the clarity of the pivot table’s interface by simplifying the button text, making it more concise and user-friendly. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -119,13 +123,13 @@ By default, in value axis each field would be displayed by its name and aggregat {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs3" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs3" %} ## Hiding aggregation type icon from UI -By default, the icon to set aggregation type is enabled in the grouping bar. To disable this icon, set the property [`showValueTypeIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupingBarSettingsModel/#showvaluetypeicon) in [`groupingBarSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#groupingbarsettings) to **false**. +By default, the dropdown icon to change the aggregation type is visible in the grouping bar. To hide this icon, set the [`showValueTypeIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupingBarSettingsModel/#showvaluetypeicon) property within [`groupingBarSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#groupingbarsettings) to **false**. -> Icon to change the aggregation type can be hidden only in Grouping Bar but not in Field List at the moment. +> The aggregation type icon can only be hidden in the Grouping Bar, not in the Field List. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -142,17 +146,17 @@ By default, the icon to set aggregation type is enabled in the grouping bar. To {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs4" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs4" %} ## Event ### AggregateCellInfo -The event [`aggregateCellInfo`](https://ej2.syncfusion.com/documentation/api/pivotview/#aggregatecellinfo) triggers every time while rendering each value cell. This allows user to change the cell value and skip formatting if applied. It has following parameters: +The [`aggregateCellInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#aggregatecellinfo) event triggers each time a value cell is rendered. This allows users to override the cell's value or skip formatting. The event provides the following parameters: * `fieldName` - It holds current cell's field name. * `row` - It holds current cell's row value. -* `column` - It holds current cell's row value. +* `column` - It holds current cell's column value. * `value` - It holds value of current cell. * `cellSets` - It holds raw data for the aggregated value cell. * `rowCellType` - It holds row cell type value. @@ -175,23 +179,23 @@ The event [`aggregateCellInfo`](https://ej2.syncfusion.com/documentation/api/piv {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs5" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs5" %} ### ActionBegin -The event [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) triggers when clicking and selecting the aggregate type via the dropdown icon in the value field button, which is present in both grouping bar and field list UI. This allows user to identify the current action being performed at runtime. It has the following parameters: +The event [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) triggers when clicking and selecting the aggregate type via the dropdown icon in the value field button, which is present in both grouping bar and field list UI. This allows the user to identify the current action being performed at runtime. It has the following parameters: -* `dataSourceSettings`: It holds the current data source settings such as input data source, rows, columns, values, filters, format settings and so on. +* [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#datasourcesettings): Contains the current data source settings such as input data source, rows, columns, values, filters, format settings and more. -* `actionName`: It holds the name of the current action began. For example, while performing aggregation, the action name will be shown as **Aggregate field**. +* [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#actionname): Provides the name of the current action initiated. For example, when selecting aggregation, the action name is **Aggregate field**. -* `fieldInfo`: It holds the selected value field information. +* [`fieldInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#fieldinfo): Contains information regarding the selected value field. ->Note: This option is applicable only when the field based UI actions are performed such as filtering, sorting, removing field from grouping bar, editing and aggregation type change. +> Note: This option applies only to actions performed through the field-based UI, such as filtering, sorting, removing a field from the grouping bar, editing, and changing the aggregation type. -* `cancel`: It allows user to restrict the current action. +* [`cancel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#cancel): Allows restricting the current action. -In the following example, action taken during aggregation type selection via dropdown icon can be restricted by setting the **args.cancel** option to **true** in the `actionBegin` event. +In the following example, an action taken during aggregation type selection via the dropdown icon can be prevented by setting the **args.cancel** option to **true** in the [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) event. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -208,19 +212,18 @@ In the following example, action taken during aggregation type selection via dro {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs6" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs6" %} ### ActionComplete -The event [`actionComplete`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actioncomplete) triggers when a UI action, such as applying aggregation using the dropdown icon via the value field button, which is present in both the grouping bar and the field list UI, is completed. This allows user to identify the current UI action being completed at runtime. It has the following parameters: +The [`actionComplete`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actioncomplete) event is triggered when a UI action is completed, such as changing the aggregation type using the dropdown icon in the value field button, available within both the grouping bar and field list user interfaces. This event enables users to identify which UI action has been completed at runtime. The event provides the following parameters: -* `dataSourceSettings`: It holds the current data source settings such as input data source, rows, columns, values, filters, format settings and so on. +* [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#datasourcesettings): The current data source settings, including input data source, rows, columns, values, filters, format settings, and related properties. +* [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#actionname): Specifies the name of the completed action. For example, after changing the aggregation type, the action name will be **Field aggregated**. +* [`fieldInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#fieldinfo): Contains information about the selected value field. +* [`actionInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#actioninfo): Defines the unique information about the current UI action performed. -* `actionName`: It holds the name of the current action completed. For example, after completing the aggregation, the action name will be shown as **Field aggregated**. - -* `fieldInfo`: It holds the selected value field information. - ->Note: This option is applicable only when the field based UI actions are performed such as filtering, sorting, removing field from grouping bar, editing and aggregation type change. +> Note: This event is triggered only when field-based UI actions are performed, such as filtering, sorting, removing a field from the grouping bar, editing, or changing the aggregation type. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -237,15 +240,14 @@ The event [`actionComplete`](https://ej2.syncfusion.com/react/documentation/api/ {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs7" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs7" %} ### ActionFailure -The event [`actionFailure`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionfailure) triggers when the current UI action fails to achieve the desired result. It has the following parameters: - -* `actionName`: It holds the name of the current action failed. For example, if the action fails while performing the aggregation, then the action name will be shown as **Aggregate field**. +The [`actionFailure`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionfailure) event is triggered when a UI action fails to produce the expected result. This event provides detailed information about the failure through the following parameters: -* `errorInfo`: It holds the error information of the current UI action. +* [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionFailureEventArgs/#actionname): Specifies the name of the failed action. For example, if the failure occurs during aggregation, the action name will be **Aggregate field**. +* [`errorInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionFailureEventArgs/#errorinfo): Contains detailed error information related to the failed UI action. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -262,4 +264,4 @@ The event [`actionFailure`](https://ej2.syncfusion.com/react/documentation/api/p {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs8" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs8" %} \ No newline at end of file diff --git a/ej2-react/pivotview/calculated-field.md b/ej2-react/pivotview/calculated-field.md index ea26a851f..d91674b06 100644 --- a/ej2-react/pivotview/calculated-field.md +++ b/ej2-react/pivotview/calculated-field.md @@ -1,25 +1,36 @@ --- layout: post -title: Calculated field in React Pivotview component | Syncfusion -description: Learn here all about Calculated field in Syncfusion React Pivotview component of Syncfusion Essential JS 2 and more. -control: Calculated field -platform: ej2-react +title: Calculated field in React Pivot Table component | Syncfusion +description: Learn here all about Calculated field in Syncfusion React Pivot Table component of Syncfusion Essential JS 2 and more. +control: Calculated field +platform: ej2-react documentation: ug domainurl: ##DomainURL## --- -# Calculated field in React Pivotview component +# Calculated field in React Pivot Table component -Allows end user to create a new calculated field in the pivot table, based on available fields from the bound data source or using simple formula with basic arithmetic operators. It can be added at runtime through the built-in dialog, invoked from Field List UI. To do so, set the [`allowCalculatedField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowcalculatedfield) property to **true** in the pivot table. End user can now see a "CALCULATED FIELD" button enabled in Field List UI automatically, which on clicking will invoke the calculated field dialog and perform necessary operation. +The calculated field feature enables users to create custom value fields using mathematical formulas and existing fields from their data source. Users can perform complex calculations with basic arithmetic operators and seamlessly integrate these custom fields into their pivot table for enhanced data visualization and reporting. -Calculated field can also be included in the pivot table through code behind using the [`calculatedFieldsSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#calculatedfieldsettings). The required properties to create a new calculate field are: -* [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/calculatedFieldSettingsModel/#name): It allows to indicate the calculated field with a unique name. -* [`formula`](https://ej2.syncfusion.com/react/documentation/api/pivotview/calculatedFieldSettingsModel/#formula): It allows to set the formula. -* [`formatSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettings/): It helps to set the number format for the resultant value. +## Creating calculated fields -To use calculated field option, you need to inject the `CalculatedField` module in pivot table. +Users can create calculated fields in two convenient ways: +- **Interactive Method**: Using the built-in dialog accessible from the Field List UI. +- **Code-Based Method**: Configuring fields programmatically using the [`calculatedFieldSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#calculatedfieldsettings) property. -> The calculated field is applicable only for value fields. By default, the calculated fields created through code-behind are only added to the field list and calculated field dialog UI. To display the calculated field in the pivot table UI, it must be added to the [`values`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#values) property, as shown in the code below. +To enable the calculated field functionality, set the [`allowCalculatedField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowcalculatedfield) property to **true**. Once enabled, a "CALCULATED FIELD" button appears in the Field List UI. Clicking this button opens the calculated field dialog, where users can create and manage custom fields using an intuitive interface. + +### Defining calculated fields programmatically + +You can define calculated fields programmatically using the [`calculatedFieldSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#calculatedfieldsettings) property. This approach is ideal for pre-configuring specific calculations. The following properties are essential for creating a calculated field: + +- [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/calculatedFieldSettingsModel/#name): Specifies a unique name for the calculated field. +- [`formula`](https://ej2.syncfusion.com/react/documentation/api/pivotview/calculatedFieldSettingsModel/#formula): Defines the mathematical expression using existing field names and arithmetic operators. +- [`formatSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettings/): Configures the number format for displaying calculated results. + +To use the calculated field feature, you must inject the `CalculatedField` module into the pivot table. + +> **Note**: The calculated field feature applies only to value fields. By default, calculated fields created programmatically are added to the field list and calculated field dialog UI. To display a calculated field in the pivot table UI, it must be added to the [`values`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#values) property, as shown in the code below. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -36,11 +47,11 @@ To use calculated field option, you need to inject the `CalculatedField` module {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs9" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs9" %} -Meanwhile, user can also view calculated field dialog in UI by invoking [`createCalculatedFieldDialog`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#createcalculatedfielddialog) method on an external button click which is shown in the below code sample. +## Opening the calculated field dialog programmatically -> To use calculated field option, you need to inject the `CalculatedField` module in pivot table. +You can display the calculated field dialog by calling the [`createCalculatedFieldDialog`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#createcalculatedfielddialog) method when an external button is clicked. This provides additional flexibility for accessing the calculated field functionality. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -57,67 +68,109 @@ Meanwhile, user can also view calculated field dialog in UI by invoking [`create {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs10" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs10" %} -## Editing through the field list and the grouping bar +## Editing through the field list and grouping bar -User can also modify the existing calculated field using the built-in edit option available directly in the field list (or) grouping bar. To do so, click the "Edit" icon available in the calculated field button. Now the calculated field dialog is opened and the current calculated field name, formula and format can be changed at runtime. +You can easily modify existing calculated fields using the built-in edit option available in both the field list and grouping bar. This feature allows you to update formulas, change field names, or adjust formatting without recreating the entire calculated field. -![Editing the calculated field](images/calculatdfield-grouping-edit1.png "Editing the calculated field") -
    +To edit an existing calculated field: + +1. Locate the calculated field button in either the field list or the grouping bar. +2. Click the **Edit** icon next to the calculated field name. +3. The calculated field dialog opens, displaying the current settings. +4. Make changes to the field name, formula, or format as needed. +5. Click **OK** to apply the changes. + +![Editing the calculated field](images/calculatdfield-grouping-edit1.png)
    -![Editing the calculated field formula](images/calculatdfield-grouping-edit2.png "Editing the calculated field formula") -## Renaming the existing calculated field +![Editing the calculated field formula](images/calculatdfield-grouping-edit2.png) -Existing calculated field can be renamed only through the UI at runtime. To do so, open the calculated field dialog, select the target field and click "Edit" icon. User can now see the existing name getting displayed in the text box at the top of the dialog. Now, change the name based on user requirement and click "OK". +## Renaming an existing calculated field - -![Editing the calculated field](images/calculatdfield-renaming1.png "Editing the calculated field") -
    -
    -![Renaming the calculated field](images/calculatdfield-renaming2.png "Renaming the calculated field") +You can rename any existing calculated field directly through the user interface at runtime. This option helps you maintain clear and meaningful names for your calculated fields as your analysis requirements evolve. -## Editing the existing calculated field formula +To rename a calculated field: -Existing calculated field formula can be edited only through the UI at runtime. To do so, open the calculated field dialog, select the target field and click "Edit" icon. User can now see the existing formula getting displayed in a multiline text box at the bottom of the dialog. Now, change the formula based on user requirement and click "OK". +1. Locate the calculated field button in either the field list or the grouping bar. +2. Click the **Edit** icon next to the calculated field name. +3. The calculated field dialog opens, displaying the current field name in the text box at the top. +4. Replace the existing name with your preferred name. +5. Click **OK** to save the new name. -![Editing the calculated field](images/calculatdfield-field-edit1.png "Editing the calculated field") -
    +![Editing the calculated field](images/calculatdfield-renaming1.png)
    -![Editing the calculated field formula](images/calculatdfield-field-edit2.png "Editing the calculated field formula") -## Reusing the existing formula in a new calculate field +![Renaming the calculated field](images/calculatdfield-renaming2.png) -While creating a new calculated field, if user wants to the add the formula of an existing calculated field, it can be done easily. To do so, simply drag-and-drop the existing calculated field to the "Formula" section. +## Editing an existing calculated field formula -![Dragging the existing calculated field](images/calculatdfield-reusing1.png "Dragging the existing calculated field") -
    +This option allows you to modify the formulas of existing calculated fields directly through the user interface, ensuring your calculations remain accurate and up to date with changing requirements. + +To edit an existing calculated field formula: + +1. Open the calculated field dialog. +2. Select the calculated field you want to edit from the list. +3. Click the **Edit** icon next to the selected field. +4. The existing formula appears in a multiline text box at the bottom of the dialog. +5. Update the formula according to your requirements. +6. Click **OK** to save your changes. + +The pivot table will automatically refresh to reflect the updated calculations. + +![Editing the calculated field](images/calculatdfield-field-edit1.png)
    -![Drag field to formula](images/calculatdfield-reusing2.png "Drag field to formula") + +![Editing the calculated field formula](images/calculatdfield-field-edit2.png) + +## Reusing an existing formula in a new calculated field + +This option enables you to quickly create new calculated fields by reusing formulas from existing fields, saving time and ensuring consistency across your calculations. + +To reuse an existing formula: + +1. Open the calculated field dialog to create a new field. +2. Locate the existing calculated field whose formula you want to reuse. +3. Drag the existing calculated field from the tree view. +4. Drop it into the **Formula** section. +5. The formula from the existing field is automatically added to your new calculated field. +6. Modify the formula further if needed, or use it as is. +7. Click **OK** to create the new calculated field. + +![Dragging the existing calculated field](images/calculatdfield-reusing1.png)
    + +![Dragging field to formula](images/calculatdfield-reusing2.png)
    -![Reusing the existing calculated field formula](images/calculatdfield-reusing3.png "Reusing the existing calculated field formula") -## Apply the format to the calculated field values +![Reusing the existing calculated field formula](images/calculatdfield-reusing3.png) + +## Applying formatting to calculated field values + +Formatting calculated field values enhances the readability and insight of your data in the pivot table. You can apply different formats using the calculated field dialog in the UI or programmatically through code. + +To format calculated field values in your code, use the [`formatSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettings/) property. For more information about supported number formats, refer to the documentation [here](https://ej2.syncfusion.com/react/documentation/pivotview/number-formatting). + +### Formatting through the user interface -Values in a new or existing calculated field can be formatted via the calculated field UI or code behind. The [`formatSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettings/) property in code-behind can be used to specify the desired format. For more information about the supported formats refer [`here`](https://ej2.syncfusion.com/react/documentation/pivotview/number-formatting/). +To apply formatting to calculated field values via the user interface, use the built-in "Format" dropdown available in the calculated field dialog. This dropdown provides the following predefined format options: -To apply format to calculated field values at runtime via UI, a built-in dropdown under the "Format" label is available, from which the user can select the pre-defined format options listed below. +* **Standard** - Displays numbers in their basic numeric form. +* **Currency** - Displays numbers as currency values. +* **Percent** - Displays numbers as percentage values. +* **Custom** - Allows you to specify a custom format pattern. +* **None** - Applies no formatting to the values. -* **Standard** - Denotes the numeric type. -* **Currency** - Denotes the currency type. -* **Percent** - Denotes the percentage type. -* **Custom** - Denotes the custom format. For example: "C2". This shows the value "9584.3" as "$9584.30." -* **None** - Denotes that no format will be applied. +> **Note:** By default, **None** is selected in the dropdown. -> By default, **None** will be selected from the dropdown. +![Applying format through calculated field dialog UI](images/calculatdfield-formatstring.png) -![Applying format through calculated field dialog UI](images/calculatdfield-formatstring.png "Applying format through calculated field dialog UI") +### Applying custom formatting -In addition, you can specify the desired custom formats by selecting the **Custom** option from the "Format" dropdown. +For specific formatting requirements, select the **Custom** option from the "Format" dropdown. This allows you to enter custom format patterns that meet your exact display needs. -![Applying custom format through calculated field dialog UI](images/calculatdfield-applyFormate.png "Applying custom format through calculated field dialog UI") +![Applying custom format through calculated field dialog UI](images/calculatdfield-applyFormate.png) ## Supported operators and functions for the calculated field formula @@ -125,116 +178,116 @@ Below is a list of operators and functions that can be used in the formula to cr * `+` – addition operator. - ```ts - Syntax: X + Y - ``` + ```typescript + Syntax: X + Y + ``` * `-` – subtraction operator. - ```ts - Syntax: X - Y + ```typescript + Syntax: X - Y ``` * `*` – multiplication operator. - ```ts - Syntax: X * Y + ```typescript + Syntax: X * Y ``` * `/` – division operator. - ```ts - Syntax: X / Y + ```typescript + Syntax: X / Y ``` * `^` – power operator. - ```ts - Syntax: X^2 + ```typescript + Syntax: X^2 ``` * `<` - less than operator. - ```ts - Syntax: X < Y + ```typescript + Syntax: X < Y ``` * `<=` – less than or equal operator. - ```ts - Syntax: X <= Y + ```typescript + Syntax: X <= Y ``` * `>` – greater than operator. - ```ts - Syntax: X > Y + ```typescript + Syntax: X > Y ``` * `>=` – greater than or equal operator. - ```ts - Syntax: X >= Y + ```typescript + Syntax: X >= Y ``` * `==` – equal operator. - ```ts - Syntax: X == Y + ```typescript + Syntax: X == Y ``` * `!=` – not equal operator. - ```ts - Syntax: X != Y + ```typescript + Syntax: X != Y ``` * `|` – OR operator. - ```ts - Syntax: X | Y + ```typescript + Syntax: X | Y ``` * `&` – AND operator. - ```ts - Syntax: X & Y - ``` + ```typescript + Syntax: X & Y + ``` * `?` – conditional operator. - ```ts - Syntax: condition ? then : else - ``` + ```typescript + Syntax: condition ? then : else + ``` * `isNaN` – function that checks if the value is not a number. - ```ts + ```typescript Syntax: isNaN(value) - ``` + ``` * `!isNaN` – function that checks if the value is a number. - ```ts - Syntax: isNaN(value) + ```typescript + Syntax: isNaN(value) ``` * `abs` – function that returns the absolute value of a number. - ```ts - Syntax: abs(number) + ```typescript + Syntax: abs(number) ``` * `min` – function that returns the minimum value. - ```ts - Syntax: min(number1, number2) + ```typescript + Syntax: min(number1, number2) ``` * `max` – function that returns the maximum value. - ```ts - Syntax: max(number1, number2) + ```typescript + Syntax: max(number1, number2) ``` > Also, you can use JavaScript [Math](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math) object properties and methods directly to the formula. @@ -254,21 +307,31 @@ Below is a list of operators and functions that can be used in the formula to cr {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs11" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs11" %} ## Event ### CalculatedFieldCreate -The event [`calculatedFieldCreate`](https://ej2.syncfusion.com/react/documentation/api/pivotview#calculatedfieldcreate) fires while closing the dialog on "OK" button click. It allows to customize the new or existing calculated field information obtained from the dialog. It has the following parameters +The [`calculatedFieldCreate`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#calculatedfieldcreate) event enables you to validate and manage calculated field details before they are applied to the pivot table. This ensures data accuracy and prevents invalid configurations. The event is triggered when the "OK" button is clicked to close the calculated field dialog, allowing you to modify or validate the calculated field information before it is saved. + +**Event Parameters:** + +The event provides the following parameters to facilitate interaction with calculated field data: + +* [`calculatedField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/calculatedFieldCreateEventArgs/#calculatedfield): Contains the calculated field information (new or existing) that was entered in the dialog. -* `calculatedField`: It holds the new or existing calculated field information obtained from dialog. +* [`calculatedFieldSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#calculatedfieldsettings): Provides access to the current [`calculatedFieldSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#calculatedfieldsettings) of the pivot table. -* [`calculatedFieldSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#calculatedfieldsettings): It holds the [`calculatedFieldSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#calculatedfieldsettings) property of the pivot report. +* [`cancel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/calculatedFieldCreateEventArgs/#cancel): A boolean property that prevents the dialog changes from being applied when set to **true**. -* `cancel`: It is a boolean property and by setting this to true , the customization done in calculated field dialog won’t be applied to calculated field. +* [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/calculatedFieldCreateEventArgs/#datasourcesettings): Contains the current data source configuration, including input data, rows, columns, values, filters, and format settings. -In the below sample, creating a calculated field without setting the format is restricted. +* [`fieldName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/calculatedFieldCreateEventArgs/#fieldname): Specifies the name of the field being created or updated. + +**Example:** + +The following example shows how to prevent users from creating calculated fields without setting a format: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -285,29 +348,40 @@ In the below sample, creating a calculated field without setting the format is r {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs12" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs12" %} ### ActionBegin -The event [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) triggers when clicking calculated field button, calculated field edit icon and context menu in the tree view inside the calculated field dialog. This allows user to identify the current action being performed at runtime. It has the following parameters: +The [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) event allows you to control and monitor calculated field operations before they are executed, enabling you to validate or restrict user actions as needed. + +This event is triggered when users interact with calculated field functionality in the following ways: +- Clicking the calculated field button +- Clicking the edit icon for an existing calculated field +- Using the context menu in the tree view within the calculated field dialog + +The event provides the following parameters to help you handle these interactions: + +**Event Parameters:** -* `dataSourceSettings`: It holds the current data source settings such as input data source, rows, columns, values, filters, format settings and so on. +- [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#datasourcesettings): Contains the current data source configuration, including input data, rows, columns, values, filters, format settings, and other pivot table settings. -* `actionName`: It holds the name of the current action began. The following are the UI actions and their names: +- [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#actionname): Identifies the specific action the user is attempting to perform. The table below lists the available actions and their corresponding names: - | Action | Action Name| - |------|-------------| - | [`Calculated field button`](./calculated-field/#Calculated-Field)| Open calculated field dialog| - | [`Edit icon in calculated field`](./calculated-field/#Editing-through-the-field-list-and-the-grouping-bar)| Edit calculated field| - | [`Context menu in the tree view inside the calculated field dialog`](./calculated-field/#Calculated-Field)| Calculated field context menu| +| User Action | Action Name | +|-------------|-------------| +| [Calculated field button click](./calculated-field#Calculated-Field) | Open calculated field dialog | +| [Edit icon click for calculated field](./calculated-field#Editing-through-the-field-list-and-the-grouping-bar) | Edit calculated field | +| [Context menu in calculated field dialog tree view](./calculated-field#Calculated-Field) | Calculated field context menu | -* `fieldInfo`: It holds the selected field information. +- [`fieldInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#fieldinfo): Provides information about the selected field when the action involves a specific field. ->Note: This option is applicable only when the field based UI actions are performed such as filtering, sorting, removing field from grouping bar, editing and aggregation type change. +> **Note**: This parameter is available only when the action involves a specific field, such as filtering, sorting, removing a field from the grouping bar, editing, or changing the aggregation type. -* `cancel`: It allows user to restrict the current action. +- [`cancel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#cancel): A boolean property that allows you to prevent the current action from completing. Set this to **true** to stop the action from proceeding. -In the below sample, the calculated field button click action, that is, opening of the calculated field dialog can be restricted by setting the **args.cancel** option to **true** in the `actionBegin` event. +**Example:** + +The example below illustrates how to prevent access to the calculated field dialog by canceling the action triggered when a user clicks the calculated field button. This is achieved by setting the **args.cancel** property to **true** within the [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) event: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -324,71 +398,79 @@ In the below sample, the calculated field button click action, that is, opening {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs13" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs13" %} ### ActionComplete -The event [`actionComplete`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actioncomplete) triggers when the calculated field is completely created or edited. This allows user to identify the current UI action being completed at runtime. It has the following parameters: +The [`actionComplete`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actioncomplete) event enables you to track when calculated field operations are successfully completed in the Pivot Table. This event is useful for performing additional actions or logging activities after users create or modify calculated fields. + +The event provides the following parameters to help you handle completed operations: -* `dataSourceSettings`: It holds the current data source settings such as input data source, rows, columns, values, filters, format settings and so on. +**Event Parameters:** -* `actionName`: It holds the name of the current action completed. The following are the UI actions and their names: +- [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#datasourcesettings): Contains the updated data source configuration, including input data, rows, columns, values, filters, format settings, and other pivot table settings after the operation is completed. - | Action | Action Name| - |------|-------------| - | [`Calculated field button`](./calculated-field/#Calculated-Field)| Calculated field applied| - | [`Edit icon in calculated field`](./calculated-field/#Editing-through-the-field-list-and-the-grouping-bar)| Calculated field edited| +- [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#actionname): Identifies the specific action completed by the user. The table below lists the available actions and their corresponding names: -* `fieldInfo`: It holds the selected field information. +| User Action | Action Name | +|-------------|-------------| +| [Creating calculated field](./calculated-field#calculated-field) | Calculated field applied | +| [Editing calculated field](./calculated-field#editing-through-the-field-list-and-the-grouping-bar) | Calculated field edited | ->Note: This option is applicable only when the field based UI actions are performed such as filtering, sorting, removing field from grouping bar, editing and aggregation type change. +- [`fieldInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#fieldinfo): Provides information about the selected field when the action involves a specific field. -* `actionInfo`: It holds the unique information about the current UI action. For example, if the edit action is completed, this event will be triggered, and the argument will display information such as the entire calculated field information and its formula, including the field name. +> **Note**: This parameter is available only when the action involves a specific field, such as filtering, sorting, removing a field from the grouping bar, editing, or changing the aggregation type. - {% tabs %} - {% highlight js tabtitle="App.jsx" %} - {% include code-snippet/pivot-table/default-cs14/app/App.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="App.tsx" %} - {% include code-snippet/pivot-table/default-cs14/app/App.tsx %} - {% endhighlight %} - {% highlight js tabtitle="datasource.jsx" %} - {% include code-snippet/pivot-table/default-cs14/app/datasource.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="datasource.tsx" %} - {% include code-snippet/pivot-table/default-cs14/app/datasource.tsx %} - {% endhighlight %} - {% endtabs %} +- [`actionInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#actioninfo): Contains detailed information about the completed action. For calculated field operations, this includes the complete calculated field information, its formula, and the field name. - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs14" %} +**Example:** + +The example below demonstrates how to use the [`actionComplete`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actioncomplete) event to log information when calculated field operations are completed: + +{% tabs %} +{% highlight js tabtitle="App.jsx" %} +{% include code-snippet/pivot-table/default-cs14/app/App.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="App.tsx" %} +{% include code-snippet/pivot-table/default-cs14/app/App.tsx %} +{% endhighlight %} +{% highlight js tabtitle="datasource.jsx" %} +{% include code-snippet/pivot-table/default-cs14/app/datasource.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="datasource.tsx" %} +{% include code-snippet/pivot-table/default-cs14/app/datasource.tsx %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs14" %} ### ActionFailure -The event [`actionFailure`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionfailure) triggers when the current UI action fails to achieve the desired result. It has the following parameters: - -* `actionName`: It holds the name of the current action failed. The following are the UI actions and their names: - - | Action | Action Name | - |------|-------------| - | [`Calculated field button`](./calculated-field/#Calculated-Field)| Open calculated field dialog| - | [`Edit icon in calculated field`](./calculated-field/#Editing-through-the-field-list-and-the-grouping-bar)| Edit calculated field| - | [`Context menu in the tree view inside the calculated field dialog`](./calculated-field/#Calculated-Field)| Calculated field context menu| - -* `errorInfo`: It holds the error information of the current UI action. - - {% tabs %} - {% highlight js tabtitle="App.jsx" %} - {% include code-snippet/pivot-table/default-cs15/app/App.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="App.tsx" %} - {% include code-snippet/pivot-table/default-cs15/app/App.tsx %} - {% endhighlight %} - {% highlight js tabtitle="datasource.jsx" %} - {% include code-snippet/pivot-table/default-cs15/app/datasource.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="datasource.tsx" %} - {% include code-snippet/pivot-table/default-cs15/app/datasource.tsx %} - {% endhighlight %} - {% endtabs %} - - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs15" %} +The [`actionFailure`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionfailure) event is triggered when a UI action fails to produce the expected result. This event provides detailed information about the failure through the following parameters: + +* [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionFailureEventArgs/#actionname): It holds the name of the current action failed. The following are the UI actions and their names: + + | Action | Action Name | + |------|-------------| + | [`Calculated field button`](./calculated-field#Calculated-Field)| Open calculated field dialog| + | [`Edit icon in calculated field`](./calculated-field#Editing-through-the-field-list-and-the-grouping-bar)| Edit calculated field| + | [`Context menu in the tree view inside the calculated field dialog`](./calculated-field#Calculated-Field)| Calculated field context menu| + +* [`errorInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionFailureEventArgs/#errorinfo): It holds the error information of the current UI action. + +{% tabs %} +{% highlight js tabtitle="App.jsx" %} +{% include code-snippet/pivot-table/default-cs15/app/App.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="App.tsx" %} +{% include code-snippet/pivot-table/default-cs15/app/App.tsx %} +{% endhighlight %} +{% highlight js tabtitle="datasource.jsx" %} +{% include code-snippet/pivot-table/default-cs15/app/datasource.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="datasource.tsx" %} +{% include code-snippet/pivot-table/default-cs15/app/datasource.tsx %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs15" %} \ No newline at end of file diff --git a/ej2-react/pivotview/classic-layout.md b/ej2-react/pivotview/classic-layout.md index 3bca199db..7b1acf0f7 100644 --- a/ej2-react/pivotview/classic-layout.md +++ b/ej2-react/pivotview/classic-layout.md @@ -10,9 +10,9 @@ domainurl: ##DomainURL## # Classic Layout in React Pivot Table component -N> The classic layout supports only relational data sources and operates exclusively with client-side engine. +N> The classic layout is compatible only with relational data sources and operates in both client-side and server-side engines. -The classic layout in the Syncfusion Pivot Table offers a structured, tabular presentation of data, improving both readability and usability. In this layout, fields in the row axis are displayed side by side in separate columns, making data interpretation and analysis easier. By default, grand totals appear at the end of all rows, while subtotals are placed in a separate row beneath each group. All other features of the pivot table, such as filtering, sorting, drag-and-drop, expand/collapse functionality, and more, remain the same as in the compact layout, which serves as the default hierarchical format of the pivot table. +The classic layout, also known as the tabular layout, in the Syncfusion® Pivot Table provides a structured, tabular presentation of data that enhances readability and usability. In this layout, fields in the row axis are displayed side by side in separate columns, making data interpretation and analysis easier. By default, grand totals appear at the end of all rows, while subtotals are placed in a separate row beneath each group. All other features of the pivot table, such as filtering, sorting, drag-and-drop, expand/collapse functionality, and more, remain the same as in the compact layout, which serves as the default hierarchical format of the pivot table. To enable the classic layout, set the [layout](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettings/#layout) property in the [gridSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettings/) of the Pivot Table to **Tabular**. @@ -31,7 +31,7 @@ To enable the classic layout, set the [layout](https://ej2.syncfusion.com/react/ {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/classic-layout-cs1" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/classic-layout-cs1" %} **Limitations** diff --git a/ej2-react/pivotview/conditional-formatting.md b/ej2-react/pivotview/conditional-formatting.md index 1cb57cdd3..3100bb8dc 100644 --- a/ej2-react/pivotview/conditional-formatting.md +++ b/ej2-react/pivotview/conditional-formatting.md @@ -8,15 +8,15 @@ documentation: ug domainurl: ##DomainURL## --- -# Conditional formatting in React Pivotview component +# Conditional formatting in React Pivot Table component -Allows end user to change the appearance of the pivot table value cells with its background color, font color, font family, and font size based on specific conditions. +The conditional formatting feature enables users to customize the appearance of Pivot Table value cells by modifying background color, font color, font family, and font size based on specific conditions. This powerful visualization feature helps highlight important value cells and makes them stand out in the Pivot Table. -The conditional formatting can be applied at runtime through the built-in dialog, invoked from the toolbar. To do so, set [allowConditionalFormatting](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowconditionalformatting) and [showToolbar](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showtoolbar) properties to **true**. Also, include the item **ConditionalFormatting** within the [toolbar](https://ej2.syncfusion.com/react/documentation/api/pivotview/#toolbar) property. End user can now see the "Conditional Formatting" icon in toolbar UI automatically, which on clicking will invoke the formatting dialog to perform necessary operations. +The conditional formatting can be applied at runtime through the built-in dialog, invoked from the toolbar. To enable this functionality, set the [allowConditionalFormatting](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowconditionalformatting) and [showToolbar](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showtoolbar) properties to **true**. Additionally, include the **ConditionalFormatting** item within the [toolbar](https://ej2.syncfusion.com/react/documentation/api/pivotview/#toolbar) property. Users will see the "Conditional Formatting" icon in the toolbar UI automatically, which opens the formatting dialog when clicked. -> To use the conditional formatting feature, You need to inject the `ConditionalFormatting` module in pivot table. +> To use the conditional formatting feature, you need to inject the `ConditionalFormatting` module in Pivot Table. -To learn about how to work with conditional formatting options, you can check on this video for React Grid. +To learn how to work with conditional formatting options, you can check out this video on React Pivot Table. {% youtube "https://www.youtube.com/watch?v=sKFvB8lDw2g" %} @@ -35,25 +35,29 @@ To learn about how to work with conditional formatting options, you can check on {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs16" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs16" %} -Conditional formatting can also be included in the pivot table through code-behind using the [conditionalFormatSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#conditionalformatsettings). The required properties to apply a new conditional formatting are, +## Configure conditional formatting through code-behind -* [applyGrandTotals](https://ej2.syncfusion.com/react/documentation/api/pivotview/conditionalFormatSettings/#applygrandtotals): This boolean property allows you to restrict conditional formatting for grand totals in the row and column axes. By default, this property is set to true. +Conditional formatting can also be applied programmatically during component initialization using the [conditionalFormatSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#conditionalformatsettings) property in the [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). This approach allows you to define formatting rules directly in the code-behind, ensuring that specific styling conditions are automatically applied when the Pivot Table loads. The required properties to apply a new conditional formatting are, + +* [applyGrandTotals](https://ej2.syncfusion.com/react/documentation/api/pivotview/conditionalFormatSettings/#applygrandtotals): This boolean property allows you to restrict conditional formatting for grand totals in the row and column axes. By default, this property is set to **true**. * [measure](https://ej2.syncfusion.com/react/documentation/api/pivotview/conditionalFormatSettings/#measure): Specifies the value field name for which style will be applied. * [conditions](https://ej2.syncfusion.com/react/documentation/api/pivotview/conditionalFormatSettings/#conditions): Defines the operator type used for conditional formatting, such as equals, greater than, less than, etc. * [value1](https://ej2.syncfusion.com/react/documentation/api/pivotview/conditionalFormatSettings/#value1): Specifies the starting value for the conditional formatting. * [value2](https://ej2.syncfusion.com/react/documentation/api/pivotview/conditionalFormatSettings/#value2): Specifies the ending value for the conditional formatting range. This property is applicable only for conditions like **Between** and **NotBetween**. * [style](https://ej2.syncfusion.com/react/documentation/api/pivotview/conditionalFormatSettings/#style): Specifies the custom styling applied to the cell. -The available style properties in [style](https://ej2.syncfusion.com/react/documentation/api/pivotview/conditionalFormatSettings/#style), to set in value cells are: +The [style](https://ej2.syncfusion.com/react/documentation/api/pivotview/style/) object includes the following properties, which you can use to customize the appearance of value cells: + +* [backgroundColor](https://ej2.syncfusion.com/react/documentation/api/pivotview/style/#backgroundcolor): It allows to set the background color to the value cell in the Pivot Table. +* [color](https://ej2.syncfusion.com/react/documentation/api/pivotview/style/#color): It allows to set the font color to the value cell in the Pivot Table. +* [fontFamily](https://ej2.syncfusion.com/react/documentation/api/pivotview/style/#fontfamily): It allows to set the font family to the value cell in the Pivot Table. +* [fontSize](https://ej2.syncfusion.com/react/documentation/api/pivotview/style/#fontsize): It allows to set the font size to the value cell in the Pivot Table. -* [backgroundColor](https://ej2.syncfusion.com/react/documentation/api/pivotview/style/#backgroundcolor): It allows to set the background color to the value cell in the pivot table. -* [color](https://ej2.syncfusion.com/react/documentation/api/pivotview/style/#color): It allows to set the font color to the value cell in the pivot table. -* [fontFamily](https://ej2.syncfusion.com/react/documentation/api/pivotview/style/#fontfamily): It allows to set the font family to the value cell in the pivot table. -* [fontSize](https://ej2.syncfusion.com/react/documentation/api/pivotview/style/#fontsize): It allows to set the font size to the value cell in the pivot table. +## Opening conditional formatting dialog programmatically -Meanwhile, user can also view conditional formatting dialog in UI by invoking [showConditionalFormattingDialog](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showconditionalformattingdialog) method on an external button click which is shown in the below code sample. +Users can also access the conditional formatting dialog through external UI elements by calling the [showConditionalFormattingDialog](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showconditionalformattingdialog) method. In the following example, an external button is used to open the conditional formatting dialog programmatically. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -70,11 +74,13 @@ Meanwhile, user can also view conditional formatting dialog in UI by invoking [s {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs17" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs17" %} ## Conditional formatting for all fields -Allows end user to apply conditional formatting commonly for all value fields just by ignoring the [measure](https://ej2.syncfusion.com/react/documentation/api/pivotview/conditionalFormatSettings/#measure) property and setting rest of the properties in [conditionalFormatSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#conditionalformatsettings). +The Pivot Table component allows you to apply conditional formatting to all value fields simultaneously. This approach ensures consistent highlighting and styling of value cells across the entire Pivot Table, removing the need to configure formatting for each value field individually. + +To format all value fields together, use the [conditionalFormatSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#conditionalformatsettings) property without specifying the [measure](https://ej2.syncfusion.com/react/documentation/api/pivotview/conditionalFormatSettings/#measure) property. When the [measure](https://ej2.syncfusion.com/react/documentation/api/pivotview/conditionalFormatSettings/#measure) property is omitted, the formatting rules are automatically applied to every value field in your Pivot Table, resulting in a uniform appearance for all value cells. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -91,11 +97,11 @@ Allows end user to apply conditional formatting commonly for all value fields ju {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs18" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs18" %} ## Conditional formatting for specific value field -Allows end user to apply conditional formatting to a specific value field by setting the [measure](https://ej2.syncfusion.com/react/documentation/api/pivotview/conditionalFormatSettings/#measure) property with specific value field name in [conditionalFormatSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#conditionalformatsettings). +To apply conditional formatting exclusively to a particular value field, set the [measure](https://ej2.syncfusion.com/react/documentation/api/pivotview/conditionalFormatSettings/#measure) property with the specific value field name in [conditionalFormatSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#conditionalformatsettings). {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -112,11 +118,11 @@ Allows end user to apply conditional formatting to a specific value field by set {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs19" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs19" %} ## Editing and removing existing conditional format -Editing and removing existing conditional format can be done through the UI at runtime. To do so, open the conditional formatting dialog and edit the "Value", "Condition" and "Format" options based on user requirement and click "OK". To remove a conditional format, click the "Delete" icon besides the respective condition. +Editing and removing existing conditional format can be done through the UI at runtime. To do so, open the conditional formatting dialog and edit the "Value", "Condition" and "Format" options based on user requirement and click "OK". To remove a conditional format, click the "Delete" icon besides the respective condition. ![output](images/cformatting_remove.png) @@ -124,15 +130,15 @@ Editing and removing existing conditional format can be done through the UI at r ### ConditionalFormatting -The event [conditionalFormatting](https://ej2.syncfusion.com/react/documentation/api/pivotview/#conditionalformatting) is triggered initially while clicking the “ADD CONDITION” button inside the conditional formatting dialog in-order to fill user specific condition instead of default condition at runtime. To use this event, [allowConditionalFormatting](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowconditionalformatting) property in PivotView must be set to **true**. It has following parameters - +The [conditionalFormatting](https://ej2.syncfusion.com/react/documentation/api/pivotview/#conditionalformatting) event is triggered when the “ADD CONDITION” button is clicked in the conditional formatting dialog, enabling users to define custom conditions instead of default conditions at runtime. To utilize this event, the [allowConditionalFormatting](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowconditionalformatting) property of the Pivot Table component must be set to **true**. This event provides the following parameters: -* `applyGrandTotals` - Allows to apply conditional formatting to the grand totals of row and column axis in the pivot table. +* `applyGrandTotals` - Allows to apply conditional formatting to the grand totals of row and column axis in the Pivot Table. * `conditions` - Allows you to choose the operator type such as equals, greater than, less than, etc. for conditional formatting. * `label` - Allows to set the header text of a specific row/column field to apply conditional formatting. * `measure` - Allows to set the value field name to apply conditional formatting. -* `style` - Allows to set the custom styles for the formatting applied values in the pivot table. -* `value1` - Allows you to set the start value for applying conditional formatting. -* `value2` - Allows you to set the end value for applying conditional formatting. This property is applicable only for conditions like **Between** and **NotBetween**. +* `style` - Allows to set the custom styles for the formatting applied values in the Pivot Table. +* `value1` - Allows to set the start value for applying conditional formatting. +* `value2` - Allows to set the end value for applying conditional formatting. This property is applicable only for conditions like **Between** and **NotBetween**. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -149,7 +155,7 @@ The event [conditionalFormatting](https://ej2.syncfusion.com/react/documentation {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs20" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs20" %} ## See Also diff --git a/ej2-react/pivotview/connecting-to-data-source/elasticsearch.md b/ej2-react/pivotview/connecting-to-data-source/elasticsearch.md index 89bb47fc9..6eb16465a 100644 --- a/ej2-react/pivotview/connecting-to-data-source/elasticsearch.md +++ b/ej2-react/pivotview/connecting-to-data-source/elasticsearch.md @@ -1,96 +1,126 @@ --- -title: "Elasticsearch Data Binding in React Pivotview component | Syncfusion" +layout: post +title: "Elasticsearch Data Binding in React Pivot Table | Syncfusion" component: "Pivot Table" -platform: ej2-React -description: "Learn how to bind data from a Elasticsearch database in the Syncfusion React Pivot Table of Syncfusion Essential JS 2 and more." +platform: ej2-react +description: "Learn how to bind data from an Elasticsearch database in the Syncfusion React Pivot Table of Syncfusion Essential JS 2 and more." +control: Elasticsearch Data Binding +documentation: ug --- -# Elasticsearch in EJ2 React Pivotview Component +# Elasticsearch in EJ2 React Pivot Table Component -This section describes how to retrieve data from Elasticsearch database using [Nest](https://www.nuget.org/packages/Nest) library and bind it to the Pivot Table via a Web API controller. +This guide explains how to connect an Elasticsearch database to the Pivot Table component using the [NEST](https://www.nuget.org/packages/Nest) library and a Web API controller to fetch and bind data to the Pivot Table. ## Create a Web API service to fetch Elasticsearch data -**1.** Open Visual Studio and create an ASP.NET Core Web App project type, naming it **MyWebService**. To create an ASP.NET Core Web application, follow the document [link](https://learn.microsoft.com/en-us/visualstudio/get-started/csharp/tutorial-aspnet-core?view=vs-2022). +Follow these steps to create a Web API service that retrieves data from an Elasticsearch database and prepares it for the Pivot Table. + +### Step 1: Create an ASP.NET Core Web Application +1. Open Visual Studio and create a new **ASP.NET Core Web App** project named **MyWebService**. +2. Follow the instructions in the [Microsoft documentation](https://learn.microsoft.com/en-us/visualstudio/get-started/csharp/tutorial-aspnet-core?view=vs-2022) to set up the project. ![Create ASP.NET Core Web App project](../images/azure-asp-core-web-service-create.png) -**2.** To connect a Elasticsearch Server using the **NEST** in our application, we need to install the [NEST](https://www.nuget.org/packages/NEST/) NuGet package. To do so, open the NuGet package manager of the project solution, search for the package **NEST** and install it. +### Step 2: Install the NEST NuGet Package +1. Open the **NuGet Package Manager** in your project solution. +2. Search for the **NEST** package and install it to enable connectivity with the Elasticsearch server. -![Add the NuGet package "NEST" to the project](../images/next-nuget-package-install.png) +![Add the NuGet package NEST to the project](../images/next-nuget-package-install.png) -**3.** Create a Web API controller (aka, PivotController.cs) file under **Controllers** folder that helps to establish data communication with the Pivot Table. +### Step 3: Create a Web API Controller +1. In the **Controllers** folder, create a new Web API controller named **PivotController.cs**. +2. This controller will facilitate data communication between the Elasticsearch database and the Pivot Table. -**4.** In the Web API controller (aka, PivotController), **ElasticClient** helps to connect the Elasticsearch database. Next, using **Search** method you can query your Elasticsearch index and retrieve results from the database. +### Step 4: Configure Elasticsearch Connection +1. In the **PivotController.cs** file, use the **ElasticClient** class from the NEST library to establish a connection to the Elasticsearch database. +2. Use the **Search** method to query an Elasticsearch index and retrieve data. -**5.** In the **Get()** method of the **PivotController.cs** file, the **FetchElasticsearchData** method is used to retrieve the Elasticsearch data, which is then serialized into JSON using **JsonConvert.SerializeObject()**. +### Step 5: Implement Data Retrieval Logic +1. In the **PivotController.cs** file, define a **Get()** method that calls the **FetchElasticsearchData** method to retrieve data from Elasticsearch. +2. Serialize the retrieved data into JSON format using **JsonConvert.SerializeObject()**. -```csharp - using Microsoft.AspNetCore.Mvc; - using Nest; - using Newtonsoft.Json; +Here’s the sample code for the **PivotController.cs** file: - namespace MyWebService.Controllers +```csharp +using Microsoft.AspNetCore.Mvc; +using Nest; +using Newtonsoft.Json; + +namespace MyWebService.Controllers +{ + [ApiController] + [Route("[controller]")] + public class PivotController : ControllerBase { - [ApiController] - [Route("[controller]")] - public class PivotController : ControllerBase + [HttpGet(Name = "GetElasticSearchData")] + public object Get() { - [HttpGet(Name = "GetElasticSearchData")] - public object Get() - { - return JsonConvert.SerializeObject(FetchElasticsearchData()); - } - - private static object FetchElasticsearchData() - { - // Replace with your own connection string. - var connectionString = ""; - var uri = new Uri(connectionString); - var connectionSettings = new ConnectionSettings(uri); - var client = new ElasticClient(connectionSettings); - var searchResponse = client.Search(s => s - .Index("product") - .Size(1000) - ); - return searchResponse.Documents; - } + return JsonConvert.SerializeObject(FetchElasticsearchData()); } - } + private static object FetchElasticsearchData() + { + // Replace with your Elasticsearch connection string. + var connectionString = ""; + var uri = new Uri(connectionString); + var connectionSettings = new ConnectionSettings(uri); + var client = new ElasticClient(connectionSettings); + var searchResponse = client.Search(s => s + .Index("product") + .Size(1000) + ); + return searchResponse.Documents; + } + } +} ``` -**6.** Run the web application and it will be hosted within the URL `https://localhost:44323`. +### Step 6: Run the Web Application +1. Build and run the web application. +2. The application will be hosted at the URL `https://localhost:44323`. -**7.** Finally, the retrieved data from Elasticsearch database which is in the form of JSON can be found in the Web API controller available in the URL link `https://localhost:44323/Pivot`, as shown in the browser page below. +### Step 7: Verify the Data +1. Access the Web API endpoint at `https://localhost:44323/Pivot` to view the JSON data retrieved from the Elasticsearch database. +2. The browser will display the JSON data, as shown below. ![Hosted Web API URL](../images/elasticsearch-data.png) -## Connecting the Pivot Table to a Elasticsearch database using the Web API service +## Connecting the Pivot Table to an Elasticsearch Database Using the Web API Service -**1.** Create a simple React Pivot Table by following the **"Getting Started"** documentation [link](../getting-started). +This section explains how to connect the Pivot Table component to an Elasticsearch database by retrieving data from the Web API service created in the previous section. -**2.** Map the hosted Web API's URL link `https://localhost:44323/Pivot` to the Pivot Table component in **app.ts** by using the [url](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url) property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). +### Step 1: Create a Pivot Table in React +1. Set up a basic React Pivot Table by following the [Getting Started](../getting-started) documentation. +2. Ensure your React project is configured with the necessary EJ2 Pivot Table dependencies. -```typescript - import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; - import * as React from 'react'; - import './App.css'; +### Step 2: Configure the Web API URL in the Pivot Table +1. In the **App.tsx** or **App.jsx** file, map the Web API URL (`https://localhost:44323/Pivot`) to the Pivot Table using the [url](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url) property within the [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). +2. Below is the sample code to configure the Pivot Table to fetch data from the Web API: - function App() { - let dataSourceSettings = { - url: 'https://localhost:44323/pivot', - //Other codes here... - }; +```typescript +import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; +import * as React from 'react'; +import './App.css'; - return ( - ); - }; - export default App; +function App() { + let dataSourceSettings = { + url: 'https://localhost:44323/Pivot' + // Additional configuration will be added in the next step + }; + return ( + ); +}; +export default App; ``` -**3.** Frame and set the report based on the data retrieved from the Elasticsearch database. +### Step 3: Define the Pivot Table Report +1. Configure the Pivot Table report in the **App.tsx** or **App.jsx** file to structure the data retrieved from the Elasticsearch database. +2. Add fields to the [rows](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#rows), [columns](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#columns), [values](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#values), and [filters](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#filters) properties of [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) to define the report structure, specifying how data fields are organized and aggregated in the Pivot Table. +3. Enable the field list by setting the [showFieldList](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showfieldlist) property to **true** and including the `FieldList` module in the services section. This allows users to dynamically add or rearrange fields across the columns, rows, and values axes using an interactive user interface. + +Here’s the updated sample code for **App.jsx** with the report configuration and field list support: ```typescript import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; @@ -99,14 +129,20 @@ import './App.css'; function App() { let dataSourceSettings = { - url: 'https://localhost:44323/Pivot', - expandAll: false, - enableSorting: true, - columns: [{ name: 'Product' }], - values: [{ name: 'Quantity' }, { name: 'Amount', caption: 'Sold Amount' }], - rows: [{ name: 'Country' }, { name: 'State' }], - formatSettings: [{ name: 'Amount', format: 'C0' }], - filters: [] + url: 'https://localhost:44323/Pivot', + expandAll: false, + enableSorting: true, + columns: [{ name: 'Product' }], + values: [ + { name: 'Quantity' }, + { name: 'Amount', caption: 'Sold Amount' } + ], + rows: [ + { name: 'Country' }, + { name: 'State' } + ], + formatSettings: [{ name: 'Amount', format: 'C0' }], + filters: [] }; return ( @@ -116,8 +152,12 @@ export default App; ``` -When you run the sample, the resulting pivot table will look like this: +### Step 4: Run and Verify the Pivot Table +1. Run the React application. +2. The Pivot Table will display the data fetched from the Elasticsearch database via the Web API, structured according to the defined report. +3. The resulting Pivot Table will look like this: -![PivotTable bound with Elasticsearch database](../images/elasticsearch-data-binding.png) +![Pivot Table bound with Elasticsearch database](../images/elasticsearch-data-binding.png) -> Explore our React Pivot Table sample and ASP.NET Core Web Application to extract data from a Elasticsearch database and bind to the Pivot Table in [this](https://github.com/SyncfusionExamples/how-to-bind-Elasticsearch-database-to-pivot-table) GitHub repository. \ No newline at end of file +### Additional Resources +Explore a complete example of the React Pivot Table integrated with an ASP.NET Core Web Application to fetch data from an Elasticsearch database in this [GitHub](https://github.com/SyncfusionExamples/how-to-bind-Elasticsearch-database-to-pivot-table) repository. \ No newline at end of file diff --git a/ej2-react/pivotview/connecting-to-data-source/microsoft-sql-server.md b/ej2-react/pivotview/connecting-to-data-source/microsoft-sql-server.md index 9a571318e..ddf5d3bd3 100644 --- a/ej2-react/pivotview/connecting-to-data-source/microsoft-sql-server.md +++ b/ej2-react/pivotview/connecting-to-data-source/microsoft-sql-server.md @@ -1,147 +1,178 @@ --- -title: "Microsoft SQL Server Data Binding in React Pivotview component | Syncfusion" -component: "Pivot Table" -description: "Learn how to bind Microsoft SQL Server Database data in the Syncfusion React Pivotview component of Syncfusion Essential JS 2 and more." +layout: post +title: Microsoft SQL Server Data Binding in React Pivot Table | Syncfusion +description: Learn how to bind Microsoft SQL Server Database data in the Syncfusion React Pivot Table component of Syncfusion Essential JS 2 and more. +platform: ej2-react +control: Microsoft SQL Server Data Binding +documentation: ug +domainurl: ##DomainURL## --- -# Microsoft SQL Server in EJ2 React Pivotview Component +# Microsoft SQL Server in EJ2 React Pivot Table Component This section describes how to retrieve data from SQL Server database using [Microsoft SqlClient](https://learn.microsoft.com/en-us/dotnet/api/system.data.sqlclient?view=dotnet-plat-ext-7.0) and bind it to the Pivot Table via a Web API controller. -## Steps to connect the SQL Server database via Web API application +## Steps to Connect the SQL Server Database via Web API Application -**1.** Download the ASP.NET Core Web Application from [this](https://github.com/SyncfusionExamples/how-to-bind-SQL-database-to-pivot-table) GitHub repository. +### Step 1: Download the Sample Application +Download the ASP.NET Core Web Application from this [GitHub](https://github.com/SyncfusionExamples/how-to-bind-SQL-database-to-pivot-table) repository. -**2.** The application named as **PivotController** (server-side) that is downloaded from the above GitHub repository includes the following files. +### Step 2: Understand the Application Structure +The application named **PivotController** (server-side) that is downloaded from the above GitHub repository includes the following files: -* **PivotController.cs** file under **Controllers** folder – This helps to do data communication with Pivot Table. -* **Database1.mdf** file under **App_Data** folder – This MDF (Master Database File) file contains example data. +- **PivotController.cs** file under **Controllers** folder – This helps to do data communication with Pivot Table. +- **Database1.mdf** file under **App_Data** folder – This MDF (Master Database File) file contains example data. -**3.** In the Web API controller (aka, PivotController), **SqlConnection** helps to connect the SQL database (that is, Database1.mdf). Next, using **SqlCommand** and **SqlDataAdapter** you can process the desired SQL query string and retrieve data from the database. The **Fill** method of the DataAdapter is used to populate the SQL data into a **DataTable** as shown in the following code snippet. +### Step 3: Connect to SQL Server and Retrieve Data +In the **PivotController.cs** file, the [Microsoft SqlClient](https://learn.microsoft.com/en-us/dotnet/api/system.data.sqlclient?view=dotnet-plat-ext-7.0) library is used to connect to a Microsoft SQL Server database and retrieve data for the Pivot Table. - ```csharp - using Microsoft.AspNetCore.Mvc; - using System.Data; - using System.Data.SqlClient; +1. **Establish Connection**: Use **SqlConnection** with a valid connection string to connect to the SQL Server database (e.g., **Database1.mdf**). +2. **Query and Fetch Data**: Execute a SQL query (e.g., `SELECT * FROM table1`) using **SqlCommand** to retrieve data for the Pivot Table. +3. **Structure the Data**: Use the **Fill** method of **SqlDataAdapter** to populate query results into a **DataTable** for JSON serialization. - namespace PivotController.Controllers +```csharp +using Microsoft.AspNetCore.Mvc; +using System.Data; +using System.Data.SqlClient; + +namespace PivotController.Controllers +{ + [ApiController] + [Route("[controller]")] + public class PivotController : ControllerBase { - [ApiController] - [Route("[controller]")] - public class PivotController : ControllerBase + private static DataTable FetchSQLResult() { - private static DataTable FetchSQLResult() - { - string conSTR = @""; - string xquery = "SELECT * FROM table1"; - SqlConnection sqlConnection = new(conSTR); - sqlConnection.Open(); - SqlCommand cmd = new(xquery, sqlConnection); - SqlDataAdapter dataAdapter = new(cmd); - DataTable dataTable = new(); - dataAdapter.Fill(dataTable); - return dataTable; - } + string conSTR = @""; + string xquery = "SELECT * FROM table1"; + SqlConnection sqlConnection = new(conSTR); + sqlConnection.Open(); + SqlCommand cmd = new(xquery, sqlConnection); + SqlDataAdapter dataAdapter = new(cmd); + DataTable dataTable = new(); + dataAdapter.Fill(dataTable); + return dataTable; } } +} +``` + +> Replace `` with the actual connection string for your SQL Server database. - ``` +### Step 4: Serialize Data to JSON +In the **PivotController.cs** file, define a **Get** method that calls **FetchSQLResult** to retrieve data from the SQL Server database as a **DataTable**. Then, use **JsonConvert.SerializeObject** from the **Newtonsoft.Json** library to convert the **DataTable** into JSON format. This JSON data will be consumed by the Pivot Table component. -**4.** In the **Get()** method of the **PivotController.cs** file, the **FetchSQLResult** method is used to retrieve the SQL data as a **DataTable**, which is then serialized into JSON using **JsonConvert.SerializeObject()**. +> Ensure the **Newtonsoft.Json** NuGet package is installed in your project to use **JsonConvert**. - ```csharp - using Microsoft.AspNetCore.Mvc; - using Newtonsoft.Json; - using System.Data; - using System.Data.SqlClient; +```csharp +using Microsoft.AspNetCore.Mvc; +using Newtonsoft.Json; +using System.Data; +using System.Data.SqlClient; - namespace PivotController.Controllers +namespace PivotController.Controllers +{ + [ApiController] + [Route("[controller]")] + public class PivotController : ControllerBase { - [ApiController] - [Route("[controller]")] - public class PivotController : ControllerBase + [HttpGet(Name = "GetSQLResult")] + public object Get() + { + return JsonConvert.SerializeObject(FetchSQLResult()); + } + + private static DataTable FetchSQLResult() { - [HttpGet(Name = "GetSQLResult")] - public object Get() - { - return JsonConvert.SerializeObject(FetchSQLResult()); - } - - private static DataTable FetchSQLResult() - { - string conSTR = @""; - string xquery = "SELECT * FROM table1"; - SqlConnection sqlConnection = new(conSTR); - sqlConnection.Open(); - SqlCommand cmd = new(xquery, sqlConnection); - SqlDataAdapter dataAdapter = new(cmd); - DataTable dataTable = new(); - dataAdapter.Fill(dataTable); - return dataTable; - } + string conSTR = @""; + string xquery = "SELECT * FROM table1"; + SqlConnection sqlConnection = new(conSTR); + sqlConnection.Open(); + SqlCommand cmd = new(xquery, sqlConnection); + SqlDataAdapter dataAdapter = new(cmd); + DataTable dataTable = new(); + dataAdapter.Fill(dataTable); + return dataTable; } } +} +``` - ``` +### Step 5: Run the Web API Application +1. Build and run the **PivotController** application. +2. The application will be hosted at `https://localhost:7139/` (the port number may vary depending on your configuration). -**5.** Run the web application (aka, PivotController) and it will be hosted within the URL `https://localhost:7139`. +### Step 6: Access the JSON Data +1. Access the Web API endpoint at `https://localhost:7139/pivot` to view the JSON data retrieved from the SQL Server database. +2. The browser will display the JSON data, as shown below, ready to be used by the Pivot Table. -**6.** Finally, the retrieved data from SQL Server which is in the form of JSON can be found in the Web API controller available in the URL link `https://localhost:7139/pivot`, as shown in the browser page below. +![Hosted Web API URL](../images/code-web-app.jpeg) - ![Hosted Web API URL](../images/code-web-app.png) +## Connecting the Pivot Table to the Hosted Web API URL -## Connecting the Pivot Table to the hosted Web API URL +This section explains how to connect the Pivot Table component to a Microsoft SQL Server database by retrieving data from the Web API service created in the previous section. -**1.** Download the react Pivot Table sample from [this](https://github.com/SyncfusionExamples/how-to-bind-SQL-database-to-pivot-table) GitHub repository. +### Step 1: Set Up the React Pivot Table +1. Download the React Pivot Table sample from the [GitHub](https://github.com/SyncfusionExamples/how-to-bind-SQL-database-to-pivot-table) repository. +2. Ensure your React project is configured with the necessary EJ2 Pivot Table dependencies by following the [Getting Started](https://ej2.syncfusion.com/react/documentation/pivotview/getting-started) documentation. -**2.** Next, map the hosted Web API's URL link `https://localhost:7139/pivot` to the Pivot Table component in **app.ts** by using the [url](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url) property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). +### Step 2: Configure the Web API URL in the Pivot Table +1. In the **App.tsx** or **App.jsx** file, configure the Pivot Table to use the hosted Web API URL (`https://localhost:7139/pivot`) by setting the [url](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url) property within the [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) object. +2. Below is the sample code to configure the Pivot Table to fetch data from the Web API: - ```typescript - import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; - import * as React from 'react'; - import './App.css'; +```typescript +import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; +import * as React from 'react'; +import './App.css'; - function App() { +function App() { let dataSourceSettings = { - url: 'https://localhost:7139/pivot', + url: 'https://localhost:7139/pivot' //Other codes here... }; return ( ); - }; - export default App; +}; +export default App; +``` - ``` +### Step 3: Define the Pivot Table Report +1. Configure the Pivot Table report in the **App.tsx** or **App.jsx** file to structure the data retrieved from the SQL Server database. +2. Add fields to the [rows](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#rows), [columns](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#columns), [values](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#values), and [filters](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#filters) properties of [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) to define how data fields are organized and aggregated in the Pivot Table. +3. Enable the field list by setting the [showFieldList](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showfieldlist) property to **true** and including the `FieldList` module in the services section. This allows users to dynamically add or rearrange fields across the columns, rows, and values axes using an interactive user interface. -**3.** Frame and set the report based on the data retrieved from the SQL database. +Here’s the updated sample code for **App.jsx** with the report configuration and field list support: - ```typescript - import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; - import * as React from 'react'; - import './App.css'; +```typescript +import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; +import * as React from 'react'; +import './App.css'; - function App() { +function App() { let dataSourceSettings = { - url: 'https://localhost:7139/pivot', - enableSorting: true, - expandAll: false, - columns: [{ name: 'Product' }], - values: [{ name: 'Quantity' }, { name: 'Amount', caption: 'Sold Amount' }], - rows: [{ name: 'Country' }, { name: 'State' }], - formatSettings: [{ name: 'Amount', format: 'C0' }], - filters: [] + url: 'https://localhost:7139/pivot', + enableSorting: true, + expandAll: false, + columns: [{ name: 'Product' }], + values: [{ name: 'Quantity' }, { name: 'Amount', caption: 'Sold Amount' }], + rows: [{ name: 'Country' }, { name: 'State' }], + formatSettings: [{ name: 'Amount', format: 'C0' }], + filters: [] }; return ( ); - }; - export default App; - - ``` +}; +export default App; +``` -**4.** Run the sample to get the following result. +### Step 4: Run and Verify the Pivot Table +1. Run the React application. +2. The Pivot Table will display the data fetched from the SQL Server database via the Web API, structured according to the defined report. +3. The resulting Pivot Table will look like this: - ![PivotTable bound with SQL database](../images/sql-data-binding.png) +![Pivot Table bound with SQL database](../images/sql-data-binding.png) -> The sample for connecting the Pivot Table to a SQL Server database via an ASP.NET Web application can be found in [this](https://github.com/SyncfusionExamples/how-to-bind-SQL-database-to-pivot-table) GitHub repository. \ No newline at end of file +### Additional Resources +Explore a complete example of the React Pivot Table integrated with an ASP.NET Core Web Application to fetch data from a SQL Server database in the [GitHub](https://github.com/SyncfusionExamples/how-to-bind-SQL-database-to-pivot-table) repository. \ No newline at end of file diff --git a/ej2-react/pivotview/connecting-to-data-source/mongodb.md b/ej2-react/pivotview/connecting-to-data-source/mongodb.md index e68233456..41328a705 100644 --- a/ej2-react/pivotview/connecting-to-data-source/mongodb.md +++ b/ej2-react/pivotview/connecting-to-data-source/mongodb.md @@ -1,147 +1,181 @@ --- -title: "MongoDB Data Binding in React Pivotview component | Syncfusion" +layout: post +title: "MongoDB Data Binding in React Pivot Table component | Syncfusion" component: "Pivot Table" -platform: ej2-React +platform: ej2-react description: "Learn how to bind data from a MongoDB Database in the Syncfusion React Pivot Table of Syncfusion Essential JS 2 and more." +control: MongoDB Data Binding +documentation: ug --- -# MongoDB in EJ2 React Pivotview Component +# MongoDB in EJ2 React Pivot Table Component -This section describes how to consume data from MongoDB database using [MongoDB Driver](https://www.nuget.org/packages/MongoDB.Driver) and [MongoDB Bson](https://www.nuget.org/packages/MongoDB.Bson) libraries and bind it to the Pivot Table via a Web API controller. +This guide explains how to retrieve data from a MongoDB database using the [MongoDB.Driver](https://www.nuget.org/packages/MongoDB.Driver) and [MongoDB.Bson](https://www.nuget.org/packages/MongoDB.Bson) libraries and bind it to the Pivot Table through a Web API controller. -## Create a Web API service to fetch MongoDB data +## Creating a Web API Service to Fetch MongoDB Data -**1.** Open Visual Studio and create an ASP.NET Core Web App project type, naming it **MyWebService**. To create an ASP.NET Core Web application, follow the document [link](https://learn.microsoft.com/en-us/visualstudio/get-started/csharp/tutorial-aspnet-core?view=vs-2022). +Follow these steps to create a Web API service that retrieves data from a MongoDB database and prepares it for the Pivot Table. + +### Step 1: Create an ASP.NET Core Web Application +1. Open Visual Studio and create a new **ASP.NET Core Web App** project named **MyWebService**. +2. Follow the official [Microsoft documentation](https://learn.microsoft.com/en-us/visualstudio/get-started/csharp/tutorial-aspnet-core?view=vs-2022) for detailed instructions on creating an ASP.NET Core Web application. ![Create ASP.NET Core Web App project](../images/azure-asp-core-web-service-create.png) -**2.** To connect a MongoDB Server using the **MongoDB.Driver** and **MongoDB.Bson** in our application, we need to install the [MongoDB.Driver](https://www.nuget.org/packages/MongoDB.Driver/) NuGet package. To do so, open the NuGet package manager of the project solution, search for the package **MongoDB.Driver** and install it. +### Step 2: Install the MongoDB NuGet Packages +To enable MongoDB database connectivity: +1. Open the **NuGet Package Manager** in your project solution and search for the packages [MongoDB.Driver](https://www.nuget.org/packages/MongoDB.Driver/) and [MongoDB.Bson](https://www.nuget.org/packages/MongoDB.Bson). +2. Install both packages to add MongoDB support. -![Add the NuGet package "MongoDB.Driver" to the project](../images/mongodb-data-nuget-package-install.png) +![Add the NuGet package MongoDB.Driver to the project](../images/mongodb-data-nuget-package-install.png) -**3.** Create a Web API controller (aka, PivotController.cs) file under **Controllers** folder that helps to establish data communication with the Pivot Table. +### Step 3: Create a Web API Controller +1. Under the **Controllers** folder, create a new Web API controller named **PivotController.cs**. +2. This controller facilitates data communication between the MongoDB database and the Pivot Table. -**4.** In the Web API controller (aka, PivotController), **MongoClient** helps to connect the MongoDB database. Next, using the **GetDatabase** and **GetCollection** methods, you can retrieve data from the database. The **Find** method of the **IMongoDatabase** is used to populate the retrieved data into a **List**, as shown in the following code snippet. +### Step 4: Connect to MongoDB and Retrieve Data +In the **PivotController.cs** file, use the [MongoDB.Driver](https://www.nuget.org/packages/MongoDB.Driver/) and [MongoDB.Bson](https://www.nuget.org/packages/MongoDB.Bson) libraries to connect to a MongoDB database and retrieve data for the Pivot Table. -```csharp - using Microsoft.AspNetCore.Mvc; - using Newtonsoft.Json; - using MongoDB.Driver; - using MongoDB.Bson; +1. **Establish Connection**: Use **MongoClient** with a valid connection string (e.g., ``) to connect to the MongoDB database. +2. **Access the Database and Collection**: Use the **GetDatabase** method to access the specified database (e.g., `sample_training`) and the **GetCollection** method to target the desired collection (e.g., `ProductDetails`). +3. **Retrieve and Structure Data**: Use the **Find** method of the **IMongoCollection** interface with an empty **BsonDocument** to retrieve data from the collection. The **ToList** method then converts the retrieved data into a **List** for JSON serialization. - namespace MyWebService.Controllers +```csharp +using Microsoft.AspNetCore.Mvc; +using Newtonsoft.Json; +using MongoDB.Driver; +using MongoDB.Bson; + +namespace MyWebService.Controllers +{ + [ApiController] + [Route("[controller]")] + public class PivotController : ControllerBase { - [ApiController] - [Route("[controller]")] - public class PivotController : ControllerBase + private static List FetchMongoDbResult() + { + // Replace with your own connection string. + string connectionString = ""; + MongoClient client = new MongoClient(connectionString); + IMongoDatabase database = client.GetDatabase("sample_training"); + var collection = database.GetCollection("ProductDetails"); + return collection.Find(new BsonDocument()).ToList(); + } + public class ProductDetails { - private static List FetchMongoDbResult() - { - // Replace with your own connection string. - string connectionString = ""; - MongoClient client = new MongoClient(connectionString); - IMongoDatabase database = client.GetDatabase("sample_training"); - var collection = database.GetCollection("ProductDetails"); - return collection.Find(new BsonDocument()).ToList(); - } - public class ProductDetails - { - public ObjectId Id { get; set; } - public int Sold { get; set; } - public double Amount { get; set; } - public string? Country { get; set; } - public string? Products { get; set; } - public string? Year { get; set; } - public string? Quarter { get; set; } - } + public ObjectId Id { get; set; } + public int Sold { get; set; } + public double Amount { get; set; } + public string? Country { get; set; } + public string? Products { get; set; } + public string? Year { get; set; } + public string? Quarter { get; set; } } } - +} ``` -**5.** In the **Get()** method of the **PivotController.cs** file, the **FetchMongoDbResult()** method is used to retrieve the MongoDB data as a **List**, which is then serialized into JSON using **JsonConvert.SerializeObject()**. +### Step 5: Serialize Data to JSON +In the **PivotController.cs** file, define a **Get** method that calls **FetchMongoDbResult** to retrieve data from the MongoDB database as a **List**. Then, use **JsonConvert.SerializeObject** from the **Newtonsoft.Json** library to convert the **List** into JSON format. This JSON data will be used by the Pivot Table component. -```csharp - using Microsoft.AspNetCore.Mvc; - using Newtonsoft.Json; - using MongoDB.Bson; - using MongoDB.Driver; +> Ensure the **Newtonsoft.Json** NuGet package is installed in your project to use **JsonConvert**. - namespace MyWebService.Controllers +```csharp +using Microsoft.AspNetCore.Mvc; +using Newtonsoft.Json; +using MongoDB.Bson; +using MongoDB.Driver; + +namespace MyWebService.Controllers +{ + [ApiController] + [Route("[controller]")] + public class PivotController : ControllerBase { - [ApiController] - [Route("[controller]")] - public class PivotController : ControllerBase + [HttpGet(Name = "GetMongoDbResult")] + public object Get() { - [HttpGet(Name = "GetMongoDbResult")] - public object Get() - { - return JsonConvert.SerializeObject(FetchMongoDbResult()); - } - - private static List FetchMongoDbResult() - { - // Replace with your own connection string. - string connectionString = ""; - MongoClient client = new MongoClient(connectionString); - IMongoDatabase database = client.GetDatabase("sample_training"); - var collection = database.GetCollection("ProductDetails"); - return collection.Find(new BsonDocument()).ToList(); - } - public class ProductDetails - { - public ObjectId Id { get; set; } - public int Sold { get; set; } - public double Amount { get; set; } - public string? Country { get; set; } - public string? Products { get; set; } - public string? Year { get; set; } - public string? Quarter { get; set; } - } + return JsonConvert.SerializeObject(FetchMongoDbResult()); } - } + private static List FetchMongoDbResult() + { + // Replace with your own connection string. + string connectionString = ""; + MongoClient client = new MongoClient(connectionString); + IMongoDatabase database = client.GetDatabase("sample_training"); + var collection = database.GetCollection("ProductDetails"); + return collection.Find(new BsonDocument()).ToList(); + } + public class ProductDetails + { + public ObjectId Id { get; set; } + public int Sold { get; set; } + public double Amount { get; set; } + public string? Country { get; set; } + public string? Products { get; set; } + public string? Year { get; set; } + public string? Quarter { get; set; } + } + } +} ``` -**6.** Run the web application and it will be hosted within the URL `https://localhost:44346/`. +### Step 6: Run the Web API Service +1. Build and run the application. +2. The application will be hosted at `https://localhost:44346/` (the port number may vary based on your configuration). -**7.** Finally, the retrieved data from MongoDB database which is in the form of JSON can be found in the Web API controller available in the URL link `https://localhost:44346/Pivot`, as shown in the browser page below. +### Step 7: Access the JSON Data +1. Access the Web API endpoint at `https://localhost:44346/Pivot` to view the JSON data retrieved from the MongoDB database. +2. The browser will display the JSON data, as shown below. ![Hosted Web API URL](../images/mongodb-data.png) -## Connecting the Pivot Table to a MongoDB database using the Web API service - -**1.** Create a simple React Pivot Table by following the **"Getting Started"** documentation [link](../getting-started). +## Connecting the Pivot Table to a MongoDB Database Using the Web API Service -**2.** Map the hosted Web API's URL link `https://localhost:44346/Pivot` to the Pivot Table component in **app.ts** by using the [url](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url) property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). +This section explains how to connect the Pivot Table component to a MongoDB database by retrieving data from the Web API service created in the previous section. -```typescript - import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; - import * as React from 'react'; - import './App.css'; - - function App() { - let dataSourceSettings = { - url: 'https://localhost:44346/pivot', - //Other codes here... - }; +### Step 1: Create a Pivot Table in React +1. Set up a basic React Pivot Table by following the [Getting Started](../getting-started) documentation. +2. Ensure your React project is configured with the necessary EJ2 Pivot Table dependencies. - return ( - ); - }; - export default App; +### Step 2: Configure the Web API URL in the Pivot Table +1. In the **App.tsx** (or **App.jsx**) file, map the Web API URL (`https://localhost:44346/Pivot`) to the Pivot Table using the [url](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url) property within the [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). +2. Below is the sample code to configure the Pivot Table to fetch data from the Web API: +```typescript +import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; +import * as React from 'react'; +import './App.css'; + +function App() { + let dataSourceSettings = { + url: 'https://localhost:44346/Pivot' + // Additional configuration will be added in the next step + }; + + return ( + + ); +}; + +export default App; ``` -**3.** Frame and set the report based on the data retrieved from the MongoDB database. +### Step 3: Define the Pivot Table Report +1. Configure the Pivot Table report in the **App.tsx** (or **App.jsx**) file to structure the data retrieved from the MongoDB database. +2. Add fields to the [rows](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#rows), [columns](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#columns), [values](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#values), and [filters](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#filters) properties of [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) to define the report structure, specifying how data fields are organized and aggregated in the Pivot Table. +3. Enable the field list by setting the [showFieldList](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showfieldlist) property to **true** and including the `FieldList` module in the services section. This allows users to dynamically add or rearrange fields across the columns, rows, and values axes using an interactive user interface. + +Here’s the updated sample code for **App.jsx** with the report configuration and field list support: ```typescript - import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; - import * as React from 'react'; - import './App.css'; +import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; +import * as React from 'react'; +import './App.css'; - function App() { - let dataSourceSettings = { +function App() { + let dataSourceSettings = { url: 'https://localhost:44346/Pivot', enableSorting: true, columns: [ @@ -155,16 +189,22 @@ This section describes how to consume data from MongoDB database using [MongoDB { name: 'Country' }, { name: 'Products' } ] - }; + }; + + return ( + + ); +}; - return ( - ); - }; - export default App; +export default App; ``` -When you run the sample, the resulting pivot table will look like this: +### Step 4: Run and Verify the Pivot Table +1. Run the React application. +2. The Pivot Table will display the data fetched from the MongoDB database via the Web API, structured according to the defined report. +3. The resulting Pivot Table will look like this: ![PivotTable bound with MongoDB database](../images/mongodb-data-binding.png) -> Explore our React Pivot Table sample and ASP.NET Core Web Application to extract data from a MongoDB database and bind to the Pivot Table in [this](https://github.com/SyncfusionExamples/how-to-bind-MongoDB-to-pivot-table) GitHub repository. \ No newline at end of file +### Additional Resources +Explore a complete example of the React Pivot Table integrated with an ASP.NET Core Web Application to fetch data from a MongoDB database in this [GitHub](https://github.com/SyncfusionExamples/how-to-bind-MongoDB-to-pivot-table) repository. \ No newline at end of file diff --git a/ej2-react/pivotview/connecting-to-data-source/mysql.md b/ej2-react/pivotview/connecting-to-data-source/mysql.md index 51c0b9d46..9fce97460 100644 --- a/ej2-react/pivotview/connecting-to-data-source/mysql.md +++ b/ej2-react/pivotview/connecting-to-data-source/mysql.md @@ -1,26 +1,44 @@ --- -title: "MySQL Data Binding in React Pivotview component | Syncfusion" +layout: post +title: "MySQL Data Binding in React Pivot Table component | Syncfusion" component: "Pivot Table" +platform: ej2-react description: "Learn how to bind data from a MySQL database in the Syncfusion React Pivot Table of Syncfusion Essential JS 2 and more." +control: MySQL Data Binding +documentation: ug --- -# MySQL in EJ2 React Pivotview Component +# MySQL in EJ2 React Pivot Table Component -This section describes how to retrieve data from a MySQL database using [MySqlClient](https://mysqlclient.readthedocs.io/) and bind it to the Pivot Table via a Web API controller. +This guide explains how to retrieve data from a MySQL database using the [MySqlClient](https://mysqlclient.readthedocs.io/) library and bind it to the Pivot Table through a Web API controller. -## Create a Web API service to fetch MySQL data +## Creating a Web API Service to Fetch MySQL Data -**1.** Open Visual Studio and create an ASP.NET Core Web App project type, naming it **MyWebService**. To create an ASP.NET Core Web application, follow the document [link](https://learn.microsoft.com/en-us/visualstudio/get-started/csharp/tutorial-aspnet-core?view=vs-2022). +Follow these steps to create a Web API service that retrieves data from a MySQL database and prepares it for the Pivot Table. + +### Step 1: Create an ASP.NET Core Web Application +1. Open Visual Studio and create a new **ASP.NET Core Web App** project named **MyWebService**. +2. Follow the official [Microsoft documentation](https://learn.microsoft.com/en-us/visualstudio/get-started/csharp/tutorial-aspnet-core?view=vs-2022) for detailed instructions on creating an ASP.NET Core Web application. ![Create ASP.NET Core Web App project](../images/azure-asp-core-web-service-create.png) -**2.** To connect a MySQL Server using the **MySqlClient** in our application, we need to install the [MySql.Data](https://www.nuget.org/packages/MySql.Data) NuGet package. To do so, open the NuGet package manager of the project solution, search for the package **MySql.Data** and install it. +### Step 2: Install the MySql.Data NuGet Package +To enable MySQL database connectivity in your application: +1. Open the **NuGet Package Manager** in your project solution and search for **MySql.Data**. +2. Install the **MySql.Data** package to add MySQL database support. + +![Add the NuGet package MySql.Data to the project](../images/mysql-data-nuget-package-install.png) -![Add the NuGet package "MySql.Data" to the project](../images/mysql-data-nuget-package-install.png) +### Step 3: Create a Web API Controller +1. In the **Controllers** folder, create a new file named **PivotController.cs**. +2. This controller will handle data communication between the MySQL database and the Pivot Table. -**3.** Create a Web API controller (aka, PivotController.cs) file under **Controllers** folder that helps to establish data communication with the Pivot Table. +### Step 4: Connect to MySQL and Retrieve Data +In the **PivotController.cs** file, use the [MySqlClient](https://mysqlclient.readthedocs.io/) from the **MySql.Data** library to connect to a MySQL database and retrieve data for the Pivot Table. -**4.** In the Web API controller (aka, PivotController), **MySqlConnection** helps to connect the MySQL database. Next, using **MySqlCommand** and **MySqlDataAdapter** you can process the desired query string and retrieve data from the MySQL database. The **Fill** method of the **MySqlDataAdapter** is used to populate the retrieved data into a **DataTable** as shown in the following code snippet. +1. **Establish Connection**: Use **MySqlConnection** with a valid connection string (e.g., `Server=localhost;Database=mydb;Uid=myuser;Pwd=mypassword;`) to connect to the MySQL database. +2. **Query and Fetch Data**: Execute a SQL query (e.g., `SELECT * FROM orders`) using **MySqlCommand** to retrieve data for the Pivot Table. +3. **Structure the Data**: Use **MySqlDataAdapter**'s **Fill** method to populate query results into a **DataTable** for JSON serialization. ```csharp using Microsoft.AspNetCore.Mvc; @@ -48,10 +66,14 @@ This section describes how to retrieve data from a MySQL database using [MySqlCl } } } - ``` -**5.** In the **Get()** method of the **PivotController.cs** file, the **GetMySQLResult** method is used to retrieve the MySQL data as a **DataTable**, which is then serialized into JSON string using **JsonConvert.SerializeObject()**. +> Replace the placeholder connection string with your actual MySQL credentials. + +### Step 5: Serialize Data to JSON +In the **PivotController.cs** file, define a **Get** method that calls **GetMySQLResult** to retrieve data from the MySQL database as a **DataTable**. Then, use **JsonConvert.SerializeObject** from the **Newtonsoft.Json** library to convert the **DataTable** into a JSON format. This JSON data will be used by the Pivot Table component. + +> Ensure the **Newtonsoft.Json** NuGet package is installed in your project to use **JsonConvert**. ```csharp using Microsoft.AspNetCore.Mvc; @@ -85,65 +107,82 @@ This section describes how to retrieve data from a MySQL database using [MySqlCl } } } - ``` -**6.** Run the application and it will be hosted within the URL `https://localhost:7146`. +### Step 6: Run the Web API Service +1. Build and run the application in Visual Studio. +2. The application will be hosted at a URL such as `https://localhost:7146` (the port number may vary based on your configuration). -**7.** Finally, the retrieved data from MySQL database which is in the form of JSON can be found in the Web API controller available in the URL link `https://localhost:7146/Pivot`, as shown in the browser page below. +### Step 7: Verify the JSON Data +1. Access the Web API endpoint at `https://localhost:7146/Pivot` to view the JSON data retrieved from the MySQL database. +2. The browser will display the JSON data, as shown below. ![Hosted Web API URL](../images/mysql-data.png) -## Connecting the Pivot Table to a MySQL database using the Web API service - -**1.** Create a simple React Pivot Table by following the **"Getting Started"** documentation [link](../getting-started). +## Connecting the Pivot Table to a MySQL Database Using the Web API Service -**2.** Map the hosted Web API's URL link `https://localhost:7146/Pivot` to the Pivot Table in **app.ts** by using the [url](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url) property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). +This section explains how to connect the Pivot Table to a MySQL database by fetching data from the Web API service created above. -```typescript - import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; - import * as React from 'react'; - import './App.css'; +### Step 1: Create a Pivot Table in React +1. Set up a React project with the Pivot Table by following the [Getting Started](../getting-started) documentation. +2. Ensure all necessary Syncfusion EJ2 Pivot Table dependencies are installed in your React project. - function App() { - let dataSourceSettings = { - url: 'https://localhost:7146/pivot', - //Other codes here... - }; - - return ( - ); - }; - export default App; +### Step 2: Configure the Web API URL in the Pivot Table +1. In the **App.jsx** (or **App.tsx**) file, map the Web API URL (`https://localhost:7146/Pivot`) to the Pivot Table using the [url](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url) property within the [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). +2. Below is the sample code to configure the Pivot Table to fetch data from the Web API: +```typescript +import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; +import * as React from 'react'; +import './App.css'; + +function App() { + let dataSourceSettings = { + url: 'https://localhost:7146/Pivot' + // Additional configuration will be added in the next step + }; + + return ( + + ); +}; +export default App; ``` -**3.** Frame and set the report based on the data retrieved from the MySQL database. +### Step 3: Define the Pivot Table Report +1. Configure the Pivot Table report in the **App.jsx** (or **App.tsx**) file to structure the data retrieved from the MySQL database. +2. Use the [rows](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#rows), [columns](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#columns), [values](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#values), and [filters](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#filters) properties of [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) to define how data fields are organized and aggregated. +3. Enable the field list by setting the [showFieldList](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showfieldlist) property to **true** and including the `FieldList` module in the services. This allows users to interactively modify the Pivot Table’s structure by adding or rearranging fields. ```typescript - import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; - import * as React from 'react'; - import './App.css'; +import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; +import * as React from 'react'; +import './App.css'; - function App() { - let dataSourceSettings = { - url: 'https://localhost:7146/pivot', +function App() { + let dataSourceSettings = { + url: 'https://localhost:7146/Pivot', enableSorting: true, expandAll: false, columns: [{ name: 'ShipName' }], values: [{ name: 'Freight', caption: 'Sum of Freight' }], rows: [{ name: 'ShipCity' }], filters: [] - }; + }; - return ( - ); - }; - export default App; + return ( + + ); +}; +export default App; ``` -When you run the sample, the resulting pivot table will look like this: +### Step 4: Run and Verify the Pivot Table +1. Run the React application. +2. The Pivot Table will display the data fetched from the MySQL database via the Web API, structured according to the defined report. +3. The resulting Pivot Table will look like this: -![PivotTable bound with MySQL data](../images/pivottable-with-mysql-data.png) +![Pivot Table bound with MySQL database](../images/pivottable-with-mysql-data.png) -> Explore our React Pivot Table sample and ASP.NET Core Web Application to extract data from a MySQL database and bind to the Pivot Table in [this](https://github.com/SyncfusionExamples/how-to-bind-MySQL-database-to-pivot-table) GitHub repository. +### Additional Resources +Explore a complete example of the React Pivot Table integrated with an ASP.NET Core Web Application to fetch data from a MySQL database in this [GitHub](https://github.com/SyncfusionExamples/how-to-bind-MySQL-database-to-pivot-table) repository. \ No newline at end of file diff --git a/ej2-react/pivotview/connecting-to-data-source/oracle.md b/ej2-react/pivotview/connecting-to-data-source/oracle.md index 00d4c8ac7..b4e741c27 100644 --- a/ej2-react/pivotview/connecting-to-data-source/oracle.md +++ b/ej2-react/pivotview/connecting-to-data-source/oracle.md @@ -1,162 +1,200 @@ --- -title: "Oracle Data Binding in React Pivotview component | Syncfusion" +layout: post +title: "Oracle Data Binding in React Pivot Table component | Syncfusion" component: "Pivot Table" -platform: ej2-React -description: "Learn how to bind data from a Oracle database in the Syncfusion React Pivot Table of Syncfusion Essential JS 2 and more." +platform: ej2-react +description: "Learn how to bind data from an Oracle database in the Syncfusion React Pivot Table of Syncfusion Essential JS 2 and more." +control: Oracle Data Binding +documentation: ug --- -# Oracle in EJ2 React Pivotview Component +# Oracle in EJ2 React Pivot Table Component -This section describes how to retrieve data from Oracle database using [Oracle Managed Data Access](https://www.nuget.org/packages/Oracle.ManagedDataAccess) and bind it to the Pivot Table via a Web API controller. +This guide explains how to retrieve data from an Oracle database using the [Oracle Managed Data Access](https://www.nuget.org/packages/Oracle.ManagedDataAccess) library and bind it to the Pivot Table through a Web API controller. -## Create a Web API service to fetch Oracle data +## Creating a Web API Service to Fetch Oracle Data -**1.** Open Visual Studio and create an ASP.NET Core Web App project type, naming it **MyWebService**. To create an ASP.NET Core Web application, follow the document [link](https://learn.microsoft.com/en-us/visualstudio/get-started/csharp/tutorial-aspnet-core?view=vs-2022). +Follow these steps to create a Web API service that retrieves data from an Oracle database and prepares it for the Pivot Table. -![Create ASP.NET Core Web App project](../images/azure-asp-core-web-service-create.png) +### Step 1: Create an ASP.NET Core Web Application +1. Open Visual Studio and create a new **ASP.NET Core Web App** project named **MyWebService**. +2. Follow the official [Microsoft documentation](https://learn.microsoft.com/en-us/visualstudio/get-started/csharp/tutorial-aspnet-core?view=vs-2022) for detailed instructions on creating an ASP.NET Core Web application. -**2.** To connect a Oracle Server using the **Oracle.ManagedDataAccess.Client** in our application, we need to install the [Oracle.ManagedDataAccess.Core](https://www.nuget.org/packages/Oracle.ManagedDataAccess.Core/) NuGet package. To do so, open the NuGet package manager of the project solution, search for the package **Oracle.ManagedDataAccess.Core** and install it. +![Creating an ASP.NET Core Web App project](../images/azure-asp-core-web-service-create.png) -![Add the NuGet package "Oracle.ManagedDataAccess.Core" to the project](../images/oracle-data-nuget-package-install.png) +### Step 2: Install the Oracle NuGet Package +To enable Oracle database connectivity: +1. Open the **NuGet Package Manager** in your project solution and search for [Oracle.ManagedDataAccess.Core](https://www.nuget.org/packages/Oracle.ManagedDataAccess.Core/). +2. Install the [Oracle.ManagedDataAccess.Core](https://www.nuget.org/packages/Oracle.ManagedDataAccess.Core/) package to add Oracle support. -**3.** Create a Web API controller (aka, PivotController.cs) file under **Controllers** folder that helps to establish data communication with the Pivot Table. +![Installing the Oracle.ManagedDataAccess.Core NuGet package](../images/oracle-data-nuget-package-install.png) -**4.** In the Web API controller (aka, PivotController), **OracleConnection** helps to connect the Oracle database. Next, using **OracleCommand** and **OracleDataAdapter** you can process the desired Oracle query string and retrieve data from the database. The **Fill** method of the **OracleDataAdapter** is used to populate the retrieved data into a **DataTable** as shown in the following code snippet. +### Step 3: Create a Web API Controller +1. Under the **Controllers** folder, create a new Web API controller named **PivotController.cs**. +2. This controller facilitates data communication between the Oracle database and the Pivot Table. -```csharp - using Microsoft.AspNetCore.Mvc; - using Newtonsoft.Json; - using Oracle.ManagedDataAccess.Client; - using System.Data; - - namespace MyWebService.Controllers - { - [ApiController] - [Route("[controller]")] - public class PivotController : ControllerBase - { - private static DataTable FetchOracleResult() - { - // Replace with your own connection string. - string connectionString = ""; - OracleConnection oracleConnection = new OracleConnection(connectionString); - oracleConnection.Open(); - OracleCommand command = new OracleCommand("SELECT * FROM EMPLOYEES", oracleConnection); - OracleDataAdapter dataAdapter = new OracleDataAdapter(command); - DataTable dataTable = new DataTable(); - dataAdapter.Fill(dataTable); - oracleConnection.Close(); - return dataTable; - } - } - } - -``` +### Step 4: Connect to Oracle and Retrieve Data +In the **PivotController.cs** file, use the [Oracle Managed Data Access](https://www.nuget.org/packages/Oracle.ManagedDataAccess) library to connect to an Oracle database and retrieve data for the Pivot Table. -**5.** In the **Get()** method of the **PivotController.cs** file, the **FetchOracleResult()** method is used to retrieve the Oracle data, which is then serialized into JSON using **JsonConvert.SerializeObject()**. +1. **Establish Connection**: Use **OracleConnection** with a valid connection string (e.g., `Data Source=localhost;User Id=myuser;Password=mypassword;`) to connect to the Oracle database. +2. **Query and Fetch Data**: Execute a SQL query (e.g., `SELECT * FROM EMPLOYEES`) using **OracleCommand** to retrieve data for the Pivot Table. +3. **Structure the Data**: Use **OracleDataAdapter**'s **Fill** method to populate query results into a **DataTable** for JSON serialization. ```csharp - using Microsoft.AspNetCore.Mvc; - using Newtonsoft.Json; - using Oracle.ManagedDataAccess.Client; - using System.Data; - - namespace MyWebService.Controllers - { - [ApiController] - [Route("[controller]")] - public class PivotController : ControllerBase - { - [HttpGet(Name = "GetOracleResult")] - public object Get() - { - return JsonConvert.SerializeObject(FetchOracleResult()); - } - - private static DataTable FetchOracleResult() - { - // Replace with your own connection string. - string connectionString = ""; - OracleConnection oracleConnection = new OracleConnection(connectionString); - oracleConnection.Open(); - OracleCommand command = new OracleCommand("SELECT * FROM EMPLOYEES", oracleConnection); - OracleDataAdapter dataAdapter = new OracleDataAdapter(command); - DataTable dataTable = new DataTable(); - dataAdapter.Fill(dataTable); - oracleConnection.Close(); - return dataTable; - } - } - } - +using Microsoft.AspNetCore.Mvc; +using Newtonsoft.Json; +using Oracle.ManagedDataAccess.Client; +using System.Data; + +namespace MyWebService.Controllers +{ + [ApiController] + [Route("[controller]")] + public class PivotController : ControllerBase + { + private static DataTable FetchOracleResult() + { + // Replace with your own connection string. + string connectionString = ""; + OracleConnection oracleConnection = new OracleConnection(connectionString); + oracleConnection.Open(); + OracleCommand command = new OracleCommand("SELECT * FROM EMPLOYEES", oracleConnection); + OracleDataAdapter dataAdapter = new OracleDataAdapter(command); + DataTable dataTable = new DataTable(); + dataAdapter.Fill(dataTable); + oracleConnection.Close(); + return dataTable; + } + } +} ``` -**6.** Run the application and it will be hosted within the URL `https://localhost:44346/`. +### Step 5: Serialize Data to JSON +In the **PivotController.cs** file, define a **Get** method that calls **FetchOracleResult** to retrieve data from the Oracle database as a **DataTable**. Then, use **JsonConvert.SerializeObject** from the **Newtonsoft.Json** library to convert the **DataTable** into JSON format. This JSON data will be used by the Pivot Table component. + +> Ensure the **Newtonsoft.Json** NuGet package is installed in your project to use **JsonConvert**. -**7.** Finally, the retrieved data from Oracle database which is in the form of JSON can be found in the Web API controller available in the URL link `https://localhost:44346/Pivot`, as shown in the browser page below. +```csharp +using Microsoft.AspNetCore.Mvc; +using Newtonsoft.Json; +using Oracle.ManagedDataAccess.Client; +using System.Data; + +namespace MyWebService.Controllers +{ + [ApiController] + [Route("[controller]")] + public class PivotController : ControllerBase + { + [HttpGet(Name = "GetOracleResult")] + public object Get() + { + return JsonConvert.SerializeObject(FetchOracleResult()); + } + + private static DataTable FetchOracleResult() + { + // Replace with your own connection string. + string connectionString = ""; + OracleConnection oracleConnection = new OracleConnection(connectionString); + oracleConnection.Open(); + OracleCommand command = new OracleCommand("SELECT * FROM EMPLOYEES", oracleConnection); + OracleDataAdapter dataAdapter = new OracleDataAdapter(command); + DataTable dataTable = new DataTable(); + dataAdapter.Fill(dataTable); + oracleConnection.Close(); + return dataTable; + } + } +} +``` -![Hosted Web API URL](../images/oracle-code-web-app.png) +### Step 6: Run the Web API Service +1. Build and run the application. +2. The application will be hosted at `https://localhost:44346/` (the port number may vary based on your configuration). -## Connecting the Pivot Table to a Oracle database using the Web API service +### Step 7: Access the JSON Data +1. Access the Web API endpoint at `https://localhost:44346/Pivot` to view the JSON data retrieved from the Oracle database. +2. The browser will display the JSON data, as shown below. -**1.** Create a simple React Pivot Table by following the **"Getting Started"** documentation [link](../getting-started). +![JSON data from the Web API endpoint](../images/oracle-code-web-app.png) -**2.** Map the hosted Web API's URL link `https://localhost:44346/Pivot` to the Pivot Table component in **app.ts** by using the [url](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url) property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). +## Connecting the Pivot Table to an Oracle Database Using the Web API Service -```typescript - import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; - import * as React from 'react'; - import './App.css'; +This section explains how to connect the Pivot Table component to an Oracle database by retrieving data from the Web API service created in the previous section. - function App() { - let dataSourceSettings = { - url: 'https://localhost:44346/pivot', - //Other codes here... - }; +### Step 1: Create a Pivot Table in React +1. Set up a basic React Pivot Table by following the [Getting Started](../getting-started) documentation. +2. Ensure your React project is configured with the necessary EJ2 Pivot Table dependencies. - return ( - ); - }; - export default App; +### Step 2: Configure the Web API URL in the Pivot Table +1. In the **App.tsx** (or **App.jsx**) file, map the Web API URL (`https://localhost:44346/Pivot`) to the Pivot Table using the [url](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url) property within the [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). +2. Below is the sample code to configure the Pivot Table to fetch data from the Web API: +```typescript +import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; +import * as React from 'react'; +import './App.css'; + +function App() { + let dataSourceSettings = { + url: 'https://localhost:44346/Pivot' + // Additional configuration will be added in the next step + }; + + return ( + + ); +}; +export default App; ``` -**3.** Frame and set the report based on the data retrieved from the Oracle database. +### Step 3: Define the Pivot Table Report +1. Configure the Pivot Table report in the **App.tsx** (or **App.jsx**) file to structure the data retrieved from the Oracle database. +2. Add fields to the [rows](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#rows), [columns](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#columns), [values](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#values), and [filters](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#filters) properties of [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) to define the report structure, specifying how data fields are organized and aggregated in the Pivot Table. +3. Enable the field list by setting the [showFieldList](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showfieldlist) property to **true** and including the `FieldList` module in the services section. This allows users to dynamically add or rearrange fields across the columns, rows, and values axes using an interactive user interface. + +Here’s the updated sample code for **App.jsx** with the report configuration and field list support: ```typescript - import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; - import * as React from 'react'; - import './App.css'; - - function App() { - let dataSourceSettings = { - url: 'https://localhost:44346/pivot', - enableSorting: true, - expandAll: false, - columns: [ - { name: 'DEPARTMENT_ID', caption: 'Department ID' }, - { name: 'EMPLOYEE_NAME', caption: 'Employee Name' }, - ], - rows: [ - { name: 'JOB', caption: 'Job' }, - { name: 'SALARY', caption: 'Salary' } - ], - values: [ - { name: 'EMPLOYEE_ID', caption: 'Employee ID' }, - { name: 'CC_EMPLOYEES', caption: 'Employees' }, - { name: 'CC_TAX_PERCENTAGE', caption: 'Percentage' }, - ], - filters: [] - }; - - return ( - ); - }; - export default App; +import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; +import * as React from 'react'; +import './App.css'; + +function App() { + let dataSourceSettings = { + url: 'https://localhost:44346/Pivot', + enableSorting: true, + expandAll: false, + columns: [ + { name: 'DEPARTMENT_ID', caption: 'Department ID' }, + { name: 'EMPLOYEE_NAME', caption: 'Employee Name' } + ], + rows: [ + { name: 'JOB', caption: 'Job' }, + { name: 'SALARY', caption: 'Salary' } + ], + values: [ + { name: 'EMPLOYEE_ID', caption: 'Employee ID' }, + { name: 'CC_EMPLOYEES', caption: 'Employees' }, + { name: 'CC_TAX_PERCENTAGE', caption: 'Percentage' } + ], + filters: [] + }; + + return ( + + ); +}; +export default App; ``` -When you run the sample, the resulting pivot table will look like this: +### Step 4: Run and Verify the Pivot Table +1. Run the React application. +2. The Pivot Table will display the data fetched from the Oracle database via the Web API, structured according to the defined report. +3. The resulting Pivot Table will look like this: -![PivotTable bound with Oracle database](../images/oracle-data-binding.png) +![Pivot Table bound with Oracle database](../images/oracle-data-binding.png) -> Explore our React Pivot Table sample and ASP.NET Core Web Application to extract data from a Oracle database and bind to the Pivot Table in [this](https://github.com/SyncfusionExamples/how-to-bind-Oracle-database-to-pivot-table) GitHub repository. \ No newline at end of file +### Additional Resources +Explore a complete example of the React Pivot Table integrated with an ASP.NET Core Web Application to fetch data from an Oracle database in this [GitHub](https://github.com/SyncfusionExamples/how-to-bind-Oracle-database-to-pivot-table) repository. \ No newline at end of file diff --git a/ej2-react/pivotview/connecting-to-data-source/postgresql.md b/ej2-react/pivotview/connecting-to-data-source/postgresql.md index 5b975e8be..fb55adb36 100644 --- a/ej2-react/pivotview/connecting-to-data-source/postgresql.md +++ b/ej2-react/pivotview/connecting-to-data-source/postgresql.md @@ -1,148 +1,187 @@ --- -title: "PostgreSQL Data Binding in React Pivotview component | Syncfusion" +layout: post +title: "PostgreSQL Data Binding in React Pivot Table component | Syncfusion" component: "Pivot Table" -platform: ej2-React +platform: ej2-react description: "Learn how to bind data from a PostgreSQL database in the Syncfusion React Pivot Table of Syncfusion Essential JS 2 and more." +control: PostgreSQL Data Binding +documentation: ug --- -# PostgreSQL in EJ2 React Pivotview Component +# PostgreSQL in EJ2 React Pivot Table Component -This section describes how to consume data from PostgreSQL database using [Microsoft Npgsql](https://www.npgsql.org/doc/index.html) and bind it to the Pivot Table via a Web API controller. +This guide explains how to retrieve data from a PostgreSQL database using the [Microsoft Npgsql](https://www.npgsql.org/doc/index.html) library and bind it to the Pivot Table through a Web API controller. -## Create a Web API service to fetch PostgreSQL data +## Creating a Web API Service to Fetch PostgreSQL Data -**1.** Open Visual Studio and create an ASP.NET Core Web App project type, naming it **MyWebService**. To create an ASP.NET Core Web application, follow the document [link](https://learn.microsoft.com/en-us/visualstudio/get-started/csharp/tutorial-aspnet-core?view=vs-2022). +Follow these steps to create a Web API service that retrieves data from a PostgreSQL database and prepares it for the Pivot Table. -![Create ASP.NET Core Web App project](../images/azure-asp-core-web-service-create.png) +### Step 1: Create an ASP.NET Core Web Application +1. Open Visual Studio and create a new **ASP.NET Core Web App** project named **MyWebService**. +2. Follow the official [Microsoft documentation](https://learn.microsoft.com/en-us/visualstudio/get-started/csharp/tutorial-aspnet-core?view=vs-2022) for detailed instructions on creating an ASP.NET Core Web application. -**2.** To connect a PostgreSQL Server using the **Npgsql** in our application, we need to install the [Npgsql.EntityFrameworkCore.PostgreSQL](https://www.nuget.org/packages/Npgsql.EntityFrameworkCore.PostgreSQL/) NuGet package. To do so, open the NuGet package manager of the project solution, search for the package **Npgsql.EntityFrameworkCore.PostgreSQL** and install it. +![Creating an ASP.NET Core Web App project](../images/azure-asp-core-web-service-create.png) -![Add the NuGet package "Npgsql.EntityFrameworkCore.PostgreSQL" to the project](../images/postgresql-data-nuget-package-install.png) +### Step 2: Install the Npgsql NuGet Package +To enable PostgreSQL database connectivity: +1. Open the **NuGet Package Manager** in your project solution and search for **Npgsql.EntityFrameworkCore.PostgreSQL**. +2. Install the **Npgsql.EntityFrameworkCore.PostgreSQL** package to add PostgreSQL support. -**3.** Create a Web API controller (aka, PivotController.cs) file under **Controllers** folder that helps to establish data communication with the Pivot Table. +![Installing the Npgsql.EntityFrameworkCore.PostgreSQL NuGet package](../images/postgresql-data-nuget-package-install.png) -**4.** In the Web API controller (aka, PivotController), **NpgsqlConnection** helps to connect the PostgreSQL database. Next, using **NpgsqlCommand** and **NpgsqlDataAdapter** you can process the desired PostgreSQL query string and retrieve data from the database. The **Fill** method of the **NpgsqlDataAdapter** is used to populate the retrieved data into a **DataTable** as shown in the following code snippet. +### Step 3: Create a Web API Controller +1. Under the **Controllers** folder, create a new Web API controller named **PivotController.cs**. +2. This controller facilitates data communication between the PostgreSQL database and the Pivot Table. -```csharp - using Microsoft.AspNetCore.Mvc; - using Newtonsoft.Json; - using System.Data; - using Npgsql; +### Step 4: Connect to PostgreSQL and Retrieve Data +In the **PivotController.cs** file, use the [Npgsql](https://www.npgsql.org/doc/index.html) library to connect to a PostgreSQL database and retrieve data for the Pivot Table. + +1. **Establish Connection**: Use **NpgsqlConnection** with a valid connection string (e.g., `Server=localhost;Database=mydb;User Id=myuser;Password=mypassword;`) to connect to the PostgreSQL database. +2. **Query and Fetch Data**: Execute a SQL query (e.g., `SELECT * FROM tablename`) using **NpgsqlCommand** to retrieve data for the Pivot Table. +3. **Structure the Data**: Use **NpgsqlDataAdapter**'s **Fill** method to populate query results into a **DataTable** for JSON serialization. - namespace MyWebService.Controllers +```csharp +using Microsoft.AspNetCore.Mvc; +using Newtonsoft.Json; +using System.Data; +using Npgsql; + +namespace MyWebService.Controllers +{ + [ApiController] + [Route("[controller]")] + public class PivotController : ControllerBase { - [ApiController] - [Route("[controller]")] - public class PivotController : ControllerBase + public dynamic GetPostgreSQLResult() { - public dynamic GetPostgreSQLResult() - { - // Replace with your own connection string. - NpgsqlConnection connection = new NpgsqlConnection(""); - connection.Open(); - NpgsqlCommand cmd = new NpgsqlCommand("SELECT * FROM tablename", connection); - NpgsqlDataAdapter da = new NpgsqlDataAdapter(cmd); - DataTable dt = new DataTable(); - da.Fill(dt); - connection.Close(); - return dt; - } + // Replace with your own connection string. + NpgsqlConnection connection = new NpgsqlConnection(""); + connection.Open(); + NpgsqlCommand cmd = new NpgsqlCommand("SELECT * FROM tablename", connection); + NpgsqlDataAdapter da = new NpgsqlDataAdapter(cmd); + DataTable dt = new DataTable(); + da.Fill(dt); + connection.Close(); + return dt; } } - +} ``` -**5.** In the **Get()** method of the **PivotController.cs** file, the **GetPostgreSQLResult** method is used to retrieve the PostgreSQL data as a **DataTable**, which is then serialized into JSON using **JsonConvert.SerializeObject()**. +### Step 5: Serialize Data to JSON +In the **PivotController.cs** file, define a **Get** method that calls **GetPostgreSQLResult** to retrieve data from the PostgreSQL database as a **DataTable**. Then, use **JsonConvert.SerializeObject** from the **Newtonsoft.Json** library to convert the **DataTable** into JSON format. This JSON data will be used by the Pivot Table component. -```csharp - using Microsoft.AspNetCore.Mvc; - using Newtonsoft.Json; - using System.Data; - using Npgsql; +> Ensure the **Newtonsoft.Json** NuGet package is installed in your project to use **JsonConvert**. - namespace MyWebService.Controllers +```csharp +using Microsoft.AspNetCore.Mvc; +using Newtonsoft.Json; +using System.Data; +using Npgsql; + +namespace MyWebService.Controllers +{ + [ApiController] + [Route("[controller]")] + public class PivotController : ControllerBase { - [ApiController] - [Route("[controller]")] - public class PivotController : ControllerBase + [HttpGet(Name = "GetPostgreSQLResult")] + public object Get() { - [HttpGet(Name = "GetPostgreSQLResult")] - public object Get() - { - return JsonConvert.SerializeObject(GetPostgreSQLResult()); - } - - public dynamic GetPostgreSQLResult() - { - // Replace with your own connection string. - NpgsqlConnection connection = new NpgsqlConnection(""); - connection.Open(); - NpgsqlCommand cmd = new NpgsqlCommand("SELECT * FROM tablename", connection); - NpgsqlDataAdapter da = new NpgsqlDataAdapter(cmd); - DataTable dt = new DataTable(); - da.Fill(dt); - connection.Close(); - return dt; - } + return JsonConvert.SerializeObject(GetPostgreSQLResult()); } - } + public dynamic GetPostgreSQLResult() + { + // Replace with your own connection string. + NpgsqlConnection connection = new NpgsqlConnection(""); + connection.Open(); + NpgsqlCommand cmd = new NpgsqlCommand("SELECT * FROM tablename", connection); + NpgsqlDataAdapter da = new NpgsqlDataAdapter(cmd); + DataTable dt = new DataTable(); + da.Fill(dt); + connection.Close(); + return dt; + } + } +} ``` -**6.** Run the application and it will be hosted within the URL `https://localhost:44378/`. - -**7.** Finally, the retrieved data from PostgreSQL database which is in the form of JSON can be found in the Web API controller available in the URL link `https://localhost:44378/Pivot`, as shown in the browser page below. - -![Hosted Web API URL](../images/postgresql_data.png) +### Step 6: Run the Web API Service +1. Build and run the application. +2. The application will be hosted at `https://localhost:44378/` (the port number may vary based on your configuration). -## Connecting the Pivot Table to a PostgreSQL database using the Web API service +### Step 7: Access the JSON Data +1. Access the Web API endpoint at `https://localhost:44378/Pivot` to view the JSON data retrieved from the PostgreSQL database. +2. The browser will display the JSON data, as shown below. -**1.** Create a simple React Pivot Table by following the **"Getting Started"** documentation [link](../getting-started). +![JSON data from the Web API endpoint](../images/postgresql_data.png) -**2.** Map the hosted Web API's URL link `https://localhost:44378/Pivot` to the Pivot Table component in **app.ts** by using the [url](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url) property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). +## Connecting the Pivot Table to a PostgreSQL Database Using the Web API Service -```typescript - import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; - import * as React from 'react'; - import './App.css'; +This section explains how to connect the Pivot Table component to a PostgreSQL database by retrieving data from the Web API service created in the previous section. - function App() { - let dataSourceSettings = { - url: 'https://localhost:44378/pivot', - //Other codes here... - }; +### Step 1: Create a Pivot Table in React +1. Set up a basic React Pivot Table by following the [Getting Started](../getting-started) documentation. +2. Ensure your React project is configured with the necessary EJ2 Pivot Table dependencies. - return ( - ); - }; - export default App; +### Step 2: Configure the Web API URL in the Pivot Table +1. In the **App.tsx** (or **App.jsx**) file, map the Web API URL (`https://localhost:44378/Pivot`) to the Pivot Table using the [url](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url) property within the [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). +2. Below is the sample code to configure the Pivot Table to fetch data from the Web API: +```typescript +import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; +import * as React from 'react'; +import './App.css'; + +function App() { + let dataSourceSettings = { + url: 'https://localhost:44378/Pivot' + // Additional configuration will be added in the next step + }; + + return ( + + ); +}; +export default App; ``` -**3.** Frame and set the report based on the data retrieved from the PostgreSQL database. +### Step 3: Define the Pivot Table Report +1. Configure the Pivot Table report in the **App.tsx** (or **App.jsx**) file to structure the data retrieved from the PostgreSQL database. +2. Add fields to the [rows](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#rows), [columns](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#columns), [values](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#values), and [filters](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#filters) properties of [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) to define the report structure, specifying how data fields are organized and aggregated in the Pivot Table. +3. Enable the field list by setting the [showFieldList](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showfieldlist) property to **true** and including the `FieldList` module in the services section. This allows users to dynamically add or rearrange fields across the columns, rows, and values axes using an interactive user interface. + +Here’s the updated sample code for **App.tsx** (or **App.jsx**) with the report configuration and field list support: ```typescript - import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; - import * as React from 'react'; - import './App.css'; +import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; +import * as React from 'react'; +import './App.css'; - function App() { - let dataSourceSettings = { +function App() { + let dataSourceSettings = { url: 'https://localhost:44378/Pivot', enableSorting: true, columns: [{ name: 'openinghours_practice' }, { name: 'closinghours_practice' }], values: [{ name: 'revenue' }], - rows: [{ name: 'servicetype' }, { name: 'servicecategory' }] - }; - - return ( - ); - }; - export default App; + rows: [{ name: 'servicetype' }, { name: 'servicecategory' }], + filters: [] + }; + + return ( + + ); +}; +export default App; ``` -When you run the sample, the resulting pivot table will look like this: +### Step 4: Run and Verify the Pivot Table +1. Run the React application. +2. The Pivot Table will display the data fetched from the PostgreSQL database via the Web API, structured according to the defined report. +3. The resulting Pivot Table will look like this: -![PivotTable bound with PostgreSQL database](../images/postgresql-data-binding.png) +![Pivot Table bound with PostgreSQL database](../images/postgresql-data-binding.png) -> Explore our React Pivot Table sample and ASP.NET Core Web Application to extract data from a PostgreSQL database and bind to the Pivot Table in [this](https://github.com/SyncfusionExamples/how-to-bind-PostgreSQL-database-to-pivot-table) GitHub repository. \ No newline at end of file +### Additional Resources +Explore a complete example of the React Pivot Table integrated with an ASP.NET Core Web Application to fetch data from a PostgreSQL database in this [GitHub](https://github.com/SyncfusionExamples/how-to-bind-PostgreSQL-database-to-pivot-table) repository. \ No newline at end of file diff --git a/ej2-react/pivotview/connecting-to-data-source/snowflake.md b/ej2-react/pivotview/connecting-to-data-source/snowflake.md index 6fed34a20..1c8897e06 100644 --- a/ej2-react/pivotview/connecting-to-data-source/snowflake.md +++ b/ej2-react/pivotview/connecting-to-data-source/snowflake.md @@ -1,147 +1,179 @@ --- -title: "Snowflake Data Binding in React Pivotview component | Syncfusion" +layout: post +title: "Snowflake Data Binding in React Pivot Table component | Syncfusion" component: "Pivot Table" -platform: ej2-React +platform: ej2-react description: "Learn how to bind data from a Snowflake database in the Syncfusion React Pivot Table of Syncfusion Essential JS 2 and more." +control: Snowflake Data Binding +documentation: ug --- -# Snowflake in EJ2 React Pivotview Component +# Snowflake in EJ2 React Pivot Table Component -This section describes how to retrieve data from a Snowflake database using [Snowflake Data](https://www.nuget.org/packages/Snowflake.Data/#readme-body-tab) and bind it to the Pivot Table via a Web API controller. +This guide explains how to retrieve data from a Snowflake database using the [Snowflake.Data](https://www.nuget.org/packages/Snowflake.Data/) library and bind it to the Pivot Table through a Web API controller. -## Create a Web API service to fetch Snowflake data +## Creating a Web API Service to Fetch Snowflake Data -**1.** Open Visual Studio and create an ASP.NET Core Web App project type, naming it **MyWebService**. To create an ASP.NET Core Web application, follow the document [link](https://learn.microsoft.com/en-us/visualstudio/get-started/csharp/tutorial-aspnet-core?view=vs-2022). +Follow these steps to create a Web API service that retrieves data from a Snowflake database and prepares it for the Pivot Table. -![Create ASP.NET Core Web App project](../images/azure-asp-core-web-service-create.png) +### Step 1: Create an ASP.NET Core Web Application +1. Open Visual Studio and create a new **ASP.NET Core Web App** project named **MyWebService**. +2. Follow the official [Microsoft documentation](https://learn.microsoft.com/en-us/visualstudio/get-started/csharp/tutorial-aspnet-core?view=vs-2022) for detailed instructions on creating an ASP.NET Core Web application. -**2.** To connect a Snowflake Server using the **Snowflake.Data.Client** in our application, we need to install the [Snowflake.Data](https://www.nuget.org/packages/Snowflake.Data/) NuGet package. To do so, open the NuGet package manager of the project solution, search for the package **Snowflake.Data** and install it. +![Creating an ASP.NET Core Web App project](../images/azure-asp-core-web-service-create.png) -![Add the NuGet package "Snowflake.Data" to the project](../images/snowflake-data-nuget-package-install.png) +### Step 2: Install the Snowflake NuGet Package +To enable Snowflake database connectivity: +1. Open the **NuGet Package Manager** in your project solution and search for [Snowflake.Data](https://www.nuget.org/packages/Snowflake.Data/). +2. Install the [Snowflake.Data](https://www.nuget.org/packages/Snowflake.Data/) package to add Snowflake support. -**3.** Create a Web API controller (aka, PivotController.cs) file under **Controllers** folder that helps to establish data communication with the Pivot Table. +![Installing the Snowflake.Data NuGet package](../images/snowflake-data-nuget-package-install.png) -**4.** In the Web API controller (aka, PivotController), **SnowflakeDbConnection** helps to connect the Snowflake database. Next, using **SnowflakeDbDataAdapter** you can process the desired Snowflake query string and retrieve data from the database. The **Fill** method of the **SnowflakeDbDataAdapter** is used to populate the retrieved data into a **DataTable** as shown in the following code snippet. +### Step 3: Create a Web API Controller +1. Under the **Controllers** folder, create a new Web API controller named **PivotController.cs**. +2. This controller facilitates data communication between the Snowflake database and the Pivot Table. -```csharp - using Microsoft.AspNetCore.Mvc; - using Snowflake.Data.Client; - using Newtonsoft.Json; - using System.Data; +### Step 4: Connect to Snowflake and Retrieve Data +In the **PivotController.cs** file, use the [Snowflake.Data](https://www.nuget.org/packages/Snowflake.Data/) library to connect to a Snowflake database and retrieve data for the Pivot Table. + +1. **Establish Connection**: Use **SnowflakeDbConnection** with a valid connection string (e.g., `account=myaccount;user=myuser;password=mypassword;db=mydb;schema=myschema;`) to connect to the Snowflake database. +2. **Query and Fetch Data**: Execute a SQL query (e.g., `SELECT * FROM CALL_CENTER`) using **SnowflakeDbDataAdapter** to retrieve data for the Pivot Table. +3. **Structure the Data**: Use **SnowflakeDbDataAdapter**'s **Fill** method to populate query results into a **DataTable** for JSON serialization. - namespace MyWebService.Controllers +```csharp +using Microsoft.AspNetCore.Mvc; +using Snowflake.Data.Client; +using Newtonsoft.Json; +using System.Data; + +namespace MyWebService.Controllers +{ + [ApiController] + [Route("[controller]")] + public class PivotController : ControllerBase { - [ApiController] - [Route("[controller]")] - public class PivotController : ControllerBase + [HttpGet(Name = "GetSnowflakeResult")] + public object Get() { - [HttpGet(Name = "GetSnowflakeResult")] - public object Get() - { - return JsonConvert.SerializeObject(FetchSnowflakeResult()); - } + return JsonConvert.SerializeObject(FetchSnowflakeResult()); + } - public static DataTable FetchSnowflakeResult() + public static DataTable FetchSnowflakeResult() + { + using (SnowflakeDbConnection snowflakeConnection = new SnowflakeDbConnection()) { - using (SnowflakeDbConnection snowflakeConnection = new SnowflakeDbConnection()) - { - // Replace with your own connection string. - snowflakeConnection.ConnectionString = ""; - snowflakeConnection.Open(); - SnowflakeDbDataAdapter adapter = new SnowflakeDbDataAdapter("select * from CALL_CENTER", snowflakeConnection); - DataTable dataTable = new DataTable(); - adapter.Fill(dataTable); - snowflakeConnection.Close(); - return dataTable; - } + // Replace with your own connection string. + snowflakeConnection.ConnectionString = ""; + snowflakeConnection.Open(); + SnowflakeDbDataAdapter adapter = new SnowflakeDbDataAdapter("select * from CALL_CENTER", snowflakeConnection); + DataTable dataTable = new DataTable(); + adapter.Fill(dataTable); + snowflakeConnection.Close(); + return dataTable; } } } - +} ``` -**5.** In the **Get()** method of the **PivotController.cs** file, the **FetchSnowflakeResult** method is used to retrieve the Snowflake data as a **DataTable**, which is then serialized into JSON string using **JsonConvert.SerializeObject()**. +### Step 5: Serialize Data to JSON +In the **PivotController.cs** file, define a **Get** method that calls **FetchSnowflakeResult** to retrieve data from the Snowflake database as a **DataTable**. Then, use **JsonConvert.SerializeObject** from the **Newtonsoft.Json** library to convert the **DataTable** into JSON format. This JSON data will be used by the Pivot Table component. -```csharp - using Microsoft.AspNetCore.Mvc; - using Snowflake.Data.Client; - using Newtonsoft.Json; - using System.Data; +> Ensure the **Newtonsoft.Json** NuGet package is installed in your project to use **JsonConvert**. - namespace MyWebService.Controllers +```csharp +using Microsoft.AspNetCore.Mvc; +using Snowflake.Data.Client; +using Newtonsoft.Json; +using System.Data; + +namespace MyWebService.Controllers +{ + [ApiController] + [Route("[controller]")] + public class PivotController : ControllerBase { - [ApiController] - [Route("[controller]")] - public class PivotController : ControllerBase + [HttpGet(Name = "GetSnowflakeResult")] + public object Get() { - [HttpGet(Name = "GetSnowflakeResult")] - public object Get() - { - return JsonConvert.SerializeObject(FetchSnowflakeResult()); - } + return JsonConvert.SerializeObject(FetchSnowflakeResult()); + } - public static DataTable FetchSnowflakeResult() + public static DataTable FetchSnowflakeResult() + { + using (SnowflakeDbConnection snowflakeConnection = new SnowflakeDbConnection()) { - using (SnowflakeDbConnection snowflakeConnection = new SnowflakeDbConnection()) - { - // Replace with your own connection string. - snowflakeConnection.ConnectionString = ""; - snowflakeConnection.Open(); - SnowflakeDbDataAdapter adapter = new SnowflakeDbDataAdapter("select * from CALL_CENTER", snowflakeConnection); - DataTable dataTable = new DataTable(); - adapter.Fill(dataTable); - snowflakeConnection.Close(); - return dataTable; - } + // Replace with your own connection string. + snowflakeConnection.ConnectionString = ""; + snowflakeConnection.Open(); + SnowflakeDbDataAdapter adapter = new SnowflakeDbDataAdapter("select * from CALL_CENTER", snowflakeConnection); + DataTable dataTable = new DataTable(); + adapter.Fill(dataTable); + snowflakeConnection.Close(); + return dataTable; } } } - +} ``` -**6.** Run the application and it will be hosted within the URL `https://localhost:44378/`. +### Step 6: Run the Web API Service +1. Build and run the application. +2. The application will be hosted at `https://localhost:44378/` (the port number may vary based on your configuration). -**7.** Finally, the retrieved data from Snowflake database which is in the form of JSON can be found in the Web API controller available in the URL link `https://localhost:44378/Pivot`, as shown in the browser page below. +### Step 7: Access the JSON Data +1. Access the Web API endpoint at `https://localhost:44378/Pivot` to view the JSON data retrieved from the Snowflake database. +2. The browser will display the JSON data, as shown below. -![Hosted Web API URL](../images/snowflake-code-web-app.png) +![JSON data from the Web API endpoint](../images/snowflake-code-web-app.png) -## Connecting the Pivot Table to a Snowflake database using the Web API service +## Connecting the Pivot Table to a Snowflake Database Using the Web API Service -**1.** Create a simple React Pivot Table by following the **"Getting Started"** documentation [link](../getting-started). +This section explains how to connect the Pivot Table component to a Snowflake database by retrieving data from the Web API service created in the previous section. -**2.** Map the hosted Web API's URL link `https://localhost:44378/Pivot` to the Pivot Table component in **app.ts** by using the [url](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url) property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). +### Step 1: Create a Pivot Table in React +1. Set up a basic React Pivot Table by following the [Getting Started](../getting-started) documentation. +2. Ensure your React project is configured with the necessary EJ2 Pivot Table dependencies. -```typescript - import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; - import * as React from 'react'; - import './App.css'; - - function App() { - let dataSourceSettings = { - url: 'https://localhost:44378/pivot', - //Other codes here... - }; - - return ( - ); - }; - export default App; +### Step 2: Configure the Web API URL in the Pivot Table +1. In the **App.tsx** (or **App.jsx**) file, map the Web API URL (`https://localhost:44378/Pivot`) to the Pivot Table using the [url](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url) property within the [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). +2. Below is the sample code to configure the Pivot Table to fetch data from the Web API: +```typescript +import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; +import * as React from 'react'; +import './App.css'; + +function App() { + let dataSourceSettings = { + url: 'https://localhost:44378/Pivot' + // Additional configuration will be added in the next step + }; + + return ( + + ); +}; +export default App; ``` -**3.** Frame and set the report based on the data retrieved from the Snowflake database. +### Step 3: Define the Pivot Table Report +1. Configure the Pivot Table report in the **App.tsx** (or **App.jsx**) file to structure the data retrieved from the Snowflake database. +2. Add fields to the [rows](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#rows), [columns](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#columns), [values](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#values), and [filters](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#filters) properties of [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) to define the report structure, specifying how data fields are organized and aggregated in the Pivot Table. +3. Enable the field list by setting the [showFieldList](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showfieldlist) property to **true** and including the `FieldList` module in the services section. This allows users to dynamically add or rearrange fields across the columns, rows, and values axes using an interactive user interface. + +Here’s the updated sample code for **App.jsx** with the report configuration and field list support: ```typescript - import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; - import * as React from 'react'; - import './App.css'; +import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; +import * as React from 'react'; +import './App.css'; - function App() { - let dataSourceSettings = { +function App() { + let dataSourceSettings = { url: 'https://localhost:44378/Pivot', enableSorting: true, expandAll: false, - dataSource: [], columns: [ { name: 'CC_COUNTRY', caption: 'Country' } ], @@ -152,19 +184,24 @@ This section describes how to retrieve data from a Snowflake database using [Sno values: [ { name: 'CC_COMPANY', caption: 'Company' }, { name: 'CC_EMPLOYEES', caption: 'Employees' }, - { name: 'CC_TAX_PERCENTAGE', caption: 'Percentage' }, + { name: 'CC_TAX_PERCENTAGE', caption: 'Percentage' } ], filters: [] - }; + }; - return ( - ); - }; - export default App; + return ( + + ); +}; +export default App; ``` -When you run the sample, the resulting pivot table will look like this: +### Step 4: Run and Verify the Pivot Table +1. Run the React application. +2. The Pivot Table will display the data fetched from the Snowflake database via the Web API, structured according to the defined report. +3. The resulting Pivot Table will look like this: -![PivotTable bound with Snowflake database](../images/snowflake-data-binding.png) +![Pivot Table bound with Snowflake database](../images/snowflake-data-binding.png) -> Explore our React Pivot Table sample and ASP.NET Core Web Application to extract data from a Snowflake database and bind to the Pivot Table in [this](https://github.com/SyncfusionExamples/how-to-bind-Snowflake-database-to-pivot-table) GitHub repository. \ No newline at end of file +### Additional Resources +Explore a complete example of the React Pivot Table integrated with an ASP.NET Core Web Application to fetch data from a Snowflake database in this [GitHub](https://github.com/SyncfusionExamples/how-to-bind-Snowflake-database-to-pivot-table) repository. \ No newline at end of file diff --git a/ej2-react/pivotview/css-customization.md b/ej2-react/pivotview/css-customization.md index c8404f4ba..73cadd59b 100644 --- a/ej2-react/pivotview/css-customization.md +++ b/ej2-react/pivotview/css-customization.md @@ -8,11 +8,15 @@ documentation: ug domainurl: ##DomainURL## --- -# Css customization in React Pivotview component +# CSS customization in React Pivot Table component + +The React Pivot Table component provides extensive CSS customization options, allowing users to modify the visual appearance and layout of various pivot table elements. This includes styling row headers, column headers, value cells, summary cells, Field List components, and Grouping Bar areas to match application themes and design requirements. ## Hiding Axis -The visibility of row, column, value and filter axis in Field List and Grouping Bar can be changed using custom CSS setting. To do so, please refer the code sample below: +The visibility of the row, column, value, and filter axis areas in both the Field List dialog and Grouping Bar can be controlled using custom CSS styling. Each axis area has specific CSS classes that allow precise targeting for customization. + +The following code example demonstrates how to hide the column axis in both the Grouping Bar and Field List within the Pivot Table. The CSS includes necessary height and spacing adjustments to prevent layout gaps and maintain visual consistency: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -23,11 +27,19 @@ The visibility of row, column, value and filter axis in Field List and Grouping {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs21" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs21" %} + +**Note:** The CSS selectors above assume the Pivot Table component has the ID **PivotView**. Replace this with your actual component ID or use appropriate class-based selectors for your implementation. + +The CSS selectors target the following Pivot Table elements: +- `.e-group-columns`: Hides the column axis in the Grouping Bar. +- `.e-group-filters`: Adjusts the height of the filter axis to compensate for the hidden column axis in the Grouping Bar. +- `.e-field-list-columns`: Hides the column axis in the Field List dialog. +- `.e-field-list-values`: Adjusts the layout of the values axis when the column section is hidden in the Field List dialog. ## Text Alignment -The alignment of text inside row headers, column headers, value cells and summary cells can be changed using custom CSS setting. To do so, please refer the code sample below: +The alignment of text inside row headers, column headers, value cells, and summary cells can be customized using CSS styling. The following example demonstrates how to center-align text in value cells: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -38,11 +50,13 @@ The alignment of text inside row headers, column headers, value cells and summar {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs22" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs22" %} + +## Customize header, value and summary cell styles -## Customize header, value and summary cell style +The Pivot Table component elements including header cells, value cells, and summary cells can be styled using built-in CSS class names. This enables comprehensive visual customization of the component's appearance to match application themes and design requirements. -The elements in pivot table like header cell, value cell and summary cell style can be customized using built-in CSS names. To do so, please refer the code sample below: +The following code sample demonstrates how to apply custom background colors to different cell types: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -53,7 +67,13 @@ The elements in pivot table like header cell, value cell and summary cell style {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/background-css-cs1" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/background-css-cs1" %} + +The CSS classes target the following Pivot Table elements: +- `.e-headercell`: Styles column header cells +- `.e-rowsheader`: Styles row header cells +- `.e-summary:not(.e-gtot)`: Styles subtotal summary cells (excluding grand totals) +- `.e-gtot`: Styles grand total cells ## See also diff --git a/ej2-react/pivotview/data-binding.md b/ej2-react/pivotview/data-binding.md index a837c5412..cc730704a 100644 --- a/ej2-react/pivotview/data-binding.md +++ b/ej2-react/pivotview/data-binding.md @@ -1,14 +1,14 @@ --- layout: post -title: Data binding in React Pivotview component | Syncfusion -description: Learn here all about Data binding in Syncfusion React Pivotview component of Syncfusion Essential JS 2 and more. +title: Data binding in React Pivot Table component | Syncfusion +description: Learn here all about Data binding in Syncfusion React Pivot Table component of Syncfusion Essential JS 2 and more. control: Data binding platform: ej2-react documentation: ug domainurl: ##DomainURL## --- -# Data binding in React Pivotview component +# Data binding in React Pivot Table component To get start quickly with Data Binding, you can check on this video: @@ -16,11 +16,11 @@ To get start quickly with Data Binding, you can check on this video: ## JSON -For JSON data binding, the `type` property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) needs to be set as `JSON`. By default, the default value is assumed as `JSON`. +The Pivot Table supports JSON data binding by setting the [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#type) property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) to `JSON`. Since JSON is the default data type, you can bind JSON data without setting this property. ### Binding JSON data via local -In-order to bind local JSON data to the pivot table user can assign the local variable holding the JSON data to the [`dataSource`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#datasource) property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings). +You can bind local JSON data to the Pivot Table by assigning a local variable containing the JSON data to the [`dataSource`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#datasource) property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings). {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -37,9 +37,9 @@ In-order to bind local JSON data to the pivot table user can assign the local va {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs23" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs23" %} -Using local variable, the JSON data can also be bound to the pivot table using [`DataManager`](https://ej2.syncfusion.com/react/documentation/data/) option with the help of `JsonAdaptor`. Here the instance of [`DataManager`](https://ej2.syncfusion.com/react/documentation/data/) holding JSON data is assigned to [`dataSource`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#datasource) property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview#datasourcesettings). The use of [`DataManager`](https://ej2.syncfusion.com/react/documentation/data/) is optional here. +You can also bind JSON data using the [`DataManager`](https://ej2.syncfusion.com/documentation/api/data/dataManager/) with `JsonAdaptor`. In this approach, assign the [`DataManager`](https://ej2.syncfusion.com/documentation/api/data/dataManager/) instance containing JSON data to the [`dataSource`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#datasource) property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings). Using [`DataManager`](https://ej2.syncfusion.com/documentation/api/data/dataManager/) is optional for local JSON data binding. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -56,12 +56,11 @@ Using local variable, the JSON data can also be bound to the pivot table using [ {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs24" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs24" %} -In the meantime, the JSON data from the local *.json file type can also be connected to the pivot table via the file uploader option. Here, the resulting string after uploading the file needs to be converted to JSON data that can be assigned to the [`dataSource`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#datasource) property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings). The following code example illustrates the same. +You can also load JSON data from a local *.json file using the file uploader option. After uploading the file, convert the resulting string to JSON data and assign it to the [`dataSource`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#datasource) property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings). The following code example demonstrates this approach. ```javascript - import { IDataSet, PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; import * as React from 'react'; import * as ReactDOM from 'react-dom'; @@ -70,39 +69,38 @@ import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/dat function App() { - // Step 1: Initiate the file uploader + // Step 1: Initialize the file uploader let uploadObj: Uploader = new Uploader({ }); uploadObj.appendTo('#fileupload'); let input = document.querySelector('input[type="file"]'); - // Step 2: Add the event listener which fires when the *.JSON file is uploaded. + // Step 2: Add the event listener that triggers when the *.JSON file is uploaded input.addEventListener('change', function (e: Event) { - // Step 3: Initiate the file reader + // Step 3: Initialize the file reader let reader: FileReader = new FileReader(); reader.onload = function () { - // Step 4: Getting the string output which is to be parsed as JSON. - let result: string[][] = JSON.parse(reader.result as string); + // Step 4: Get the string output and parse it as JSON + let result: any = JSON.parse(reader.result as string); let dataSourceSettings: DataSourceSettingsModel = { - // Step 5: The JSON result to be bound as data source. + // Step 5: Bind the JSON result as data source dataSource: result - // Step 6: The appropriate report needs to be provided here. - } + // Step 6: Provide the appropriate report configuration here + }; reader.readAsText((input as any).files[0]); - } + }; }); let pivotObj: PivotViewComponent; - return pivotObj = d} id = 'PivotView' height = { 350} dataSourceSettings = { dataSourceSettings } > + return pivotObj = d} id='PivotView' height={350} dataSourceSettings={dataSourceSettings}>; } export default App; ReactDOM.render(, document.getElementById('sample')); - ``` ### Binding JSON data via remote -In-order to bind remote JSON data, mention the endpoint [`URL`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url) under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) property. The [`URL`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url) property supports both direct downloadable file (*.json) and web service URL. +To bind remote JSON data to the Pivot Table, set the endpoint [`URL`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url) in the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) property. The [`URL`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url) property accepts both direct downloadable JSON files (*.json) and web service URLs. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -113,17 +111,17 @@ In-order to bind remote JSON data, mention the endpoint [`URL`](https://ej2.sync {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs25" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs25" %} ## CSV -For CSV data binding, the `type` property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) needs to be set as `CSV` mandatorily. +To bind CSV data, set the [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#type) property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) to `CSV`. -> The CSV format is considered to be the most compact format compared to JSON since it is half the size of JSON. This helps to reduce the bandwidth while transferring to the browser. +> The CSV format is more compact than JSON, using approximately half the size. This reduces bandwidth usage when transferring data to the browser. ### Binding CSV data via local -In-order to bind local CSV data to the pivot table, user needs to convert it as string array and then directly assign it to the [`dataSource`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#datasource) property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings). +To bind local CSV data to the Pivot Table, convert the data into a string array and assign it directly to the [`dataSource`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#datasource) property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings). {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -134,11 +132,11 @@ In-order to bind local CSV data to the pivot table, user needs to convert it as {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs26" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs26" %} -In the meantime, the CSV data from the local *.csv file type can also be connected to the pivot table via the file uploader option. Here, the resulting string after uploading the file needs to be converted to string array that can be assigned to the [`dataSource`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#datasource) property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings). The following code example illustrates the same. +You can also connect CSV data from a local *.csv file to the Pivot Table using the file uploader option. After uploading the file, convert the resulting string to a string array and assign it to the [`dataSource`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#datasource) property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings). The following code example shows how to implement this: -```typescript +```javascript import { PivotViewComponent, FieldList, Inject } from '@syncfusion/ej2-react-pivotview'; import * as React from 'react'; import * as ReactDOM from 'react-dom'; @@ -146,27 +144,27 @@ import { Uploader } from '@syncfusion/ej2-inputs'; function App() { let pivotObj: PivotViewComponent; - let input: HTMLInputElement + let input: HTMLInputElement; let isInitial = true; function ondataBound(): void { if (isInitial) { - // Step 1: Initiate the file uploader + // Step 1: Initialize the file uploader let uploadObj: Uploader = new Uploader(); uploadObj.appendTo('#fileupload'); input = document.querySelector('input[type="file"]') as HTMLInputElement; - // Step 2: Add the event listener which fires when the *.CSV file is uploaded. + // Step 2: Add event listener for CSV file upload input.addEventListener('change', loadCSV, false); isInitial = false; } } function loadCSV() { - // Step 3: Initiate the file reader + // Step 3: Initialize the file reader const reader: FileReader = new FileReader(); reader.onload = function () { const result: string[][] = []; - // Step 4: Getting the string output which is to be converted as string[][]. + // Step 4: Convert the string output to string array format let readerResult: string[] = (reader.result as string).split(/\r?\n|\r/); (result as string[][]).push(readerResult[0].split(',').map(function (e) { return e.replace(/ /g, '').replace(/^\"(.+)\"$/, "$1"); })); for (let i: number = 1; i < readerResult.length; i++) { @@ -175,23 +173,26 @@ function App() { } } pivotObj.dataSourceSettings = { - // Step 5: The string[][] result to be bound as data source + // Step 5: Bind the string array as data source dataSource: result, type: 'CSV', - // Step 6: The appropriate report needs to be provided here. + // Step 6: Configure the appropriate report settings here }; - } + }; reader.readAsText(((input as HTMLInputElement).files as FileList)[0]); input.value = ''; (document.querySelector('.e-upload-files') as HTMLElement).remove(); } - return (
    - pivotObj = d} id='PivotView' height={350} showFieldList={true} dataBound={ondataBound.bind(this)}> - -
    + return ( +
    + + pivotObj = d} id='PivotView' height={350} showFieldList={true} dataBound={ondataBound.bind(this)}> + + +
    ); -}; +} export default App; ReactDOM.render(, document.getElementById('sample')); @@ -199,7 +200,9 @@ ReactDOM.render(, document.getElementById('sample')); ### Binding CSV data via remote -In-order to bind remote CSV data, mention the endpoint [`URL`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url) under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) property. The [`URL`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url) property supports both direct downloadable file (*.csv) and web service URL. +Remote CSV data binding allows you to load data directly from external sources without storing large datasets locally, which improves application performance and reduces memory usage. + +To bind remote CSV data, set the [`URL`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url) property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) to point to your data source endpoint. The [`URL`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url) property accepts both direct downloadable CSV files (*.csv) and web service URLs that return CSV data. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -210,15 +213,19 @@ In-order to bind remote CSV data, mention the endpoint [`URL`](https://ej2.syncf {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs27" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs27" %} ## Remote Data Binding -To interact with remote data source, provide the endpoint `url` within [`DataManager`](https://ej2.syncfusion.com/react/documentation/data/) along with appropriate `adaptor`. By default, [`DataManager`](https://ej2.syncfusion.com/react/documentation/data/) uses `ODataAdaptor` for remote data-binding. +Remote data binding allows you to connect your Pivot Table component to data sources that are hosted on remote servers, enabling you to work with data from web services, databases, and other external sources. + +To bind remote data, specify the endpoint `url` within [`DataManager`](https://ej2.syncfusion.com/documentation/api/data/dataManager/) along with the appropriate [`adaptor`](https://ej2.syncfusion.com/react/documentation/data/adaptors). By default, `DataManager` uses [`ODataAdaptor`](https://ej2.syncfusion.com/react/documentation/data/adaptors#odata-adaptor) for remote data binding. ### Binding with OData services -OData is a standardized protocol for creating and consuming data. User can retrieve data from OData service using the [`DataManager`](https://ej2.syncfusion.com/react/documentation/data/) class. Refer to the following code example for remote data binding using OData service. +OData (Open Data Protocol) is a web-based protocol that provides a standard way to create and consume data APIs. You can easily connect your Pivot Table to OData services using the [`DataManager`](https://ej2.syncfusion.com/documentation/api/data/dataManager/), which handles the communication and data retrieval automatically. + +The following example demonstrates how to bind the Pivot Table to an OData service: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -229,11 +236,11 @@ OData is a standardized protocol for creating and consuming data. User can retri {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs28" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs28" %} ### Binding with OData V4 services -The OData V4 is an improved version of OData protocols, and the [`DataManager`](https://ej2.syncfusion.com/react/documentation/data/) class can be used to retrieve and consume OData V4 services. For more details on OData V4 services, refer to the [OData documentation](http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part1-protocol/odata-v4.0-errata03-os-part1-protocol-complete.html#_Toc453752197). To bind OData V4 service, use the [`ODataV4Adaptor`](https://ej2.syncfusion.com/react/documentation/data/adaptors/#odatav4-adaptor). +OData V4 services provide enhanced query capabilities and improved performance for data retrieval operations. The OData V4 is an improved version of OData protocols, and the [`DataManager`](https://ej2.syncfusion.com/documentation/api/data/dataManager/) can retrieve and consume OData V4 services. For more details on OData V4 services, refer to the [OData documentation](https://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part1-protocol/odata-v4.0-errata03-os-part1-protocol-complete.html#_Toc453752197). To bind OData V4 service, use the [`ODataV4Adaptor`](https://ej2.syncfusion.com/react/documentation/data/adaptors#odatav4-adaptor). {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -244,11 +251,11 @@ The OData V4 is an improved version of OData protocols, and the [`DataManager`]( {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs29" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs29" %} ### Web API -User can use [`WebApiAdaptor`](https://ej2.syncfusion.com/react/documentation/data/adaptors/#web-api-adaptor) to bind pivot table with Web API created using OData endpoint. +Web API binding allows you to connect the Pivot Table directly to RESTful web services for dynamic data loading. Users can use [`WebApiAdaptor`](https://ej2.syncfusion.com/react/documentation/data/adaptors#web-api-adaptor) to bind the Pivot Table with Web API created using OData endpoint. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -259,11 +266,13 @@ User can use [`WebApiAdaptor`](https://ej2.syncfusion.com/react/documentation/da {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs30" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs30" %} ### Querying in Data Manager -By default, the data manager retrieves all the data from the provider which is mapped in it. The data from the provider can be filtered, sorted, paged, etc. by setting the own query in `defaultQuery` property in the data manager instance. +By default, the [`DataManager`](https://ej2.syncfusion.com/documentation/api/data/dataManager/) fetches all records from the data source you have configured. However, you can customize this behavior by applying your own query using the `defaultQuery` property in the Data Manager instance. + +The query can include operations such as filtering records based on specific conditions, sorting data in ascending or descending order, or limiting the number of records through paging. When you define these queries, the [`DataManager`](https://ej2.syncfusion.com/documentation/api/data/dataManager/) processes them at the data source level, ensuring that only the required data is retrieved and displayed in the Pivot Table. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -274,36 +283,53 @@ By default, the data manager retrieves all the data from the provider which is m {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs31" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs31" %} ## Mapping -One can define field information like alias name (caption), data type, aggregation type, show and hide subtotals etc. using the [`fieldMapping`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#fieldmapping) property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). The available options are, - -* [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#name) - It is to specify the appropriate field name. -* [`caption`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#caption) - It is to set the alias name (caption) to the specific field. Instead of actual field name, the alias name (caption) will be set in the UI of the pivot table. -* [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#type) - It is to display values in the pivot table with appropriate aggregation such as sum, product, count, average, minimum, maximum, etc. Its default value is **sum**. This option is applicable only for relational data source. -* [`axis`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#axis) - It will help to display the field in specified axis such as row/column/value/filter axis of the pivot table. -* [`showNoDataItems`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#shownodataitems) - It is to show all the members of a specific field to the pivot table, even if there are no data in the intersection of the row and column. The default value is **false**. This option is applicable only for relational data source. -* [`baseField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#basefield) - For the aggregate types like "DifferenceFrom" or "PercentageOfDifferenceFrom" or "PercentageOfParentTotal", selective field is assigned for comparison via this property. -* [`baseItem`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#baseitem) For the aggregate types like "DifferenceFrom" or "PercentageOfDifferenceFrom" or "PercentageOfParentTotal", selective member in a field is assigned for comparison via this property. -* [`expandAll`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#expandAll) - It is to expand or collapse all headers of a specific field in row and column axes of the pivot table. The default value is **false**. -* [`showSubTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showsubtotals) - It is to show or hide sub-totals of a specific field in row and column axis of the pivot table. The default value is **true**. +Field mapping allows you to customize how fields appear and behave in the Pivot Table without changing the original data source. You can define field properties such as display names, data types, aggregation methods, and visibility settings using the [`fieldMapping`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#fieldmapping) property within [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings). + +The following options are available for field mapping: + +**Field identification and display** + +* [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#name) - Specifies the field name from your data source. +* [`caption`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#caption) - Sets a user-friendly display name for the field. This display name will appear in the Pivot Table UI instead of the original field name. +* [`dataType`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#datatype) - Specifies the field data type such as 'string', 'number', 'datetime', 'date', or 'boolean'. +* [`groupName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#groupname) - Groups related fields under a folder name in the field list UI for better organization. + +**Aggregation and calculation** + +* [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#type) - Defines how values are aggregated in the Pivot Table, such as sum, product, count, average, minimum, or maximum. The default value is **sum**. This option applies only to relational data sources. +* [`baseField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#basefield) - Specifies a comparison field for aggregate types like "DifferenceFrom", "PercentageOfDifferenceFrom", or "PercentageOfParentTotal". +* [`baseItem`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#baseitem) - Specifies a comparison member within a field for aggregate types like "DifferenceFrom", "PercentageOfDifferenceFrom", or "PercentageOfParentTotal". + +**Field positioning and behavior** + +* [`axis`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#axis) - Determines where the field appears in the Pivot Table (row, column, value, or filter axis). +* [`showNoDataItems`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#shownodataitems) - Shows all field members in the Pivot Table, even when no data exists at row and column intersections. The default value is **false**. This option applies only to relational data sources. +* [`expandAll`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#expandall) - Expands or collapses all headers for the field in row and column axes. The default value is **false**. +* [`showSubTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showsubtotals) - Controls the visibility of subtotals for the field in row and column axes. The default value is **true**. + +**OLAP-specific options** + * [`isNamedSet`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#isnamedset) - It is to set whether the specified field is named set or not. In general, the named set is a set of dimension members or a set expression (MDX query) to be created as a dimension in the SSAS OLAP cube itself. The default value is **false** and this option is applicable only for OLAP data source. -* [`isCalculatedField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#iscalculatedfield) - It is to set whether the specified field is a calculated field or not. In general, a calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the pivot table. The default value is **false** and this option is applicable only for OLAP data source. -* [`showFilterIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showfiltericon) - It is to show or hide the filter icon of a specific field which will be displayed on the button of the grouping bar and field list UI. This filter icon is used to filter the members of a specified field at runtime in the pivot table. The default value is **true**. -* [`showSortIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showsorticon) - It is to show or hide the sort icon of a specific field which will be displayed on the button of the grouping bar and field list UI. This sort icon is used to order members of a specified field either in ascending or descending at runtime. The default value is **true**. -* [`showRemoveIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showremoveicon) - It is to show or hide the remove icon of a specific field which will be displayed on the button of the grouping bar and field list UI. This remove icon is used to remove the specified field during runtime. The default value is **true**. -* [`showValueTypeIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showvaluetypeicon) - It is to show or hide the value type icon of a specific field which will be displayed on the button of the grouping bar and field list UI. This value type icon helps to select the appropriate aggregation type to specified value field at runtime. The default value is **true**. -* [`showEditIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showediticon) - It is to show or hide the edit icon of a specific field which will be displayed on the button of the grouping bar and field list UI. This edit icon is used to modify caption, formula, and format of a specified calculated field at runtime. The default value is **true**. -* [`allowDragAndDrop`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#allowdraganddrop) - It is to restrict specific field's button from being dragged on runtime in the grouping bar and field list UI. This will prevent from altering the current report. The default value is **true**. -* [`dataType`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#datatype) - It is to specify the type of the field like 'string', 'number', 'datetime', 'date', and 'boolean'. -* [`groupName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#groupname) - It is to display fields in the field list UI by grouping them under the desired folder name. +* [`isCalculatedField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#iscalculatedfield) - It is to set whether the specified field is a calculated field or not. In general, a calculated field is created from the bound data source or using simple formula with basic arithmetic operators in the Pivot Table. The default value is **false** and this option is applicable only for OLAP data source. -The main purpose of these mapping options is to configure each field that is not part of the initial pivot report. Even if any field that is part of this mapping is defined here, the value set in the initial report will have the highest preceding. +**UI interaction controls** -> This option is applicable only for relational data source. -In the below code sample, visibility of the field button icons are configured. +* [`showFilterIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showfiltericon) - Controls the visibility of the filter icon on field buttons in the grouping bar and field list. Users can filter field members at runtime using this icon. The default value is **true**. +* [`showSortIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showsorticon) - Controls the visibility of the sort icon on field buttons in the grouping bar and field list. Users can sort field members in ascending or descending order at runtime. The default value is **true**. +* [`showRemoveIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showremoveicon) - Controls the visibility of the remove icon on field buttons in the grouping bar and field list. Users can remove fields from the report at runtime. The default value is **true**. +* [`showValueTypeIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showvaluetypeicon) - Controls the visibility of the value type icon on field buttons in the grouping bar and field list. Users can change the aggregation type for value fields at runtime. The default value is **true**. +* [`showEditIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showediticon) - Controls the visibility of the edit icon on field buttons in the grouping bar and field list. Users can modify the caption, formula, and format of calculated fields at runtime. The default value is **true**. +* [`allowDragAndDrop`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#allowdraganddrop) - Controls whether field buttons can be dragged in the grouping bar and field list UI. Setting this to **false** prevents users from modifying the current report structure. The default value is **true**. + +Field mapping is particularly useful for configuring fields that are not part of your initial pivot report. When a field appears in both the initial report and field mapping, the initial report settings take priority. + +> This option applies only to relational data sources. + +The following code sample demonstrates how to configure the visibility of field button icons: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -320,11 +346,11 @@ In the below code sample, visibility of the field button icons are configured. {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs32" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs32" %} ## Values in row axis -By default, the value fields are plotted in column axis. To plot those fields in row axis, use the [`valueAxis`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#valueaxis) property by setting its value as **row**. By default, it holds the value **column**. +You can display value fields in the row axis of the Pivot Table to make your data analysis clear and more accessible. By default, value fields appear in the column axis. To display these fields in the row axis, set the [`valueAxis`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#valueaxis) property to **row**. The default value is **column**. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -341,13 +367,13 @@ By default, the value fields are plotted in column axis. To plot those fields in {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs33" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs33" %} ## Values at different positions -By default, the value fields are placed at the end of the row or column axis. To place those value fields in different positions, use the [`valueIndex`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#valueindex) property and set the value to an appropriate index position. Its default value is **-1**, which denotes the last position. The `valueIndex` property is dependent on the [`valueAxis`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#valueaxis) property. +Positioning value fields at specific locations helps create more meaningful data layouts and improves the readability of your Pivot Table. By default, value fields appear at the end of the row or column axis. To place value fields at different positions, use the [`valueIndex`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#valueindex) property and set it to the desired index position. The default value is **-1**, which places fields at the last position. The [`valueIndex`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#valueindex) property works together with the [`valueAxis`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#valueaxis) property. -> This support is only available for relational data sources. Also, enable the [`showValuesButton`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showvaluesbutton) property in the grouping bar and field list UI to **true** to re-arrange the values fields at different positions via user interaction. +> This option is available only for relational data sources. To enable users to rearrange value fields through the interface, set the [`showValuesButton`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showvaluesbutton) property to **true** in both the grouping bar and field list UI. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -364,11 +390,13 @@ By default, the value fields are placed at the end of the row or column axis. To {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs34" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs34" %} ## Show 'no data' items -By default, the pivot table only shows the field item if it has data in its row or column combination. To show all items that do not have data in row and column combination in the pivot table, use the [`showNoDataItems`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#shownodataitems) property by settings its value to **true** for the desired fields. In the following code sample, rows of the "County" and "State" fields do not have data in all combination with "Date" column field. +Display all field items in your Pivot Table, even when they lack data in certain row and column combinations, for a complete view of your data structure. By default, the Pivot Table displays field items only when they contain data in their respective row or column combinations. However, you can show all items, including those without data, by setting the [`showNoDataItems`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#shownodataitems) property to **true** for the desired fields. + +In the following example, the "Country" and "State" field rows are displayed even when they don't have data in all combinations with the "Date" column field. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -379,11 +407,11 @@ By default, the pivot table only shows the field item if it has data in its row {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs35" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs35" %} ## Show value headers always -To show value header always in pivot table, even if it holds a single value, use the [`alwaysShowValueHeader`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#alwaysshowvalueheader) property by settings its value as **true**. +Ensure value headers remain visible in your Pivot Table at all times, providing consistent column identification even with single value scenarios. The Pivot Table typically hides value headers when displaying only one value. To maintain consistent header visibility regardless of the number of values, set the [`alwaysShowValueHeader`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#alwaysshowvalueheader) property to **true**. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -400,11 +428,11 @@ To show value header always in pivot table, even if it holds a single value, use {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs36" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs36" %} ## Customize empty value cells -User can show custom string in empty value cells using the [`emptyCellsTextContent`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#emptycellstextcontent) property in [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings). Since the property is of string data type, user can fill empty value cells with any value like "0", "-", "*", "(blank)", etc. Its common for all value fields and can be configured through code behind. +Show custom text in cells that contain no data to make your Pivot Table more informative and user-friendly. By default, empty value cells appear blank in the Pivot Table. However, you can display meaningful text in these cells using the [`emptyCellsTextContent`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#emptycellstextcontent) property within the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings). Since this property accepts string values, you can fill empty cells with any text such as "0", "-", "*", "(blank)", or other meaningful indicators. This setting applies to all value fields and can be configured in your code behind. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -421,13 +449,24 @@ User can show custom string in empty value cells using the [`emptyCellsTextConte {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs37" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs37" %} ## Event +The Pivot Table component provides essential events that help you monitor and control the data binding process. These events give you access to the underlying data and allow you to customize how the pivot engine handles your data. + ### Load -The event [`load`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#load) fires before initiate rendering of pivot table. It holds following parameters like[`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings), `fieldsType` and `PivotView`. In this event user can customize data source settings before initiating pivot table render module. +The [`load`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#load) event fires before the Pivot Table begins rendering and provides access to key parameters that you can use to customize your data source configuration, apply filters, or modify field settings before the table displays. + +**Event Parameters** + +The load event provides the following parameters: + +- [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/loadEventArgs/#datasourcesettings): Defines the current report configuration including data source, rows, columns, values, and filters. +- [`defaultFieldListOrder`](https://ej2.syncfusion.com/react/documentation/api/pivotview/loadEventArgs/#defaultfieldlistorder): Defines the default field list order that determines how fields appear in the field list panel. +- [`fieldsType`](https://ej2.syncfusion.com/react/documentation/api/pivotview/loadEventArgs/#fieldstype): Defines the type of specific fields, such as whether they should be treated as numbers, dates, or text. +- [`pivotview`](https://ej2.syncfusion.com/react/documentation/api/pivotview/loadEventArgs/#pivotview): Defines the Pivot Table instance object that provides access to all component methods and properties. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -444,11 +483,19 @@ The event [`load`](https://ej2.syncfusion.com/react/documentation/api/pivotview/ {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs38" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs38" %} ### EnginePopulated -The event [`enginePopulated`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enginepopulated) is triggered after engine is populated. It has following parameters - `dataSourceSettings`, `pivotFieldList` and `pivotValues`. +The [`enginePopulated`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enginepopulated) event helps users monitor when the Pivot Table engine has finished processing the data. This allows you to access important details about the table, such as report settings, field list, and processed values, and perform further actions if needed. + +When this event triggers, it provides the following parameters: + +- [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/enginePopulatedEventArgs/#datasourcesettings): Contains information about the structure and options applied to the Pivot Table’s data. +- [`pivotFieldList`](https://ej2.syncfusion.com/react/documentation/api/pivotview/enginePopulatedEventArgs/#pivotfieldlist): Lists all available fields in the Pivot Table, including those used in rows, columns, values, and filters. +- [`pivotValues`](https://ej2.syncfusion.com/react/documentation/api/pivotview/enginePopulatedEventArgs/#pivotvalues): Presents the aggregated values and results displayed in the table. + +Below is an example showing how the [`enginePopulated`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enginepopulated) event can be used in a React Pivot Table. The code demonstrates how to set up the event and access its details for custom logic. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -465,11 +512,13 @@ The event [`enginePopulated`](https://ej2.syncfusion.com/react/documentation/api {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs39" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs39" %} ### EnginePopulating -The event [`enginePopulating`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enginepopulating) triggers before the pivot engine starts to populate and allows to customize the pivot datasource settings. It has following parameter `dataSourceSettings`. +The [`enginePopulating`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enginepopulating) event lets you update the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) before the Pivot Table's engine processes the data. This allows you to modify how your data appears by changing field captions, formatting options, or report configurations right before the table renders. For example, you can adjust column captions or show a message for empty cells. This helps users control how the data will appear in the Pivot Table in a straightforward way. + +The [`enginePopulating`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enginepopulating) event provides an argument that contains the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/enginePopulatingEventArgs/#datasourcesettings) property. You can directly edit this property to update fields, labels, or other [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/enginePopulatingEventArgs/#datasourcesettings) options, ensuring your Pivot Table displays data exactly how you need it. Below is an example showing how to use the `enginePopulating` event in a React Pivot Table: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -486,7 +535,7 @@ The event [`enginePopulating`](https://ej2.syncfusion.com/react/documentation/ap {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs40" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs40" %} ## See Also diff --git a/ej2-react/pivotview/data-compression.md b/ej2-react/pivotview/data-compression.md index c2406ffba..639335f67 100644 --- a/ej2-react/pivotview/data-compression.md +++ b/ej2-react/pivotview/data-compression.md @@ -12,11 +12,9 @@ domainurl: ##DomainURL## # Data Compression in React Pivot Table component -> This property is applicable only for relational data source. +> This property is applicable only for the relational data source. -When binding one million raw data, the pivot table processes all raw data to generate aggregated data during initial rendering and report manipulation. However, with data compression, the input raw data is compressed based on the uniqueness of the raw data, and the final compressed raw data are utilized by the pivot table. The compressed raw data is then used for further operations at all times, reducing the looping complexity and improving the performance of the pivot table. For example, if the pivot table is connected to one million raw data compressed to 1,000 unique raw data, it will render within 3 seconds rather than 10 seconds. You can enable this option by using the [allowDataCompression](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowdatacompression) property along with the [enableVirtualization](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enablevirtualization) property. - -> This options will only function when the virtual scrolling is enabled. +When binding large volumes of raw data, the pivot table processes all raw data to generate aggregated data during initial rendering and report manipulation. However, with data compression enabled, the input raw data is compressed based on the uniqueness of the raw data, and the final compressed raw data is utilized by the pivot table. The compressed raw data is then used for all subsequent operations, reducing the looping complexity and improving the performance of the pivot table. For example, if the pivot table connects to one million raw data records that compress to 1,000 unique raw data records, it will render significantly faster—potentially within 3 seconds rather than 10 seconds, depending on the data complexity and system specifications. Enable this option by using the [allowDataCompression](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowdatacompression) property. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -27,19 +25,19 @@ When binding one million raw data, the pivot table processes all raw data to gen {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs309" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs309" %} **Limitations during data compression:** -- The following aggregation types will not be supported: +- The following aggregation types are not supported: - Average - - Populationstdev - - Samplestdev - - Populationvar - - Samplevar -- If you use any of the above aggregations, they will result in the aggregation type **"Sum"**. -- **"DistinctCount"** will act as **"Count"** aggregation type. -- In the calculated field, an existing field can be inserted without altering its default aggregation type. Even if changed, it would revert to the default aggregation type for calculation. + - PopulationStDev + - SampleStDev + - PopulationVar + - SampleVar +- If any of the above aggregation types are used, they will be automatically converted to **"Sum"** aggregation. +- **"DistinctCount"** will function as **"Count"** aggregation type. +- In a calculated field, existing fields can be inserted without changing their default aggregation type. Even if the aggregation type is changed, it will revert to the default aggregation type for calculation purposes. ## See Also diff --git a/ej2-react/pivotview/defer-update.md b/ej2-react/pivotview/defer-update.md index 0706720b9..d926a91c0 100644 --- a/ej2-react/pivotview/defer-update.md +++ b/ej2-react/pivotview/defer-update.md @@ -8,18 +8,18 @@ documentation: ug domainurl: ##DomainURL## --- -# Defer update in React Pivotview component +# Defer update in React Pivot Table component -Defer layout update support allows to update the pivot table component only on demand. On enabling this feature, end user can drag-and-drop fields between row, column, value and filter axes, apply sorting and filtering inside the Field List, resulting in change of pivot report alone but not the pivot table values. Once all operations are performed and on clicking the "Apply" button in the Field List, pivot table will start to update with the last modified report. This also helps in bringing better performance in pivot table component rendering. +Defer layout update support allows updating the pivot table component only on demand, significantly improving performance for complex data operations. When this feature is enabled, users can drag-and-drop fields between row, column, value, and filter axes, apply sorting and filtering inside the Field List, resulting in changes to the pivot report configuration without immediately updating the pivot table values. Once all operations are performed and the "Apply" button is clicked in the Field List, the pivot table will update with the final modified report. This approach reduces multiple unnecessary renders and brings better performance, especially when working with large datasets or performing multiple field operations. -The field list can be displayed in two different formats to interact with pivot table. They are: +The field list can be displayed in two different formats to interact with the pivot table: -* **In-built Field List (Popup)**: To display the field list icon in pivot table UI to invoke the built-in dialog. -* **Stand-alone Field List (Fixed)**: To display the field list in a static position within a web page. +* **In-built Field List (Popup)**: Displays the field list icon in the pivot table UI to invoke the built-in dialog. +* **Stand-alone Field List (Fixed)**: Displays the field list in a static position within a web page. ## In-built Field List (Popup) -To enable deferred updates in the pivot table, set the property [`allowDeferLayoutUpdate`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowdeferlayoutupdate) as **true** in [`PivotView`](https://ej2.syncfusion.com/react/documentation/api/pivotview/). To make a note, the defer update option can be controlled only via Field List during runtime. +To enable deferred updates in the pivot table, set the [`allowDeferLayoutUpdate`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowdeferlayoutupdate) property to **true** in [`PivotView`](https://ej2.syncfusion.com/react/documentation/api/pivotview/). Note that the defer update option can be controlled only via Field List during runtime. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -36,15 +36,15 @@ To enable deferred updates in the pivot table, set the property [`allowDeferLayo {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs41" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs41" %} ## Stand-alone Field List (Fixed) -The field list can be rendered in a static position, anywhere in web page layout, like a separate component. To do so, you need to set [`renderMode`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/pivotFieldListModel/#rendermode) property to **Fixed** in PivotFieldList. +The field list can be rendered in a static position anywhere in the web page layout, functioning as a separate component. To achieve this, set the [`renderMode`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/pivotFieldListModel/#rendermode) property to **Fixed** in [`PivotFieldList`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/). -To enable deferred updates in the static fieldlist, set the property [`allowDeferLayoutUpdate`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/pivotFieldListModel/#allowdeferlayoutupdate) in [`PivotFieldlist`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist) as **true**. To make a note, the defer update option can be controlled only via Field List during runtime. +To enable deferred updates in the static fieldlist, set the [`allowDeferLayoutUpdate`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/pivotFieldListModel/#allowdeferlayoutupdate) property to **true** in [`PivotFieldList`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/). Note that the defer update option can be controlled only via Field List during runtime. -> To make field list interact with pivot table, you need to use the **UpdateView** and **Update** methods for data source update in both field list and pivot table simultaneously. +> To make the field list interact with the pivot table, use the **updateView** and **update** methods to synchronize data source updates between both the field list and pivot table components simultaneously. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -61,4 +61,4 @@ To enable deferred updates in the static fieldlist, set the property [`allowDefe {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs42" %} \ No newline at end of file +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs42" %} \ No newline at end of file diff --git a/ej2-react/pivotview/drill-down.md b/ej2-react/pivotview/drill-down.md index d9a02aa9c..715e1b2a6 100644 --- a/ej2-react/pivotview/drill-down.md +++ b/ej2-react/pivotview/drill-down.md @@ -1,34 +1,51 @@ --- layout: post -title: Drill down in React Pivotview component | Syncfusion -description: Learn here all about Drill down in Syncfusion React Pivotview component of Syncfusion Essential JS 2 and more. -control: Drill down +title: Drill down in React Pivot Table component | Syncfusion +description: Learn here all about Drill down in Syncfusion React Pivot Table component of Syncfusion Essential JS 2 and more. +control: Drill down platform: ej2-react documentation: ug domainurl: ##DomainURL## --- -# Drill down in React Pivotview component +# Drill down in React Pivot Table component ## Drill down and drill up -The drill down and drill up action helps to view the bound data in detailed and abstract view respectively. By default, if member(s) has children, then expand and collapse icon will be displayed in the respective row/column header. On clicking the icon, expand or collapse action will be performed automatically through built-in source code. Meanwhile, leaf member(s) does not contain expand and collapse icon. +The drill-down and drill-up features in the Pivot Table component allow users to expand or collapse hierarchical data for detailed or summarized views. When a field member(s) contains child items, expand and collapse icons automatically appear in the corresponding row or column header. Clicking these icons expands the selected item to display its child members or collapses it to show a summarized view. If a field member(s) does not have any further levels to display, the icons will not appear. ![output](images/drill.png) ## Drill position -Allows to drill only the current position of the selected member and exclude the drilled data of selected member in other positions. For example, if "FY 2015" and "FY 2016" have "Quarter 1" member as child in next level, and when end user attempts to drill "Quarter 1" under "FY 2016", only it will be expanded and not "Quarter 1" under "FY 2015". +The drill-down and drill-up features allow you to expand or collapse data for a specific member in the Pivot Table without affecting the same member in other positions. For example, if both "FY 2015" and "FY 2016" have "Quarter 1" as a child in the next level, drilling down into "Quarter 1" under "FY 2015" will expand only that specific instance. The "Quarter 1" under "FY 2016" will remain unchanged. -> This feature is built-in and occurs every time when expand or collapse action is done for better performance. +> This feature is built-in and works automatically every time you expand or collapse data, making the pivot table faster and more efficient. ![output](images/drill_position.png) -## Expand all +{% tabs %} +{% highlight js tabtitle="App.jsx" %} +{% include code-snippet/pivot-table/default-cs330/app/App.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="App.tsx" %} +{% include code-snippet/pivot-table/default-cs330/app/App.tsx %} +{% endhighlight %} +{% highlight js tabtitle="datasource.jsx" %} +{% include code-snippet/pivot-table/default-cs330/app/datasource.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="datasource.tsx" %} +{% include code-snippet/pivot-table/default-cs330/app/datasource.tsx %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs330" %} + +## Expand All > This property is applicable only for the relational data source. -Allows to either expand or collapse all headers that are displayed in row and column axes. To display all headers in expanded state, set the property [`expandAll`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#expandall) to **true** and to collapse all headers, set the property [`expandAll`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#expandall) to **false**. By default, [`expandAll`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#expandall) property is set to **false**. +The Pivot Table component allows users to interactively expand or collapse all field members displayed in the row and column axes. To display all hierarchical members in an expanded state, set the [`expandAll`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#expandall) property of [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#dataSourceSettings) to **true**. To collapse all headers, set this property to **false**. By default, [`expandAll`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#expandall) is set to **false**, so only the top-level field members are shown until the user expands them manually. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -45,13 +62,15 @@ Allows to either expand or collapse all headers that are displayed in row and co {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs43" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs43" %} ## Expand all headers for specific fields > This property is applicable only for the relational data source. -Allows to expand or collapse all headers for specific fields (only) in row and column axes. To expand headers for a specific field in row or column axis, set the property [`expandAll`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#expandall) in [`rows`](https://ej2.syncfusion.com/vue/documentation/api/pivotview/dataSourceSettings/#rows) or [`columns`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#columns) to **true**. By default, [`expandAll`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#expandall) property in [`rows`](https://ej2.syncfusion.com/vue/documentation/api/pivotview/dataSourceSettings/#rows) or [`columns`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#columns) is set to **false**. +The Pivot Table provides an option to expand or collapse all headers for specific fields in the [`rows`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#rows) or [`columns`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#columns) axis. To expand all headers for a particular field, set the [`expandAll`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#expandall) property to **true** in the [`rows`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#rows) or [`columns`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#columns) axis. By default, the [`expandAll`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#expandall) property is set to **false**, meaning the headers are collapsed. + +The following code demonstrates how to configure a Pivot Table with the [`expandAll`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#expandall) property enabled for specific fields. In this example, all headers for the **Year** field in the columns and the **Country** field in the rows are expanded. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -68,18 +87,18 @@ Allows to expand or collapse all headers for specific fields (only) in row and c {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs44" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs44" %} ## Expand all except specific member(s) > This option is applicable only for the relational data source. -In addition to the previous topic, there is an enhancement to expand all headers expect specific header(s) and similarly to collapse all headers except specific header(s). To achieve this, [`drilledMembers`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#drilledmembers) is used. The required properties of the [`drilledMembers`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#drilledmembers) are explained below: +The Pivot Table component supports expanding or collapsing all headers except for specific field members. This functionality allows users to selectively control which members in the fields are expanded or collapsed, making it easier to focus analysis on relevant data in the Pivot Table. The [`drilledMembers`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#drilledmembers) property is used to configure this behavior. Its key properties include: -* [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/drillOptionsModel/#name): It allows to set the field name whose member(s) needs to be specifically drilled. -* [`items`](https://ej2.syncfusion.com/react/documentation/api/pivotview/drillOptionsModel/#items): It allows to set the exact member(s) which needs to be drilled. +- [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/drillOptionsModel/#name): Specifies the field name whose members should remain expanded or collapsed. +- [`items`](https://ej2.syncfusion.com/react/documentation/api/pivotview/drillOptionsModel/#items): Lists the exact field members to expand or collapse. -> The [`drilledMembers`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#drilledmembers) option always works in vice-versa with respect to the property [`expandAll`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#expandall) in pivot table. For example, if [`expandAll`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#expandall) is set to **true**, then the member(s) added in [`items`](https://ej2.syncfusion.com/react/documentation/api/pivotview/drillOptionsModel/#items) collection alone will be in collapsed state. +The following example demonstrates how to configure a Pivot Table where all headers are expanded except for the **France** member in the **Country** field, which remains collapsed. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -96,15 +115,17 @@ In addition to the previous topic, there is an enhancement to expand all headers {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs45" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs45" %} -## Expand specific member(s) +## Expand or Collapse Specific Members -End user can also manually expand or collapse specific member(s) in each fields under row and column axes using the [`drilledMembers`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#drilledmembers) from code behind. The required properties of the [`drilledMembers`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#drilledmembers) are explained below: +The Pivot Table component enables users to programmatically expand or collapse specific members in any field placed under the row or column axes. This can be achieved using the [`drilledMembers`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#drilledmembers) property. The following properties of [`drilledMembers`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#drilledmembers) are described below: -* [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/drillOptionsModel/#name): It allows to set the field name whose member(s) needs to be specifically drilled. -* [`items`](https://ej2.syncfusion.com/react/documentation/api/pivotview/drillOptionsModel/#items): It allows to set the exact member(s) which needs to be drilled. -* [`delimiter`](https://ej2.syncfusion.com/react/documentation/api/pivotview/drillOptionsModel/#delimiter): It allows to separate next level of member from its parent member. +* [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/drillOptionsModel/#name): Specifies the field name whose members should be expanded or collapsed. +* [`items`](https://ej2.syncfusion.com/react/documentation/api/pivotview/drillOptionsModel/#items): Defines the exact members to be expanded or collapsed within the specified field. +* [`delimiter`](https://ej2.syncfusion.com/react/documentation/api/pivotview/drillOptionsModel/#delimiter): Sets the character used to separate a child member from its parent when specifying hierarchical members. + +The following code demonstrates how to configure the Pivot Table to expand specific members using the [`drilledMembers`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#drilledmembers) property. In this example, only the **FY 2015** and **FY 2016** members in the **Year** field, and the **Q1** member under **FY 2015** in the **Quarter** field are expanded, while other members remain collapsed. The [`delimiter`](https://ej2.syncfusion.com/react/documentation/api/pivotview/drillOptionsModel/#delimiter) property is used for the **Quarter** field to specify the separator (`~~`) for hierarchical member items. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -121,16 +142,17 @@ End user can also manually expand or collapse specific member(s) in each fields {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs46" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs46" %} ## Event ### Drill -The event [`drill`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#aggregatecellinfo) triggers every time when a field is expanded or collapsed. For instance using this event user can alter delimiter and drill action for the respective item. It has the following parameters: +The [`drill`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#drill) event is triggered each time a field member in the Pivot Table is expanded or collapsed. This event allows customization of drill actions, such as modifying the delimiter or changing the behavior for specific items. The event provides the following parameters: -* `drillInfo` - It holds the current drilled item information. -* `pivotview` - It holds pivot table instance. +* [`drillInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/drillArgs/#drillinfo): Contains information about the currently drilled field member. +* [`pivotview`](https://ej2.syncfusion.com/react/documentation/api/pivotview/drillArgs/#pivotview): A reference to the Pivot Table component instance. +* [`cancel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/drillArgs/#cancel): Specifies whether to prevent the current drill operation. Set this property to true in the event handler to cancel the action. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -147,24 +169,23 @@ The event [`drill`](https://ej2.syncfusion.com/react/documentation/api/pivotview {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs47" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs47" %} ### ActionBegin -The event [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) triggers when the UI actions such as drill down and drill up begin. This allows user to identify the current action being performed at runtime. It has the following parameters: - -* `dataSourceSettings`: It holds the current data source settings such as input data source, rows, columns, values, filters, format settings and so on. +The [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) event triggers when a user starts a UI action, such as drilling down (expanding) or drilling up (collapsing) data in the pivot table. This event helps you track the action being performed and customize its behavior. It includes the following parameters: -* `actionName`: It holds the name of the current action began. The following are the UI actions and their names: +- [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#datasourcesettings): Contains the current pivot table report settings, including the data source, rows, columns, values, filters, and format settings. +- [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#actionname): Indicates the name of the action being performed. The table below lists the UI actions and their corresponding names: - | Action | Action Name| - |------|-------------| - | [`Expand`](./drill-down/#Drill-down-and-drill-up)| Drill down| - | [`Collapse`](./drill-down/#Drill-down-and-drill-up)| Drill up| +| Action | Action Name | +|----------|-------------| +| **Expand** | Drill down | +| **Collapse** | Drill up | -* `cancel`: It allows user to restrict the current action. +- [`cancel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#cancel): Allows you to block the current action by setting it to `true`. -In the below sample, drill down and drill up action can be restricted by setting the **args.cancel** option to **true** in the `actionBegin` event. +In the below sample, drill down and drill up action can be restricted by setting the **args.cancel** option to **true** in the [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) event. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -181,66 +202,66 @@ In the below sample, drill down and drill up action can be restricted by setting {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs48" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs48" %} ### ActionComplete The event [`actionComplete`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actioncomplete) triggers when a UI action such as drill down or drill up, is completed. This allows user to identify the current UI actions being completed at runtime. It has the following parameters: -* `dataSourceSettings`: It holds the current data source settings such as input data source, rows, columns, values, filters, format settings and so on. +* [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#datasourcesettings): It holds the current data source settings such as input data source, rows, columns, values, filters, format settings and so on. -* `actionName`: It holds the name of the current action completed. The following are the UI actions and their names: +* [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#actionname): It holds the name of the current action completed. The following are the UI actions and their names: - | Action | Action Name| - |------|-------------| - | [`Expand`](./drill-down/#Drill-down-and-drill-up)| Drill down| - | [`Collapse`](./drill-down/#Drill-down-and-drill-up)| Drill up| +| Action | Action Name| +|------|-------------| +| **Expand** | Drill down| +| **Collapse** | Drill up| -* `actionInfo`: It holds the unique information about the current UI action. For example, if drill down action is completed, the event argument contains information such as field name and the drill information. +* [`actionInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#actioninfo): It holds the unique information about the current UI action. For example, if drill down action is completed, the event argument contains information such as field name and the drill information. - {% tabs %} - {% highlight js tabtitle="App.jsx" %} - {% include code-snippet/pivot-table/default-cs49/app/App.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="App.tsx" %} - {% include code-snippet/pivot-table/default-cs49/app/App.tsx %} - {% endhighlight %} - {% highlight js tabtitle="datasource.jsx" %} - {% include code-snippet/pivot-table/default-cs49/app/datasource.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="datasource.tsx" %} - {% include code-snippet/pivot-table/default-cs49/app/datasource.tsx %} - {% endhighlight %} - {% endtabs %} +{% tabs %} +{% highlight js tabtitle="App.jsx" %} +{% include code-snippet/pivot-table/default-cs49/app/App.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="App.tsx" %} +{% include code-snippet/pivot-table/default-cs49/app/App.tsx %} +{% endhighlight %} +{% highlight js tabtitle="datasource.jsx" %} +{% include code-snippet/pivot-table/default-cs49/app/datasource.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="datasource.tsx" %} +{% include code-snippet/pivot-table/default-cs49/app/datasource.tsx %} +{% endhighlight %} +{% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs49" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs49" %} ### ActionFailure -The event [`actionFailure`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionfailure) triggers when the current UI action fails to achieve the desired result. It has the following parameters: - -* `actionName`: It holds the name of the current action failed. The following are the UI actions and their names: - - | Action | Action Name| - |------|-------------| - | [`Expand`](./drill-down/#Drill-down-and-drill-up)| Drill down| - | [`Collapse`](./drill-down/#Drill-down-and-drill-up)| Drill up| - -* `errorInfo`: It holds the error information of the current UI action. - - {% tabs %} - {% highlight js tabtitle="App.jsx" %} - {% include code-snippet/pivot-table/default-cs50/app/App.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="App.tsx" %} - {% include code-snippet/pivot-table/default-cs50/app/App.tsx %} - {% endhighlight %} - {% highlight js tabtitle="datasource.jsx" %} - {% include code-snippet/pivot-table/default-cs50/app/datasource.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="datasource.tsx" %} - {% include code-snippet/pivot-table/default-cs50/app/datasource.tsx %} - {% endhighlight %} - {% endtabs %} - - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs50" %} \ No newline at end of file +The [`actionFailure`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionfailure) event is triggered when a UI action does not produce the expected result. It provides details about the failure through the following parameters: + +* [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionFailureEventArgs/#actionname): The name of the action that failed. The table below lists the UI actions and their corresponding names: + +| Action | Action Name| +|------|-------------| +| **Expand** | Drill down| +| **Collapse** | Drill up| + +* [`errorInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionFailureEventArgs/#errorinfo): Contains details about the error that caused the action to fail. + +{% tabs %} +{% highlight js tabtitle="App.jsx" %} +{% include code-snippet/pivot-table/default-cs50/app/App.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="App.tsx" %} +{% include code-snippet/pivot-table/default-cs50/app/App.tsx %} +{% endhighlight %} +{% highlight js tabtitle="datasource.jsx" %} +{% include code-snippet/pivot-table/default-cs50/app/datasource.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="datasource.tsx" %} +{% include code-snippet/pivot-table/default-cs50/app/datasource.tsx %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs50" %} \ No newline at end of file diff --git a/ej2-react/pivotview/drill-through.md b/ej2-react/pivotview/drill-through.md index 7e61e5b21..656035896 100644 --- a/ej2-react/pivotview/drill-through.md +++ b/ej2-react/pivotview/drill-through.md @@ -1,18 +1,20 @@ --- layout: post -title: Drill through in React Pivotview component | Syncfusion -description: Learn here all about Drill through in Syncfusion React Pivotview component of Syncfusion Essential JS 2 and more. +title: Drill through in React Pivot Table component | Syncfusion +description: Learn here all about Drill through in Syncfusion React Pivot Table component of Syncfusion Essential JS 2 and more. control: Drill through platform: ej2-react documentation: ug domainurl: ##DomainURL## --- -# Drill through in React Pivotview component +# Drill through in React Pivot Table component -Allows to view the underlying raw data of a summarized cell in the pivot table. It can be enabled by setting the [`allowDrillThrough`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowdrillthrough) property to **true**. By double-clicking on any value cell, user can view the detailed raw data in a data grid inside a new window. In the new window, row header, column header and measure name of the clicked cell will be shown at the top. Also, user can include or exclude fields available in the data grid using column chooser option. +The drill-through feature in the Pivot Table component allows users to view the raw, unaggregated data behind any aggregated cell in the Pivot Table. To enable this feature, set the [`allowDrillThrough`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowdrillthrough) property to **true**. By double-clicking an aggregated cell, users can view its detailed raw data in a data grid displayed in a new window. The new window shows the row header, column header, and measure name of the selected cell at the top. Additionally, users can include or exclude fields available in the data grid using the column chooser option. -To use the drill through feature, inject the `DrillThrough` module in the pivot table. +To use the drill-through feature, inject the `DrillThrough` module in the Pivot Table. + +Below is an example of enabling drill-through in a Pivot Table: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -29,9 +31,11 @@ To use the drill through feature, inject the `DrillThrough` module in the pivot {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs51" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs51" %} + +Users can also access drill-through data through the pivot chart. By clicking on any data point in the pivot chart, they can view the raw data in a data grid displayed in a new window. -Users can also view the underlying raw data though the pivot chart. By clicking on any data point, user can view the detailed raw data in a data grid inside a new window. +Below is an example of enabling drill-through with a pivot chart: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -48,13 +52,13 @@ Users can also view the underlying raw data though the pivot chart. By clicking {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs52" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs52" %} ## Maximum rows to retrieve > This property is applicable only for the OLAP data source. -The [`maxRowsInDrillThrough`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#maxrowsindrillthrough) property allows to specify the maximum number of rows that should be returned while drill through. By default, this property is set to **"10000"**. This means that if you do not specify this property, you will get 10,000 rows or less. +The [`maxRowsInDrillThrough`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#maxrowsindrillthrough) property specifies the maximum number of rows to be returned during a drill-through operation. By default, this property is set to **"10000"**, meaning that if it is not explicitly defined, up to 10,000 rows will be returned. ```ts import * as React from 'react'; @@ -65,51 +69,51 @@ import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/dat function App() { let dataSourceSettings: DataSourceSettingsModel = { catalog: 'Adventure Works DW 2008 SE', - cube: 'Adventure Works', - providerType: 'SSAS', - enableSorting: true, - url: 'https://bi.syncfusion.com/olap/msmdpump.dll', - localeIdentifier: 1033, - rows: [ - { name: '[Customer].[Customer Geography]', caption: 'Customer Geography' }, - ], - columns: [ - { name: '[Product].[Product Categories]', caption: 'Product Categories' }, - { name: '[Measures]', caption: 'Measures' }, - ], - values: [ - { name: '[Measures].[Customer Count]', caption: 'Customer Count' }, - { name: '[Measures].[Internet Sales Amount]', caption: 'Internet Sales Amount' }, - { name: 'Order on Discount', isCalculatedField: true } - ], - filters: [ - { name: '[Date].[Fiscal]', caption: 'Date Fiscal' }, - ], - calculatedFieldSettings: [ - { - name: 'BikeAndComponents', - formula: '([Product].[Product Categories].[Category].[Bikes] + [Product].[Product Categories].[Category].[Components] )', - hierarchyUniqueName: '[Product].[Product Categories]', - formatString: 'Standard' - }, - { - name: 'Order on Discount', - formula: '[Measures].[Order Quantity] + ([Measures].[Order Quantity] * 0.10)', - formatString: 'Currency' - } - ], - filterSettings: [ - { - name: '[Date].[Fiscal]', items: ['[Date].[Fiscal].[Fiscal Quarter].&[2002]&[4]', - '[Date].[Fiscal].[Fiscal Year].&[2005]'], - levelCount: 3 - } - ] + cube: 'Adventure Works', + providerType: 'SSAS', + enableSorting: true, + url: 'https://bi.syncfusion.com/olap/msmdpump.dll', + localeIdentifier: 1033, + rows: [ + { name: '[Customer].[Customer Geography]', caption: 'Customer Geography' }, + ], + columns: [ + { name: '[Product].[Product Categories]', caption: 'Product Categories' }, + { name: '[Measures]', caption: 'Measures' }, + ], + values: [ + { name: '[Measures].[Customer Count]', caption: 'Customer Count' }, + { name: '[Measures].[Internet Sales Amount]', caption: 'Internet Sales Amount' }, + { name: 'Order on Discount', isCalculatedField: true } + ], + filters: [ + { name: '[Date].[Fiscal]', caption: 'Date Fiscal' }, + ], + calculatedFieldSettings: [ + { + name: 'BikeAndComponents', + formula: '([Product].[Product Categories].[Category].[Bikes] + [Product].[Product Categories].[Category].[Components] )', + hierarchyUniqueName: '[Product].[Product Categories]', + formatString: 'Standard' + }, + { + name: 'Order on Discount', + formula: '[Measures].[Order Quantity] + ([Measures].[Order Quantity] * 0.10)', + formatString: 'Currency' + } + ], + filterSettings: [ + { + name: '[Date].[Fiscal]', items: ['[Date].[Fiscal].[Fiscal Quarter].&[2002]&[4]', + '[Date].[Fiscal].[Fiscal Year].&[2005]'], + levelCount: 3 + } + ] }; let pivotObj: PivotViewComponent; - return ( pivotObj = d} id='PivotView' height={350} dataSourceSettings={dataSourceSettings} allowDrillThrough={true} maxRowsInDrillThrough={10} allowCalculatedField={true} showFieldList={true}> - ); + return ( pivotObj = d} id='PivotView' height={350} dataSourceSettings={dataSourceSettings} allowDrillThrough={true} maxRowsInDrillThrough={10} allowCalculatedField={true} showFieldList={true}> + ); }; export default App; ReactDOM.render(, document.getElementById('sample')); @@ -122,16 +126,18 @@ ReactDOM.render(, document.getElementById('sample')); ### DrillThrough -The event [`drillThrough`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#drillthrough) triggers every time before a value cell is double clicked. This event allows user to customize the data grid columns in drill through popup. Exclusively the event helps to view and process the raw data information behind a aggregated value inside value cell. It has the following parameters: +The [`drillThrough`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#drillthrough) event is triggered immediately after a user double-clicks a value cell in the Pivot Table. This event allows users to customize the columns displayed in the drill-through popup's data grid. It is specifically designed to help users view and process the raw data behind an aggregated value in a value cell. The event includes the following parameters: -* `columnHeaders` - It holds column header of the current cell. -* `currentCell` - It holds the current cell's information. -* `currentTarget` - It holds current cell's html element. -* `gridColumns` - It holds data grid columns to be rendered in drill through popup. -* `rawData` - It holds current cell's raw data. -* `rowHeaders` - It holds row header of current cell. -* `value` - It holds value of current cell. -* `cancel` - It is a boolean property and by setting this to true, dialog won’t be created. +- [`columnHeaders`](https://ej2.syncfusion.com/react/documentation/api/pivotview/drillThroughEventArgs/#columnheaders): Contains the column header of the clicked cell. +- [`currentCell`](https://ej2.syncfusion.com/react/documentation/api/pivotview/drillThroughEventArgs/#currentcell): Contains details about the clicked cell. +- [`currentTarget`](https://ej2.syncfusion.com/react/documentation/api/pivotview/drillThroughEventArgs/#currenttarget): Contains the HTML element of the clicked cell. +- [`gridColumns`](https://ej2.syncfusion.com/react/documentation/api/pivotview/drillThroughEventArgs/#gridcolumns): Specifies the data grid columns to be displayed in the drill-through popup. +- [`rawData`](https://ej2.syncfusion.com/react/documentation/api/pivotview/drillThroughEventArgs/#rawdata): Contains the raw, unaggregated data for the clicked cell. +- [`rowHeaders`](https://ej2.syncfusion.com/react/documentation/api/pivotview/drillThroughEventArgs/#rowheaders): Contains the row header of the clicked cell. +- [`value`](https://ej2.syncfusion.com/react/documentation/api/pivotview/drillThroughEventArgs/#value): Contains the value of the clicked cell. +- [`cancel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/drillThroughEventArgs/#cancel): It is a boolean property and by setting this to **true**, dialog won’t be created. + +Below is an example of using the [`drillThrough`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#drillthrough) event in a Pivot Table: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -148,16 +154,18 @@ The event [`drillThrough`](https://ej2.syncfusion.com/react/documentation/api/pi {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs53" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs53" %} ### BeginDrillThrough -The event [`beginDrillThrough`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#begindrillthrough) occurs for each and every value cell with a double click, and the event argument provides the data grid information before the drill-through popup is shown. User can access the data grid (which holds the raw data underneath the aggregated value cell) options such as sort, group, filter and customize those in the data grid. It has the following parameters: +The event [`beginDrillThrough`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#begindrillthrough) triggers after a double-click on a value cell in the Pivot Table and fires right after the data grid is initialized in the drill-through popup. This event allows users to interact with the data grid, which displays the raw data behind the aggregated value cell. Users can perform operations such as [`sorting`](https://ej2.syncfusion.com/react/documentation/grid/sorting), [`grouping`](https://ej2.syncfusion.com/react/documentation/grid/grouping/grouping), and [`filtering`](https://ej2.syncfusion.com/react/documentation/grid/filtering/filtering) within the data grid according to their specific needs. The event includes the following parameters: + +* [`gridObj`](https://ej2.syncfusion.com/react/documentation/api/pivotview/beginDrillThroughEventArgs/#gridobj) - It holds the data grid instance to be rendered inside the drill-through popup. +* [`cellInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/beginDrillThroughEventArgs/#cellinfo) - Gives details about the clicked cell, including rawData (unaggregated data), rowHeaders, columnHeaders, and value. -* `gridObj` - It holds the data grid instance to be rendered inside the drill-through popup. -* `cellInfo` - It holds current cell information like raw data, row header, column header and value. +The following example demonstrates how to enable [`sorting`](https://ej2.syncfusion.com/react/documentation/grid/sorting), [`filtering`](https://ej2.syncfusion.com/react/documentation/grid/filtering/filtering), and [`grouping`](https://ej2.syncfusion.com/react/documentation/grid/grouping/grouping) in the data grid displayed within the drill-through popup. This is achieved by configuring the [`gridObj`](https://ej2.syncfusion.com/react/documentation/api/pivotview/beginDrillThroughEventArgs/#gridobj) in the [`beginDrillThrough`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#begindrillthrough) event. -> Grid features are segregated into individual feature-wise modules. For example, to use sorting feature, you should inject `Sort` using the `Grid.Inject(Sort)` section. +> [Grid](https://ej2.syncfusion.com/react/documentation/grid/getting-started) features are segregated into individual feature-wise modules. For example, to use [`sorting`](https://ej2.syncfusion.com/react/documentation/grid/sorting) feature, you should inject `Sort` using the `Grid.Inject(Sort)` section. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -174,7 +182,7 @@ The event [`beginDrillThrough`](https://ej2.syncfusion.com/react/documentation/a {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs54" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs54" %} ## See Also diff --git a/ej2-react/pivotview/editing.md b/ej2-react/pivotview/editing.md index be1f5ad17..f21048dec 100644 --- a/ej2-react/pivotview/editing.md +++ b/ej2-react/pivotview/editing.md @@ -1,18 +1,30 @@ --- layout: post -title: Editing in React Pivotview component | Syncfusion -description: Learn here all about Editing in Syncfusion React Pivotview component of Syncfusion Essential JS 2 and more. -control: Editing +title: Editing in React Pivot Table component | Syncfusion +description: Learn here all about Editing in Syncfusion React Pivot Table component of Syncfusion Essential JS 2 and more. platform: ej2-react +control: Editing documentation: ug domainurl: ##DomainURL## --- -# Editing in React Pivotview component +# Editing in React Pivot Table component > This feature is applicable only for the relational data source. -Cell edit allows to add, delete, or update the raw items of any value cell from the pivot table. The raw items can be viewed in a data grid inside a new window on double-clicking the appropriate value cell. In the data grid, CRUD operations can be performed by double-clicking the cells or using toolbar options. Once user finishes editing raw items, aggregation will be performed for the updated values in pivot table component immediately. This support can be enabled by setting the [`allowEditing`](https://ej2.syncfusion.com/react/documentation/api/pivotview/cellEditSettingsModel/#allowediting) property in [`cellEditSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview#editsettings) to **true**. +The cell editing option allows users to directly change data in the pivot table by adding, updating, or deleting raw data items within any value cell. When you double-click a value cell, the raw items appear in a data grid within a new window. In this data grid, you can perform CRUD operations by double-clicking cells or using toolbar options. After you finish editing the raw items, the pivot table automatically updates the aggregated values. To enable this option, set the [`allowEditing`](https://ej2.syncfusion.com/react/documentation/api/pivotview/cellEditSettingsModel/#allowediting) property in [`editSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#editsettings) to **true**. + +The [`editSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#editsettings) property provides comprehensive control over editing behavior through the following options: + +* [`allowAdding`](https://ej2.syncfusion.com/react/documentation/api/pivotview/cellEditSettingsModel/#allowadding): Enables adding new rows to the data grid. +* [`allowEditing`](https://ej2.syncfusion.com/react/documentation/api/pivotview/cellEditSettingsModel/#allowediting): Allows editing existing records in the data grid. +* [`allowDeleting`](https://ej2.syncfusion.com/react/documentation/api/pivotview/cellEditSettingsModel/#allowdeleting): Enables deleting records directly from the data grid. +* [`allowCommandColumns`](https://ej2.syncfusion.com/react/documentation/api/pivotview/cellEditSettingsModel/#allowcommandcolumns): Displays built-in command buttons (edit, delete, save, cancel) in the data grid. +* [`mode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/cellEditSettingsModel/#mode): Sets the editing mode. +* [`allowEditOnDblClick`](https://ej2.syncfusion.com/react/documentation/api/pivotview/cellEditSettingsModel/#alloweditondbclick): Enables users to start editing a cell by double-clicking it. +* [`showConfirmDialog`](https://ej2.syncfusion.com/react/documentation/api/pivotview/cellEditSettingsModel/#showconfirmdialog): Shows a confirmation dialog before saving changes. +* [`showDeleteConfirmDialog`](https://ej2.syncfusion.com/react/documentation/api/pivotview/cellEditSettingsModel/#showdeleteconfirmdialog): Shows a confirmation dialog before deleting a record. +* [`allowInlineEditing`](https://ej2.syncfusion.com/react/documentation/api/pivotview/cellEditSettingsModel/#allowinlineediting): Allows users to edit content directly in the cell. The CRUD operations available in the data grid toolbar and command column are: @@ -37,7 +49,7 @@ To learn about how to work with Editing options, you can check on this video for ## Normal -In normal edit mode, when user starts editing, the state of the currently selected row alone will be completely changed to edit state. User can change the cell values and save it to the data source by clicking "Update" toolbar button. To enable the normal edit, set the [`mode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/cellEditSettingsModel/#mode) property in [`cellEditSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview#editsettings) to **Normal**. +Normal edit mode allows users to edit one row at a time in the editing dialog with simple data changes and updates. In normal edit mode, when editing begins, the selected row changes to edit state. Cell values can be modified and saved to the data source by clicking the "Update" toolbar button. To enable normal edit mode, set the [`mode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/cellEditSettingsModel/#mode) property in [`editSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#editsettings) to **Normal**. > The normal edit mode **Normal** is set as the default mode for editing. @@ -56,13 +68,11 @@ In normal edit mode, when user starts editing, the state of the currently select {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs55" %} - -> The normal edit mode is the default mode of editing. +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs55" %} ## Dialog -In dialog edit mode, when user starts editing, the currently selected row data will be shown in an exclusive dialog. User can change cell values and save it to the data source by clicking "Save" button in the dialog. To enable the dialog edit, set the [`mode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/cellEditSettingsModel/#mode) property in [`cellEditSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#editsettings) to **Dialog**. +The dialog edit mode provides a focused editing environment by displaying the selected row data in an exclusive dialog window, ensuring clear visibility and controlled data modification. In dialog edit mode, when editing begins, the currently selected row data appears in a dedicated dialog. Cell values can be modified and saved to the data source by clicking the "Save" button in the dialog. To enable dialog editing, set the [`mode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/cellEditSettingsModel/#mode) property in [`editSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#editsettings) to **Dialog**. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -79,11 +89,11 @@ In dialog edit mode, when user starts editing, the currently selected row data w {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs56" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs56" %} ## Batch -In batch edit mode, when user double-clicks any data grid cell, the state of target cell is changed to edit state. User can perform bulk changes and finally save (added, changed, and deleted data in the single request) to the data source by clicking "Update" toolbar button. To enable the batch edit, set the [`mode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/cellEditSettingsModel/#mode) property in [`cellEditSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#editsettings) to **Batch**. +Batch editing enables users to make multiple changes to data grid cells and save them all at once, improving efficiency for bulk updates. When a user double-clicks any data grid cell in batch mode, the target cell changes to edit state. Users can perform multiple changes and save all modifications (added, changed, and deleted data) to the data source by clicking the **Update** toolbar button. To enable batch editing, set the [`mode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/cellEditSettingsModel/#mode) property in [`editSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#editsettings) to **Batch**. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -100,11 +110,24 @@ In batch edit mode, when user double-clicks any data grid cell, the state of tar {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs57" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs57" %} ## Command column -An additional column appended in the data grid layout holds the command buttons to perform the CRUD operation. To enable the command columns, set the [`allowCommandColumns`](https://ej2.syncfusion.com/react/documentation/api/pivotview/cellEditSettingsModel/#allowcommandcolumns) property in [`cellEditSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#editsettings) to **true**. +The command column option provides dedicated action buttons within the data grid for streamlined CRUD operations as an alternative to using toolbar options. An additional column appears in the data grid layout containing command buttons to perform the CRUD operations. To enable the command columns, set the [`allowCommandColumns`](https://ej2.syncfusion.com/react/documentation/api/pivotview/cellEditSettingsModel/#allowcommandcolumns) property in [`editSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#editsettings) to **true**. + +The available built-in command buttons are: + +| Command Button | Actions | +|----------------|---------| +| Edit | Edit the current row.| +| Delete | Delete the current row.| +| Save | Update the edited row.| +| Cancel | Cancel the edited state. | + +N> +- When the command column option is enabled, the Edit, Delete, Update, and Cancel buttons are not shown in the Data Grid's toolbar. Instead, these action buttons appear in the last column of each row within the Data Grid. +- To delete a record directly from the data grid using the **Delete** action button in the command column, you need to set the [`allowDeleting`](https://ej2.syncfusion.com/react/documentation/api/pivotview/cellEditSettingsModel/#allowdeleting) property to **true**. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -121,11 +144,11 @@ An additional column appended in the data grid layout holds the command buttons {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs58" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs58" %} ## Inline Editing -Allows editing of a value cell directly without the use of an external edit dialog. It is applicable if and only if a single raw data is used for the value of the cell. It is applicable to all editing modes, such as normal, batch, dialog and column commands. It can be enabled by setting the [`allowInlineEditing`](https://ej2.syncfusion.com/react/documentation/api/pivotview/cellEditSettings/#allowinlineediting) property in [`editSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#editsettings) to **true**. +The inline editing option provides streamlined data modification by allowing direct editing of value cells without opening an external dialog, improving workflow efficiency for quick data updates. This editing mode applies only when a single raw data item corresponds to the value of the cell and works with all editing modes including normal, batch, dialog, and column commands. Enable inline editing by setting the [`allowInlineEditing`](https://ej2.syncfusion.com/react/documentation/api/pivotview/cellEditSettings/#allowinlineediting) property in [`editSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#editsettings) to **true**. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -142,11 +165,13 @@ Allows editing of a value cell directly without the use of an external edit dial {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs59" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs59" %} ## Editing using the pivot chart -Users can also add, delete, or update the underlying raw items of any data point via pivot chart. The raw items will be shown in the data grid in the new window by clicking the appropriate data point. Then you can edit the raw items as mentioned above by any of the edit types (normal, dialog, batch and command column). +Pivot chart editing provides an alternative way to conveniently update, add, or remove underlying data associated with any chart data point. This empowers users to perform CRUD (Create, Read, Update, Delete) operations on the underlying raw items linked to visualized data points for enhanced analysis. + +Clicking a data point in the pivot chart displays the underlying raw items in a data grid within a popup window. Users can then add, update, or delete these items using any of the supported edit types (normal, dialog, batch, or command column), following the same steps as for pivot table cells. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -163,21 +188,18 @@ Users can also add, delete, or update the underlying raw items of any data point {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs60" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs60" %} ## Events ### EditCompleted -The event [`editCompleted`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#editcompleted) triggers when values cells are edited completely. The event provides edited cell(s) information along with its previous cell value. It also helps to do the CRUD operation by manually updating the database which is connected to the component. It has the following parameters. - -* `currentData` - It holds the current raw data of the edited cells. +The event [`editCompleted`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#editcompleted) triggers when values cells are edited completely. The event provides edited cell(s) information along with its previous cell value. It also helps to do the CRUD operation by manually updating the data source which is connected to the component. It has the following parameters. -* `previousData` - It holds the previous raw data of the edited cells. - -* `previousPosition` - It holds the index of the raw data whose values are edited. - -* `cancel` - It is a boolean property and if it is set as **true**, the editing won’t be reflected in the pivot table. +* [`currentData`](https://ej2.syncfusion.com/react/documentation/api/pivotview/editCompletedEventArgs/#currentdata) - It holds the current raw data of the edited cells. +* [`previousData`](https://ej2.syncfusion.com/react/documentation/api/pivotview/editCompletedEventArgs/#previousdata) - It holds the previous raw data of the edited cells. +* [`previousPosition`](https://ej2.syncfusion.com/react/documentation/api/pivotview/editCompletedEventArgs/#previousposition) - It holds the index of the raw data whose values are edited. +* [`cancel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/editCompletedEventArgs/#cancel) - It is a boolean property and if it is set as **true**, the editing won’t be reflected in the pivot table. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -194,117 +216,115 @@ The event [`editCompleted`](https://ej2.syncfusion.com/react/documentation/api/p {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs61" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs61" %} ### DrillThrough -For more information [`refer`](./drill-through/#drillthrough) here. +For more information [`refer`](./drill-through#drillthrough) here. ### BeginDrillThrough -For more information [`refer`](./drill-through/#begindrillthrough) here. +For more information [`refer`](./drill-through#begindrillthrough) here. ### ActionBegin -The event [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) triggers when the UI actions such as CRUD operations (via dialog) and inline editing begin. This allows user to identify the current action being performed at runtime. It has the following parameters: +The [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) event triggers when editing actions such as add, edit, save, or delete are started through the UI (either by dialog or inline editing). This event lets users monitor the editing workflow and take action before the operation completes. The following parameters are available in the event: -* `dataSourceSettings`: It holds the current data source settings such as input data source, rows, columns, values, filters, format settings and so on. +- [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#datasourcesettings): Contains the current data source settings, including all input data, rows, columns, values, filters, and format settings. +- [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#actionname): Shows the name of the editing action that has started. The following are the UI actions and their names: -* `actionName`: It holds the name of the current action began. The following are the UI actions and their names: + | Action | Action Name | + |---------|--------------------| + | Editing | Edit record | + | Save | Save edited records| + | Add | Add new record | + | Delete | Remove record | - | Action | Action Name| - |------|-------------| - | Editing| Edit record| - | Save| Save edited records| - | Add| Add new record| - | Delete| Remove record| +- [`cancel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#cancel): Allows users to stop (cancel) the action by setting this option to **true**. -* `cancel`: It allows user to restrict the current action. +For example, you can restrict add and save actions by setting **args.cancel** to **true** in the [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) event. - In the below sample, editing actions such as add and save can be restricted by setting the **args.cancel** option to **true** in the `actionBegin` event. - - {% tabs %} - {% highlight js tabtitle="App.jsx" %} - {% include code-snippet/pivot-table/default-cs62/app/App.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="App.tsx" %} - {% include code-snippet/pivot-table/default-cs62/app/App.tsx %} - {% endhighlight %} - {% highlight js tabtitle="datasource.jsx" %} - {% include code-snippet/pivot-table/default-cs62/app/datasource.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="datasource.tsx" %} - {% include code-snippet/pivot-table/default-cs62/app/datasource.tsx %} - {% endhighlight %} - {% endtabs %} +{% tabs %} +{% highlight js tabtitle="App.jsx" %} +{% include code-snippet/pivot-table/default-cs62/app/App.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="App.tsx" %} +{% include code-snippet/pivot-table/default-cs62/app/App.tsx %} +{% endhighlight %} +{% highlight js tabtitle="datasource.jsx" %} +{% include code-snippet/pivot-table/default-cs62/app/datasource.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="datasource.tsx" %} +{% include code-snippet/pivot-table/default-cs62/app/datasource.tsx %} +{% endhighlight %} +{% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs62" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs62" %} ### ActionComplete -The event [`actionComplete`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actioncomplete) triggers when the UI action such as CRUD operations (via dialog) or inline editing, is completed. This allows user to identify the current UI actions being completed at runtime. It has the following parameters: +The [`actionComplete`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actioncomplete) event triggers whenever a UI action, such as add, update, remove, or save (using dialog or inline editing), is finished. This lets users know exactly what kind of action has just been completed. The event provides the following details: -* `dataSourceSettings`: It holds the current data source settings such as input data source, rows, columns, values, filters, format settings and so on. +* [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#datasourcesettings): Contains the current data source settings, including input data, rows, columns, values, filters, format settings, and more. +* [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#actionname): It holds the name of the current action completed. The following are the UI actions and their names: -* `actionName`: It holds the name of the current action completed. The following are the UI actions and their names: + | Action | Action Name | + |--------|------------------------| + | Save | Edited records saved | + | Add | New record added | + | Delete | Record removed | + | Update | Records updated | - | Action | Action Name| - |------|-------------| - | Save| Edited records saved| - | Add| New record added| - | Delete| Record removed | - | Update| Records updated| +* [`actionInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#actioninfo): It holds the unique information about the current UI action. For example, if save action is completed, the event argument contains information such as mode of editing and saved records. -* `actionInfo`: It holds the unique information about the current UI action. For example, if save action is completed, the event argument contains information such as mode of editing and saved records. - - {% tabs %} - {% highlight js tabtitle="App.jsx" %} - {% include code-snippet/pivot-table/default-cs63/app/App.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="App.tsx" %} - {% include code-snippet/pivot-table/default-cs63/app/App.tsx %} - {% endhighlight %} - {% highlight js tabtitle="datasource.jsx" %} - {% include code-snippet/pivot-table/default-cs63/app/datasource.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="datasource.tsx" %} - {% include code-snippet/pivot-table/default-cs63/app/datasource.tsx %} - {% endhighlight %} - {% endtabs %} +{% tabs %} +{% highlight js tabtitle="App.jsx" %} +{% include code-snippet/pivot-table/default-cs63/app/App.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="App.tsx" %} +{% include code-snippet/pivot-table/default-cs63/app/App.tsx %} +{% endhighlight %} +{% highlight js tabtitle="datasource.jsx" %} +{% include code-snippet/pivot-table/default-cs63/app/datasource.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="datasource.tsx" %} +{% include code-snippet/pivot-table/default-cs63/app/datasource.tsx %} +{% endhighlight %} +{% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs63" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs63" %} ### ActionFailure -The event [`actionFailure`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionfailure) triggers when the current UI action fails to achieve the desired result. It has the following parameters: - -* `actionName`: It holds the name of the current action failed. The following are the UI actions and their names: - - | Action | Action Name| - |------|-------------| - | Editing| Edit record| - | Save| Save edited records| - | Add| Add new record| - | Delete| Remove record| - -* `errorInfo`: It holds the error information of the current UI action. - - {% tabs %} - {% highlight js tabtitle="App.jsx" %} - {% include code-snippet/pivot-table/default-cs64/app/App.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="App.tsx" %} - {% include code-snippet/pivot-table/default-cs64/app/App.tsx %} - {% endhighlight %} - {% highlight js tabtitle="datasource.jsx" %} - {% include code-snippet/pivot-table/default-cs64/app/datasource.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="datasource.tsx" %} - {% include code-snippet/pivot-table/default-cs64/app/datasource.tsx %} - {% endhighlight %} - {% endtabs %} - - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs64" %} +The [`actionFailure`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionfailure) event is triggered when a UI action fails to produce the expected result. This event provides detailed information about the failure through the following parameters: + +* [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionFailureEventArgs/#actionname): It holds the name of the current action failed. The following are the UI actions and their names: + + | Action | Action Name| + |------|-------------| + | Editing| Edit record| + | Save| Save edited records| + | Add| Add new record| + | Delete| Remove record| + +* [`errorInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionFailureEventArgs/#errorinfo): It holds the error information of the current UI action. + +{% tabs %} +{% highlight js tabtitle="App.jsx" %} +{% include code-snippet/pivot-table/default-cs64/app/App.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="App.tsx" %} +{% include code-snippet/pivot-table/default-cs64/app/App.tsx %} +{% endhighlight %} +{% highlight js tabtitle="datasource.jsx" %} +{% include code-snippet/pivot-table/default-cs64/app/datasource.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="datasource.tsx" %} +{% include code-snippet/pivot-table/default-cs64/app/datasource.tsx %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs64" %} ## See Also diff --git a/ej2-react/pivotview/excel-export.md b/ej2-react/pivotview/excel-export.md index df945ec34..0912c598a 100644 --- a/ej2-react/pivotview/excel-export.md +++ b/ej2-react/pivotview/excel-export.md @@ -2,7 +2,7 @@ layout: post title: Excel export in React Pivot Table component | Syncfusion description: Learn here all about Excel export in Syncfusion React Pivot Table component of Syncfusion Essential JS 2 and more. -control: Excel export +control: Excel export platform: ej2-react documentation: ug domainurl: ##DomainURL## @@ -10,9 +10,9 @@ domainurl: ##DomainURL## # Excel export in React Pivot Table component -The Excel export allows Pivot Table data to be exported as Excel document. To enable Excel export in the pivot table, set the [`allowExcelExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowexcelexport) property in [`PivotView`](https://ej2.syncfusion.com/react/documentation/api/pivotview) to **true**. Once the API is set, user needs to call the [`excelExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#excelexport) method for exporting on external button click. +The Excel export feature allows you to export Pivot Table data as an Excel document for offline analysis and reporting. To enable Excel export functionality in the Pivot Table, set the [`allowExcelExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowexcelexport) property to **true**. Once enabled, use the [`excelExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#excelexport) method to perform the Excel export operation. -> The pivot table component can be exported to Excel format using options available in the toolbar. For more details [`refer`](./tool-bar) here. +> The Pivot Table component can be exported to Excel format using options available in the toolbar. For more details, [`refer`](./tool-bar) here. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -29,17 +29,17 @@ The Excel export allows Pivot Table data to be exported as Excel document. To en {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs65" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs65" %} -## Multiple pivot table exporting +## Multiple Pivot Table exporting -The Excel export provides an option to export multiple pivot table data in the same Excel file. +Excel exporting supports exporting multiple Pivot Tables into a single Excel file, allowing you to combine and organize data from different Pivot Tables for a unified view. ### Same WorkSheet -The Excel export provides support to export multiple pivot tables in same sheet. To export in same sheet, define `multipleExport.type` as `AppendToSheet` in `excelExportProperties`. It has an option to provide blank rows between pivot tables and these blank row(s) count can be defined using the`multipleExport.blankRows` property. +The Excel export provides support to export multiple Pivot Tables in the same sheet. To export in the same sheet, define [`multipleExport.type`](https://ej2.syncfusion.com/react/documentation/api/grid/multipleExport/#type) as `AppendToSheet` in [`excelExportProperties`](https://ej2.syncfusion.com/react/documentation/api/grid/excelExportProperties/) object. It has an option to provide blank rows between Pivot Tables, and these blank row(s) count can be defined using the [`multipleExport.blankRows`](https://ej2.syncfusion.com/react/documentation/api/grid/multipleExport/#blankrows) property. ->By default, `multipleExport.blankRows` value is 5 between pivot tables within the same sheet. +> By default, [`multipleExport.blankRows`](https://ej2.syncfusion.com/react/documentation/api/grid/multipleExport/#blankrows) value is 5 between Pivot Tables within the same sheet. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -56,11 +56,11 @@ The Excel export provides support to export multiple pivot tables in same sheet. {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs66" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs66" %} ### New WorkSheet -Excel export provides support to export multiple pivot tables into new sheets. To export in new sheets, define `multipleExport.type` as `NewSheet` in `excelExportProperties`. +Excel export provides support to export multiple Pivot Tables into new sheets. To export in new sheets, define [`multipleExport.type`](https://ej2.syncfusion.com/react/documentation/api/grid/multipleExport/#type) as `NewSheet` in [`excelExportProperties`](https://ej2.syncfusion.com/react/documentation/api/grid/excelExportProperties/) object. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -77,13 +77,13 @@ Excel export provides support to export multiple pivot tables into new sheets. T {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs67" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs67" %} -## Changing the pivot table style while exporting +## Changing the Pivot Table style while exporting -The Excel export provides an option to change colors for headers, caption and records in pivot table before exporting. In-order to apply colors, define **theme** settings in **excelExportProperties** object and pass it as a parameter to the [`excelExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#excelexport) method. +The Excel export provides an option to change colors for headers, caption, and records in Pivot Table before exporting. To apply colors, define [`theme`](https://ej2.syncfusion.com/react/documentation/api/grid/excelExportProperties/#theme) settings in [`excelExportProperties`](https://ej2.syncfusion.com/react/documentation/api/grid/excelExportProperties/) object and pass it as a parameter to the [`excelExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#excelexport) method. -> By default, material theme will be applied to the pivot table during Excel exporting. +> By default, material theme is applied to exported Excel document. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -100,11 +100,11 @@ The Excel export provides an option to change colors for headers, caption and re {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs68" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs68" %} ## Add header and footer while exporting -The Excel export provides an option to include header and footer content for the excel document before exporting. In-order to add header and footer, define **header** and **footer** properties in **excelExportProperties** object and pass it as a parameter to the [`excelExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#excelexport) method. +The Excel export provides an option to include header and footer content for the Excel document before exporting. To add header and footer, define [`header`](https://ej2.syncfusion.com/react/documentation/api/grid/excelExportProperties/#header) and [`footer`](https://ej2.syncfusion.com/react/documentation/api/grid/excelExportProperties/#footer) properties in [`excelExportProperties`](https://ej2.syncfusion.com/react/documentation/api/grid/excelExportProperties/) object and pass it as a parameter to the [`excelExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#excelexport) method. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -121,11 +121,11 @@ The Excel export provides an option to include header and footer content for the {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs69" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs69" %} ## Changing the file name while exporting -The Excel export provides an option to change file name of the document before exporting. In-order to change the file name, define **fileName** property in **excelExportProperties** object and pass it as a parameter to the [`excelExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#excelexport) method. +This option provides flexibility to specify a custom file name for your exported Excel document, making it easier to organize and identify your exported data files. The Excel export provides an option to change the file name of the document before exporting. To change the file name, define the [`fileName`](https://ej2.syncfusion.com/react/documentation/api/grid/excelExportProperties/#filename) property in the [`excelExportProperties`](https://ej2.syncfusion.com/react/documentation/api/grid/excelExportProperties/) object and pass it as a parameter to the [`excelExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#excelexport) method. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -142,17 +142,17 @@ The Excel export provides an option to change file name of the document before e {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs70" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs70" %} ## Limitation when exporting millions of records to Excel format -By default, Microsoft Excel supports only 1,048,576 records in an Excel sheet. Hence, it is not possible to export millions of records to Excel. You can refer to the [documentation link](https://support.microsoft.com/en-gb/office/excel-specifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3) for more details on Microsoft Excel specifications and limits. Therefore, it is suggested to export the data in CSV (Comma-Separated Values) or other formats that can handle large datasets more efficiently than Excel. +Understanding this limitation helps you choose the appropriate export format based on your data size requirements and ensures optimal performance for large datasets. By default, Microsoft Excel supports only 1,048,576 records in an Excel sheet. Therefore, it is not possible to export millions of records to Excel format. You can refer to the [documentation link](https://support.microsoft.com/en-gb/office/excel-specifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3) for more details on Microsoft Excel specifications and limits. For large datasets, it is recommended to export the data in CSV (Comma-Separated Values) or other formats that can handle large datasets more efficiently than Excel. ## CSV Export -The Excel export allows pivot table data to be exported in **CSV** file format as well. To enable CSV export in the pivot table, set the [`allowExcelExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowexcelexport) property in [`PivotView`](https://ej2.syncfusion.com/react/documentation/api/pivotview) as **true**. Once the API is set, user needs to call the [`csvExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#csvexport) method for exporting on external button click. +The CSV export option allows you to export Pivot Table data as a plain text CSV file, making it easy to use the data with other spreadsheet or data analysis applications. To export the Pivot Table as a CSV file, ensure that the [`allowExcelExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowexcelexport) property is set to **true**. Then, use the [`csvExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#csvexport) method to perform the CSV export operation. -> The pivot table component can be exported to CSV format using options available in the toolbar. For more details [`refer`](./tool-bar) here. +> The Pivot Table component can be exported to CSV format using options available in the toolbar. For more details, [`refer`](./tool-bar) here. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -169,14 +169,14 @@ The Excel export allows pivot table data to be exported in **CSV** file format a {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs71" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs71" %} ## Virtual Scroll Data -You can export the pivot table virtual scroll data as Excel/CSV document by using PivotEngine export without any performance degradation. To enable PivotEngine export in the pivot table, set the [`allowExcelExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowexcelexport) as true. You need to use the `exportToExcel` method for PivotEngine export. +Exporting virtual scroll data lets you generate a complete Excel or CSV document containing all Pivot Table data without performance issues, even with large datasets. This approach uses PivotEngine export to handle extensive data efficiently. To enable PivotEngine export in the Pivot Table, set the [`allowExcelExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowexcelexport) property and use either the [`excelExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#excelexport) or [`csvExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#csvexport) method. -> To use PivotEngine export, You need to inject the `ExcelExport` module in pivot table. -> PivotEngine export will be performed while enabling virtual scrolling by default. +> To use PivotEngine export, inject the `ExcelExport` module in the Pivot Table. +> PivotEngine export will be performed when virtual scrolling is enabled by default. ### Virtual Scroll Data Excel Export @@ -195,7 +195,7 @@ You can export the pivot table virtual scroll data as Excel/CSV document by usin {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs72" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs72" %} ### Virtual Scroll Data CSV Export @@ -214,13 +214,13 @@ You can export the pivot table virtual scroll data as Excel/CSV document by usin {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs73" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs73" %} ### Export all pages -The pivot engine exports the entire virtual data of the pivot table (i.e. the data that contains all of the records used to render the complete pivot table) as an Excel/CSV document. To export just the current viewport of the pivot table, set the [`exportAllPages`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#exportallpages) property to **false**. To use the pivot engine export, add the `ExcelExport` module into the pivot table. +This option gives flexibility to export either the entire dataset rendered by the Pivot Table (all pages) or just the data currently visible in the viewport. To export the entire Pivot Table data, ensure the [`exportAllPages`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#exportallpages) property is set to **true**. Set it to **false** to export only the visible records. This setting applies to both Excel and CSV exports. -> By default, the pivot engine export will be performed while virtual scrolling is enabled. +> By default, the PivotEngine export will be performed while virtual scrolling is enabled. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -237,18 +237,20 @@ The pivot engine exports the entire virtual data of the pivot table (i.e. the da {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs74" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs74" %} ## Events ### ExcelQueryCellInfo -The event `excelQueryCellInfo` triggers while framing each row and value cell during Excel export. It allows the user to customize the cell value, style etc. of the current cell. It has the following parameters: +The [`excelQueryCellInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#excelquerycellinfo) event is triggered during the creation of each row and value cell while exporting data to Excel. This event offers options to change the content and style of individual cells in the exported Excel document, improving the flexibility and appearance of exported reports. -* `value` - It holds the cell value. -* `column` - It holds column information for the current cell. -* `data` - It holds the entire row data across the current cell. -* `style` - It holds the style properties for the cell. +The event provides the following arguments: + +* [`value`](https://ej2.syncfusion.com/react/documentation/api/grid/excelQueryCellInfoEventArgs/#value) – Represents the value of the current cell in the exported Excel sheet. +* [`column`](https://ej2.syncfusion.com/react/documentation/api/grid/excelQueryCellInfoEventArgs/#column) – Provides details about the column to which the current cell belongs. +* [`data`](https://ej2.syncfusion.com/react/documentation/api/grid/excelQueryCellInfoEventArgs/#data) – Contains all data for the row that includes the current cell. +* [`style`](https://ej2.syncfusion.com/react/documentation/api/grid/excelQueryCellInfoEventArgs/#style) – Defines the style settings (such as font, color, borders) applied to the current cell. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -265,14 +267,14 @@ The event `excelQueryCellInfo` triggers while framing each row and value cell du {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs75" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs75" %} ### ExcelHeaderQueryCellInfo -The event `excelHeaderQueryCellInfo` triggers on framing each header cell during Excel export. It allows the user to customize the cell value, style etc. of the current cell. It has the following parameters: +The [`excelHeaderQueryCellInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#excelheaderquerycellinfo) event provides the ability to modify header cell appearance and content during Excel export, ensuring exported documents match specific formatting requirements or business standards. This event triggers while processing each header cell during the Excel export operation. The event contains the following parameters: -* `cell` - It holds the current cell information. -* `style` - It holds the style properties for the cell. +* [`cell`](https://ej2.syncfusion.com/react/documentation/api/grid/excelHeaderQueryCellInfoEventArgs/#cell) – Contains the current cell information and properties. +* [`style`](https://ej2.syncfusion.com/react/documentation/api/grid/excelHeaderQueryCellInfoEventArgs/#style) – Contains the style properties that can be applied to the cell. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -289,14 +291,14 @@ The event `excelHeaderQueryCellInfo` triggers on framing each header cell during {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs76" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs76" %} ### ExportComplete -The event [`exportComplete`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#exportcomplete) is triggered after the pivot table data has been exported to a Excel/CSV document. You can use this event to acquire blob stream data for further customization and processing at your end by passing the `isBlob` parameter as **true** when using the [`excelExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#excelexport) method. It has the following parameters: +The [`exportComplete`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#exportcomplete) event triggers after the Pivot Table data exports to an Excel or CSV document. This event enables acquiring blob stream data for further processing and customization by setting the `isBlob` parameter to **true** when calling the [`excelExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#excelexport) method. The event includes the following parameters: -* `type` - It holds the current export type such as PDF, Excel, and CSV. -* `promise` - It holds the promise object for blob data. +* [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/exportCompleteEventArgs/#type) – Specifies the current export format such as PDF, Excel, or CSV. +* [`promise`](https://ej2.syncfusion.com/react/documentation/api/pivotview/exportCompleteEventArgs/#promise) – Contains the promise object that resolves with blob data for the exported file. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -313,7 +315,7 @@ The event [`exportComplete`](https://ej2.syncfusion.com/react/documentation/api/ {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs77" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs77" %} ## See Also diff --git a/ej2-react/pivotview/field-list.md b/ej2-react/pivotview/field-list.md index 9c3fdd0d5..00d1f6e48 100644 --- a/ej2-react/pivotview/field-list.md +++ b/ej2-react/pivotview/field-list.md @@ -1,34 +1,33 @@ --- layout: post -title: Field list in React Pivotview component | Syncfusion -description: Learn here all about Field list in Syncfusion React Pivotview component of Syncfusion Essential JS 2 and more. +title: Field list in React Pivot Table component | Syncfusion +description: Learn here all about Field list in Syncfusion React Pivot Table component of Syncfusion Essential JS 2 and more. control: Field list platform: ej2-react documentation: ug domainurl: ##DomainURL## --- -# Field list in React Pivotview component +# Field list in React Pivot Table component To have a quick glance on how to enable field list in the React Pivot Table, watch this video: {% youtube "https://www.youtube.com/watch?v=YBjR8HiyyFw" %} -The pivot table provides a built-in Field List similar to Microsoft Excel. It allows you to add or remove fields and also rearrange them between different axes, including column, row, value, and filter along with filter and sort options dynamically at runtime. +The Field List makes it easy to organize and analyze data in your Pivot Table. It provides a user-friendly interface similar to Microsoft Excel that allows you to add or remove fields and move them between different axes like columns, rows, values, and filters. You can also apply sorting and filtering options while working with your data. -The field list can be displayed in three different formats to interact with pivot table. They are: +The Field List can be displayed in two different ways to work with your Pivot Table: -* **In-built Field List (Popup)**: To display the field list icon in pivot table UI to invoke the built-in dialog. -* **Stand-alone Field List (Fixed)**: To display the field list in a static position within a web page. -* **Invoking dynamic Field List (Customized)**: To display the field list by invoking the built-in dialog independently through other means, for example, on a button click. +* **In-built Field List (Popup)**: Shows a field list icon in the Pivot Table interface. Click this icon to open the field list in a dialog box. +* **Stand-alone Field List (Fixed)**: Displays the field list in a fixed position on your web page alongside the Pivot Table. ## In-built Field List (Popup) -To enable the field list in pivot table UI, set the [`showFieldList`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showfieldlist) property in [`PivotView`](https://ej2.syncfusion.com/react/documentation/api/pivotview) to **true**. A small icon will appear on the top left corner of the pivot table and clicking on this icon, field list dialog will appear. +The built-in field list provides quick access to modify your Pivot Table report settings without taking up permanent space on your webpage. To enable this option, set the [`showFieldList`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showfieldlist) property of the Pivot Table to **true**. A field list icon will then appear in the top-left corner of the Pivot Table. When you click this icon, the field list dialog opens. -> The field list icon will be displayed at the top right corner of the pivot table, when grouping bar is enabled. +> The field list icon appears in the top right corner of the Pivot Table when the grouping bar is enabled. -To use field list, you need to inject the `FieldList` module in pivot table. +To use the field list, you need to inject the `FieldList` module in the Pivot Table. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -45,13 +44,13 @@ To use field list, you need to inject the `FieldList` module in pivot table. {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs78" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs78" %} ## Stand-alone Field List (Fixed) -The field list can be rendered in a static position, anywhere in web page layout, like a separate component. To do so, you need to set [`renderMode`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#rendermode) property to **Fixed**. +The stand-alone Field List allows users to keep the Field List visible at a specific place on the web page, making it easy to access its options without opening a popup each time. To configure the stand-alone Field List, set the [`renderMode`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#rendermode) property to **Fixed** in the Pivot Field List component. -> To make field list interact with pivot table, you need to use the [`updateView`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#updateview) and [`update`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#update) methods for data source update in both field list and pivot table simultaneously. +> To ensure the field list works seamlessly with the Pivot Table, use the [`updateView`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#updateview) and [`update`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#update) methods. These methods synchronize data source changes between the field list and Pivot Table components, keeping both components in sync when users make modifications. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -68,16 +67,17 @@ The field list can be rendered in a static position, anywhere in web page layout {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs79" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs79" %} ## Invoking dynamic Field List (Customized) -Also, you can display the field list dialog independently through other means. For example, you can invoke the field list dialog on an external button click. To do so, set [`renderMode`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#rendermode) property to **Popup** and since on button click, field list dialog will be invoked. +You can open the Field List dialog independently using an external button, allowing you to interact with the Pivot Table dynamically. To achieve this, set the [`renderMode`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#rendermode) property to `Popup`. This setting ensures the Field List dialog appears when you click the external button. -> * Meanwhile, you can display the field list dialog over specific target element within a web page using [`target`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#target) property. By default, the [`target`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#target) value is "null", which by default refers the `document.body` element. -> * To make field list interact with pivot table, you need to use the [`updateView`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#updateview) and [`update`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#update) methods for data source update in both field list and pivot table simultaneously. +You can also specify where the Field List dialog appears on the web page by using the `target` property. By default, the `target` value is set to `null`, which positions the dialog relative to the `document.body` element. -The below sample code illustrates the field list dialog invoked on an external button click. +To ensure the Field List and Pivot Table stay in sync, use the [`updateView`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#updateview) and [`update`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#update) methods. These methods update the data source in both the Field List and the Pivot Table at the same time, keeping the displayed data consistent. + +The sample code below shows how to open the Field List dialog using an external button click. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -94,15 +94,19 @@ The below sample code illustrates the field list dialog invoked on an external b {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs80" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs80" %} ## Search desired field -End user can search for desired field in the field list UI by typing the field name into the search box at runtime. It can be enabled by setting the [`enableFieldSearching`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#enablefieldsearching) property to **true** via code-behind. +The field search option helps you quickly locate and work with specific fields in the Field List. Instead of scrolling through the entire list of available fields, you can simply type the field name in the search box to instantly filter and find the desired field. + +You can enable the field search option in two different Field List configurations: the Stand-alone Field List or the Pivot Table's built-in popup Field List. + +**Stand-alone Field List** -> By default, field search option is disabled in the field list UI. +To enable the search box in the stand-alone Field List UI, set the [`enableFieldSearching`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#enablefieldsearching) property to **true** in `PivotFieldListComponent`. -To enable search box in the static field list UI, set the [`enableFieldSearching`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#enablefieldsearching) property to **true** in [`PivotFieldListComponent`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/). +> By default, the field search option is disabled in the Field List UI. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -119,9 +123,11 @@ To enable search box in the static field list UI, set the [`enableFieldSearching {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs81" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs81" %} -To enable search box in the pivot table's built-in popup field list UI, set the [`enableFieldSearching`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enablefieldsearching) property to **true** in [`PivotViewComponent`](https://ej2.syncfusion.com/react/documentation/api/pivotview/). +**Pivot Table's Built-in Popup Field List** + +To enable the search box in the Pivot Table's built-in popup Field List UI, set the [`enableFieldSearching`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enablefieldsearching) property to **true** in `PivotViewComponent`. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -138,19 +144,21 @@ To enable search box in the pivot table's built-in popup field list UI, set the {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs82" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs82" %} ## Option to sort fields -End user can sort fields in the field list UI to ascending (or) descending (or) default order (as obtained from the data source) using the built-in sort icons. +The field list provides a simple way to organize fields in different orders, making it easier to locate and work with the data you need. Users can sort fields in the field list UI in ascending, descending, or default order (as obtained from the data source) using the built-in sort icons. -> By default, fields are displayed in the default order. +> By default, fields are displayed in the default order as they appear in the data source. ![Field list with sorting options](images/fieldlist_default_sort.png) ### Sort fields in a desired order -To display the fields in descending order by default, set the [defaultFieldListOrder](https://ej2.syncfusion.com/react/documentation/api/pivotview/loadEventArgs/#defaultfieldlistorder) property to **Descending** in the [load](https://ej2.syncfusion.com/react/documentation/api/pivotview/#load) event. +To display the fields in descending order by default whenever the Field List opens, you can set the [`defaultFieldListOrder`](https://ej2.syncfusion.com/react/documentation/api/pivotview/loadEventArgs/#defaultfieldlistorder) property to **Descending** within the [`load`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#load) event of the Pivot Table. This lets users immediately see fields sorted from Z to A when they open the Field List. + +Below is an example showing how to set up this option when initializing the Pivot Table: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -167,13 +175,13 @@ To display the fields in descending order by default, set the [defaultFieldListO {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs311" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs311" %} ## Group fields under desired folder name -In the field list UI, you can display fields by grouping them under the desired folder name. It can only be configured via code-behind by setting the [`groupName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#groupname) property in [`fieldMapping`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#fieldmapping). +Organizing fields into custom folders in the Field List helps users manage and locate fields more efficiently. Users can group fields under a specific folder name in the Field List UI by setting the [`groupName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#groupname) property within the [`fieldMapping`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#fieldmapping) configuration of the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). This feature allows users to visually categorize fields in the Pivot Table for improved organization and clarity. -> You can only group fields to one level using the [`groupName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#groupname) property. +> **Note**: Fields can only be grouped under a single level using the [`groupName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#groupname) property. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -190,17 +198,17 @@ In the field list UI, you can display fields by grouping them under the desired {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs83" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs83" %} ## Add or remove fields -Using check box besides each field, end user can select or unselect to add or remove fields respectively from the report at runtime. +The Field List allows users to quickly modify their data analysis by selecting or unselecting fields as needed. Using the checkbox beside each field, users can easily add fields to include them in the report or remove fields to exclude them from the current analysis at runtime. -![output](images/fieldlist_treeview.png) +![Field List with checkboxes for adding or removing fields](images/fieldlist_treeview.png) ## Remove specific field(s) from displaying -When a data source is bound to the component, fields will be automatically populated inside the Field List. In such case, user can also restrict specific field(s) from displaying. To do so, set the appropriate field name(s) in [`excludeFields`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#excludefields) property belonging to [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings). +When you connect a data source to the Pivot Table, all available fields from the data source are automatically shown in the field list. If you want to hide certain fields from the field list, you can do so easily. To hide one or more fields, add their names to the [`excludeFields`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#excludefields) option inside the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) property. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -217,64 +225,63 @@ When a data source is bound to the component, fields will be automatically popul {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs84" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs84" %} ## Re-arranging fields -In-order to re-arrange, drag any field from the field list and drop it into the column, row, value, or filter axis using the drag-and-drop holder. It helps end user to alter the report at runtime. +To rearrange fields, users can drag a field from the Field List and drop it into the desired axis (column, row, value, or filter) using the drag-and-drop holder. This allows users to modify the report dynamically during runtime, adjusting the layout to suit their needs. ![output](images/fieldlist_axes.png) ## Filtering members -Using the filter icon besides each field in row, column and filter axes, members can be either included or excluded at runtime. To know more about member filtering, [`refer`](./filtering) here. +Users can filter members in the row, column, and filter axes by selecting the filter icon next to each field. This opens a dialog where users can choose to include or exclude specific members from the Pivot Table. To learn more about filtering members, [refer to the filtering documentation](./filtering). -![output](images/fieldlist_filtericon.png "Filter icon besides each field") -
    -![output](images/fieldlist_editor.png "Filter dialog to either include or exclude members") -
    -![output](images/fieldlist_filteringgrid.png "Resultant pivot table on filtering members") +![Filter icon next to each field](images/fieldlist_filtericon.png) + +![Filter dialog to include or exclude members](images/fieldlist_editor.png) + +![Pivot Table after filtering members](images/fieldlist_filteringgrid.png) ## Sorting members -Using the sort icon besides each field in row and column axes, members can be arranged either in ascending or descending order at runtime. To know more about member sorting, [`refer`](./sorting) here. +The Pivot Table allows users to sort members in the row and column axes using a sort icon next to each field. By clicking this icon, users can arrange members in either ascending or descending order at runtime. This option helps users organize data in a way that suits their needs. For more details on sorting members, [refer here](./sorting). -![output](images/fieldlist_sorticon.png "Sort icon besides each field") -
    -![output](images/fieldlist_sortgrid.png "Resultant pivot table showing countries in descending order") +![Sorting the field list](images/fieldlist_sorticon.png) + +![Sorted pivot table](images/fieldlist_sortgrid.png) ## Calculated fields -The calculated field support allows end user to add a new calculated field based on the available fields from the bound data source using basic arithmetic operators. To enable this support in Field List UI, set the [`allowCalculatedField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowcalculatedfield) property in [`PivotView`](https://ej2.syncfusion.com/react/documentation/api/pivotview) to **true** in pivot table. Now a button will be seen automatically inside the field list UI which will invoke the calculated field dialog on click. To know more about calculated field, [`refer`](./calculated-field) here. +The calculated field option allows users to create a new field based on existing fields from the data source using basic arithmetic operations, such as addition, subtraction, multiplication, and division. To use this option in the Field List UI, set the [`allowCalculatedField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowcalculatedfield) property in the Pivot Table to **true**. When enabled, a button appears in the Field List UI. Clicking this button opens the calculated field dialog, where users can define a new calculated field. For more details on calculated fields, refer to [this section](./calculated-field). + +![Enabling calculated field in Field List UI](images/gs_calc_button.png) -![output](images/gs_calc_button.png "Enabling calculated field in field list UI") -
    -![output](images/gs_calc_dialog.png "Creating new calculated field") -
    -![output](images/gs_calc_grid.png "New calculated field 'Total Amount' added in pivot table") +![Creating new calculated field](images/gs_calc_dialog.png) + +![New calculated field named Total Amount has been added in the Pivot Table](images/gs_calc_grid.png) ## Changing aggregation type of value fields at runtime -End user can perform calculations over a group of values using the aggregation option. The value fields bound to the field list, appears with a dropdown icon, helps to select an appropriate aggregation type at runtime. On selection, the values in the Pivot Table will be changed dynamically. To know more about aggregation, [`refer`](./aggregation) here. +Users can perform calculations on a group of values by selecting an aggregation type. Each value field in the Field List appears with a dropdown icon. Clicking this icon allows users to choose an aggregation type, such as sum, average, or count, at runtime. Once selected, the Pivot Table updates automatically to reflect the chosen aggregation type for the values. For more details on aggregation, refer to [aggregation](./aggregation). + +![Icon to change aggregation type](images/aggregation_fl_icon.png) + +![List of pre-defined aggregation types](images/fieldlist_aggregation_avg.png) -![output](images/aggregation_fl_icon.png "Icon to change aggregation type") -
    -
    -![output](images/fieldlist_aggregation_avg.png "List of pre-defined aggregation types") -
    -![output](images/fieldlist_aggregation_grid.png "Resultant pivot table showing average aggregation type applied in 'Unit Sold' value field") +![Resultant Pivot Table shows that the average aggregation type has been applied to the Unit Sold value field](images/fieldlist_aggregation_grid.png) ## Defer layout update -Defer layout update support to update the pivot table only on demand and not during every user action. To enable this support in Field List UI, set the [`allowDeferLayoutUpdate`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowdeferlayoutupdate) property in [`PivotView`](https://ej2.syncfusion.com/react/documentation/api/pivotview) to **true** in pivot table. Now a check box inside Field List UI will be seen in checked state, allowing pivot table to update only on demand. To know more about defer layout, [`refer`](./defer-update) here. +The defer layout update option allows users to update the Pivot Table only when needed, instead of after every change in the Field List. To enable this option, set the [`allowDeferLayoutUpdate`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowdeferlayoutupdate) property to **true** in the Pivot Table. When enabled, a checkbox appears in the Field List, checked by default. Users can uncheck this checkbox to make changes without updating the Pivot Table immediately, and then apply all changes at once. For more details on defer layout update, refer to [defer update](./defer-update). -![output](images/fieldlist_deferupdate.png) +![Defer layout update checkbox](images/fieldlist_deferupdate.png) ## Show built-in Field List (Popup) over specific target -By passing the target element to the built-in field list dialog module in the [`dataBound`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#databound) event, the field list dialog will be displayed over the appropriate target element on a web page. By default, the Pivot Table's parent element is used as the target element to display the built-in field list dialog. +The built-in Field List dialog can be displayed over a specific element on a web page by setting the target element in the [`dataBound`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#databound) event. By default, the dialog appears over the Pivot Table's parent element. Users can change this by passing a different target element, such as `document.body`, to show the Field List dialog in a desired location. -The sample code below shows the built-in field list dialog using `document.body` as the target element. +The sample code below demonstrates how to display the built-in Field List dialog using `document.body` as the target element. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -291,11 +298,11 @@ The sample code below shows the built-in field list dialog using `document.body {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs85" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs85" %} ## Show field list using toolbar -It can also be viewed in toolbar by setting [`showFieldList`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showfieldlist) and [`showToolbar`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showtoolbar) properties in [`PivotView`](https://ej2.syncfusion.com/react/documentation/api/pivotview) to **true**. Also, include the **FieldList** within the [`Toolbar`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#toolbar) property in [`PivotView`](https://ej2.syncfusion.com/react/documentation/api/pivotview). When toolbar is enabled, field list icon will be automatically added into the toolbar and the icon won't appear on top left corner in the pivot table component. +The Field List can be displayed in the toolbar by enabling specific options in the Pivot Table. To show the Field List in the toolbar, set the [`showFieldList`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showfieldlist) and [`showToolbar`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showtoolbar) properties to **true**. Additionally, include the **FieldList** item in the [`toolbar`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#toolbar) property. When these options are enabled, the Field List icon automatically appears in the toolbar, and it will not be displayed in the top-left corner of the Pivot Table. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -312,13 +319,13 @@ It can also be viewed in toolbar by setting [`showFieldList`](https://ej2.syncfu {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs86" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs86" %} ## Set caption to fields which isn’t bound to the report -One can set the caption to all fields from the data source even if it is not bound to the actual report. It can be achieved using the [`enginePopulated`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#enginepopulated) event. On doing so, caption of the respective field will be displayed in both grouping bar and field list. +You can assign captions to all fields in the data source, even if they are not currently used in the Pivot Table report. This is done using the [`enginePopulated`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#enginepopulated) event. When you set a caption, it appears in both the Grouping Bar and the Field List for the respective field. -In the sample, we have set caption to the fields `Year` and `Quarter` dynamically. +In the example below, captions are set for the `Year` and `Quarter` fields dynamically. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -335,14 +342,16 @@ In the sample, we have set caption to the fields `Year` and `Quarter` dynamicall {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs87" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs87" %} ## Show values button -During runtime, the **Values** button in the field list can be moved to a different position (i.e., different index) among other fields in the column or row axis. To enable the **Values** button, set the [`showValuesButton`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showvaluesbutton) property to **true**. +At runtime, the **Values** button in the field list allows users to move the values position to a different place (index) among other fields in the column or row axis of the Pivot Table. To enable the **Values** button, set the [`showValuesButton`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showvaluesbutton) property to **true**. > This support is only available for relational data sources. +> The Values button is displayed only when multiple fields are added to the Values axis. It is not shown when a single field is present. + {% tabs %} {% highlight js tabtitle="App.jsx" %} {% include code-snippet/pivot-table/default-cs88/app/App.jsx %} @@ -358,21 +367,20 @@ During runtime, the **Values** button in the field list can be moved to a differ {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs88" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs88" %} ## Events ### EnginePopulated -The [`enginePopulated`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#enginepopulated) event is available in both Pivot Table and Field List. - -* The event [`enginePopulated`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#enginepopulated) is triggered in field list whenever the report gets modified. The updated report is passed to the pivot table via [`updateView`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#updateview) method written within this event to refresh the same. +The [`enginePopulated`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#enginepopulated) event is available in both the Pivot Table and the Field List. It triggers after the data engine is populated with the updated report settings, allowing the Pivot Table and Field List to stay in sync when changes are made. -* Likewise, [`enginePopulated`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#enginepopulated) event is triggered in pivot table whenever the report gets modified. The updated report is passed to the field list via [`update`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#update) method written within this event to refresh the same. +- In the Field List, the [`enginePopulated`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#enginepopulated) event is triggered whenever the report is modified, such as when fields are added, removed, or rearranged. The updated report is sent to the Pivot Table using the [`updateView`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#updateview) method within this event to refresh the Pivot Table's display. +- In the Pivot Table, the [`enginePopulated`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enginepopulated) event is triggered when the report is updated. The modified report is passed to the Field List using the [`update`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#update) method to ensure the Field List reflects the changes. -The event [`enginePopulated`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#enginepopulated) is triggered after engine is populated. It has following parameters - [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#datasourcesettings), [`PivotFieldList`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist) and `pivotValues`. +This event includes the following parameters: [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/#datasourcesettings), [`pivotFieldList`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/), and [`pivotValues`](https://ej2.syncfusion.com/react/documentation/api/pivotfieldlist/enginePopulatedEventArgs/#pivotvalues). ->Note: This event is not required for Popup field list since it is a in built one. +> Note: This event is not needed for the popup Field List, as it is built into the Pivot Table. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -389,77 +397,85 @@ The event [`enginePopulated`](https://ej2.syncfusion.com/react/documentation/api {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs89" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs89" %} -### FieldDropped +### FieldListRefreshed + +The [`fieldListRefreshed`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#fieldlistrefreshed) event triggers whenever a change occurs in the field list UI, such as adding, removing, or rearranging fields, or applying sort or filter options. This event provides two parameters: [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldListRefreshedEventArgs/#datasourcesettings) and [`pivotValues`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldListRefreshedEventArgs/#pivotvalues). These parameters allow users to track and respond to updates in the field list. The event applies only to the static field list. -The event [`onFieldDropped`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#onfielddropped) fires whenever a field is dropped in an axis. It has following parameters - `droppedAxis`, `droppedField` and `dataSourceSettings`. In this illustration, we have modified the `droppedField` caption through this event at runtime. +For example, when a user sorts a field in the field list, the field list updates, and the [`fieldListRefreshed`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#fieldlistrefreshed) event triggers. Users can perform custom operation inside that event. {% tabs %} {% highlight js tabtitle="App.jsx" %} -{% include code-snippet/pivot-table/default-cs90/app/App.jsx %} +{% include code-snippet/pivot-table/default-cs91/app/App.jsx %} {% endhighlight %} {% highlight ts tabtitle="App.tsx" %} -{% include code-snippet/pivot-table/default-cs90/app/App.tsx %} +{% include code-snippet/pivot-table/default-cs91/app/App.tsx %} {% endhighlight %} {% highlight js tabtitle="datasource.jsx" %} -{% include code-snippet/pivot-table/default-cs90/app/datasource.jsx %} +{% include code-snippet/pivot-table/default-cs91/app/datasource.jsx %} {% endhighlight %} {% highlight ts tabtitle="datasource.tsx" %} -{% include code-snippet/pivot-table/default-cs90/app/datasource.tsx %} +{% include code-snippet/pivot-table/default-cs91/app/datasource.tsx %} {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs90" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs91" %} -### FieldListRefreshed +### OnFieldDropped -The event [`fieldListRefreshed`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#fieldlistrefreshed) is triggered whenever there is any change done in the field list UI. It has following parameter - dataSourceSettings and pivotValues. It allows user to identify each field list update. This event is applicable only for static field list. +The [`onFieldDropped`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#onfielddropped) event triggers when a user drops a field into an axis in the Pivot Table. This event provides access to details about the dropped field and the Pivot Table's configuration through its parameters. The event includes the following parameters: -For example, if we perform a sort operation within the field list, the field list will be refreshed. The [`fieldListRefreshed`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#fieldlistrefreshed) event will be triggered at that time and the user can perform custom operation inside that event. +- [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldDroppedEventArgs/#datasourcesettings): Represents the current report configuration of the Pivot Table, defined in the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) property. It provides access to the Pivot Table's data structure and settings. +- [`droppedAxis`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldDroppedEventArgs/#droppedaxis): Indicates the axis (such as row, column, value, or filter) where the field has been dropped. +- [`droppedField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldDroppedEventArgs/#droppedfield): Contains details about the field item that was dropped, including its properties. +- [`droppedPosition`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldDroppedEventArgs/#droppedposition): Specifies the position within the axis where the field was placed. +- [`fieldName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldDroppedEventArgs/#fieldname): Provides the name of the dropped field. + +In the following code example, we changed the caption of the dropped field using this event at runtime: {% tabs %} {% highlight js tabtitle="App.jsx" %} -{% include code-snippet/pivot-table/default-cs91/app/App.jsx %} +{% include code-snippet/pivot-table/default-cs90/app/App.jsx %} {% endhighlight %} {% highlight ts tabtitle="App.tsx" %} -{% include code-snippet/pivot-table/default-cs91/app/App.tsx %} +{% include code-snippet/pivot-table/default-cs90/app/App.tsx %} {% endhighlight %} {% highlight js tabtitle="datasource.jsx" %} -{% include code-snippet/pivot-table/default-cs91/app/datasource.jsx %} +{% include code-snippet/pivot-table/default-cs90/app/datasource.jsx %} {% endhighlight %} {% highlight ts tabtitle="datasource.tsx" %} -{% include code-snippet/pivot-table/default-cs91/app/datasource.tsx %} +{% include code-snippet/pivot-table/default-cs90/app/datasource.tsx %} {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs91" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs90" %} ### ActionBegin -The event [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) triggers when the UI actions such as sorting, filtering, aggregation or edit calculated field, that are present in the field list UI begin. This allows user to identify the current action being performed at runtime. It has the following parameters: +The [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) event triggers when UI actions such as sorting, filtering, aggregation, or editing calculated fields begin in the field list. This event allows users to identify the current action being performed at runtime and provides the following parameters: -* `dataSourceSettings`: It holds the current data source settings such as input data source, rows, columns, values, filters, format settings and so on. +* [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#datasourcesettings): Contains the current data source settings, including input data source, rows, columns, values, filters, format settings, and other configurations. -* `actionName`: It holds the name of the current action began. The following are the UI actions and their names: +* [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#actionname): Contains the name of the current action that has begun. The following table shows the UI actions and their corresponding action names: | Action | Action Name| |------|-------------| -| [`Sort icon`](./field-list/#Sorting-members)| Sort field| -| [`Filter icon`](./field-list/#Filtering-members)| Filter field| -| [`Aggregation`](./field-list/#Changing-aggregation-type-of-value-fields-at-runtime) (Value type drop down and menu)| Aggregate field| -| [`Edit icon`](./calculated-field/#Editing-through-the-field-list-and-the-grouping-bar)| Edit calculated field| -| [`Calculated field button`](./field-list/#calculated-fields)| Open calculated field dialog| -| [`Field list`](./field-list/#In-built-Field-List)| Open field list| -| [`Field list tree – Sort icon`](./field-list/#In-built-Field-List)| Sort field tree| +| [`Sort icon`](./field-list#sorting-members)| Sort field| +| [`Filter icon`](./field-list#filtering-members)| Filter field| +| [`Aggregation`](./field-list#changing-aggregation-type-of-value-fields-at-runtime) (Value type dropdown and menu)| Aggregate field| +| [`Edit icon`](./calculated-field#editing-through-the-field-list-and-the-grouping-bar)| Edit calculated field| +| [`Calculated field button`](./field-list#calculated-fields)| Open calculated field dialog| +| [`Field list`](./field-list#in-built-field-list-popup)| Open field list| +| [`Field list tree – Sort icon`](./field-list#option-to-sort-fields)| Sort field tree| -* `fieldInfo`: It holds the selected field information. +* [`fieldInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#fieldinfo): Contains information about the selected field. ->Note: This option is applicable only when the field based UI actions are performed such as filtering, sorting, removing field from grouping bar, editing and aggregation type change. +> **Note**: This parameter is available only when the action involves a specific field, such as filtering, sorting, removing a field from the grouping bar, editing, or changing the aggregation type. -* `cancel`: It allows user to restrict the current action. +* [`cancel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#cancel): A boolean property that allows you to prevent the current action from completing. Set this to **true** to stop the action from proceeding. -In the below sample, opening pop-up field list can be restricted by setting the **args.cancel** option to **true** in the `actionBegin` event. +In the following sample, you can restrict opening the popup field list by setting the **args.cancel** option to **true** in the [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) event. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -476,31 +492,31 @@ In the below sample, opening pop-up field list can be restricted by setting the {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs92" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs92" %} ### ActionComplete -The event [`actionComplete`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actioncomplete) triggers when the UI actions such as sorting, filtering, aggregation or edit calculated field, that are present in the field list UI, is completed. This allows user to identify the current UI actions being completed at runtime. It has the following parameters: +The [`actionComplete`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actioncomplete) event is triggered when UI actions such as sorting, filtering, aggregation, or editing calculated fields in the field list are completed. This event allows users to identify which UI action has been completed at runtime. The event provides the following parameters: -* `dataSourceSettings`: It holds the current data source settings such as input data source, rows, columns, values, filters, format settings and so on. +- [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#datasourcesettings): Contains the current [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) such as input data source, rows, columns, values, filters, format settings, and other configurations. -* `actionName`: It holds the name of the current action completed. The following are the UI actions and their names: +- [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#actionname): Contains the name of the completed action. The following table shows the UI actions and their corresponding names: -| Action | Action Name| +| Action | Action Name | |------|-------------| -| [`Sort icon`](./field-list/#Sorting-members)| Field sorted| -| [`Filter icon`](./field-list/#Filtering-members)| Field filtered| -| [`Aggregation`](./field-list/#Changing-aggregation-type-of-value-fields-at-runtime)(Value type drop down and menu)| Field aggregated| -| [`Edit icon`](./calculated-field/#Editing-the-existing-calculated-field-formula)| Calculated field edited| -| [`Calculated field button`](./field-list/#calculated-fields)| Calculated field applied| -| [`Field list`](./field-list/#In-built-Field-List)| Field list closed| -| [`Field list tree – Sort icon`](./field-list/#In-built-Field-List)| Field tree sorted| +| [`Sort icon`](./field-list#sorting-members) | Field sorted | +| [`Filter icon`](./field-list#filtering-members) | Field filtered | +| [`Aggregation`](./field-list#changing-aggregation-type-of-value-fields-at-runtime) (Value type dropdown and menu) | Field aggregated | +| [`Edit icon`](./calculated-field#editing-the-existing-calculated-field-formula) | Calculated field edited | +| [`Calculated field button`](./field-list#calculated-fields) | Calculated field applied | +| [`Field list`](./field-list#in-built-field-list-popup) | Field list closed | +| [`Field list tree – Sort icon`](./field-list#option-to-sort-fields) | Field tree sorted | -* `fieldInfo`: It holds the selected field information. +- [`fieldInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#fieldinfo): Contains information about the selected field. This parameter is available only when field-based UI actions are performed, such as filtering, sorting, removing fields from the grouping bar, editing, and changing aggregation types. ->Note: This option is applicable only when the field based UI actions are performed such as filtering, sorting, removing field from grouping bar, editing and aggregation type change. +> **Note**: This parameter is available only when the action involves a specific field, such as filtering, sorting, removing a field from the grouping bar, editing, or changing the aggregation type. -* `actionInfo`: It holds the unique information about the current UI action. For example, if sorting is completed, the event argument contains information such as sort order and the field name. +- [`actionInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#actioninfo): Contains specific information about the current UI action. For example, when sorting is completed, this parameter includes details such as the sort order and field name. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -517,25 +533,25 @@ The event [`actionComplete`](https://ej2.syncfusion.com/react/documentation/api/ {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs93" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs93" %} ### ActionFailure -The event [`actionFailure`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionfailure) triggers when the current UI action fails to achieve the desired result. It has the following parameters: +The [`actionFailure`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionfailure) event is triggered when a UI action fails to produce the expected result. This event provides detailed information about the failure through the following parameters: -* `actionName`: It holds the name of the current action failed. The following are the UI actions and their names: +* [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionFailureEventArgs/#actionname): It holds the name of the current action failed. The following are the UI actions and their names: | Action | Action Name| |------|-------------| -| [`Sort icon`](./field-list/#Sorting-members)| Sort field| -| [`Filter icon`](./field-list/#Filtering-members)| Filter field| -| [`Aggregation`](./field-list/#Changing-aggregation-type-of-value-fields-at-runtime) (Value type drop down and menu)| Aggregate field| -| [`Edit icon`](./calculated-field/#Editing-the-existing-calculated-field-formula)| Edit calculated field| -| [`Calculated field button`](./field-list/#calculated-fields)| Open calculated field dialog| -| [`Field list`](./field-list/#In-built-Field-List)| Open field list| -| [`Field list tree – Sort icon`](./field-list/#In-built-Field-List)| Sort field tree| +| [`Sort icon`](./field-list#sorting-members)| Sort field| +| [`Filter icon`](./field-list#filtering-members)| Filter field| +| [`Aggregation`](./field-list#changing-aggregation-type-of-value-fields-at-runtime) (Value type drop down and menu)| Aggregate field| +| [`Edit icon`](./calculated-field#editing-the-existing-calculated-field-formula)| Edit calculated field| +| [`Calculated field button`](./field-list#calculated-fields)| Open calculated field dialog| +| [`Field list`](./field-list#in-built-field-list-popup)| Open field list| +| [`Field list tree – Sort icon`](./field-list#option-to-sort-fields)| Sort field tree| -* `errorInfo`: It holds the error information of the current UI action. +* [`errorInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionFailureEventArgs/#errorinfo): It holds the error information of the current UI action. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -552,7 +568,7 @@ The event [`actionFailure`](https://ej2.syncfusion.com/react/documentation/api/p {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs94" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs94" %} ## See Also diff --git a/ej2-react/pivotview/filtering.md b/ej2-react/pivotview/filtering.md index 4d3e5726e..2cf761e00 100644 --- a/ej2-react/pivotview/filtering.md +++ b/ej2-react/pivotview/filtering.md @@ -1,47 +1,52 @@ --- layout: post -title: Filtering in React Pivotview component | Syncfusion -description: Learn here all about Filtering in Syncfusion React Pivotview component of Syncfusion Essential JS 2 and more. -control: Filtering +title: Filtering in React Pivot Table component | Syncfusion +description: Learn here all about Filtering in Syncfusion React Pivot Table component of Syncfusion Essential JS 2 and more. platform: ej2-react +control: Filtering documentation: ug domainurl: ##DomainURL## --- -# Filtering in React Pivotview component +# Filtering in React Pivot Table component -Filtering allows to view the pivot table with selective records based on members that can be either included or excluded through UI and code-behind. +Filtering helps you focus on specific data by showing only the records you need in the Pivot Table. This allows you to analyze relevant information more effectively by including or excluding specific members through the user interface or programmatically. -The following are the three different types of filtering: +The Pivot Table offers three types of filtering options: * Member filtering * Label filtering * Value filtering -> When all the above filtering options are disabled via code-behind, then the filter icon would be disabled in the field list or grouping bar UI. +> When all filtering options are disabled programmatically, the filter icon will not appear in the field list or grouping bar interface. ## Member filtering -Allows to view the pivot table with selective records based on included and excluded members in each field. By default, member filter option is enabled by the [`allowMemberFilter`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#allowmemberfilter) boolean property in [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview#datasourcesettings). This UI option helps end user to filter members by clicking the filter icon besides any field in the row, column and filter axes available in the field list or grouping bar UI at runtime. +This filtering option displays the Pivot Table with selective records based on the members you choose to include or exclude in each field. By default, member filtering is enabled through the [`allowMemberFilter`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#allowmemberfilter) property in the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings). -![output](images/fieldlist_filtericon.png "Member filter icon in field list") +Users can apply member filters at runtime by clicking the filter icon next to any field in the row, column, and filter axes, available in both the field list and grouping bar interfaces. + +![Member filter icon in field list](images/fieldlist_filtericon.png)
    -![output](images/filter_icon_gb.png "Member filter icon in grouping bar") + +![Member filter icon in grouping bar](images/filter_icon_gb.png)
    -![output](images/filter_dialog_gb.png "Member filter dialog with checked and unchecked members") + +![Member filter dialog with checked and unchecked members](images/filter_dialog_gb.png)
    -![output](images/filter_grid_gb.png "Resultant pivot table on member filter") -Meanwhile filtering can also be configured at code behind using the [`filterSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#filtersettings) while initial rendering of the component. The basic settings required to add filter criteria are: +![Resultant pivot table on member filter](images/filter_grid_gb.png) -* [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#name): It allows to set the appropriate field name. -* [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#type): It allows to set the filter type as **Include** or **Exclude** to include or exclude field members respectively. -* [`items`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#items): It allows to set the members which needs to be either included or excluded from display. -* [`levelCount`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#levelcount): It allows to set level count of the field to fetch data from the cube. **NOTE: This property applicable only for OLAP data source.** +You can also configure filtering programmatically using the [`filterSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#filtersettings) property during the initial rendering of the component. The essential settings required to add filter criteria are: -> When specifying unavailable or inappropriate members to include or exclude filter items collection, they will be ignored. +* [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#name): Sets the appropriate field name for filtering. +* [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#type): Specifies the filter type as **Include** or **Exclude** to include or exclude field members respectively. +* [`items`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#items): Defines the members that need to be either included or excluded from the display. +* [`levelCount`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#levelcount): Sets the level count of the field to fetch data from the cube. **Note: This property is applicable only for OLAP data sources.** + +> When you specify unavailable or inappropriate members in the include or exclude filter items collection, they will be ignored. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -58,35 +63,41 @@ Meanwhile filtering can also be configured at code behind using the [`filterSett {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs95" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs95" %} ### Option to select and unselect all members -The member filter dialog comes with an option "All", which on checked selects all members and on unchecked deselects all members. The option "All" would appear in intermediate state mentioning that both selected and unselected child members are available. +This option lets you quickly manage all members at once, saving time when working with large datasets. The member filter dialog includes an **All** option that provides a convenient way to select or deselect all available members with a single click. + +When you check the **All** option, it selects all members in the list. When you uncheck it, all members become deselected. If you manually select some members while others remain unselected, the **All** option displays an intermediate state (partially checked) to show that the list contains both selected and unselected members. -![output](images/editor_inter.png) +![Intermediate state of All option](images/editor_inter.png) -When all members are deselected, the "Ok" button in member filter dialog would be disabled, meaning, at least one member should be selected and bound to the pivot table component. +> **Note:** When all members are deselected, the **OK** button becomes disabled. You must select at least one member to apply the filter and display data in the Pivot Table. -![output](images/editor_alluncheck.png) +![All members unchecked state](images/editor_alluncheck.png) ### Provision to search specific member(s) -By default, search option is available to quickly navigate to the desired members. It can be done by entering the starting character(s) of the actual members. +This option helps you quickly locate specific members without scrolling through long lists. The member filter dialog includes a built-in search box that allows you to find members by typing part of their name. -![output](images/search.png) +Simply enter the starting characters of the member name you want to find, and the list will automatically filter to show only matching members. This makes it easy to locate and select specific members, especially when dealing with large datasets. + +![Search functionality in member filter](images/search.png) ### Option to sort members -User can sort members within the member editor either to ascending (or) descending using the built-in sort icons. When both ascending and descending options are not chosen, then members will be shown in the default order (retrieved as such from data source). +This option allows you to organize members in a logical order for easier selection and review. The member filter dialog provides built-in sort icons that let you arrange members in ascending or descending order. + +You can click the ascending sort icon to arrange members from A to Z (or lowest to highest for numerical values), or click the descending sort icon to arrange them from Z to A (or highest to lowest). When neither sorting option is selected, members appear in their original order as retrieved from the data source. -![output](images/member-sort.png) +![Member sorting options](images/member-sort.png) -### Performance Tips +### Performance tips -In member filter dialog, end user can set the limit to display members while loading large data. Based on this limit, initial loading will get completed quickly without any performance constraint. Also, a message with remaining member count, which are not part of the UI, will be displayed in the member editor. +The member filter dialog improves loading performance when working with large datasets by limiting the number of members displayed initially. This helps you work with extensive data without experiencing delays while the member list loads. -The data limit can be set using the [`maxNodeLimitInMemberEditor`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#maxnodelimitinmembereditor) property. By default, the property holds the numeric value **1000**. +You can control how many members are displayed in the member filter dialog using the [`maxNodeLimitInMemberEditor`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#maxnodelimitinmembereditor) property. By default, this property is set to **1000**. When your data contains more members than this limit, only the specified number will be shown initially, and a message will indicate how many additional members are available. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -97,20 +108,22 @@ The data limit can be set using the [`maxNodeLimitInMemberEditor`](https://ej2.s {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs96" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs96" %} -Meanwhile, end user can utilize the search option to refine the members from the exceeded limit. For example, consider that there are 5000 members in the name "Node 1", "Node 2", "Node 3", and so on... and user has set the property [`maxNodeLimitInMemberEditor`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#maxnodelimitinmembereditor) to **500**. In this case, only the initial 500 members will be displayed by default leaving a message "4500 more items. Search to refine further.". To get the member(s) between 501 to 5000, enter the starting character(s) in search option to bring the desired member(s) from the exceeded limit to the UI. Now, end user can either check or uncheck to continue with the filtering process. +When the member count exceeds your set limit, you can use the search option to find specific members beyond the displayed range. For example, if your data contains 5000 members named "Node 1", "Node 2", "Node 3", and so on, and you set the [`maxNodeLimitInMemberEditor`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#maxnodelimitinmembereditor) property to **500**, only the first 500 members will appear by default. The dialog will show a message like "4500 more items. Search to refine further." To access members 501 to 5000, type the starting characters in the search box to locate the desired members. Once the members appear in the list, you can select or deselect them to apply your filtering preferences. ### Loading members on-demand -> This property is applicable only for OLAP data sources. +> This option is applicable only for OLAP data sources. + +This option improves the performance of the member editor by loading members only when needed, rather than loading all members at once. You can enable this by setting the [`loadOnDemandInMemberEditor`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#loadondemandinmembereditor) property to **true**. When enabled, only the first level members are loaded initially from the OLAP cube, allowing the member editor to open quickly without performance delays. -Allows to load members inside the filter dialog on-demand by setting the [`loadOnDemandInMemberEditor`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#loadondemandinmembereditor) property to **true**. By default, first level is loaded in the member editor from the OLAP cube. So, the member editor will be opened quickly, without any performance constraints. By default, this property is set to **true** and the search will only be applied to the level members that are loaded. In the meantime, the next level members can be added using either of the following methods. +By default, this property is set to **true** and search operations will only apply to the currently loaded level members. You can load additional level members using either of the following methods: -* By clicking on the expander button of the respective member, only its child members will be loaded. -* Select a level from the drop-down list that will load all members up to the chosen level from the cube. +* **Expand individual members**: Click the expander button next to any member to load only its child members. +* **Load by level selection**: Choose a specific level from the dropdown list to load all members up to that selected level from the cube. -This will help to avoid performance lags when opening a member editor whose hierarchy has a large number of members. Once level members are queried and added one after the other, they will be maintained internally (for all operations like dialog re-opening, drag and drop, etc...) and will not be removed until the web page is refreshed. +This approach prevents performance issues when working with hierarchies that contain large numbers of members. Once level members are loaded, they remain available for all subsequent operations (such as reopening the dialog or drag-and-drop actions) and persist until you refresh the web page. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -121,26 +134,28 @@ This will help to avoid performance lags when opening a member editor whose hier {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs97" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs97" %} -![output](images/ondemand_member.png) +![Loading members on-demand](images/ondemand_member.png) -In the example above, "Customer Geography" dimension is loaded with first level (Country) during initial loading. The search will therefore be applied on the members of the "Country" level alone. After that, you can load members to the next level (State-Province) on-demand by expanding the "Australia" node (or) by selecting the "State-Province" level from the drop down list. +In the example above, the "Customer Geography" dimension loads with only the first level (Country) initially. Search operations will apply only to the "Country" level members. You can then load the next level members (State-Province) on-demand in two ways: -* When you expand "Australia", the "State-Province" members will be loaded to "Australia" alone. -* If you load the members by selecting the "State-Province" level from the drop-down list means, the "State-Province" members will be loaded across all countries like Australia, Canada, France, etc... +* **Expand specific countries**: When you expand "Australia", the "State-Province" members load only for Australia. +* **Load all states by level**: When you select "State-Province" from the dropdown list, all "State-Province" members load across all countries (Australia, Canada, France, etc.). -Once members are loaded, they are maintained internally and will not be removed until the page is refreshed. +Once loaded, these members are stored internally and remain available until you refresh the page. -If the property is set to **false**, all members of all levels will be queried and added during initial loading itself. Only one query is executed here to retrieve all members from all levels. Since it fetches large number of members, you can feel the performance difference while opening the member editor. But still, expand and search operation is quick here because the members have already been retrieved and populated. +When the [`loadOnDemandInMemberEditor`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#loadondemandinmembereditor) property is set to **false**, all members from all levels are loaded during the initial setup. This approach executes a single query to retrieve all members at once. While this may cause slower performance when opening the member editor due to the large number of members being fetched, expand and search operations will be faster since all members are already available. -![output](images/initial_member.png) +![Loading all members initially](images/initial_member.png) ### Loading members based on level number > This property is applicable only for OLAP data sources. -Allows user to load the members on the basis of the level number set in the [`levelCount`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#levelcount) property in the [`filterSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#filtersettings). By default, this property is set to **1** and the search will only take place within the members of the first level. +This option enables you to control the depth of member loading by specifying how many levels should be loaded initially. By setting the [`levelCount`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#levelcount) property in the [`filterSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#filtersettings), you can improve performance and focus filtering operations on specific hierarchy levels. + +The [`levelCount`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#levelcount) property is set to **1** by default, which means only the first level members are loaded initially. When you apply filters or search operations, they will only affect the members within the loaded levels. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -151,21 +166,21 @@ Allows user to load the members on the basis of the level number set in the [`le {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs98" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs98" %} -![output](images/level-count.png) +![Loading members based on level number](images/level-count.png) -In the example above, we set [`levelCount`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#levelcount) as **2** for the "Customer Geography" dimension in [`filterSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#filtersettings). So, the "Customer Geography" dimension is loaded with the "Country" and "State-Province" levels during initial loading itself. The search will therefore be applied only to the members of the "Country" and "State-Province" levels. After that, you can load members to the next level on-demand by expanding the respective "State-Province" node (or) by selecting the "City" level from the drop-down list. +In the above example, the [`levelCount`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#levelcount) is set to **2** for the "Customer Geography" dimension in [`filterSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#filtersettings). This loads both the "Country" and "State-Province" levels during the initial loading process. Any search or filter operations will be applied only to the members within these two levels. To access members from deeper levels like "City", you can either expand the respective "State-Province" node or select the "City" level from the dropdown list. ## Label filtering -The label filtering helps to view the pivot table with selective header text in fields across row and column axes based on the applied filter criteria. The following are the three different types of label filtering available: +Label filtering allows you to display only the data with specific header text across row and column fields, making it easier to focus on relevant information in your Pivot Table. This filtering works with three types of data: -* Filtering string data type -* Filtering number data type -* Filtering date data type +* String data type +* Number data type +* Date data type -The label filtering dialog can be enabled by setting the [`allowLabelFilter`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#allowlabelfilter) property in [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview#datasourcesettings) to **true**. After enabling this API, click the filter icon besides any field in row or column axis available in field list or grouping bar UI. Now a filtering dialog will appear and navigate to "Label" tab to perform label filtering operations. +To enable label filtering, set the [`allowLabelFilter`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#allowlabelfilter) property to **true** in the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings). Once enabled, you can access the filtering options by clicking the filter icon next to any field in the row or column axis of the field list or grouping bar. This opens the filtering dialog where you can navigate to the "Label" tab to apply your label filtering criteria. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -184,48 +199,52 @@ The label filtering dialog can be enabled by setting the [`allowLabelFilter`](ht {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs99" %} -![output](images/labelfiltering_fl_icon.png "Filter icon in field list") -
    -![output](images/labelfiltering_gb_icon.png "Filter icon in grouping bar") +![Filter icon in field list](images/labelfiltering_fl_icon.png)
    + +![Filter icon in grouping bar](images/labelfiltering_gb_icon.png)
    -![output](images/labelfiltering_dialog.png "Label filter tab in member editor dialog") -
    + +![Label filter tab in member editor dialog](images/labelfiltering_dialog.png)
    -![output](images/labelfiltering_grid.png "Resultant pivot table on label filter") + +![Resultant pivot table on label filter](images/labelfiltering_grid.png) > In label filtering UI, based on the field chosen, it’s member data type is automatically recognized and filtering operation will be carried out. Where as in code behind, user need to define the data type through a property and it has been explained in the immediate section below. ### Filtering string data type through code -This type of filtering is exclusively applicable for fields with members in string data type. The filtering can be configured using the [`filterSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#filtersettings) class through code-behind. The properties required for label filter are: +String-based label filtering enables you to programmatically show only data that matches specific text values in your row and column fields, making it easier to focus on the exact information you need. + +This filtering approach is specifically designed for fields containing string data type members. You can configure the filtering through the [`filterSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#filtersettings) property in your code. The following properties are required for label filtering: + +* [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#name): Specifies the field name to apply the filter. +* [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#type): Sets the filter type as **Label** for the specified field. +* [`condition`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#condition): Defines the operator type such as **Equals**, **GreaterThan**, **LessThan**, and others. +* [`value1`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#value1): Sets the primary value for comparison. +* [`value2`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#value2): Sets the secondary value for comparison. This property is only applicable for operators like **Between** and **NotBetween**. +* [`selectedField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#selectedfield): Specifies the level name of a dimension where the filter should be applied. **NOTE: This property is applicable only for OLAP data sources.** -* [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#name): Sets the field name. -* [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#type): Sets the filter type as **Label** to the field. -* [`condition`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#condition): Sets the operator type such as **Equals**, **GreaterThan**, **LessThan**, etc. -* [`value1`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#value1): Sets the start value. -* [`value2`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#value2): Sets the end value. It is applicable only for the operator such as **Between** and **NotBetween**. -* [`selectedField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#selectedfield): Sets level name of a dimension, where the filter settings are to be applied. **NOTE: This property applicable only for OLAP data source.** +For example, to display only countries containing "United" in their name from a "Country" field, set the [`value1`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#value1) property to "United" and the [`condition`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#condition) property to **Contains**. -For example, in a "Country" field, to show countries names that contains "United" text alone, set [`value1`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#value1) to "United" and [`condition`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#condition) to **Contains** for desired output in pivot table. -**Operators** that can be used in label filtering are: +The following table shows all available **operators** for label filtering: | Operator | Description | |------|-------------| -| Equals| Displays the pivot table that matches with the text.| -| DoesNotEquals| Displays the pivot table that does not match with the given text.| -| BeginWith| Displays the pivot table that begins with text.| -| DoesNotBeginWith| Displays the pivot table that does not begins with text.| -| EndsWith| Displays the pivot table that ends with text.| -| DoesNotEndsWith| Displays the pivot table that does not ends with text.| -| Contains| Displays the pivot table that contains text.| -| DoesNotContains| Displays the pivot table that does not contain text.| -| GreaterThan| Displays the pivot table when the text is greater.| -| GreaterThanOrEqualTo| Displays the pivot table when the text is greater than or equal.| -| LessThan| Displays the pivot table when the text is lesser.| -| LessThanOrEqualTo| Displays the pivot table when the text is lesser than or equal.| -| Between| Displays the pivot table that records between the start and end text.| -| NotBetween| Displays the pivot table that does not record between the start and end text.| +| Equals| Shows records that exactly match the specified text.| +| DoesNotEquals| Shows records that do not match the specified text.| +| BeginWith| Shows records that start with the specified text.| +| DoesNotBeginWith| Shows records that do not start with the specified text.| +| EndsWith| Shows records that end with the specified text.| +| DoesNotEndsWith| Shows records that do not end with the specified text.| +| Contains| Shows records that contain the specified text anywhere.| +| DoesNotContains| Shows records that do not contain the specified text.| +| GreaterThan| Shows records where the text value is alphabetically greater.| +| GreaterThanOrEqualTo| Shows records where the text value is alphabetically greater than or equal.| +| LessThan| Shows records where the text value is alphabetically less.| +| LessThanOrEqualTo| Shows records where the text value is alphabetically less than or equal.| +| Between| Shows records with text values that fall between two specified values.| +| NotBetween| Shows records with text values that do not fall between two specified values.| {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -242,15 +261,23 @@ For example, in a "Country" field, to show countries names that contains "United {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs100" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs100" %} ### Filtering number data type through code -This type of filtering is exclusively applicable for fields with members in number data type. The filtering can be configured in a similar way explained in the previous section - "Filtering string data type through code", except the [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#type) property setting. For number data type, set the [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#type) property to **Number** enumeration. +Filter numeric data programmatically to display only values that meet specific numeric conditions, helping you analyze data patterns and ranges more effectively. This filtering approach is specifically designed for fields containing numeric data types and follows the same configuration method as string data filtering, with one key difference: set the [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#type) property to **Number** enumeration instead of **Label**. -For example, in a "Sold" field, to show the values between "90" to "100", set [`value1`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#value1) to "90", [`value2`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#value2) to "100" and [`condition`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#condition) to **Between** for desired output in pivot table. +To filter numeric values, specify the filtering criteria using the following properties: +- [`value1`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#value1): The primary value for comparison +- [`condition`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#condition): The comparison operator +- [`value2`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#value2): The secondary value (required for **Between** and **NotBetween** conditions) -> Operators like **Equals**, **DoesNotEquals**, **GreaterThan**, **GreaterThanOrEqualTo**, **LessThan**, **LessThanOrEqualTo**, **Between** and **NotBetween** are alone applicable for number data type. +For example, to display only sales data where the "Sold" field values are less than 40000, set [`value1`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#value1) to "40000" and [`condition`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#condition) to **LessThan**. + + +> The following operators are supported for number data type: **Equals**, **DoesNotEquals**, **GreaterThan**, **GreaterThanOrEqualTo**, **LessThan**, **LessThanOrEqualTo**, **Between**, and **NotBetween**. + +> Number filtering is available only when the field contains numeric data format. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -267,15 +294,17 @@ For example, in a "Sold" field, to show the values between "90" to "100", set [` {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs101" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs101" %} ### Filtering date data type through code -This type of filtering is exclusively applicable for fields with members in date data type. The filtering can be configured in a similar way explained in the prior section - "Filtering string data type through code", except the [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#type) property setting. For date data type, set the [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#type) property to **Date** enumeration. +This filtering option makes it simple to filter data based on date values in your fields, helping you quickly focus on records from specific time periods. This type of filtering is only available for fields that contain date data types and can be configured programmatically using the same approach as explained in the previous section "Filtering string data type through code", with one key difference: set the [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#type) property to **Date**. -For example, in a "Delivery Date" field, to show the delivery records of the first week of the year 2019, then set [`value1`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#value1) to "2019-01-07" and [`condition`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#condition) to **Before** for desired output in pivot table. +To apply date filtering, specify your filtering criteria using the [`value1`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#value1) and [`condition`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#condition) properties. For example, if you have a "Delivery Date" field and want to show delivery records from before a specific date like "2019-01-07", set the [`value1`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#value1) property to "2019-01-07" and the [`condition`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#condition) property to **Before**. This will display only the records with delivery dates before January 7, 2019 in your Pivot Table. -> Operators like **Equals**, **DoesNotEquals**, **Before**, **BeforeOrEqualTo**, **After**, **AfterOrEqualTo**, **Between**, and **NotBetween** are alone applicable for date data type. +> You can use the following operators with date data type filtering: **Equals**, **DoesNotEquals**, **Before**, **BeforeOrEqualTo**, **After**, **AfterOrEqualTo**, **Between**, and **NotBetween**. + +> Date filtering is available only when the field has date type [`formatSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettings/) configured. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -292,19 +321,19 @@ For example, in a "Delivery Date" field, to show the delivery records of the fir {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs102" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs102" %} ### Clearing the existing label filter -End user can clear the applied label filter by simply click the "Clear" option at the bottom of the filter dialog under "Label" tab. +Users can clear the applied label filter by clicking the **Clear** option at the bottom of the filter dialog. This option is located under the **Label** tab for string and number type filtering, and under the **Date** tab for date type filtering. ![output](images/clearfilter.png) ## Value filtering -The value filtering helps to perform filter operation based only on value fields and its resultant aggregated values over other fields defined in row and column axes. +Value filtering allows you to filter data based on aggregated values from measure fields, helping you focus on specific data ranges that meet your criteria. -The value filtering dialog can be enabled by setting the [`AllowValueFilter`](https://help.syncfusion.com/cr/blazor/Syncfusion.EJ2.Blazor~Syncfusion.EJ2.Blazor.PivotView.DataSourceSettingsModel%601~AllowValueFilter.html) property in [`PivotViewDataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) class to **true**. After enabling this API, click the filter icon besides any field in row or column axis available in field list or grouping bar UI. Now a filtering dialog will appear and navigate to "Value" tab to perform value filtering operations. +You can enable value filtering by setting the [`allowValueFilter`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#allowvaluefilter) property to **true** in the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings). Once enabled, click the filter icon next to any field in the row or column axis within the field list or grouping bar. A filtering dialog will appear where you can navigate to the "Value" tab to perform value filtering operations. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -323,40 +352,41 @@ The value filtering dialog can be enabled by setting the [`AllowValueFilter`](ht {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs103" %} -![output](images/labelfiltering_fl_icon.png "Filter icon in field list") -
    -![output](images/labelfiltering_gb_icon.png "Filter icon in grouping bar") +![Filter icon in field list](images/labelfiltering_fl_icon.png)
    + +![Filter icon in grouping bar](images/labelfiltering_gb_icon.png)
    -![output](images/valuefiltering_dialog.png "Value filter tab in member editor dialog") -
    + +![Value filter tab in member editor dialog](images/valuefiltering_dialog.png)
    -![output](images/valuefiltering_grid.png "Resultant pivot table on value filter") -The value filtering can also be configured using the [`filterSettings`](https://help.syncfusion.com/cr/blazor/Syncfusion.EJ2.Blazor~Syncfusion.EJ2.Blazor.PivotView.PivotViewFilterSetting_properties.html) class through code-behind. The properties required for value filter are: +![Resultant pivot table on value filter](images/valuefiltering_grid.png) + +You can also configure value filtering programmatically using the [`filterSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#filtersettings) property. The following properties are required for value filtering: -* [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#name): Sets the normal field name. -* [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#type): Sets the filter type as **Value** to the field. -* [`measure`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#measure): Sets the value field name. -* [`condition`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#condition): Sets the operator type such as **Equals**, **GreaterThan**, **LessThan** etc. -* [`value1`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#value1): Sets the start value. -* [`value2`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#value2): Sets the end value. It is applicable only for the operator such as **Between** and **NotBetween**. -* [`selectedField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#selectedfield): Sets level name of a dimension, where the filter settings are to be applied. **NOTE: This property applicable only for OLAP data source.** +* [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#name): Specifies the field name to which the filter applies. +* [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#type): Sets the filter type as **Value**. +* [`measure`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#measure): Specifies the value field name used for filtering. +* [`condition`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#condition): Defines the comparison operator such as **Equals**, **GreaterThan**, or **LessThan**. +* [`value1`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#value1): Sets the comparison value or the start value for range operations. +* [`value2`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#value2): Sets the end value, applicable only for **Between** and **NotBetween** operators. +* [`selectedField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#selectedfield): Specifies the dimension level name where filter settings apply. **Note: This property is only applicable for OLAP data sources.** -For example, to show the data where total sum of units sold for each country exceeding 1500, set [`value1`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#value1) to "1500" and [`condition`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#condition) to **GreaterThan** in the "Country" field. +For example, to display data where the total sum of units sold for each country exceeds 1500, set the [`value1`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#value1) to "1500" and [`condition`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filterModel/#condition) to **GreaterThan** for the "Country" field. -**Operators** that can be used in value filtering are: +The following table shows the available operators for value filtering: | Operator | Description | |------|-------------| -| Equals| Displays the pivot table that matches with the value.| -| DoesNotEquals| Displays the pivot table that does not match with the given value.| -| GreaterThan| Displays the pivot table when the value is greater.| -| GreaterThanOrEqualTo| Displays the pivot table when the value is greater than or equal.| -| LessThan| Displays the pivot table when the value is lesser.| -| LessThanOrEqualTo| Displays the pivot table when the value is lesser than or equal.| -| Between| Displays the pivot table that records between start and end values.| -| NotBetween| Displays the pivot table that does not record between start and end values.| +| Equals| Shows records that match the specified value.| +| DoesNotEquals| Shows records that do not match the specified value.| +| GreaterThan| Shows records where the value is greater than the specified value.| +| GreaterThanOrEqualTo| Shows records where the value is greater than or equal to the specified value.| +| LessThan| Shows records where the value is less than the specified value.| +| LessThanOrEqualTo| Shows records where the value is less than or equal to the specified value.| +| Between| Shows records with values between the specified start and end values.| +| NotBetween| Shows records with values outside the specified start and end values.| {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -373,23 +403,29 @@ For example, to show the data where total sum of units sold for each country exc {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs104" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs104" %} ### Clearing the existing value filter -End user can clear the applied value filter by simply click the "Clear" option at the bottom of the filter dialog under "Value" tab. +You can clear the applied value filter by clicking the "Clear" option at the bottom of the filter dialog under the "Value" tab. -![output](images/clearvaluefilter.png) +![Clearing the existing value filter](images/clearvaluefilter.png) ## Event ### MemberFiltering -The event [`memberFiltering`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#memberfiltering) triggers before applying filter using the dialog, that is, specifically while clicking the **"OK"** button. Using this event user can view or modify the applied [filter settings](https://ej2.syncfusion.com/javascript/documentation/api/pivotview/filter/) such as filter items, type of filter, conditions, etc. It has following parameters: +The [`memberFiltering`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#memberfiltering) event gives you complete control over filter operations by triggering before any filter is applied through the filter dialog. This event activates specifically when you click the **"OK"** button in the filter dialog, allowing you to review, modify, or cancel the filtering process based on your requirements. -* `cancel` - Boolean property, when the parameter `cancel` is set to **true**, applied filtering will not be updated -* [`filterSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filter/) - It holds current [filter settings](https://ej2.syncfusion.com/react/documentation/api/pivotview/filter/). -* `dataSourceSettings` - It holds updated datasource settings. +This event provides access to the current filter settings, enabling you to customize filter behavior programmatically. You can examine the filter items, modify filter types and conditions, or prevent the filter from being applied entirely. + +The event includes the following parameters: + +* [`cancel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/memberFilteringEventArgs/#cancel) - A boolean property that stops the filter from being applied when set to **true**. +* [`filterSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filter/) - Contains the current [filter settings](https://ej2.syncfusion.com/react/documentation/api/pivotview/filter/) including filter items, types, and conditions. +* [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/memberFilteringEventArgs/#datasourcesettings) - Holds the updated [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) after the filter is applied. + +For example, you can use the [`memberFiltering`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#memberfiltering) event to block the filter action by setting `args.cancel` parameter to **true**. This is shown below: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -406,19 +442,18 @@ The event [`memberFiltering`](https://ej2.syncfusion.com/react/documentation/api {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs105" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs105" %} ### MemberEditorOpen -The event [`memberEditorOpen`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#membereditoropen) fires while opening member editor dialog. It allows to customize the field members to be displayed in the dialog. It has the following parameters - -* `fieldName`: It holds the name of the appropriate field. +When you open the Member Editor dialog, the [`memberEditorOpen`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#membereditoropen) event is triggered. With this event, you can decide which field members are shown, making it easier to include or exclude specific items. The event provides the following options: -* `fieldMembers`: It holds the members of a field. +- [`fieldName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/memberEditorOpenEventArgs/#fieldname): The name of the field for which the Member Editor dialog opens. +- [`fieldMembers`](https://ej2.syncfusion.com/react/documentation/api/pivotview/memberEditorOpenEventArgs/#fieldmembers): The list of all members in the selected field. +- [`cancel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/memberEditorOpenEventArgs/#cancel): If you set this property to `true`, the Member Editor dialog will not open. +- [`filterSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/memberEditorOpenEventArgs/#filtersetting) - Contains the current [`filterSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/filter/) including filter items, types, and conditions. -* `cancel`: It is a boolean property and by setting this to true, dialog won’t be created. - -In the below sample, the member editor of field "Country" shows only the selected Item. +Here’s an example. In the Pivot Table below, only the selected member for the "Country" field appears in the Member Editor dialog: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -435,23 +470,21 @@ In the below sample, the member editor of field "Country" shows only the selecte {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs106" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs106" %} ### ActionBegin -The event [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) triggers when clicking the filter icon in the field button, which is present in both grouping bar and field list UI. This allows user to identify the current action being performed at runtime. It has the following parameters: - -* `dataSourceSettings`: It holds the current data source settings such as input data source, rows, columns, values, filters, format settings and so on. +The [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) event is triggered when a user clicks the filter icon on a field button in either the grouping bar or the field list, allowing users to monitor and control actions in the Pivot Table. The event argument includes the following properties: -* `actionName`: It holds the name of the current action began. For example, while filtering, the action name will be shown as **Filter field**. +- [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#datasourcesettings): Contains the current data source configuration, including input data, rows, columns, values, filters, format settings, and other report settings. +- [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#actionname): Indicates the name of the action being initiated, such as **Filter field** for filtering. +- [`fieldInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#fieldinfo): Provides information about the selected field for the action. -* `fieldInfo`: It holds the selected field information. +> **Note**: The `fieldInfo` property is available only when the action involves a specific field, such as filtering, sorting, removing a field from the grouping bar, editing, or changing the aggregation type. ->Note: This option is applicable only when the field based UI actions are performed such as filtering, sorting, removing field from grouping bar, editing and aggregation type change. +- [`cancel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#cancel): A boolean property that allows you to prevent the current action from completing. Set this to **true** to stop the action. -* `cancel`: It allows user to restrict the current action. - -In the below sample, filter action can be restricted by setting the **args.cancel** option to **true** in the `actionBegin` event. +In the example below, you can prevent a filter action by setting **args.cancel** to **true** in the [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) event: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -468,21 +501,23 @@ In the below sample, filter action can be restricted by setting the **args.cance {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs107" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs107" %} ### ActionComplete -The event [`actionComplete`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actioncomplete) triggers when the filtering action via the field button, which is present in both grouping bar and field list UI, is completed. This allows user to identify the current UI actions being completed at runtime. It has the following parameters: +The [`actionComplete`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actioncomplete) event triggers when filtering actions are completed through the field button in both the grouping bar and field list UI. You can use this event to monitor current UI actions and implement custom logic based on the completed operations. + +The event provides the following parameters: -* `dataSourceSettings`: It holds the current data source settings such as input data source, rows, columns, values, filters, format settings and so on. +- [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#datasourcesettings): Contains the current data source configuration, including input data source, rows, columns, values, filters, format settings, and other report settings. -* `actionName`: It holds the name of the current action completed. For example, after filtering , the action name will be shown as **Field filtered**. +- [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#actionname): Specifies the name of the completed action. For filtering operations, the action name appears as **Field filtered**. -* `fieldInfo`: It holds the selected field information. +- [`fieldInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#fieldinfo): Contains information about the selected field that was involved in the action. ->Note: This option is applicable only when the field based UI actions are performed such as filtering, sorting, removing field from grouping bar, editing and aggregation type change. +> **Note**: This parameter is available only when the action involves a specific field, such as filtering, sorting, removing a field from the grouping bar, editing, or changing the aggregation type. -* `actionInfo`: It holds the unique information about the current UI action. For example, if the filter action is completed, the event argument contains information such as filter members, field name, and so on. +- [`actionInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#actioninfo): Provides detailed information about the current UI action. For filtering operations, this includes filter members, field name, and other relevant details. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -499,15 +534,15 @@ The event [`actionComplete`](https://ej2.syncfusion.com/react/documentation/api/ {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs108" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs108" %} ### ActionFailure -The event [`actionFailure`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionfailure) triggers when the current UI action fails to achieve the desired result. It has the following parameters: +The [`actionFailure`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionfailure) event is triggered when a UI action fails to produce the expected result. This event provides detailed information about the failure through the following parameters: -* `actionName`: It holds the name of the current action failed. For example, if the action fails while filtering, the action name will be shown as **Filter field**. +* [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionFailureEventArgs/#actionname): It holds the name of the current action failed. For example, if the action fails while filtering, the action name will be shown as **Filter field**. -* `errorInfo`: It holds the error information of the current UI action. +* [`errorInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionFailureEventArgs/#errorinfo): It holds the error information of the current UI action. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -524,7 +559,7 @@ The event [`actionFailure`](https://ej2.syncfusion.com/react/documentation/api/p {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs109" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs109" %} ## See Also diff --git a/ej2-react/pivotview/globalization-and-localization.md b/ej2-react/pivotview/globalization-and-localization.md index 585ba0689..20622664c 100644 --- a/ej2-react/pivotview/globalization-and-localization.md +++ b/ej2-react/pivotview/globalization-and-localization.md @@ -1,16 +1,28 @@ --- layout: post -title: Globalization and localization in React | Syncfusion -description: Learn here all about Globalization and localization in Syncfusion React Pivotview component of Syncfusion Essential JS 2 and more. -control: Globalization and localization +title: Globalization in React Pivot Table component | Syncfusion +description: Learn here all about Globalization and localization in Syncfusion React Pivot Table component of Syncfusion Essential JS 2 and more. +control: Globalization and localization platform: ej2-react documentation: ug domainurl: ##DomainURL## --- -# Globalization and localization in React Pivotview component +# Globalization and localization in React Pivot Table component -Globalization is the combination of Internationalization and localization. You can adapt the component to various languages by parsing and formatting the date or number ([`Internationalization`](https://ej2.syncfusion.com/react/documentation/base/internationalization.html)) & adding culture specific customization and translation to the text ([`Localization`](https://ej2.syncfusion.com/react/documentation/base/localization.html)). +The Pivot Table helps users view and interact with data in their own language and regional format. This means users from different countries can easily read and understand the data because dates, numbers, and words are shown in a way that feels familiar to them. + +Globalization combines two important aspects: + +**Internationalization**: This enables the Pivot Table to display dates and numbers based on local standards. For example, the date can appear as MM/dd/yyyy in the United States or dd/MM/yyyy in the United Kingdom. + +**Localization**: This allows you to provide translations for text in the Pivot Table, such as button labels, menu items, and messages. You can display all these text elements in the language preferred by your users. + +With both internationalization and localization, you can make sure the Pivot Table is friendly and easy to use for people who speak different languages and come from various regions. + +For more details: +- Learn about [`Internationalization`](https://ej2.syncfusion.com/react/documentation/common/globalization/internationalization) for formatting dates and numbers. +- Read about [`Localization`](https://ej2.syncfusion.com/react/documentation/common/globalization/localization) for translating text content. ## Load CLDR-Data to the application @@ -40,18 +52,17 @@ Globalization is the combination of Internationalization and localization. You c npm -v ``` -* Now, install the `CLDR-Data` package by using the following command (it installs the CLDR JSON data). To -learn more about CLDR-Data, refer to [CLDR-Data](http://cldr.unicode.org/index/cldr-spec/json). +* Now, install the `CLDR-Data` package by using the following command (it installs the CLDR JSON data). To learn more about CLDR-Data, refer to [CLDR-Data](http://cldr.unicode.org/index/cldr-spec/cldr-json-bindings). ``` npm install cldr-data --save ``` -* After installing the package, you can find the culture specific JSON data under the location `/node_modules/cldr-data`. Then, copy the `cldr-data` folder into your react application. +* After installing the package, you can find the culture-specific JSON data under the location `/node_modules/cldr-data`. Then, copy the `cldr-data` folder into your React application. -* Download the required locale packages to render the react Pivot Table component with specified locale. To download the locale definition of react components, use this [link](https://github.com/syncfusion/ej2-locale). +* Download the required locale packages to render the React Pivot Table component with specified locale. To download the locale definition of React components, use this [link](https://github.com/syncfusion/ej2-locale). -* After downloading the ej2-locale package, copy the ej2-locale folder with required local definition file into your react application. By default, the ej2-locale package contains the localized text for static text present in components like grid, chart, pivot table, tools, and more. +* After downloading the ej2-locale package, copy the ej2-locale folder with required locale definition file into your React application. By default, the ej2-locale package contains the localized text for static text present in components like grid, chart, Pivot Table, tools, and more. The locale JSON file will look like: @@ -59,32 +70,34 @@ The locale JSON file will look like: ## Internationalization -The Internationalization library is used to globalize number, date, and time values in pivot table component using the `dataSourceSettings.formatSettings` option. In the below code sample, we set the culture and currency using the `load`, `setCulture` and `setCurrencyCode` methods. By default, pivot table component is displayed in english culture. +Internationalization helps you display dates and numbers in the Pivot Table according to different cultural formats. This means users from various countries can view data in their familiar regional formats, making the component more user-friendly and accessible. -* Set the culture by using the `locale` property. +The internationalization library uses official [`Unicode CLDR`](http://cldr.unicode.org/) JSON data to format and parse numbers, dates, and times. It also provides the `loadCldr` method to load culture-specific CLDR JSON data for your application. - {% tabs %} - {% highlight js tabtitle="App.jsx" %} - {% include code-snippet/pivot-table/default-cs110/app/App.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="App.tsx" %} - {% include code-snippet/pivot-table/default-cs110/app/App.tsx %} - {% endhighlight %} - {% endtabs %} +By default, all Syncfusion components use English culture ('en-US'). To use a different culture, set the culture by using the [`locale`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#locale) property as shown in the example below: - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs110" %} +{% tabs %} +{% highlight js tabtitle="App.jsx" %} +{% include code-snippet/pivot-table/default-cs110/app/App.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="App.tsx" %} +{% include code-snippet/pivot-table/default-cs110/app/App.tsx %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs110" %} -> * In the above sample, `Amount` field is formatted by [`NumberFormatOptions`](https://ej2.syncfusion.com/react/documentation/base/internationalization.html#number-formatter-and-parser). For date formats, the value strings are formatted by [`DateFormatOptions`](https://ej2.syncfusion.com/react/documentation/base/internationalization.html#date-formatter-and-parser). -> * By default, `locale` value is `en-US`. If you want to change the `en-US` culture to a different culture, you have to change the `locale` accordingly. -> * Also, you will find more details about support format string for number formats and data formats [`here`](https://ej2.syncfusion.com/documentation/common/intl.html?lang=typescript#supported-format-string). +> * In the above sample, `Amount` field is formatted by [`NumberFormatOptions`](https://ej2.syncfusion.com/react/documentation/common/globalization/internationalization#manipulating-numbers). For date formats, the value strings are formatted by [`DateFormatOptions`](https://ej2.syncfusion.com/react/documentation/common/globalization/internationalization#manipulating-datetime). +> * By default, [`locale`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#locale) value is `en-US`. If you want to change the `en-US` culture to a different culture, you have to change the [`locale`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#locale) accordingly. +> * Also, you will find more details about support format string for number formats and data formats [`here`](https://ej2.syncfusion.com/react/documentation/common/globalization/internationalization#supported-format-string). - +### Decimal separators -### Decimal separators +The Pivot Table automatically adjusts decimal separators in numeric values to match your selected culture, making data easier to read for users from different regions. You can set the culture by calling the [`setCulture`](https://ej2.syncfusion.com/react/documentation/common/globalization/internationalization#changing-current-locale) method with the appropriate culture string as its parameter. Once applied, all numeric values in the Pivot Table will display using the decimal separator convention of that culture. -The decimal separators of pivot table values varies based on the culture applied to the component. The culture can be set by calling the method [`setCulture`](https://ej2.syncfusion.com/react/documentation/common/localization/#changing-current-locale) with appropriate culture string as its parameter. +For example, while English cultures typically use a dot (.) as the decimal separator, German culture uses a comma (,) instead. -The following example demonstrates the decimal separators in `Deutsch` culture. +The following example shows how decimal separators appear when using the `Deutsch` culture. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -101,13 +114,15 @@ The following example demonstrates the decimal separators in `Deutsch` culture. {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/locale-cs1" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/locale-cs1" %} ## Localization -The [`Localization`](https://ej2.syncfusion.com/documentation/common/api-l10n.html) library allows you to localize default text content of the pivot table. The pivot table component has static text on some features (like drop area text, pivot field list title, etc...) that can be changed to other cultures (Arabic, Deutsch, French, etc.) by defining the `locale` value and translation object. +The [`Localization`](https://ej2.syncfusion.com/react/documentation/common/globalization/localization) option allows you to translate the default text content of the Pivot Table into different languages. This makes the component more accessible to users from various regions by displaying text in their preferred language. + +The Pivot Table contains static text elements such as drop area messages, field list titles, and other interface labels that can be translated to different cultures (Arabic, German, French, etc.). You can achieve this by setting the [`locale`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#locale) property and providing the appropriate translation object. -The following list of properties and its values are used in the pivot table. +The following table shows the locale keywords and their corresponding default text values used in the Pivot Table: Locale keywords |Text -----|----- @@ -549,13 +564,13 @@ yes | Yes no | No None | None -N> To find the latest localization keywords of pivotview and pivotfieldlist for different languages, visit this [GitHub](https://github.com/syncfusion/ej2-locale) repository. +N> To access the most recent localization keywords for the Pivot Table and Pivot Field List components in different languages, visit the [GitHub repository](https://github.com/syncfusion/ej2-locale). ### Loading Translations -To load translation object in an application, use [`load`](https://ej2.syncfusion.com/documentation/common/api-l10n.html#load) function of the [`L10n`](https://ej2.syncfusion.com/documentation/common/api-l10n.html) class. +To load translation content in your application, use the [`load`](https://ej2.syncfusion.com/documentation/api/base/l10n/) method of the [`L10n`](https://ej2.syncfusion.com/documentation/api/base/l10n/) class. This method accepts translation objects that contain text content in different languages. -The following example demonstrates the pivot table in `Deutsch` culture. +The following example demonstrates the Pivot Table in `Deutsch` culture. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -566,11 +581,11 @@ The following example demonstrates the pivot table in `Deutsch` culture. {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs111" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs111" %} ## Right-to-left (RTL) -Right-to-left (RTL) provides an option to switch the text direction and layout of the pivot table component from right to left. It improves the user experiences and accessibility for users who use right-to-left languages (Arabic, Farsi, Urdu, etc...). To enable RTL pivot table, set the `enableRtl` property to **true**. +Right-to-left (RTL) support makes the Pivot Table more accessible and user-friendly for people who read and write in right-to-left languages such as Arabic, Farsi, and Urdu. This feature adjusts the text direction and layout of the entire Pivot Table from a left-to-right to a right-to-left orientation. To enable RTL in the Pivot Table, set the [`enableRtl`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enablertl) property to **true**. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -587,9 +602,9 @@ Right-to-left (RTL) provides an option to switch the text direction and layout o {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs112" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs112" %} ## See Also -* [Internationalization](https://ej2.syncfusion.com/react/documentation/base/internationalization.html) -* [Localization](https://ej2.syncfusion.com/react/documentation/base/localization.html) \ No newline at end of file +* [Internationalization](https://ej2.syncfusion.com/react/documentation/common/globalization/internationalization) +* [Localization](https://ej2.syncfusion.com/react/documentation/common/globalization/localization) \ No newline at end of file diff --git a/ej2-react/pivotview/grouping-bar.md b/ej2-react/pivotview/grouping-bar.md index b9a28db82..eef1fe0bb 100644 --- a/ej2-react/pivotview/grouping-bar.md +++ b/ej2-react/pivotview/grouping-bar.md @@ -1,29 +1,30 @@ --- layout: post -title: Grouping bar in React Pivotview component | Syncfusion -description: Learn here all about Grouping bar in Syncfusion React Pivotview component of Syncfusion Essential JS 2 and more. -control: Grouping bar +title: Grouping bar in React Pivot Table component | Syncfusion +description: Learn here all about Grouping bar in Syncfusion React Pivot Table component of Syncfusion Essential JS 2 and more. +control: Grouping bar platform: ej2-react documentation: ug domainurl: ##DomainURL## --- -# Grouping bar in React Pivotview component +# Grouping bar in React Pivot Table component To have a quick glance on how to enable grouping bar in the React Pivot Table, watch this video: {% youtube "https://www.youtube.com/watch?v=6zKDyLyPnmg" %} -The Grouping Bar option in pivot table automatically populates fields from the bound data source and allows end users to drag fields between different axes such as columns, rows, values, and filters, and create pivot tables at runtime. It can be enabled by setting the [`showGroupingBar`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showgroupingbar) property to **true**. +The Grouping Bar option in the Pivot Table automatically displays fields from the bound data source. It allows users to drag and drop fields between different axes such as columns, rows, values, and filters to create a pivot table at runtime. You can enable it by setting the [`showGroupingBar`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showgroupingbar) property to **true**. -> To use grouping bar, You need to inject the `GroupingBar` module in pivot table. +The grouping bar provides intuitive interactions similar to the Field List, making report creation accessible to all users. These interactions include: -Similar to Field List, Grouping Bar UI also comes with basic interactions like, +* Re-arranging fields through drag-and-drop operations between row, column, value, and filter axes. +* Removing fields from the existing report using the remove icon. +* Adding fields to the report using the fields panel option. +* Filtering members of specific fields using the filter icon. +* Sorting members of specific fields using the sort icon. -* Re-arranging fields through drag-and-drop operation between row, column, value and filter axes. -* Remove fields from the existing report using remove icon. -* Filtering members of specific fields using filter icon. -* Sorting members of specific fields using sort icon. +To use the grouping bar, you need to inject the `GroupingBar` module in the Pivot Table. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -40,13 +41,15 @@ Similar to Field List, Grouping Bar UI also comes with basic interactions like, {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs124" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs124" %} -The grouping bar provides some additional options to customize it's UI using `groupingBarSettings` property. +The grouping bar offers additional options to modify its appearance and behavior using the [`groupingBarSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#groupingbarsettings) property. ## Show or hide fields panel -The fields panel, which is positioned above the grouping bar, displays the fields that are available in the data source but are not bound in the report. The fields can be dragged and dropped into the appropriate axis. In addition, any field removed from any axes will be automatically added to the fields panel. The fields panel can be displayed by setting the [`showFieldsPanel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupingBarSettingsModel/#showfieldspanel) property in the [`groupingBarSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#groupingbarsettings) to **true**. +The fields panel appears above the grouping bar and shows all the fields that are available in the data source but not currently used in the Pivot Table report. Users can drag and drop these fields into the appropriate axes (rows, columns, values, or filters) to build their desired Pivot Table layout. When a field is removed from any axis, it automatically returns to the fields panel for reuse. + +To display the fields panel, set the [`showFieldsPanel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupingBarSettingsModel/#showfieldspanel) property to **true** within the [`groupingBarSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#groupingbarsettings) configuration. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -63,11 +66,13 @@ The fields panel, which is positioned above the grouping bar, displays the field {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs125" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs125" %} ## Show or hide all filter icon -The Grouping Bar has an option to filter members of particular fields at runtime in pivot table. In order to filter members in a field, click the filter icon in the pivot button and check/uncheck the members that needs to be displayed. To disable the filter icon, you need to set [`showFilterIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupingBarSettingsModel/#showfiltericon) in [`groupingBarSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#groupingbarsettings) to **false**. +The Grouping Bar provides an option to filter members of specific fields during runtime in the Pivot Table. To filter members in a field, click the filter icon next to the field name and select or deselect the members you want to display. + +By default, the filter icon appears next to each field in the grouping bar. If you want to hide the filter icon, set the [`showFilterIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupingBarSettingsModel/#showfiltericon) property to **false** within the [`groupingBarSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#groupingbarsettings) configuration. > By default, the filter icon is enabled in the grouping bar. @@ -86,13 +91,13 @@ The Grouping Bar has an option to filter members of particular fields at runtime {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs126" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs126" %} ## Show or hide specific filter icon -To disable the filter icon for a specific field, set the property [`showFilterIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showfiltericon) to **false** to the corresponding field in [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). +By default, the filter icon appears for all fields in the grouping bar. To hide the filter icon for specific fields, set the [`showFilterIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showfiltericon) property to **false** for those fields in the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). This lets you control which fields can be filtered, providing a cleaner and more focused user interface. -In the below sample, the filter icon of "Quarter" and "Products" fields have been hidden. +In the sample below, the filter icons for the "Quarter" and "Products" fields are hidden. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -109,11 +114,13 @@ In the below sample, the filter icon of "Quarter" and "Products" fields have bee {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs127" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs127" %} ## Show or hide all sort icon -The Grouping Bar has an option to order members of a particular fields either in ascending or descending at run time. In order to sort a field, click the sort icon available in the respective pivot button. To reverse the sort direction, click the same sort icon again. To disable the sort option, you need to set the [`showSortIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupingBarSettingsModel/#showsorticon) in [`groupingBarSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#groupingbarsettings) to **false**. +The Grouping Bar provides an option to sort members of a particular field in either ascending or descending order at runtime. To sort a field, click the sort icon next to the field name. To reverse the sort direction, click the same sort icon again. By default, the sort icon is displayed next to each field in the grouping bar, and members are arranged in ascending order. + +To disable the sort option, set the [`showSortIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupingBarSettingsModel/#showsorticon) property to **false** within the [`groupingBarSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#groupingbarsettings) configuration. > By default, the sort icon is enabled in the grouping bar. @@ -132,13 +139,13 @@ The Grouping Bar has an option to order members of a particular fields either in {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs128" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs128" %} ## Show or hide specific sort icon -To disable the sort icon for a specific button, set the property [`showSortIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showsorticon) to **false** to the corresponding field in [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). +You can choose to show or hide the sort icon for individual fields in the Pivot Table's grouping bar. To hide the sort icon for a particular field, set the [`showSortIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showsorticon) property to **false** for that field in the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) property. -In the below sample, the sort icon of "Quarter" and "Country" fields have been hidden. +In the example below, the sort icons for the "Quarter" and "Country" fields are hidden in the grouping bar. This allows users to prevent sorting for these fields while keeping other fields sortable. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -155,13 +162,15 @@ In the below sample, the sort icon of "Quarter" and "Country" fields have been h {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs129" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs129" %} ## Show or hide all remove icon -The Grouping Bar has an option to remove a particular field at run time. In order to remove a field, click the remove icon in the pivot button. To disable the remove icon, you need to set the [`showRemoveIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupingBarSettingsModel/#showremoveicon) in [`groupingBarSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#groupingbarsettings) to **false**. +The grouping bar in the Pivot Table lets users remove any field at runtime by clicking the remove icon next to the field. By default, the remove icon is visible beside each field in the grouping bar. + +If you want to hide the remove icon, set the [`showRemoveIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupingBarSettingsModel/#showremoveicon) property to **false** within the [`groupingBarSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#groupingbarsettings) configuration. This will prevent users from removing fields directly from the grouping bar. -> By default, the remove icon is enabled in the grouping bar. +> Note: The remove icon is enabled in the grouping bar by default. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -178,13 +187,13 @@ The Grouping Bar has an option to remove a particular field at run time. In orde {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs130" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs130" %} -## Show or hide specific remove icon +## Show or hide a specific remove icon -To disable the remove icon for a specific button, set the property [`showRemoveIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showremoveicon) to **false** to the corresponding field in [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). +You can hide the remove icon for an individual field button in the Pivot Table grouping bar. To do this, set the [`showRemoveIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showremoveicon) property to **false** for the desired field within the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) options. -In the below sample, the remove icon of fields "Year", "Sold" and "Products" have been hidden. +In the example below, the remove icon for the "Year", "Sold", and "Products" fields has been hidden. This helps prevent users from accidentally removing those fields while interacting with the Pivot Table. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -201,11 +210,11 @@ In the below sample, the remove icon of fields "Year", "Sold" and "Products" hav {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs131" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs131" %} ## Disable all fields from dragging -The Grouping Bar has an option to drag-and-drop fields between row, column, value and filter axes in-order to change report at runtime. By default, all fields are available for drag-and-drop operation in the grouping bar. To disable these fields, set the property [`allowDragAndDrop`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupingBarSettingsModel/#allowdraganddrop) in [`groupingBarSettings`](https://help.syncfusion.com/cr/blazor/Syncfusion.EJ2.Blazor~Syncfusion.EJ2.Blazor.PivotView.PivotViewGroupingBarSettings.html) to **false**. This will prevent end user from changing the current report. +In the Pivot Table, the grouping bar lets users move fields between the row, column, value, and filter axes to change the report as needed. By default, all fields can be moved using drag-and-drop in the grouping bar. To prevent users from dragging any fields, set the [`allowDragAndDrop`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupingBarSettingsModel/#allowdraganddrop) option in [`groupingBarSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#groupingbarsettings) to **false**. This will lock the layout of the current report, so users cannot rearrange fields in the grouping bar. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -222,13 +231,13 @@ The Grouping Bar has an option to drag-and-drop fields between row, column, valu {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs132" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs132" %} ## Disable specific field from dragging -To disable dragging for a specific button, set the property [`allowDragAndDrop`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#allowdraganddrop) to **false** to the corresponding field in [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). +You can prevent users from dragging certain fields in the grouping bar of the Pivot Table. To do this, set the [`allowDragAndDrop`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#allowdraganddrop) property to **false** for the specific field within the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). -In the below sample, the drag and drop of the fields "Year" and "Products" have been restricted. +In the example below, users cannot drag the "Year" and "Products" fields. This setting helps you control which fields can be arranged in the column, row, value, or filter axes at runtime. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -245,13 +254,15 @@ In the below sample, the drag and drop of the fields "Year" and "Products" have {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs133" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs133" %} ## Remove specific field(s) from displaying -When a report is bound to the pivot table, fields will be automatically populated within the Grouping Bar. In this case, you can also prevent specific fields from being displayed. To do so, set the appropriate field name(s) in the [`excludeFields`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#excludefields) property of [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). +When you bind a report to the Pivot Table, all fields from the data source are automatically displayed in the Grouping Bar. However, you can hide specific fields from appearing in the Grouping Bar to simplify the user interface. -> The `excludeFields` property setting will be reflected in the field list UI as well, and for more information, see this [link](https://ej2.syncfusion.com/react/documentation/pivotview/field-list/#remove-specific-fields-from-displaying). +To exclude specific fields, add the field names to the [`excludeFields`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#excludefields) property within the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) configuration. This prevents the selected fields from being displayed in the Grouping Bar while keeping them available in the underlying data source. + +> **Note:** When you exclude fields using the `excludeFields` property, these fields will also be hidden in the field list UI. For more information about field list behavior, refer to this [link](https://ej2.syncfusion.com/react/documentation/pivotview/field-list#remove-specific-fields-from-displaying). {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -268,11 +279,13 @@ When a report is bound to the pivot table, fields will be automatically populate {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs134" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs134" %} ## Changing aggregation type of value fields at runtime -End user can perform calculations over a group of values using the aggregation option. The value fields bound to the field list, appears with a dropdown icon, helps to select an appropriate aggregation type at runtime. On selection, the values in the Pivot Table will be changed dynamically. By default, the icon to set aggregation type is enabled in the grouping bar. To disable this icon, set the property [`showValueTypeIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupingBarSettingsModel/#showvaluetypeicon) in [`groupingBarSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#groupingbarsettings) to **false**. To know more about aggregation, [`refer`](./aggregation) here. +Users can easily perform calculations on groups of values in the Pivot Table by using the aggregation option. Each value field in the Pivot Table appears in the grouping bar with a dropdown icon next to it. This icon lets users select a different aggregation type, such as Sum, Average, or Count, at runtime. When an aggregation type is selected, the Pivot Table values update immediately to reflect the new calculation. + +By default, the icon for setting the aggregation type is visible in the grouping bar. To hide this icon, set the [`showValueTypeIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupingBarSettingsModel/#showvaluetypeicon) property to **false** inside [`groupingBarSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#groupingbarsettings). For more details about aggregation options, see the [aggregation](./aggregation) section. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -289,13 +302,13 @@ End user can perform calculations over a group of values using the aggregation o {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs135" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs135" %} ## Show or hide specific dropdown icon -To disable the dropdown icon for a specific button, set the property [`showValueTypeIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showvaluetypeicon) to **false** to the corresponding field in [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). +You can hide the dropdown icon for a particular field button in the Pivot Table’s grouping bar. To do this, set the [`showValueTypeIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showvaluetypeicon) property to **false** for the desired field within the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). -In the below sample, the dropdown icon of field "Sold" is hidden. +In the following example, the dropdown icon for the "Sold" field is hidden: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -312,15 +325,17 @@ In the below sample, the dropdown icon of field "Sold" is hidden. {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs136" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs136" %} - >The property [`showFilterIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showfiltericon), [`showSortIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showsorticon), [`showValueTypeIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showvaluetypeicon) and [`allowDragAndDrop`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#allowdraganddrop) in fields of [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) are applicable for both grouping bar and field list. +> The following properties—[`showFilterIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showfiltericon), [`showSortIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showsorticon), [`showValueTypeIcon`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#showvaluetypeicon), and [`allowDragAndDrop`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#allowdraganddrop)—in the fields of [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) apply to both the grouping bar and field list. ## Show values button -During runtime, the **Values** button in the grouping bar can be moved to a different position (i.e., different index) among other fields in the column or row axis. To enable the **Values** button, set the [`showValuesButton`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showvaluesbutton) property to **true**. +The **Values** button appears in the grouping bar when the [`showValuesButton`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showvaluesbutton) property is set to **true**. This button can be moved to a different position among the fields in either the column or row axis while working with the Pivot Table. To enable this option, set [`showValuesButton`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showvaluesbutton) to **true** in the [Pivot Table](https://ej2.syncfusion.com/react/documentation/api/pivotview/) settings. -> This support is only available for relational data sources. +> This option is available only when using relational data sources. + +> The Values button is displayed only when multiple fields are added to the Values axis. It is not shown when a single field is present. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -337,15 +352,20 @@ During runtime, the **Values** button in the grouping bar can be moved to a diff {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs137" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs137" %} ## Event ### OnFieldDropped -The event [`onFieldDropped`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#onfielddropped) fires on whenever a field is dropped over an axis. +The [`onFieldDropped`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#onfielddropped) event in the Pivot Table triggers whenever a user moves and drops a field into a new axis, such as columns, rows, values, or filters. This event provides the following parameters: + +- [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings): Defines the current report in the Pivot Table. +- [`droppedAxis`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldDroppedEventArgs/#droppedaxis): Defines the axis where the field has been dropped. +- [`droppedField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldDroppedEventArgs/#droppedfield): Defines the dropped field item. +- [`droppedPosition`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldDroppedEventArgs/#droppedposition): Defines the position where the field has been dropped. -It has following parameters - `droppedAxis`, `droppedField` and `dataSourceSettings`. In this sample we have modified the `droppedField` caption based on the `droppedAxis`. +For example, you can use this event to change the caption of the [`droppedField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldDroppedEventArgs/#droppedfield) instantly at runtime when a user moves a field to a different axis. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -362,21 +382,19 @@ It has following parameters - `droppedAxis`, `droppedField` and `dataSourceSetti {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs138" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs138" %} ### FieldDragStart -The event [`fieldDragStart`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#fielddragstart) fires whenever a field drag starts from its axis. It allows the user to restrict the drag operation based on its parameters. It has the following parameters +The [`fieldDragStart`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#fielddragstart) event is triggered when a field begins to be dragged from its axis in the Pivot Table. Users can use this event to limit or prevent the drag action based on certain conditions. The event provides the following parameters: -* `fieldName`: It holds the name of the appropriate field. +- [`fieldName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldDragStartEventArgs/#fieldname): This parameter contains the name of the field being dragged. +- [`fieldItem`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldDragStartEventArgs/#fielditem): This parameter holds the complete details of the field as described in the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings). +- [`axis`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldDragStartEventArgs/#axis): This specifies the axis (such as columns, rows, values, or filters) from which the field is being dragged. +- [`cancel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldDragStartEventArgs/#cancel): This boolean property can be set to **true** by the user to prevent the selected field from being dragged. +- [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings): This property returns the current [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) used in the Pivot Table. -* `fieldItem`: It holds the complete definition of the appropriate field mentioned in data source settings. - -* `axis`: It holds the axis name where the draggable field lies. - -* `cancel`: It is a boolean property and by setting this to true, user can restrict the field from dragging. - -In the below sample, the drag operation for the fields in row axis alone is restricted. +In the following example, the drag action is prevented only for fields placed in the rows axis. Users will not be able to drag fields from the rows axis, but can still drag fields from other axes. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -393,27 +411,21 @@ In the below sample, the drag operation for the fields in row axis alone is rest {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs139" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs139" %} ### FieldDrop -The event [`fieldDrop`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#fielddrop) fires whenever a field is dropped into an axis. It allows the user to restrict the drop operation based on its parameters. It has the following parameters - -* `fieldName`: It holds the name of the appropriate field. - -* `dropField`: It holds the complete definition of the appropriate field mentioned in data source settings. - -* `draggedAxis`: It holds the axis name from where dragging was started. - -* `dropAxis`: It holds the axis name where the field is dropped. - -* `dropPosition`: It holds the dropped index among other existing fields in the axis. +The [`fieldDrop`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#fielddrop) event is triggered whenever a user drags and drops a field into a different axis in the Pivot Table. This event helps users control whether a field should be allowed to move to a new axis by using the event’s parameters. The event provides the following information: -* [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/): It holds complete pivot report. +* [`fieldName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldDropEventArgs/#fieldname): The name of the field being moved. +* [`draggedAxis`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldDropEventArgs/#draggedaxis): The axis where the user started dragging the field. +* [`dropAxis`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldDropEventArgs/#dropaxis): The axis where the field is dropped. +* [`dropPosition`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldDropEventArgs/#dropposition): The position where the field is dropped among the fields in the target axis. +* [`dropField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldDropEventArgs/#dropfield): The complete definition of the field as defined in the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings). +* [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings): The entire configuration of the Pivot Table’s data source. +* [`cancel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldDropEventArgs/#cancel): A boolean value. If set to **true**, this stops the field from being dropped into the axis. -* `cancel`: It is a boolean property and by setting this to true, user can restrict the field from being dropped. - -In the below sample, dropping of any fields in value axis alone is restricted. +In the example below, dropping any field into the "Values" axis is prevented. This is managed by setting the `cancel` parameter to **true** when a field is dropped onto the "Values" axis. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -430,23 +442,21 @@ In the below sample, dropping of any fields in value axis alone is restricted. {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs140" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs140" %} ### FieldRemove -The event [`fieldRemove`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#fieldremove) fires when removing any field from their axis. It helps the user to limit the elimination of a field based on its parameters. It has the following parameters - -* `fieldName`: It holds the name of the field to be removed. - -* `fieldItem`: It holds the complete definition of the appropriate field mentioned in data source settings. - -* `axis`: It holds the name of the axis from where it is to remove the field. +The [`fieldRemove`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#fieldremove) event occurs when a user tries to remove a field from an axis in the Pivot Table. This event can be used to control whether a field should be removed, based on specific conditions. -* [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/): It holds complete pivot report. +The event provides the following parameters: -* `cancel`: It is a boolean property and by setting this to true, user can restrict the field from removing. +- [`fieldName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldRemoveEventArgs/#fieldname): The name of the field that the user wants to remove. +- [`fieldItem`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldRemoveEventArgs/#fielditem): The full definition of the field as specified in the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings). +- [`axis`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldRemoveEventArgs/#axis): The name of the axis (row, column, value, or filter) from which the field will be removed. +- [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings): The complete configuration of the Pivot Table data source. +- [`cancel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldRemoveEventArgs/#cancel): A boolean property; set this to **true** to prevent the field from being removed. -In the below sample, the field "Country" could not be removed from report by any UI operations. +In the following example, the field "Country" cannot be removed from the report by any UI action. This is achieved by handling the [`fieldRemove`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#fieldremove) event and setting the `cancel` property to **true** if the field name matches "Country". {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -463,21 +473,20 @@ In the below sample, the field "Country" could not be removed from report by any {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs141" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs141" %} ### AggregateMenuOpen -The event [`aggregateMenuOpen`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#aggregatemenuopen) fires while clicking dropdown icon of the value field button UI. It allows to customize the aggregate types to be displayed in the dropdown menu. It has the following parameters +The [`aggregateMenuOpen`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#aggregatemenuopen) event is triggered when a user clicks the dropdown icon in a value field button in the Pivot Table’s grouping bar. This event allows users to control which aggregation types appear in the dropdown menu. -* `fieldName`: It holds the name of the field that opens the aggregate menu. +The event provides the following parameters: -* [`aggregateTypes`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#aggregatetypes): It holds the aggregation types set for a field. +- [`fieldName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/aggregateMenuOpenEventArgs/#fieldname): The name of the field for which the aggregation menu is opened. +- [`aggregateTypes`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#aggregatetypes): The list of aggregation types available for the selected field. +- [`displayMenuCount`](https://ej2.syncfusion.com/react/documentation/api/pivotview/aggregateMenuOpenEventArgs/#displaymenucount): The number of options shown in the dropdown initially. By default, this value is 7. +- [`cancel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/aggregateMenuOpenEventArgs/#cancel): A boolean that, when set to true, prevents the dropdown menu from opening. -* `displayMenuCount`: It allows to set the menu count to be displayed initially. By default, its count is 7. - -* `cancel`: It is a boolean property and by setting this to true, dropdown menu won’t be displayed. - -In the below sample, the aggregate types of the field "Amount" has been customized in it's dropdown menu. +In the following sample, the dropdown menu for the "Amount" field is customized to show specific aggregation types. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -494,122 +503,127 @@ In the below sample, the aggregate types of the field "Amount" has been customiz {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs142" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs142" %} - >The events [`aggregateMenuOpen`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#aggregatemenuopen), [`fieldRemove`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#fieldremove), [`fieldDrop`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#fielddrop), [`fieldDragStart`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#fielddragstart) and [`onFieldDropped`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#onfielddropped) are applicable for both grouping bar and field list. +> The [`aggregateMenuOpen`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#aggregatemenuopen), [`fieldRemove`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#fieldremove), [`fieldDrop`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#fielddrop), [`fieldDragStart`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#fielddragstart), and [`onFieldDropped`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#onfielddropped) events are available for both the grouping bar and field list. ### ActionBegin -The event [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) triggers when the UI action such as sorting, filtering, aggregation or edit calculated field, that are present in the grouping bar UI begin. This allows user to identify the current action being performed at runtime. It has the following parameters: +The [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) event occurs whenever an action begins in the grouping bar of the Pivot Table. These actions include sorting, filtering, changing aggregation, removing fields, or editing a calculated field using the grouping bar UI. This event helps the user identify and manage what is happening in real time. The event provides several helpful parameters: -* `dataSourceSettings`: It holds the current data source settings such as input data source, rows, columns, values, filters, format settings and so on. +- [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#datasourcesettings): This provides the current [report settings](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings), which include the input data, row fields, column fields, values, filters, formatting settings, and more. +- [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#actionname): This contains the name of the action that has started. The most common actions and their respective names are: -* `actionName`: It holds the name of the current action began. The following are the UI actions and their names: + | Action | Action Name | + |-----------------------------------------|---------------------| + | Clicking the sort icon | Sort field | + | Using the filter icon | Filter field | + | Selecting aggregation in the drop-down | Aggregate field | + | Clicking the remove icon | Remove field | + | Clicking the edit icon | Edit calculated field| - | Action | Action Name| - |------|-------------| - | Sort icon| Sort field| - | Filter icon| Filter field| - | Aggregation (Value type drop down and menu)| Aggregate field| - | Remove icon| Remove field| - | Edit icon| Edit calculated field| +- [`fieldInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#fieldinfo): This provides information about the selected field on which the action is performed. -* `fieldInfo`: It holds the selected field information. +> Note: This option applies only to actions performed through the field-based UI, such as filtering, sorting, removing a field from the grouping bar, editing, and changing the aggregation type. ->Note: This option is applicable only when the field based UI actions are performed such as filtering, sorting, removing field from grouping bar, editing and aggregation type change. +- [`cancel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#cancel): Set this property to **true** within the event to prevent the current action from being completed. -* `cancel`: It allows user to restrict the current action. +For example, in the sample below, users can restrict actions like sorting or filtering from the grouping bar by setting `args.cancel` to **true** within the [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) event. - In the below sample, grouping bar UI actions such as sorting and filtering can be restricted by setting the **args.cancel** option to **true** in the `actionBegin` event. - - {% tabs %} - {% highlight js tabtitle="App.jsx" %} - {% include code-snippet/pivot-table/default-cs143/app/App.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="App.tsx" %} - {% include code-snippet/pivot-table/default-cs143/app/App.tsx %} - {% endhighlight %} - {% highlight js tabtitle="datasource.jsx" %} - {% include code-snippet/pivot-table/default-cs143/app/datasource.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="datasource.tsx" %} - {% include code-snippet/pivot-table/default-cs143/app/datasource.tsx %} - {% endhighlight %} - {% endtabs %} +{% tabs %} +{% highlight js tabtitle="App.jsx" %} +{% include code-snippet/pivot-table/default-cs143/app/App.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="App.tsx" %} +{% include code-snippet/pivot-table/default-cs143/app/App.tsx %} +{% endhighlight %} +{% highlight js tabtitle="datasource.jsx" %} +{% include code-snippet/pivot-table/default-cs143/app/datasource.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="datasource.tsx" %} +{% include code-snippet/pivot-table/default-cs143/app/datasource.tsx %} +{% endhighlight %} +{% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs143" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs143" %} ### ActionComplete -The event [`actionComplete`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actioncomplete) triggers when the UI action such as as sorting, filtering, aggregation or edit calculated field, that are present in the grouping bar UI, is completed. This allows user to identify the current UI actions being completed at runtime. It has the following parameters: +The [`actionComplete`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actioncomplete) event in the Pivot Table is triggered whenever a user completes a UI action in the grouping bar, such as sorting, filtering, changing the aggregation type, editing a calculated field, or removing a field. This event helps users track the specific interaction that has just been finished, supporting a smooth workflow within the Pivot Table. -* `dataSourceSettings`: It holds the current data source settings such as input data source, rows, columns, values, filters, format settings and so on. +The event provides the following parameters: -* `actionName`: It holds the name of the current action completed. The following are the UI actions and their names: +- [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#datasourcesettings): Contains the current [report settings](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings), including information about the input data, rows, columns, values, filters, and format settings used in the Pivot Table. - | Action | Action Name| - |------|-------------| - | Sort icon| Field sorted| - | Filter icon| Field filtered| - | Aggregation (Value type drop down and menu)| Field aggregated| - | Remove icon| Field removed| - | Edit icon| Calculated field edited| +- [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#actionname): Specifies the name of the action just completed. The table below lists possible UI actions and their corresponding action names: -* `fieldInfo`: It holds the selected field information. + | Action | Action Name | + |-------------------------------------------------|--------------------------| + | Sort icon clicked | Field sorted | + | Filter icon clicked | Field filtered | + | Aggregation changed (using value type dropdown) | Field aggregated | + | Remove icon clicked | Field removed | + | Edit icon (calculated field) clicked | Calculated field edited | ->Note: This option is applicable only when the field based UI actions are performed such as filtering, sorting, removing field from grouping bar, editing and aggregation type change. +- [`fieldInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#fieldinfo): Provides information about the field selected during the action. -* `actionInfo`: It holds the unique information about the current UI action. For example, if sorting is completed, the event argument contains information such as sort order and the field name. + > Note: The [`fieldInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#fieldinfo) parameter is provided only for actions related to sorting, filtering, aggregation changes, removing a field, or editing a calculated field using the grouping bar. - {% tabs %} - {% highlight js tabtitle="App.jsx" %} - {% include code-snippet/pivot-table/default-cs144/app/App.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="App.tsx" %} - {% include code-snippet/pivot-table/default-cs144/app/App.tsx %} - {% endhighlight %} - {% highlight js tabtitle="datasource.jsx" %} - {% include code-snippet/pivot-table/default-cs144/app/datasource.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="datasource.tsx" %} - {% include code-snippet/pivot-table/default-cs144/app/datasource.tsx %} - {% endhighlight %} - {% endtabs %} +- [`actionInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#actioninfo): Supplies detailed information about the UI action. For example, when sorting is finished, this parameter includes the sort order and the name of the field involved. - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs144" %} +{% tabs %} +{% highlight js tabtitle="App.jsx" %} +{% include code-snippet/pivot-table/default-cs144/app/App.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="App.tsx" %} +{% include code-snippet/pivot-table/default-cs144/app/App.tsx %} +{% endhighlight %} +{% highlight js tabtitle="datasource.jsx" %} +{% include code-snippet/pivot-table/default-cs144/app/datasource.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="datasource.tsx" %} +{% include code-snippet/pivot-table/default-cs144/app/datasource.tsx %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs144" %} ### ActionFailure -The event [`actionFailure`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionfailure) triggers when the current UI action fails to achieve the desired result. It has the following parameters: - -* `actionName`: It holds the name of the current action failed. The following are the UI actions and their names: - - | Action | Action Name| - |------|-------------| - | Sort icon| Sort field| - | Filter icon| Filter field| - | Aggregation (Value type drop down and menu)| Aggregate field| - | Remove icon| Remove field| - | Edit icon| Edit calculated field| - -* `errorInfo`: It holds the error information of the current UI action. - - {% tabs %} - {% highlight js tabtitle="App.jsx" %} - {% include code-snippet/pivot-table/default-cs145/app/App.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="App.tsx" %} - {% include code-snippet/pivot-table/default-cs145/app/App.tsx %} - {% endhighlight %} - {% highlight js tabtitle="datasource.jsx" %} - {% include code-snippet/pivot-table/default-cs145/app/datasource.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="datasource.tsx" %} - {% include code-snippet/pivot-table/default-cs145/app/datasource.tsx %} - {% endhighlight %} - {% endtabs %} - - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs145" %} +The [`actionFailure`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionfailure) event occurs when a user action in the Pivot Table does not complete as expected. This event helps users understand what went wrong during interactions with the grouping bar. + +**Event Parameters** + +- [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionFailureEventArgs/#actionname): Identifies which user action did not succeed. The table below lists the actions and their corresponding names: + + | Action | Action Name | + |-------------------------------------------------------|---------------------| + | Clicking the sort icon | Sort field | + | Applying a filter using the filter icon | Filter field | + | Choosing a value type from the aggregation dropdown | Aggregate field | + | Removing a field by clicking the remove icon | Remove field | + | Editing a calculated field using the edit icon | Edit calculated field| + +- [`errorInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionFailureEventArgs/#errorinfo): Provides details about the error that occurred for the specific user action. + +When this event is triggered, users can refer to the information in these parameters to identify the action that failed and the reason for the failure. This helps users correct issues with actions such as sorting, filtering, aggregating, removing, or editing fields in the Pivot Table's grouping bar. + +{% tabs %} +{% highlight js tabtitle="App.jsx" %} +{% include code-snippet/pivot-table/default-cs145/app/App.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="App.tsx" %} +{% include code-snippet/pivot-table/default-cs145/app/App.tsx %} +{% endhighlight %} +{% highlight js tabtitle="datasource.jsx" %} +{% include code-snippet/pivot-table/default-cs145/app/datasource.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="datasource.tsx" %} +{% include code-snippet/pivot-table/default-cs145/app/datasource.tsx %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs145" %} ## See Also diff --git a/ej2-react/pivotview/grouping.md b/ej2-react/pivotview/grouping.md index 240da630c..d45912b86 100644 --- a/ej2-react/pivotview/grouping.md +++ b/ej2-react/pivotview/grouping.md @@ -1,23 +1,24 @@ --- layout: post -title: Grouping in React Pivotview component | Syncfusion -description: Learn here all about Grouping in Syncfusion React Pivotview component of Syncfusion Essential JS 2 and more. -control: Grouping +title: Grouping in React Pivot Table component | Syncfusion +description: Learn here all about Grouping in Syncfusion React Pivot Table component of Syncfusion Essential JS 2 and more. platform: ej2-react +control: Grouping documentation: ug domainurl: ##DomainURL## --- -# Grouping in React Pivotview component +# Grouping in React Pivot Table component -> This feature is applicable only for relational data source. +> This feature is applicable only for the relational data source. -Grouping is the most-useful feature in pivot table and the component automatically groups date, time, number and string. For example, the date type can be formatted and displayed based on year, quarter, month, and more. Likewise, the number type can be grouped range-wise, such as 1-5, 6-10, etc. These group fields will act as individual fields and allows users to drag them between different axes such as columns, rows, values, and filters and create pivot table at runtime. +Grouping is one of the most useful features in the Pivot Table component, automatically organizing date, time, number, and string data types into meaningful categories. For example, date fields can be formatted and displayed based on year, quarter, month, and other time periods. Similarly, number fields can be grouped into ranges, such as 1-5, 6-10, and so on. These grouped fields function as individual fields, allowing users to drag them between different axes including columns, rows, values, and filters to create dynamic Pivot Tables at runtime. -The grouping can be enabled by setting the [`allowGrouping`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowgrouping) property to **true** property in the pivot table. -To perform the grouping action via UI, right click on the pivot table's row or column header, select "**Group**", a dialog will appear in which fill the appropriate options to group the data. To ungroup,right click on the pivot table's row or column header, select "**Ungroup**". +The grouping feature can be enabled by setting the [`allowGrouping`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowgrouping) property to **true** in the Pivot Table component. -To use calculated field option, you need to inject the `Grouping` module in pivot table. The following are the three different types of grouping: +To perform grouping actions through the user interface, right-click on the Pivot Table's row or column header and select **Group**. A dialog will appear where you can configure the appropriate options to group the data. To ungroup data, right-click on the Pivot Table's row or column header and select **Ungroup**. + +To use the grouping feature, you need to inject the `Grouping` module in the Pivot Table component. The component supports three different types of grouping: * Number Grouping * Date Grouping @@ -27,7 +28,7 @@ To have a quick glance on how to group row and column field items in the React P {% youtube "https://www.youtube.com/watch?v=5UOKVbdZTCA" %} -> Similar to Excel, only one type of grouping can be applied for a field. +> Similar to Excel, only one type of grouping can be applied to a field at a time. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -44,11 +45,11 @@ To have a quick glance on how to group row and column field items in the React P {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs146" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs146" %} ## Number Grouping -Number grouping allows users to organize data, which is in number format into different ranges, such as 1-5, 6-10, etc. Number grouping can be configured via UI, by right-clicking on the number based header in the pivot table. +Number grouping allows users to organize numerical data into different ranges, such as 1–5, 6–10, and so on. This can be configured via the UI by right-clicking a number-based header in the Pivot Table and selecting the **Group** option from the context menu. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -65,24 +66,28 @@ Number grouping allows users to organize data, which is in number format into di {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs147" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs147" %} + +![Context-menu options for number grouping](images/number-group-option.png) ### Range selection The "**Starting at**" and "**Ending at**" options are used to set the number range depending on which the headers will be grouped. For example, if the "Product_ID" field holds the number from "1001" to "1010" and the user chooses to group the number range by setting "**1004**" to "**Starting at**" and "**1008**" to "**Ending at**" options on their own. Then the specified number range will be used for number grouping and the rest will be grouped as "**Out of Range**". -![output](images/number-group-settings-range-applied.png "Range options applied for number grouping") +![Range options applied for number grouping](images/number-group-settings-range-applied.png) ### Range interval -The "**Interval by**" option is used to separate the selected number data type field into range-wise such as 1-5, 6-10, etc. -For example, if the user wants to display the "Product_ID" data field with a group interval of "**2**" by setting the "**Interval by**" option on their own. The "Product_ID" field will then be grouped by the specified range of intervals, such as "**1004-1005**", "**1006-1007**",etc. +The "**Interval by**" option is used to separate the selected number data type field into range-wise such as 1-5, 6-10, etc. For example, if the user wants to display the "Product_ID" data field with a group interval of "**2**" by setting the "**Interval by**" option on their own. The "Product_ID" field will then be grouped by the specified range of intervals, such as "**1004-1005**", "**1006-1007**", etc. -![output](images/number-group-settings-applied.png "Grouping settings options applied for number grouping") +![Grouping settings options applied for number grouping](images/number-group-settings-applied.png)
    -![output](images/number-group-updated.png "Applied grouping settings updated in pivot table for number grouping") -Number grouping can also be configured using the [`groupSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupSettings/#groupsettings) property through code-behind. The properties required are: +![Applied grouping settings updated in Pivot Table for number grouping](images/number-group-updated.png) + +### Configuring Number Grouping Programmatically + +You can configure number grouping through code-behind using the [`groupSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupSettings/#groupsettings) property. This allows you to define how numbers are grouped without relying on the UI. Below are the key settings you need: * [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupSettings/#name): Allows user to set the field name. * [`rangeInterval`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupSettings/#rangeinterval): Allows user to set the interval between two numbers. @@ -107,17 +112,19 @@ Number grouping can also be configured using the [`groupSettings`](https://ej2.s {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs148" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs148" %} + +![Applied grouping settings updated in Pivot Table for number grouping](images/number-group-updated.png) ### Ungrouping the existing number groups -By right-clicking the appropriate header and selecting "**Ungroup**" from the context menu in the pivot table component, users can ungroup the applied number grouping. +To remove an applied number grouping, simply right-click on the grouped header in the Pivot Table and select **Ungroup** option from the context menu. This action will break apart the grouped ranges and display the original, ungrouped values in the table. ![output](images/number-ungroup.png) ## Date Grouping -Date grouping allows users to organize data, which is in date format into different sections such as years, quarters, months, days, hours, minutes, and seconds. Date grouping can be configured via UI, by right-clicking on the date and time based header in the pivot table. +Date grouping organizes date and time data into hierarchical segments, such as years, quarters, months, days, hours, minutes, or seconds. Users can configure date grouping through the UI by right-clicking a date or time-based header in the Pivot Table and selecting **Group** option from the context menu. A dialog will appear, allowing users to choose the desired grouping intervals. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -134,27 +141,33 @@ Date grouping allows users to organize data, which is in date format into differ {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs149" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs149" %} -### Range selection +![Context-menu options for date grouping](images/date-group-option.png) -The "**Starting at**" and "**Ending at**" options are used to set the date range depending on which the headers will be grouped. For example, if the "Date" field holds the date from "01/01/2015" to "02/12/2018" and the user chooses to group the date range by setting "**01/07/2015**" to "**Starting at**" and "**31/07/2017**" to "**Ending at**" options on their own. Then the specified date range will be used for date grouping and the rest will be considered as "**Out of Range**". +### Range Selection -![output](images/date-group-settings-range-applied.png "Range options applied for date grouping") +The **Starting at** and **Ending at** options allow users to define the date range for grouping headers. For example, if the "Date" field contains data from "01/01/2015" to "02/12/2018" and the user sets **Starting at** to "**01/07/2015**" and **Ending at** to "**31/07/2017**", only records within this range will be grouped according to the selected settings. Dates outside this range are labeled as **Out of Range**. -### Group interval +![Range options applied for date grouping](images/date-group-settings-range-applied.png) -The "**Interval by**" option is used to separate the selected date fields into years, quarters, months, days, hours, minutes and seconds. For example, if the user wants to display the "Date" field with group intervals as "**Years**" and "**Months**" by selecting the "**Interval by**" option on their own. The "Date" field will then be separated by the specified group intervals and created as two new fields, namely "**Years (Date)**" which holds the date years and "**Months (Date)**" which holds the date months. Such fields can be used for report manipulations in the pivot table at runtime. +### Group Interval -> When none of the **Interval by** options are chosen, the **OK** button in the dialog will be disabled, meaning that at least one interval option should be selected in order to apply the date grouping. +The **Interval by** option allows users to split date fields into years, quarters, months, days, hours, minutes, or seconds. For example, selecting **Years** and **Months** as intervals for the "Date" field results in two new fields: **Years (Date)**, containing the year values, and **Months (Date)**, containing the month values. These grouped fields can be used for report manipulations in the Pivot Table at runtime. -![output](images/date-group-settings-interval-applied.png "Group interval option applied for date grouping") +> If no options are selected in the **Interval by** section, the **OK** button in the dialog remains disabled. At least one interval must be chosen to enable date grouping. + +![Group interval option applied for date grouping](images/date-group-settings-interval-applied.png)
    -![output](images/date-group-settings-applied.png "Grouping settings options applied for date grouping") + +![Grouping settings options applied for date grouping](images/date-group-settings-applied.png)
    -![output](images/date-group-updated.png "Applied grouping settings updated in pivot table for date grouping") -Date grouping can also be configured using the [`groupSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupSettings/#groupsettings) property through code-behind. The properties required are: +![Applied grouping settings updated in Pivot Table for date grouping](images/date-group-updated.png) + +### Configuring Date Grouping Programmatically + +You can configure date grouping programmatically using the [`groupSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupSettings/#groupsettings) property. This allows you to define how dates are grouped without using the UI. The key settings are: * [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupSettings/#name): Allows user to set the field name. * [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupSettings/#type): Allows user to set the group type. For date grouping, **Date** is set. @@ -162,7 +175,7 @@ Date grouping can also be configured using the [`groupSettings`](https://ej2.syn * [`endingAt`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupSettings/#endingat): Allows user to set ending date. * [`groupInterval`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupSettings/#groupinterval): Allows user to set interval in year, quarter, month, day, hour, minute, or second pattern. -> From the date format "YYYY-DD-MM HH:MM:SS", if user wants to display only year and month, then the [`groupInterval`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupSettings/#groupinterval) property should be set with **Years** and **Months** alone. Also, user can shuffle the order of year, quarter, month, day, hour, minute, or second based on their requirement and display the same in the pivot table. +> For example, if your date format is "YYYY-DD-MM HH:MM:SS" and you want to group only by year and month, set the `groupInterval` property with just **Years** and **Months**. You can also rearrange the order of the intervals (Year, Quarter, Month, Day, etc.) as needed—this order will reflect in the Pivot Table display. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -179,21 +192,21 @@ Date grouping can also be configured using the [`groupSettings`](https://ej2.syn {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs150" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs150" %} Furthermore, in the field list UI, these date group fields **Years (Date)**, **Quarters (Date)**, **Months (Date)**, etc... will be automatically grouped and displayed under the **Date** folder name. -![Date fields grouped and displayed under the Date folder](images/treeview.png "Group fields under a separate folder displayed in the field list UI") +![Date fields are grouped and displayed under a folder named Date](images/treeview.png) ### Ungrouping the existing date groups -By right-clicking the appropriate header and selecting "**Ungroup**" from the context menu in the pivot table component, users can ungroup the applied date grouping. +To remove a previously applied date grouping, simply right-click the relevant date-based header within the Pivot Table and select the **Ungroup** option from the context menu. This action will revert the grouped dates back to their original, ungrouped state, allowing you to view and analyze the raw date values in the Pivot Table component. ![output](images/date-ungroup.png) ## Custom Grouping -Custom grouping can group any data type, such as date, time, number and string, into a custom field based on the user's needs. It can be configured via the UI by right-clicking on any header in the pivot table. +Custom grouping is an option that enables users to group data types (date, time, number, or string) into custom fields based on specific requirements. This functionality can be accessed through the user interface by right-clicking a header in the Pivot Table. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -210,43 +223,57 @@ Custom grouping can group any data type, such as date, time, number and string, {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs151" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs151" %} -In order to create custom grouping in the pivot table, a minimum of two headers belonging to a specific field should be chosen. To select more than one header, press and hold the CTRL key or hold the SHIFT key and click the appropriate row or column headers. Once selection is done, right-click and select "**Group**". +### Creating a Custom Group -![output](images/custom-group-option.png "Context-menu options for custom grouping") +To create a custom group in the Pivot Table, select at least two headers from the same field. Hold the **CTRL** key to select multiple headers individually or the **SHIFT** key to select a range of headers. Then, right-click and choose **Group** from the context menu. -In the dialog, the "**Field caption**" is the alias name of the new custom field that will be used to shown up in the pivot table component. +![Context-menu options for custom grouping](images/custom-group-option.png) -![output](images/custom-group-settings-caption-applied.png "Caption applied for custom grouping") +In the dialog box: +- **Field Caption**: Set an alias name for the new custom field, which will appear in the Pivot Table. +- **Group Name**: Define the top-level name for the group that will contain the selected headers. -The "**Group Name**" option helps to set the name of the header to hold the other selected headers. For example, if the user wants to group headers such as "**Gloves**", "**Jerseys**" and "**Shorts**" in the "Products" field by setting the top level name as "**Clothings**" to "**Group Name**" on their own. The selected headers are then grouped under the name "**Clothings**" in the pivot table. +For example, to group the headers "Gloves," "Jerseys," and "Shorts" in the "Products" field under a single group, set the **Group Name** to "Clothings." The selected headers will then appear under "Clothings" in the Pivot Table. -![output](images/custom-group-settings-applied.png "Grouping settings applied for custom grouping") +![Caption applied for custom grouping](images/custom-group-settings-caption-applied.png)
    -![output](images/custom-group-updated.png "Applied grouping settings updated in pivot table for custom grouping") -User can also apply new custom grouping options to an existing custom field by right-clicking on the custom group header in the pivot table. For example, if the user wants to create a new custom group for the current custom group headers such as "**Bottles and Cages**", "**Cleaners**" and "**Fenders**" by setting the top level name as "**Accessories**" to "**Group Name**" on their own. The selected headers will then be grouped in the pivot table under the name "**Accessories**" with a new custom field called "**Product category 1**". +![Grouping settings applied for custom grouping](images/custom-group-settings-applied.png) +
    -![output](images/nested-custom-group-option.png "Context-menu options for nested custom grouping") +![Applied grouping settings updated in Pivot Table for custom grouping](images/custom-group-updated.png) + +### Nested Custom Grouping + +User can also apply new custom grouping options to an existing custom field by right-clicking on the custom group header in the Pivot Table. For example, if the user wants to create a new custom group for the current custom group headers such as "**Bottles and Cages**", "**Cleaners**" and "**Fenders**" by setting the top level name as "**Accessories**" to "**Group Name**" on their own. The selected headers will then be grouped in the Pivot Table under the name "**Accessories**" with a new custom field called "**Product category 1**". + +![Context-menu options for nested custom grouping](images/nested-custom-group-option.png)
    -![output](images/nested-custom-group-settings-applied.png "Grouping settings applied for nested custom grouping") + +![Grouping settings applied for nested custom grouping](images/nested-custom-group-settings-applied.png)
    -![output](images/nested-custom-group-updated.png "Applied grouping settings updated in pivot table for custom grouping") -Custom grouping can also be configured using the [`groupSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupSettings/#groupsettings) property through code-behind. The properties required are: +![Applied grouping settings updated in Pivot Table for custom grouping](images/nested-custom-group-updated.png) + +### Configuring Custom Grouping Programmatically + +You can configure custom grouping programmatically using the [`groupSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupSettings/#groupsettings) property in the Pivot Table component. This property allows you to define how fields are grouped in the Pivot Table without using the UI. The available properties are: * [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupSettings/#name): Allows user to set the field name. * [`caption`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupSettings/#caption): Allows user to set the caption name for custom grouping field. * [`customGroups`](https://ej2.syncfusion.com/react/documentation/api/pivotview/customGroups/): Allows user to set the custom groups. * [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupSettings/#type): Allows user to set the group type. For custom grouping, **Custom** is set. -The available custom group properties in [`customGroups`](https://ej2.syncfusion.com/react/documentation/api/pivotview/customGroups/) property are: +The [`customGroups`](https://ej2.syncfusion.com/react/documentation/api/pivotview/customGroups/) property includes: * [`groupName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/customGroups/#groupname): Allows user to set the group name (or title) for selected headers. * [`items`](https://ej2.syncfusion.com/react/documentation/api/pivotview/customGroups/#items): It allows to set the headers which needs to be grouped from display. -> When the [`groupName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/customGroups/#groupname) with the headers listed in [`items`](https://ej2.syncfusion.com/react/documentation/api/pivotview/customGroups/#items) in the [`customGroups`](https://ej2.syncfusion.com/react/documentation/api/pivotview/customGroups/) property is grouped by the defined [`groupName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/customGroups/#groupname) and the rest is grouped by its own name in the pivot table. +> Headers listed in [`items`](https://ej2.syncfusion.com/react/documentation/api/pivotview/customGroups/#items) are grouped under the specified [`groupName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/customGroups/#groupname) in the Pivot Table. Headers not included in [`items`](https://ej2.syncfusion.com/react/documentation/api/pivotview/customGroups/#items) are displayed under their original names. + +Here’s an example of configuring custom grouping programmatically: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -263,12 +290,18 @@ The available custom group properties in [`customGroups`](https://ej2.syncfusion {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs152" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs152" %} + +![Applied grouping settings updated in Pivot Table for custom grouping](images/custom-group-updated.png) + +### Ungrouping Existing Custom Groups + +To remove a custom group in the Pivot Table, simply right-click on the grouped header and select the "**Ungroup**" option from the context menu. This action will separate the grouped items back into their individual headers within the Pivot Table. -### Ungrouping the existing custom groups +> After ungrouping, if you remove the related field from the report, any custom group fields associated with it will also be removed from the Pivot Table. -By right-clicking the appropriate header and selecting "**Ungroup**" from the context menu in the pivot table component, users can ungroup the applied custom grouping. +![output](images/custom-ungroup.png) -> When a specific field is removed from the report after ungrouping, its custom group fields will also be removed from the pivot table. +## Limitations -![output](images/custom-ungroup.png) \ No newline at end of file +The grouping feature is applied based on the selected row or column headers using the following [`selectionSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#selectionsettings): selection [`mode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSelectionSettings/#mode) set to **Cell**, selection [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSelectionSettings/#type) set to **Multiple**, and [`cellSelectionMode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSelectionSettings/#cellselectionmode) set to **Box** by default. When using the [`selection`](https://ej2.syncfusion.com/react/documentation/pivotview/row-and-column#selection) and grouping features together, cell selection is limited to row or column headers with these settings. Other settings, such as selection [`mode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSelectionSettings/#mode) set to **Row** or **Column**, selection [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSelectionSettings/#type) set to **Single**, or [`cellSelectionMode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSelectionSettings/#cellselectionmode) set to **Flow**, are incompatible with grouping in the pivot table. \ No newline at end of file diff --git a/ej2-react/pivotview/how-to/configure-data-grid-options-on-editing-mode.md b/ej2-react/pivotview/how-to/configure-data-grid-options-on-editing-mode.md index 6b6590270..9317a55cb 100644 --- a/ej2-react/pivotview/how-to/configure-data-grid-options-on-editing-mode.md +++ b/ej2-react/pivotview/how-to/configure-data-grid-options-on-editing-mode.md @@ -8,11 +8,15 @@ documentation: ug domainurl: ##DomainURL## --- -# Configure data grid options on editing mode in React +# Configure data grid options in editing mode in the React Pivot Table -You can access the data grid options such as sort, group, filter, etc on editing mode using `beginDrillThrough` event in the pivot table. The event fires on every value cell click and provides the data grid information before it displays. +The React Pivot Table component provides the ability to configure various data grid options when working with drill-through functionality in editing mode. When users double-click on value cells (cells containing aggregated data), the component displays the underlying raw data in a drill-through grid popup. The [`beginDrillThrough`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#begindrillthrough) event allows users to access and configure grid features such as sorting, grouping, and filtering before displaying the drill-through grid popup. -> To access the data grid options, you need to inject module for the provided options in data grid itself. +## Implementation + +The [`beginDrillThrough`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#begindrillthrough) event occurs when users double-click on any value cell in the pivot table. This event provides access to the grid instance and its configuration options before displaying the drill-through popup, enabling users to customize the grid behavior according to their requirements. + +> Grid features are segregated into individual feature-wise modules. For example, to use the sorting feature, the `Sort` module must be injected using the `Grid.Inject(Sort)` method. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -29,4 +33,4 @@ You can access the data grid options such as sort, group, filter, etc on editing {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs158" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs158" %} diff --git a/ej2-react/pivotview/how-to/configuring-the-pivotview-component-minimum-width.md b/ej2-react/pivotview/how-to/configuring-the-pivotview-component-minimum-width.md index 7ca856903..bb063bfa3 100644 --- a/ej2-react/pivotview/how-to/configuring-the-pivotview-component-minimum-width.md +++ b/ej2-react/pivotview/how-to/configuring-the-pivotview-component-minimum-width.md @@ -10,11 +10,20 @@ domainurl: ##DomainURL## # Configuring the minimum width in the React Pivot Table component -The pivot table component allows you to configure its minimum width using the `minWidth` property. This property is useful for ensuring the component maintains a consistent layout and responsiveness across different screen sizes. +The React Pivot Table component provides the `minWidth` property to define the minimum width threshold for the component. This configuration ensures the pivot table maintains optimal usability and prevents layout issues when the container size decreases below the specified minimum width value. -> When the pivot table has the [Grouping Bar](../grouping-bar) enabled, the `minWidth` property is set to **400** pixels by default to accommodate the grouping bar UI elements. Without the [Grouping Bar](../grouping-bar), the `minWidth` property defaults to **310** pixels. +## Default minimum width behavior -To customize the minimum width, set the `minWidth` property to your desired value (in pixels) as shown below: +The pivot table automatically sets appropriate default minimum width values based on its current configuration: + +| Configuration | Default Minimum Width | Purpose | +|---------------|----------------------|---------| +| With [Grouping Bar](../grouping-bar) enabled | 400 pixels | Accommodates grouping bar UI elements and drag-drop functionality | +| Without [Grouping Bar](../grouping-bar) | 310 pixels | Provides sufficient space for basic pivot table operations | + +## Setting custom minimum width + +To customize the minimum width according to specific layout requirements, configure the `minWidth` property with the desired pixel value: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -31,4 +40,4 @@ To customize the minimum width, set the `minWidth` property to your desired valu {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs329" %} \ No newline at end of file +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs329" %} \ No newline at end of file diff --git a/ej2-react/pivotview/how-to/customize-number-date-and-time-values.md b/ej2-react/pivotview/how-to/customize-number-date-and-time-values.md index f9848b0f7..9244214b4 100644 --- a/ej2-react/pivotview/how-to/customize-number-date-and-time-values.md +++ b/ej2-react/pivotview/how-to/customize-number-date-and-time-values.md @@ -8,18 +8,18 @@ documentation: ug domainurl: ##DomainURL## --- -# Customize number date and time values in React Pivotview component +# Customize number, date, and time values in React Pivot Table component -You can format the number, date, and time values for each field using `formatSettings` option under `dataSourceSettings`. It can be configured through code behind, during initial rendering. +You can format the number, date, and time values for each field using the [`formatSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#formatsettings) option under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). This configuration is applied during component initialization to ensure consistent data presentation across the pivot table. ## Number formatting -For numbers, the formatting settings required to apply through code behind are: +For numeric fields, the formatting settings include the following properties: -* `name`: It allows to set the field name. -* `format`: It allows to set the format of the respective field. +* [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettingsModel/#name): Specifies the field name to which the formatting should be applied. +* [`format`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettingsModel/#format): Defines the number format pattern for the respective field (e.g., 'N2' for two decimal places, 'C' for currency). -> Also, you can customize the applied number format by setting the [`NumberFormatOptions`](https://ej2.syncfusion.com/documentation/common/intl.html?lang=typescript#manipulating-numbers) options in `formatSettings` itself. +> Also, you can customize the applied number format by setting the [`NumberFormatOptions`](https://ej2.syncfusion.com/react/documentation/common/globalization/internationalization#manipulating-numbers) options in [`formatSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#formatsettings) itself. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -36,17 +36,17 @@ For numbers, the formatting settings required to apply through code behind are: {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs161" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs161" %} ## Date and Time formatting -For date and time, the formatting settings required to apply through code behind are: +For date and time fields, the formatting settings include these properties: -* `name`: It allows to set the field name. -* `format`: It allows to set the format of the respective field. -* `type`: It allows to set the type of format to be used for the respective field. +* [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettingsModel/#name): Specifies the field name to which the formatting should be applied. +* [`format`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettingsModel/#format): Defines the date/time format pattern for the respective field (e.g., 'dd/MM/yyyy', 'MMM yyyy'). +* [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettingsModel/#type): Specifies the format type to be used for the respective field (Date, Time, or DateTime). -> Also, you can customize the applied date format by setting [`DateFormatOptions`](https://ej2.syncfusion.com/documentation/common/intl.html?lang=typescript#manipulating-datetime) options in `formatSettings` itself. +> Also, you can customize the applied date format by setting [`DateFormatOptions`](https://ej2.syncfusion.com/react/documentation/common/globalization/internationalization#manipulating-datetime) options in [`formatSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#formatsettings) itself. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -63,8 +63,8 @@ For date and time, the formatting settings required to apply through code behind {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs162" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs162" %} ## Limitations of date formatting -As per Firefox and Edge browsers standards, most of the date and time formats used in data source aren’t supported. For example: Apr-2000, Apr-01-2000, 01-03-2000, 2000-Apr-01 etc... are not supported. Meanwhile [`ISO formats`](http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15) will be supported across all browsers. \ No newline at end of file +According to Firefox and Edge browser standards, most date and time formats used in data sources are not supported. For example: Apr-2000, Apr-01-2000, 01-03-2000, 2000-Apr-01 and similar formats are not recognized. However, [`ISO formats`](http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15) are supported across all browsers for consistent date handling. \ No newline at end of file diff --git a/ej2-react/pivotview/how-to/customize-the-icons-for-pivot-table.md b/ej2-react/pivotview/how-to/customize-the-icons-for-pivot-table.md index 094d9d308..68ff2c42e 100644 --- a/ej2-react/pivotview/how-to/customize-the-icons-for-pivot-table.md +++ b/ej2-react/pivotview/how-to/customize-the-icons-for-pivot-table.md @@ -8,29 +8,32 @@ documentation: ug domainurl: ##DomainURL## --- -# Customize the icons for pivot table in React Pivotview component +# Customize the icons within the React Pivot Table component -You can customize the pivot button icons in the pivot table by overriding the class **.pivot-button** with a custom property content as mentioned below. +The React Pivot Table component supports the customization of various icons across its interface. This includes icons for the field list, expand/collapse actions, and other interactive elements. You can customize these icons by overriding the default CSS classes with custom Unicode values. +## Customizing Field List Icon +To customize the field list icon, override the corresponding CSS class with a custom `content` property. The example below demonstrates how to change the default field list icon: -```ts - +```css #PivotView_PivotFieldList .e-icons.e-toggle-field-list::before { content: '\e337'; } - ``` -```ts -#PivotView_PivotFieldList.e - icons.e - toggle - field - list; -before; -{ - content: '\e337'; -} -``` +The Unicode value `'\e337'` represents a specific icon from the [Syncfusion icons](https://ej2.syncfusion.com/react/documentation/appearance/icons) library. Different Unicode values will display different icons. + +## Implementation Steps + +1. Add the CSS rule to your component's stylesheet or global styles. +2. Ensure the selector targets the correct pivot table instance using the appropriate ID. +3. Use valid Unicode values for the desired icons. +4. Test the customization to verify the icon displays correctly. + +## Code Example -In the below sample, pivot table is rendered with a customized pivot button icons. +The following sample demonstrates a pivot table rendered with customized field list icon: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -47,4 +50,4 @@ In the below sample, pivot table is rendered with a customized pivot button icon {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/icon-customization-cs1" %} \ No newline at end of file +{% previewsample "page.domainurl/code-snippet/pivot-table/icon-customization-cs1" %} \ No newline at end of file diff --git a/ej2-react/pivotview/how-to/customizing-loading-indicator.md b/ej2-react/pivotview/how-to/customizing-loading-indicator.md index 4e991d82a..13ebb12f9 100644 --- a/ej2-react/pivotview/how-to/customizing-loading-indicator.md +++ b/ej2-react/pivotview/how-to/customizing-loading-indicator.md @@ -8,11 +8,11 @@ documentation: ug domainurl: ##DomainURL## --- -# Customizing loading indicator in React Pivotview component +# Customizing the loading indicator in the React Pivot Table component -You can customize the appearance of the loading indicator in the pivot table by using the [`spinnerTemplate`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#spinnertemplate) property. This property accepts an HTML string which can be used for appearance customization. +The Pivot Table displays a loading indicator during data processing operations such as filtering, sorting, and aggregation calculations. The default loading spinner can be customized to match application design requirements using the [`spinnerTemplate`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#spinnertemplate) property. -> You can also disable the loading indicator by setting [`spinnerTemplate`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#spinnertemplate) to empty string. +The [`spinnerTemplate`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#spinnertemplate) property accepts an HTML string that defines the custom loading indicator appearance. This enables control over the visual presentation, including custom styling and animations. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -23,4 +23,15 @@ You can customize the appearance of the loading indicator in the pivot table by {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs163" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs163" %} + +## Disabling the loading indicator + +The loading indicator can be completely disabled by setting the [`spinnerTemplate`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#spinnertemplate) property to an empty string. + +```js +function App() { + return (); +}; +export default App; +``` diff --git a/ej2-react/pivotview/how-to/display-value-in-hrs-min-sec-format.md b/ej2-react/pivotview/how-to/display-value-in-hrs-min-sec-format.md index 23be7d311..8ba7ddb07 100644 --- a/ej2-react/pivotview/how-to/display-value-in-hrs-min-sec-format.md +++ b/ej2-react/pivotview/how-to/display-value-in-hrs-min-sec-format.md @@ -10,11 +10,13 @@ domainurl: ##DomainURL## -# Display string value to pivot table values in React +# Display string values in React Pivot Table cells -End user can display string value to the pivot table's value cell by using the [`aggregateCellInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#aggregatecellinfo) event. +The Pivot Table allows users to display custom string values in value cells by using the [`aggregateCellInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#aggregatecellinfo) event. This is useful when you need to format numeric values into readable strings, such as converting seconds to time format or applying custom formatting rules. -In the following example, each cell value of the **Sold** field's actual value has been assigned from its combination data sets obtained from the [`args.cellSets`](https://helpej2.syncfusion.com/react/documentation/api/pivotview/aggregateEventArgs/#cellsets) in the [`aggregateCellInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#aggregatecellinfo) event. +## Converting numeric values to time format + +The following example demonstrates how to convert numeric values in the **Sold** field to time format (HH:MM:SS) using the [`aggregateCellInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#aggregatecellinfo) event. The event provides access to cell data through [`args.cellSets`](https://helpej2.syncfusion.com/react/documentation/api/pivotview/aggregateEventArgs/#cellsets), allowing you to customize the display value based on the underlying data. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -31,4 +33,4 @@ In the following example, each cell value of the **Sold** field's actual value {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs316" %} \ No newline at end of file +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs316" %} \ No newline at end of file diff --git a/ej2-react/pivotview/how-to/drill-through-grid-cell-edit-type.md b/ej2-react/pivotview/how-to/drill-through-grid-cell-edit-type.md index ebc3729b5..ae027a628 100644 --- a/ej2-react/pivotview/how-to/drill-through-grid-cell-edit-type.md +++ b/ej2-react/pivotview/how-to/drill-through-grid-cell-edit-type.md @@ -8,20 +8,28 @@ documentation: ug domainurl: ##DomainURL## --- -# Drill through grid cell edit type in React Pivotview component +# Drill-through grid cell edit type in the React Pivot Table component -Using the [`drillThrough`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#drillthrough) event in the pivot table, you can define the edit type of a particular column in the grid present inside the drill-through dialog. To do so, check the column name in the [`drillThrough`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#drillthrough) event and then specify the edit type of that column using the [`gridColumns.editType`](https://ej2.syncfusion.com/react/documentation/api/grid/column/#edittype) event argument. +The drill-through feature in the Pivot Table allows users to view the raw data behind aggregated values by opening a detailed grid dialog. When this dialog appears, you can customize the edit behavior of specific columns to provide appropriate input controls based on their data types. -> The [`gridColumns.editType`](https://ej2.syncfusion.com/react/documentation/api/grid/column/#edittype) property must be set based on the column's data type. For example, the string data type will not be applicable for the numeric text box edit type. +Using the [`drillThrough`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#drillthrough) event in the Pivot Table, you can define the edit type for any column in the drill-through grid. This is accomplished by checking the column name within the event handler and setting the appropriate edit type using the [`gridColumns.editType`](https://ej2.syncfusion.com/react/documentation/api/grid/column/#edittype) event argument. -* [`NumericTextBox`](https://ej2.syncfusion.com/react/documentation/numerictextbox/) control for integer, double, and decimal data types. -* [`TextBox`](https://ej2.syncfusion.com/react/documentation/textbox/) control for string data type. -* [`DropDownList`](https://ej2.syncfusion.com/react/documentation/drop-down-list/) control to show all unique values related to that field. -* [`CheckBox`](https://ej2.syncfusion.com/react/documentation/check-box/) control for boolean data type. -* [`DatePicker`](https://ej2.syncfusion.com/react/documentation/datepicker/) control for date data type. -* [`DateTimePicker`](https://ej2.syncfusion.com/react/documentation/datetimepicker/) control for date time data type. +## Edit type options -In the below example, the data type of the `Country` column is set to `DropDownList`. +The following edit types are available for different data types: + +* [`NumericTextBox`](https://ej2.syncfusion.com/react/documentation/numerictextbox/getting-started) - For integer, double, and decimal data types. +* [`TextBox`](https://ej2.syncfusion.com/react/documentation/textbox/getting-started) - For string data type. +* [`DropDownList`](https://ej2.syncfusion.com/react/documentation/drop-down-list/getting-started) - To display all unique values for that field. +* [`CheckBox`](https://ej2.syncfusion.com/react/documentation/check-box/getting-started) - For boolean data type. +* [`DatePicker`](https://ej2.syncfusion.com/react/documentation/datepicker/getting-started) - For date data type. +* [`DateTimePicker`](https://ej2.syncfusion.com/react/documentation/datetimepicker/getting-started) - For date time data type. + +> The [`gridColumns.editType`](https://ej2.syncfusion.com/react/documentation/api/grid/column/#edittype) property must be set based on the column's data type. For example, string data will not work properly with numeric text box edit type. + +## Implementation example + +The following example demonstrates how to set the **Country** column to use a `DropDownList` edit type in the drill-through grid: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -38,4 +46,4 @@ In the below example, the data type of the `Country` column is set to `DropDownL {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs164" %} \ No newline at end of file +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs164" %} \ No newline at end of file diff --git a/ej2-react/pivotview/how-to/export-table-and-chart-into-the-same-document-using-toolbar.md b/ej2-react/pivotview/how-to/export-table-and-chart-into-the-same-document-using-toolbar.md index 98270ae3b..fc9196d38 100644 --- a/ej2-react/pivotview/how-to/export-table-and-chart-into-the-same-document-using-toolbar.md +++ b/ej2-react/pivotview/how-to/export-table-and-chart-into-the-same-document-using-toolbar.md @@ -12,9 +12,21 @@ domainurl: ##DomainURL## # Export table and chart into the same document using toolbar in React -Even if the [displayOption.view](https://ej2.syncfusion.com/react/documentation/api/pivotview/displayOptionModel/#view) property is set to **Both** in the pivot table, you can only export either the table or the chart to the PDF document based on the current value set in the [displayOption.primary](https://ej2.syncfusion.com/react/documentation/api/pivotview/primary/) property. But, to export both the table and the chart to the same PDF document, use the [`pdfExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pdfexport) method during the [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) event invoke. +By default, when the [displayOption.view](https://ej2.syncfusion.com/react/documentation/api/pivotview/displayOptionModel/#view) property is set to **Both** in the Pivot Table, the export functionality exports either the table or the chart to the PDF document based on the current value of the [displayOption.primary](https://ej2.syncfusion.com/react/documentation/api/pivotview/displayOptionModel/#primary) property. However, to export both the table and the chart into the same PDF document simultaneously, use the [`pdfExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pdfexport) method during the [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) event. -In the following example, the built-in export action can be restricted by setting the [`args.cancel`](https://helpej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#cancel) option to **true** in the [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) event, and both the table and the chart can be exported by calling the [`pdfExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pdfexport) method and setting the `exportBothTableAndChart` argument to **true**. +This approach is particularly useful when users need comprehensive reports that include both tabular data and visual representations in a single document. + +## Implementation steps + +Follow these steps to enable combined table and chart export: + +1. **Configure the Pivot Table** with both table and chart display options. +2. **Handle the actionBegin event** to intercept the default export action. +3. **Call the pdfExport method** with the `exportBothTableAndChart` parameter set to **true**. + +## Code example + +The following example demonstrates how to restrict the built-in export action by setting the [`args.cancel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#cancel) option to **true** in the [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) event, and then export both the table and the chart by calling the [`pdfExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pdfexport) method with the `exportBothTableAndChart` argument set to **true**. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -31,4 +43,4 @@ In the following example, the built-in export action can be restricted by settin {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs315" %} \ No newline at end of file +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs315" %} \ No newline at end of file diff --git a/ej2-react/pivotview/how-to/hide-empty-headers.md b/ej2-react/pivotview/how-to/hide-empty-headers.md index 415b0c1ed..7219a6634 100644 --- a/ej2-react/pivotview/how-to/hide-empty-headers.md +++ b/ej2-react/pivotview/how-to/hide-empty-headers.md @@ -8,13 +8,13 @@ documentation: ug domainurl: ##DomainURL## --- -# Hide empty headers in React Pivotview component +# Hide empty headers in the React Pivot Table component -If the raw data for a particular field is not defined, it will be shown as 'Undefined' in the pivot table headers. You can hide those headers by setting the [`showHeaderWhenEmpty`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showheaderwhenempty) property to **false** in the pivot table. +When the raw data for a particular field is not defined, it will be shown as 'Undefined' in the pivot table headers. You can hide those headers by setting the [`showHeaderWhenEmpty`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showheaderwhenempty) property to **false** in the pivot table. -For example, if the raw data for the field 'Country' is defined as **"United Kingdom"** and **"State"** is not defined means, it will be shown as **"United Kingdom >> Undefined"** in the header section. Here, you can hide those 'Undefined' header using the [`showHeaderWhenEmpty`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showheaderwhenempty) property. +For example, when the raw data contains **"United Kingdom"** for the 'Country' field but the **"State"** field is undefined, the header displays as **"United Kingdom >> Undefined"**. Here, you can hide those 'Undefined' headers using the [`showHeaderWhenEmpty`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showheaderwhenempty) property. -> By default, this property is set as **true**. +> By default, this property is set to **true**. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -31,4 +31,4 @@ For example, if the raw data for the field 'Country' is defined as **"United Kin {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs165" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs165" %} \ No newline at end of file diff --git a/ej2-react/pivotview/how-to/hide-specific-columns-in-pivot-table.md b/ej2-react/pivotview/how-to/hide-specific-columns-in-pivot-table.md index cbf47c291..9703c328e 100644 --- a/ej2-react/pivotview/how-to/hide-specific-columns-in-pivot-table.md +++ b/ej2-react/pivotview/how-to/hide-specific-columns-in-pivot-table.md @@ -8,11 +8,11 @@ documentation: ug domainurl: ##DomainURL## --- -# Hide specific columns in React Pivotview component +# Hide specific columns in the React Pivot Table component By using the [`columnRender`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettings/#columnrender) event in the [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettings/), you can hide specific column(s) in the pivot table. In the example below, the **"Units Sold"** column under **"FY 2016"** is hidden by setting its **visible** property to **false** via the [`columnRender`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettings/#columnrender) event. -N> The **dot(.)** character in **FY 2016.Units Sold** is used by default to identify the header levels in the pivot table's row and column. It can be changed by setting the [`headerDelimiter`](https://helpej2.syncfusion.com/react/documentation/api/pivotview/valueSortSettingsModel/#headerdelimiter) in the [`valueSortSettings`](https://helpej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#valuesortsettings) property to any other delimiter instead of the default separator. +N> The **dot(.)** character in **FY 2016.Units Sold** is used by default to identify the header levels in the pivot table's row and column. It can be changed by setting the [`headerDelimiter`](https://ej2.syncfusion.com/react/documentation/api/pivotview/valueSortSettingsModel/#headerdelimiter) in the [`valueSortSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#valuesortsettings) property to any other delimiter instead of the default separator. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -29,4 +29,4 @@ N> The **dot(.)** character in **FY 2016.Units Sold** is used by default to iden {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs314" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs314" %} diff --git a/ej2-react/pivotview/how-to/load-pre-defined-report-in-initial-rendering.md b/ej2-react/pivotview/how-to/load-pre-defined-report-in-initial-rendering.md index f4981d7d9..c064330b7 100644 --- a/ej2-react/pivotview/how-to/load-pre-defined-report-in-initial-rendering.md +++ b/ej2-react/pivotview/how-to/load-pre-defined-report-in-initial-rendering.md @@ -10,9 +10,9 @@ domainurl: ##DomainURL## -# Load desired report from the report list as default in React +# Load desired report from list as default in React Pivot Table -By default, the pivot table is displayed with the report bound at the code-behind. To load a desired report from the previously saved report collection during initial rendering, set the desired report name in the [`dataBound`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#databound) event, along with the additional report-based customization code shown below. +By default, the Pivot Table displays with the report configuration defined in the component initialization. To load a specific report from a previously saved report collection during the initial rendering process, configure the desired report name within the [`dataBound`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#databound) event. This approach allows the Pivot Table to automatically apply the selected report's configuration, including field arrangements, filters, and formatting settings, as soon as the component completes its data binding process. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -29,4 +29,4 @@ By default, the pivot table is displayed with the report bound at the code-behin {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs319" %} \ No newline at end of file +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs319" %} \ No newline at end of file diff --git a/ej2-react/pivotview/how-to/refresh-the-field-list.md b/ej2-react/pivotview/how-to/refresh-the-field-list.md index 9ca1a5ba9..816d75d84 100644 --- a/ej2-react/pivotview/how-to/refresh-the-field-list.md +++ b/ej2-react/pivotview/how-to/refresh-the-field-list.md @@ -8,9 +8,13 @@ documentation: ug domainurl: ##DomainURL## --- -# Refresh the field list in React Pivotview component +# Refresh the field list in React Pivot Table component -You can refresh pivot table and field list with new data source dynamically. +The React Pivot Table component allows dynamic data source updates, enabling you to refresh both the pivot table and field list with new data at runtime. This approach is especially useful in scenarios where data changes frequently or when switching between different datasets without reinitializing the entire component. + +## Implementation + +The following code example demonstrates how to refresh the Pivot Table and field list with new data using an external button click. The implementation involves clearing the existing field list cache by resetting the `fieldList` object and updating the data source with a new dataset. This approach ensures that the component recognizes structural changes in the data and rebuilds the field list accordingly. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -21,4 +25,4 @@ You can refresh pivot table and field list with new data source dynamically. {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs167" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs167" %} \ No newline at end of file diff --git a/ej2-react/pivotview/how-to/show-custom-tooltip-for-row-and-column-headers.md b/ej2-react/pivotview/how-to/show-custom-tooltip-for-row-and-column-headers.md index f1a658776..8730445b2 100644 --- a/ej2-react/pivotview/how-to/show-custom-tooltip-for-row-and-column-headers.md +++ b/ej2-react/pivotview/how-to/show-custom-tooltip-for-row-and-column-headers.md @@ -1,6 +1,6 @@ --- layout: post -title: Show tooltip for row and column headers in React Pivotview component | Syncfusion +title: Show tooltips for row/column headers in React Pivot Table | Syncfusion description: Learn here all about Show tooltip for row and column headers in Syncfusion React Pivotview component of Syncfusion Essential JS 2 and more. platform: ej2-react control: Show tooltip for row and column headers @@ -8,9 +8,15 @@ documentation: ug domainurl: ##DomainURL## --- -# Show tooltip for row and column headers in React Pivotview component +# Show tooltip for row and column headers in React Pivot Table component -You can create and display the tooltip for each row and column header(s) in the pivot table by using an external tooltip component via the [`dataBound`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#databound) event. +You can display custom tooltips for row and column headers to provide additional context and information. This approach enhances the user experience by showing detailed field information when hovering over header cells in the pivot table. + +## Implementation + +To display tooltips for row and column headers, initialize an external [`Tooltip`](https://ej2.syncfusion.com/react/documentation/tooltip/getting-started) component within the Pivot Table's [dataBound](https://ej2.syncfusion.com/react/documentation/api/pivotview/#databound) event. This ensures the tooltip is created only once, after the Pivot Table has finished rendering and is ready to interact with its elements. The tooltip targets both row and column header elements using specific CSS selectors: `td.e-rowsheader` for row headers and `th.e-columnsheader` for column headers. + +For row header tooltips, the formatted text and field name of the current row header are retrieved from the [`pivotValues`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pivotvalues) and displayed in the tooltip. For column header tooltips, the text content of the respective column header element is extracted and displayed directly in the tooltip. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -27,4 +33,4 @@ You can create and display the tooltip for each row and column header(s) in the {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs313" %} \ No newline at end of file +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs313" %} \ No newline at end of file diff --git a/ej2-react/pivotview/how-to/show-field-list-when-pivot-table-empty.md b/ej2-react/pivotview/how-to/show-field-list-when-pivot-table-empty.md index c8a1bbd14..6bbd5593b 100644 --- a/ej2-react/pivotview/how-to/show-field-list-when-pivot-table-empty.md +++ b/ej2-react/pivotview/how-to/show-field-list-when-pivot-table-empty.md @@ -1,6 +1,6 @@ --- layout: post -title: Show field list when pivot table empty in React Pivotview component | Syncfusion +title: Show field list when React Pivot Table is empty | Syncfusion description: Learn here all about Show field list when pivot table empty in Syncfusion React Pivotview component of Syncfusion Essential JS 2 and more. control: Show field list when pivot table empty platform: ej2-react @@ -8,9 +8,9 @@ documentation: ug domainurl: ##DomainURL## --- -# Show field list when pivot table empty in React Pivotview component +# Show field list for empty React Pivot Table component -When there are no fields in a pivot table's row, column, value, and filter axes, a field list can still be displayed. To do so, use the [`dataBound`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#databound) event and call the `onShowFieldList` method as shown below. +When there are no fields configured in a pivot table's row, column, value, and filter axes, the field list can be automatically displayed to help users configure the pivot table. This is particularly useful in scenarios where users start with an empty pivot configuration and need immediate access to available fields for setup. To achieve this functionality, use the [`dataBound`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#databound) event and call the `onShowFieldList` method as demonstrated below. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -27,4 +27,4 @@ When there are no fields in a pivot table's row, column, value, and filter axes, {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs168" %} \ No newline at end of file +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs168" %} \ No newline at end of file diff --git a/ej2-react/pivotview/how-to/switching-older-themes-style.md b/ej2-react/pivotview/how-to/switching-older-themes-style.md index 14a3ce0d1..69ae88a99 100644 --- a/ej2-react/pivotview/how-to/switching-older-themes-style.md +++ b/ej2-react/pivotview/how-to/switching-older-themes-style.md @@ -8,17 +8,15 @@ documentation: ug domainurl: ##DomainURL## --- - +# Switching older themes style in React Pivot Table component -# Switching older themes style in React Pivotview component - -From Volume 1, 2020 onwards Syncfusion® has revised the theming and layout of the Pivot Table. So, to inherit the older theme style and layout please do the necessary changes in CSS and pivot table height. +Since Volume 1, 2020, Syncfusion® has revised the theming and layout of the Pivot Table. If you prefer the appearance of the earlier theme, you can revert to it by making specific changes. This guide explains how to restore the older theme's style by modifying the CSS to adjust cell background colors and set the row height to match the previous layout. ## CSS Selectors -In current theme, the cells can be differentiated by their background colors. To avoid it, you need to override its background colors via simple CSS coding within your application. The below CSS selectors allow to achieve the same for material, fabric, bootstrap and bootstrap v4 themes. +In the current theme, cells are differentiated by their background colors. To avoid this, you need to override these background colors via simple CSS adjustments within your application. The following CSS selectors allow achieving the same for Material, Fabric, Bootstrap, and Bootstrap v4 themes: -``` +```html @@ -37,12 +35,11 @@ In current theme, the cells can be differentiated by their background colors. To - ``` -Meanwhile for high contrast theme, we need to set the following CSS. +For the High Contrast theme, the following CSS is required: -``` +```html @@ -61,14 +58,13 @@ Meanwhile for high contrast theme, we need to set the following CSS. - ``` ## Adjusting Row Height -In current theme, to make the component compact we have reduced the height of each pivot table rows. But user can reset the height of the pivot table using the [`rowHeight`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#rowheight) property in [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#gridsettings). In older theme, the property was set to 36 pixels for desktop layout and 48 pixels for mobile layout. So reset the [`rowHeight`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#rowheight) accordingly to visualize the older theme style. +In the current theme, the height of each Pivot Table row has been reduced to make the component more compact. Users can reset the height of the Pivot Table rows using the [`rowHeight`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#rowheight) property within [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#gridsettings). In the older theme, this property was typically set to 36 pixels for desktop layouts and 48 pixels for mobile layouts. To replicate the older theme style, reset the [`rowHeight`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#rowheight) accordingly. -In the below code sample, we replicate the older theme style. +The following code sample demonstrates how to replicate the older theme style: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -79,4 +75,4 @@ In the below code sample, we replicate the older theme style. {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/switch-theme-cs1" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/switch-theme-cs1" %} \ No newline at end of file diff --git a/ej2-react/pivotview/hyper-link.md b/ej2-react/pivotview/hyper-link.md index 950aed881..37bd54aab 100644 --- a/ej2-react/pivotview/hyper-link.md +++ b/ej2-react/pivotview/hyper-link.md @@ -1,16 +1,29 @@ --- layout: post -title: Hyper link in React Pivotview component | Syncfusion -description: Learn here all about Hyper link in Syncfusion React Pivotview component of Syncfusion Essential JS 2 and more. +title: Hyper link in React Pivot Table component | Syncfusion +description: Learn here all about Hyper link in Syncfusion React Pivot Table component of Syncfusion Essential JS 2 and more. control: Hyper link platform: ej2-react documentation: ug domainurl: ##DomainURL## --- -# Hyper link in React Pivotview component +# Hyper link in React Pivot Table component -The pivot table supports to show hyperlink option to link data for individual cells that are displayed in the component. Also, the hyperlink can be enabled separately for row headers, column headers, value cells, and summary cells using the [`hyperlinkSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#hyperlinksettings). It can be configured through code behind, during initial rendering and the settings available to show hyperlink are: +The Pivot Table component provides built-in support for displaying hyperlinks within individual cells. This feature allows users to link data in specific cells, enhancing interactivity and navigation. + +Hyperlinks can be selectively enabled for various cell types, including: + +- Row headers +- Column headers +- Value cells +- Summary cells + +You can control hyperlink behavior using the [`hyperlinkSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#hyperlinksettings) property, which can be defined during the initial rendering through the code-behind. + +## Available Hyperlink Settings + +The following properties are available in hyperlinkSettings: * [`showHyperlink`](https://ej2.syncfusion.com/react/documentation/api/pivotview/hyperlinkSettingsModel/#showhyperlink): It allows to set the visibility of hyperlink in all cells. * [`showRowHeaderHyperlink`](https://ej2.syncfusion.com/react/documentation/api/pivotview/hyperlinkSettingsModel/#showrowheaderhyperlink): It allows to set the visibility of hyperlink in row headers. @@ -21,12 +34,14 @@ The pivot table supports to show hyperlink option to link data for individual ce * [`conditionalSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/hyperlinkSettingsModel/#conditionalsettings): It allows to set the visibility of hyperlink based on specific condition. > By default, the hyperlink options are disabled for all cells in the pivot table. -> + > User defined style can be applied to hyperlink using [`cssClass`](https://ej2.syncfusion.com/react/documentation/api/pivotview/hyperlinkSettingsModel/#cssclass) property in [`hyperlinkSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#hyperlinksettings). ## Hyperlink for all cells -The pivot table has an option to show hyperlink option for all cells that are currently in display. To do so, user need to set [`showHyperlink`](https://ej2.syncfusion.com/react/documentation/api/pivotview/hyperlinkSettingsModel/#showhyperlink) to **true**. +The pivot table provides an option to display hyperlinks across **all cells** currently visible in the table. To enable this functionality, set the [`showHyperlink`](https://ej2.syncfusion.com/react/documentation/api/pivotview/hyperlinkSettingsModel/#showhyperlink) property to **true** within the [`hyperlinkSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#hyperlinksettings). + +Once enabled, hyperlinks will be shown consistently in row headers, column headers, value cells, and summary cells. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -43,11 +58,11 @@ The pivot table has an option to show hyperlink option for all cells that are cu {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs170" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs170" %} ## Hyperlink for row headers -The pivot table has an option to show hyperlink option for row header cells alone that are currently in display. To do so, user need to set [`showRowHeaderHyperlink`](https://ej2.syncfusion.com/react/documentation/api/pivotview/hyperlinkSettingsModel/#showrowheaderhyperlink) to **true**. +The pivot table provides a way to display hyperlinks specifically in **row header cells** that are currently visible. To enable this functionality, set the [`showRowHeaderHyperlink`](https://ej2.syncfusion.com/react/documentation/api/pivotview/hyperlinkSettingsModel/#showrowheaderhyperlink) property to **true** within the [`hyperlinkSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#hyperlinksettings). This ensures that only the row headers will display hyperlinks, while other cell types remain unaffected. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -64,11 +79,11 @@ The pivot table has an option to show hyperlink option for row header cells alon {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs171" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs171" %} ## Hyperlink for column headers -The pivot table has an option to show hyperlink option for column header cells alone that are currently in display. To do so, user need to set [`showColumnHeaderHyperlink`](https://ej2.syncfusion.com/react/documentation/api/pivotview/hyperlinkSettingsModel/#showcolumnheaderhyperlink) to **true**. +The pivot table provides an option to display hyperlinks specifically in column header cells that are currently visible. To enable this functionality, set the [`showColumnHeaderHyperlink`](https://ej2.syncfusion.com/react/documentation/api/pivotview/hyperlinkSettingsModel/#showcolumnheaderhyperlink) property to **true** within the [`hyperlinkSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#hyperlinksettings) object. This ensures that only the column headers will display hyperlinks, while other cell types remain unaffected. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -85,11 +100,11 @@ The pivot table has an option to show hyperlink option for column header cells a {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs172" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs172" %} ## Hyperlink for value cells -The pivot table has an option to show hyperlink option for value cells alone that are currently in display. To do so, user need to set [`showValueCellHyperlink`](https://ej2.syncfusion.com/react/documentation/api/pivotview/hyperlinkSettingsModel/#showvaluecellhyperlink) to **true**. +The pivot table provides support for displaying hyperlinks specifically in value cells that are currently visible. To enable this option, set the [`showValueCellHyperlink`](https://ej2.syncfusion.com/react/documentation/api/pivotview/hyperlinkSettingsModel/#showvaluecellhyperlink) property to **true** within the [`hyperlinkSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#hyperlinksettings) object. This ensures that only the value cells will display hyperlinks, while other cell types remain unaffected. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -106,11 +121,11 @@ The pivot table has an option to show hyperlink option for value cells alone tha {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs173" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs173" %} ## Hyperlink for summary cells -The pivot table has an option to show hyperlink option for summary cells alone that are currently in display. To do so, user need to set [`showSummaryCellHyperlink`](https://ej2.syncfusion.com/react/documentation/api/pivotview/hyperlinkSettingsModel/#showsummarycellhyperlink) to **true**. +The pivot table provides support for displaying hyperlinks specifically in summary cells that are currently visible. To enable this option, set the [`showSummaryCellHyperlink`](https://ej2.syncfusion.com/react/documentation/api/pivotview/hyperlinkSettingsModel/#showsummarycellhyperlink) property to **true** within the [`hyperlinkSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#hyperlinksettings) object. This ensures that only the summary cells will display hyperlinks, while other cell types remain unaffected. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -127,16 +142,18 @@ The pivot table has an option to show hyperlink option for summary cells alone t {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs174" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs174" %} ## Condition based hyperlink -The pivot table has an option to show hyperlink option to the cells based on specific conditions. It can be configured using the [`conditionalSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/hyperlinkSettingsModel/#conditionalsettings) option through code behind, during initial rendering. The settings required to sort are: +The pivot table supports displaying hyperlinks in specific cells based on defined conditions. This functionality can be configured through code-behind during initial rendering using the [`conditionalSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/hyperlinkSettingsModel/#conditionalsettings) property. + +* [`measure`](https://ej2.syncfusion.com/react/documentation/api/pivotview/conditionalSettingsModel/#measure): Specifies the value field name for which the hyperlink should be shown when the condition is met. +* [`conditions`](https://ej2.syncfusion.com/react/documentation/api/pivotview/conditionalSettingsModel/#conditions): Specifies the operator type such as **Equals**, **GreaterThan**, **LessThan**, etc. +* [`value1`](https://ej2.syncfusion.com/react/documentation/api/pivotview/conditionalSettingsModel/#value1): Sets the starting value for the condition. +* [`value2`](https://ej2.syncfusion.com/react/documentation/api/pivotview/conditionalSettingsModel/#value2): Sets the ending value for the condition (used in range-based comparisons). -* [`measure`](https://ej2.syncfusion.com/react/documentation/api/pivotview/conditionalSettingsModel/#measure): Specifies the value field name to get visibility of hyperlink option for specific measure. -* [`conditions`](https://ej2.syncfusion.com/react/documentation/api/pivotview/conditionalSettingsModel/#conditions): Specifies the operator type such as equals, greater than, less than, etc. -* [`value1`](https://ej2.syncfusion.com/react/documentation/api/pivotview/conditionalSettingsModel/#value1): Specifies the start value. -* [`value2`](https://ej2.syncfusion.com/react/documentation/api/pivotview/conditionalSettingsModel/#value2): Specifies the end value. +In the example below, the pivot table is configured to display hyperlinks only in cells where the "Units Sold" field value is between **150** and **500**. This highlights specific aggregated values that meet the given condition. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -153,11 +170,15 @@ The pivot table has an option to show hyperlink option to the cells based on spe {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs175" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs175" %} ## Header based hyperlink -The pivot table has an option to show hyperlink in the cells based on specific row or column header. It can be configured using the [`headerText`](https://ej2.syncfusion.com/react/documentation/api/pivotview/hyperlinkSettingsModel/#headertext) option through code behind, during initial rendering. +The pivot table supports displaying hyperlinks in cells based on specific row or column headers. This functionality can be enabled using the [`headerText`](https://ej2.syncfusion.com/react/documentation/api/pivotview/hyperlinkSettingsModel/#headertext) property, which is configured through code-behind during initial rendering. + +In the below code example, the value **FY 2015.Q1.Units Sold** is assigned to [`headerText`](https://ej2.syncfusion.com/react/documentation/api/pivotview/hyperlinkSettingsModel/#headertext), which means the pivot table will show hyperlinks only in cells that match this specific header combination. + +N> The **dot(.)** character in **FY 2015.Q1.Units Sold** is used by default to identify the header levels in the pivot table's row and column. It can be changed by setting the [headerDelimiter](https://ej2.syncfusion.com/react/documentation/api/pivotview/valueSortSettingsModel/#headerdelimiter) in the [valueSortSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#valuesortsettings) property to any other delimiter instead of the default separator. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -174,13 +195,20 @@ The pivot table has an option to show hyperlink in the cells based on specific r {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs176" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs176" %} ## Event -The event [`hyperlinkCellClick`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#hyperlinkcellclick) fires on every hyperlink cell click. +The pivot table triggers the [`hyperlinkCellClick`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#hyperlinkcellclick) event whenever a hyperlink cell is clicked. This event allows you to either customize the clicked cell or retrieve information about it. + +It provides two parameters: + +* [`currentCell`](https://ej2.syncfusion.com/react/documentation/api/pivotview/hyperCellClickEventArgs/#currentcell): Refers to the clicked cell element, which can be modified as needed. +* [`cancel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/hyperCellClickEventArgs/#cancel): If set to **true**, prevents any changes from being applied to the cell. +* [`data`](https://ej2.syncfusion.com/react/documentation/api/pivotview/hyperCellClickEventArgs/#data): Contains detailed information about the clicked cell, including its value, row and column headers, position, and whether it’s a summary cell. +* [`nativeEvent`](https://ej2.syncfusion.com/react/documentation/api/pivotview/hyperCellClickEventArgs/#nativeevent): Represents the original browser event triggered by the click, useful for advanced event handling. -It has following parameters - `Cancel` and `CurrentCell`. The parameter `CurrentCell` is used to customize the host cell element by any means. Meanwhile, when the parameter `Cancel` is set to **true**, applied customization will not be updated to the host cell element. +In the example below, when a hyperlink cell is clicked, a custom attribute (**data-url**) is added to the cell to redirect users to the Syncfusion React Pivot Table Hyperlink [Demo](https://ej2.syncfusion.com/demos/#/tailwind3/pivot-table/hyper-link.html). The [`cancel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/hyperCellClickEventArgs/#cancel) property is set to **false** to enable this interaction. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -197,7 +225,7 @@ It has following parameters - `Cancel` and `CurrentCell`. The parameter `Current {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs177" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs177" %} ## See Also diff --git a/ej2-react/pivotview/images/add-header-and-footer-while-exporting.png b/ej2-react/pivotview/images/add-header-and-footer-while-exporting.png new file mode 100644 index 0000000000000000000000000000000000000000..956aeedcf4a8759ca0520d6b521ff64c5321c9a5 GIT binary patch literal 50667 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 literal 0 HcmV?d00001 diff --git a/ej2-react/pivotview/images/code-web-app.jpeg b/ej2-react/pivotview/images/code-web-app.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..0c9c04448b82bf9030a894595d721bc008c91412 GIT binary patch literal 99615 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 literal 0 HcmV?d00001 diff --git a/ej2-react/pivotview/images/csv-export-with-server-side-pivot-engine.png b/ej2-react/pivotview/images/csv-export-with-server-side-pivot-engine.png new file mode 100644 index 0000000000000000000000000000000000000000..946f01db2564845741c099afb66ca556452f60cb GIT binary patch literal 41040 zcmeFZXH=72w>F9*qN1Q;0Vz>=q=*s)G1Npv5v3{$B0}^*qzRGULV}_qN>fUt2B{)V z1&Ndp5e4ZbK!5;|5<(A7Ajn zo=4~R^t7jH(d7BA)9nj`qEZI;_5&*wxnQc8FW6kO$PTfsz)peo;Qz~Q|39;RB%R3_ z7#NsY7^+}q(veY@!n30kLrueb9jwCVY^cnqhwCDgm6c~8s7Xkl3b2kd?RyjAKK=dK z6w7XRozd+Ik;E^!fO8MyXD%}<3k@wS@Bg{?t`HGE@4#FuM`zZv@bsQI1$|Y;_~HYb z!()Kq*&xAk6f@ci`BbBJL6Z|NT!HmUz&9?gT}7*5+L-aejd@Q89dIvcL9Dq7@QKE#p|tDfsWlh8y@! z?Xa-0=t&=ADr@5i;T$5i0134UTVHtN>Z4C}CdYrY%Ult6ecC^?xl?A0t3hOy7r9{i zCjXB(ESo{=YD0rUruOO5uUduf_ZqH@&goG#WVcwQFgU;B(L86(-I3?dpPx~Iv7<9s z&r}SaWUZCB_H1l?�o6`QE018)^VEO^7<$pg+Z;nhIb?Q1Bjl3c6X1_ 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 VXc8N1&jlsKCPo&9&(B}E`xo<7Bys=% literal 0 HcmV?d00001 diff --git a/ej2-react/pivotview/images/drill_position.png b/ej2-react/pivotview/images/drill_position.png index a3f3cd0cd79cff4b6930174f66384a2924dea0f8..881b3b6060f17b022cbfa79188e90c8c0a70e134 100644 GIT binary patch literal 85393 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%0DN1i)(4Q4Ed)Vr4dUe6|ciGAnf zzDL3L;OUK_!MS1lBf9#YsJx;HcZ=PqU%HhoG{=r<+8|h|sUL~I`GA|=xl7meYd^1q z3op4IimQfjE*^qBpY&JJcCZOVSKFDX!%s7qg<3c`a)_uNWWae2&nUl$*HmUq{4EYS z6g421^85QpB51k_Q%q;`-IHp|!Z6%+Si9&9Jz)zK-$?+gD3TcYn6D7Vp^5~1&Zu=Al;x(Pnc(w}KN7|Yn zzqiH>M8dCTyeUK}=1+g>!xWe$>2FjUAVfP3re{bHMevkFcbMxIc*X>rLQ`9vf1u-h zc}}*{`JdbhQr7;(SD`#pKcCbbxLMqL*qmB^{dchvt!b?!t*(Qp&;?m!Oal_I$KsdhU zRm%;ssYu1JQg4fS?_JaP2?kzQD74&KN1iucuBaV^uB2V~RQ%eeI^O&$w%~jz4bBY; z0i5g>0@pllhEvZCjRnss`7zjq4iskc|0W9u-#EhbMeETnrf-@4{>sDe;Wl3SSS3YW zvK8&)g$^;!GcpmXHh&{(-+Vk9cX6tIt$$}2txr&5og=>c*iycKIRdOd+UL!OzF0D> z@ZtV=C+osfTxPzPM=)Sz*d-jjK&kjlln|IER6(g6vB-NwTdhR%xwdwmBQ`oDJreqj zcWveZARdNiIDzSTIQP|^-^Efdc$iNO{^P;5xaa+5;V`=7z#1$(Wx5y0lbdF>9_97qV<#@!-=GxrbwhVw_Ogw`VzVkos7A%pq7zc>?@?F zcF0XZz$uD0bF3`SJJW_Eu=WT3xXNMC%!e^pOB0L7RDjFB$k)OD#j9rEdzxeXTJm3) zv%;?#-_D#Kb9jk3;7029e3Wn9NB1g0X00cK6%d3Thkr>yRHD`9NfhnkUa&$+G-03Y zTig3hSO9niBWr;4RjmbHPwJVF*-|N$futv;i(<{ywh+x-YJZ!ZCGxuzfoE(}-?4?7 zj|aUycY&FMTreY8{G1;ZUHX(>yJdXiTXdfv2Kt+@%2f4|mQ(_azVc_uvl1gN&BD;b z^!xHdh|G%bHRaLlzpe*%ZO0qFqU_?Q91L-7=-fnReI%QhD}LicWtTXPN{|ldlJx6c zP_$)8)yl2}f$QW^Z%{P*u{X_U@Pvb_WP?=YD)1+T_hIrd`b@h;PO?HzaBmWr1tdSI z|2o@Z%X-2=Bt6G05ZCuJ!VQDuV%I^~0i)~a!Kh;YB8czfo|i2JR|Qwh3NzN?yyZB9 zVlOIm`Vmp~VnZr;_^*uMDf>eXgFGPa+Kgp}qPWWIrt_lx*=LoCjh#N^(Hi3)g{DjI(v@*g&rtdzM5n@g zO=3Ss@Np!ZgA7Jf6%=BaG+S;+yAuGo)vaiL7q;p=QF|aR=SeeNu6c{g-9E%9uO!J} zJxal2GE6R_8JNW12;Sax9Sf*i8st+~_H?NrUg)=idrpTDebx}1V<{GQL=IV;|8ikE2vaD8>SZHRJwM@REQRa)O#fN<{%vY9Eq*kQ{qFT@_2T-_41d4U_SdO1 zp;cKlg>xk*tQ`^0X|D|aE$0pNnwKrX{uUGEIyUa--Qlb>%U*u**vckW1T8MVH}-OW zl3TnP+PjmrVm%(|+(HxktT?bdq^?RO1ptr{4+>z9eh}|wiiXJ*Mgq4NMzfuTMNgANEFPDCbp|p(!GjHF z2>)!dbJO5$NSgs4A8s=CRf(({cQxItU+jEEa&1B=SG|txPuqz3;Iq&lH6;n zEqTdrDr=i?;6lW%8&T~|3)QD=LJnbeUM8Hze^%YK)hysVW!y+*F%DTo6WtHtXNyd} zEnZQi-6RV5O_grIO{h~}D&fz03x<bljFi5?7L z$FVg$9f&A9uA;~>tM&GyZFOKvit^K!xG2h0*uChe@x^6IKRthJ85cA=7~*Dzv{kW2ufCkYVwB=8MEnPY;W(n{%qpxJB`ehjYfJ+%U?~;@}X@^M1Gs zScKP?jxsr3sR_~DP}Ou5h;?YIfIQ_t{p{_qJ2$*&^#N2v!XFk_<@m%;+1&fFdlrMV zO}(;7g6FdZ9M>w5_1;_BgDLEl@yi(!+&9aAn*2{|UieJD^;N%RF-fa^Jv&ir7{f>3 z9=QB>%|PS+a8UG{wM%`N`Pcwj-E5yvkk|X;cwt;b5ZS8k22upS{lp<_*wg$&4g$NU zsZHO*ESwjj0s9axDV4t8_v7&xA@QAT+o-Ge75h~-<41j$sP>k+^>5IaXYFO%vObB~ zQ8zpGX=ruAh|dLfe`FS?2~8iWv153FT$T6<>d$XwP3CD^`yNf=)AV=77WnC*_D32? zHF^dPP2LG}l6%L~r*0O%zb>6BOW;HMbeg?NS2`BENhO=Yrgbiu71Z1HsA?=y#<{B=9}}IsX{Ppb_qKx)M$(zR6AnP>a$Wq-D7!QO=;2jH_0PfE zWCorpwDG5f3!=4oO$BSkI9`dL`{%X#JS>%#Klc3=@N)cIMpA~qE;xJ|vhneN99$N) zGa+x$x$A1nE0LPSXTW2w^Sv*~%YD)06LBlV18vY|ca8{`1@byR)Ov6kZ!nL#Y`Ck3 zn>_c(bs=%Y3WT_~XjZ*nHjK=<9_BsD3~q46fv9_&WkJxo{GF#sR&d4!>+Z=W)hJj8 zWeq$VL)AO#iLG&aA65SCPU}GalNykf)AhrQp{eMStU4Nh*n15K1WqUXwXx&Uzd(go z+L`!{qxu-3J^cy5j0y-rN~pYu%fPkJ7I25YrshFJ5g8e(39^30jlpB0; zj@D+#(`>Mi7z=kAg&vjbD!a1ccDqK=eH09qNN#58SUH_O6%=4@Q4&m8*vEOIvLT%{qAN=&d}dL_0+-8a6Oxeh_>MT5e-T4<`gIP_YRY+GoG zzm@IJGL+8LzzVzd8~#|5xcr z+25xG$T#v>ym=D5*6{l_?$k;v!2`8?!Lz}75INX>q3)-A{$huCF*gCy^PstiE3=ck z#9Nkq{(O)iCu*YLo9PFGv&H#G;iXRy#KA-Y#k{|4&mX^S`nCF<#@|5dzq$7}Sz-j8eazW%Q|^;1S&`kCzNHQJ9_B#O(JPw(`qVF5ZrnO-qo^Fm| zW#ameOs@(LJj+FoeIb8e@YoVZ5l+xGz^3ur=`GFA14km5g>^>HJK`~)* ziu|$AI#mg6f8?S8XwKp&YKEQ0RXV4dcPpk#P{{3DxYVcge&jfP2!Ha$cj&w?zK^mK zhLO21m|J$r;hJg3`BD{Z-GjuJG6vaT?k$NKlD9X9Xh`GFkZBP=Uz5d}!gxPjPRtcF ze1n<7a_s3Qem89|0n)XV%lQXiq8I5YfI`3C_t+7Jo-ZjO5J zhL|4{(fc*ea@drWPV=bi0A|qnJP`pnWq>cCL4cy=o|O*<7m+}?tEh#f(AfvhVV&tl z*+0)GG_8MfP19*501fel?7rVkLo0!YVjaolQ^XjCA2N!j4(^%t(-u6ksz)97)!{pO z^fawBfiJ$Dd=Q%bkxOTtGzZ<8pJzDQNhi{^@UMawxUC}H$)`;Wn%AHotTZ+m=lxst z8Wb_8wUz@RV@_24JvF-i5(s&BJHJ|HWGE4$zY~AUAx`roXqhbhg`v~1MmZzb+lspP zG`@^DWgtcz^ta-nb!Lgd*UWlujrSI3%W^)$l5S5mky+RJF!ABrQMdch0m6-ljNUbw zhC`vq{+M@@s`Y0w)cM9BokyciHFWLMM5`F_1M$sB6F9MA$jm5YgM5RXFD8TArS+f5 zK71QHC$I-BC5XQo!t(cce2Jxgt=wA|5G(d6u8p)GJ+bxUk>(v!Z|oe-gQxLjRa7h( zF7&s#5B+u|NP1JU_Ek&Fo#>QgEyX5hExvw$~vb;UQOzBQ;?P~`j(~EohxUX6fi&PHzX40p?Jj;96A3a zM@f1iFKIxXeBt}gWH$vi4~Y@iE8XK>lPlGX^2a)?^SP22p^aMRZf(zirhyGV(oJ_` z+^Gk-i|$hIB(Vq$^pyRaHNPEpS0-=J4k-e<4c^WhN}GI)D|H?0%$W8?f&1r z+JH$XL&%@~!G8w=!T%qoY-CZ9BD@XHe;LV<-f%#|)Ia|8&vaVX|3)JG|JIX!B>Dn9 z`P)rLXlN+OzY3w7A`2lQF#u$!p6gPyv>8YnKRx7sob*UX`?~xa$CRm)F_t(iq(%L0 z_DSmC?uECd=1Ghdx)W_+8WDAtF0$+Z7A4BE2DBF#9D0|<>RSgs^F)%n{MpltOq^Vm^AkZJsRBiZ|9;&YbD}emMTneBI|K5u zZMm|`wMzR4g{PQ2qY-Q#Dk3Dd{K;JYVn_n=E2cOB=|EHG)JC!eSX<*$vu{41zGsCf zAzvXO{C@M)#cDRY3kshrNAH+ z^j{zbO{Xn^uWG+hw3SW%-5{OFgr$D9QC|T_NkY>0W5 zZzNL6{VD@TKC10~%vvm`Gq8U@%OScjNjn3Nj(3mgM;TMu_kS8*t3aiNwFF?KZ>?|o zpjS12^6z1f;c22XEsI0@PrI(fnW|oF@Y9-#68-a5$ZPUZd|pibVm#Sp{_lO1wBONv zA$~(2`+w`Et7Li-1!2nl*q*R|^}qr-*#*6#lr`Od@1ro5m)GzX8;iIsg!%v0sAfi* zht8C@_mwK9b_apLsDJlA1&bRwf4YW3SqW_Ex$OV$s21bw+t~?<9mH@?J)jV3lq0*2 zgkB7OP86kHK<0+`E@_dN{Ot?cb^NT+*P&B;a{n+!wl2}0OJ~p=BcUKZ>prvu;nLWT zX4n!UNBFc3)W{-Yf&cS4$MhBGVvBPE?pwR6WP0e&_h5&Lv2)Ck;}5i>EH)0Z9gb=P zM~%6(Qy0-NOzx_cAu+M3BB2^(cOseXH&8*BpD1E5KlEqksrAa=hCV}m2iz<}i;ZIl zESLFP`j#%%668r}|5*PyN|dQZjG%n%~o_m9> z2?dMEPhVE0FLcE|@F6rYk8vMLCg+ruo~yra=+aH!@=Lg5&SW;7Q30 zzU$2#@C4C%-KhFHy^_?^^AM$irG(eDGGh#1Qp*}skinXXMD#Kg=qXsEJJ*#ro z`pK!<8+^OmRlEs<;J?gj@-ChUipsQ+>qbWwtRUz56zqU5%#sL zL+w#xzzKLX$wGKDys=UFVj{1Y2G9;Tie+W zlUZ>BnGf#*QinZ=t*CSF(I(vPP3rvAoX?Pi6x9Dr+!hfL-aUv|LSpDh+BgiB7;|1~ z{0G#`ToYT#cSC%xyV4iId%dO;&<59GTEafD|CXwFSZ0UgHFW?B8opI- z&Ka2d7!Td+wf!xpD=~qXPo*jH&$qhE;5T`aCcUsqD>aPw!f^avc_`g`2#QNco)C zyjxAqg^aKY?~h#mX_qKtcl()3U4QyE?54b+c3n;W+^bpAwUQPk_c2+DuflWGFAgPm zaAq`evvjtwVkb9@yv+NUKG0)nPuuvsqy)FBD!r># zRBH+0g|c+7amR&@fuln_hxq6op^3cz5V5Pl!?%@F6+%@Ylf|H>fK;0*0K>BQ-!4SHx~9V z(Qf2QxhHFqHM$l2-9Ts`-z(QObYf2^V=v_XRDQ?7`Yc0E{qzjk{fd~>QO4%#W^0Fk!wqpcdd zvS0h6B0;HGNPeidWJ=|2%VrRvm8>1N7?zq!C zhi?j0(+0hVZYsh6HD zs2MWu)4Nt{5&meSBw#7!9dWbxg0*!n=`Cu8upO#z#H-7twbV4e(sTJTv?pCpCS zOSx5f%oy-yS!>L1b<@reG|7B4x)W}02O6lPxSYDYx4tiO)Z08buF&~DXKe+4+YN+! z@&4J5ly{g#|Ooh!tYF>4H~akpi3IP@x&7R z*Q-zH^-DWZj3P9M+GYQa(^^x2=1x6XLxJ zzQ`ljH7$K>=`JqevxQ-CkB}?OV;K4s*AzBdWXij9NG|>EKu&kcL=Fu>j~y3gD2Qpy zw|`w8;V!bF|1N}G;I-zQ>Luw?=+P^gfg`}TCcUFC(TN$rec*4~8IV<&fC{|aF&$a+3q(&auJa_)=it2EpQ z>j^7y`8sj{h;nA0)$!a3DIT3l@|s_GADV*-fyR^1aP@7a~7X@nH_H8L3>B*F( z9P1=gDr649OJEKho+PZUewi#q%>M){x4WP20^ROE%@>>x^9UPyhUaJu^wO~PcFA!?@*}KH!gI!{%`p4RFo+Xqh47$`upU*UX2&25r*ynH|~N z5wj!r)tAX8(l^PDS>rVNS?}e!jhHt)MRjtOWwJDQ0zRSEz%yGQpZ^ziZy6S6wrvaJ z?hxFakl=2G1qlRAfZz@Z9vlh^cZVRsEsz9<;BEy3cc*Z7hXQV;`|R%C`=0MS-*bQ6 z`@ib7HP&2njXBmF)V|4&s;NFADn6P3asK;j1&|Zt-J=M$0ZKwO&2H27OjIYu4+)t< z)Y)lHL<7`=r1d)3;H9(mDLEJaI5GY4z3>SY7AQ^FuT9Fx_X3|0w#J5nTH8rWMeE@L ztq$AcZ~YqKIyg2uhy2{J|HHpoKezmqQWP zOTcj*l?}ZK!px?NPD>mP%D%4rT~PNx7zx{(oL!&Uah_2JLK?_olvqC7A6e6UJUuW@ zL~xF7s*NO{`Vb3DUKfQ|9kV=kOb2y@N{N7>yf?$50c&FNYIFHklnIDIt!J=k#s0?=HeOw^qkvYq11N@ONfsfjB1)U@KhP z&`mI1+a}y?j_Z$;qTyImzJ2?QR~-%$r{`(%x1lFlNutS6HpG>_mn6Q(1KXyM!8bx% z%Q9Qmo&qhNyDf2mUd~ zp_4gRaq0b=7XJn{6j8k#RlXgeh=w(~Y(A*S1@FK*;LDVLKETKZ<8qe2$~~?e$yZxs zt3UtJ$*c>2VqccyAtCL|lna5!2bZTtYx0LlShf z8zi}%-4?hm_vy~2GqjeYkF?p~jNXoE<~6Nf_}P+ZGkfDK0I!9GPBEwrQI>eHa2pWK0LAvRg#Cpx{p&91@-ht8cbcO0Z!~oa*Fub-n|Ql-7r=FP7g1?rA0;j+T!$0HMvl zp1PaKB}iI^(nQ~zV5v?QN!MHFz1NYW^g5gMzA<-BmFsl?_{$?MDgq%$Z| zrR{lvfXT_Rh~j*+Z*ZK}4XVSu_J8 z?xv5erIgPo!$ZtORqK{vzx*a}2?$+@qFIZ^U?{zK?@a8!;fWskbb>~meZ%%3a81Ou zb5LSLyM8+t^5R4AKhQdY2#<(z(dE|~7$@q^!qN0i356AxX8`(WoGy3b^T_o*^4$2R z?wIqICFOh@jknTOzPUS_8^{X-d)W^O;Xn&DBgT;Q?2aO}t`J3@7}sxU8Z!~F7@06m zrE}s%tbb)&BC?k_mb(`361{}J9prFKrOLc zhwU8Nf|OE-y7ieqUfmr%d*fQ(-3kdoi~$$xWMs8)mj zudMfoA-qTaNpXq>EZWxBUJbZs5u0Yh#`@WY$XP9OzMk8oK?;9B&lel3X~d zt=|J{jy+~g!}VoMiQB68hqm4fLi}|GY3vjm^VjR)KLbydXIQvAP(>N+7&fo9CDr}m z(g-Mb>(DafRwHrO1(D_Zn#E#;N8FjMvQtnBHi@MMHeb*&D?G zl)nI_!J+%iGJ4spLxQqC6!xqJvk)YunQ(Fyd0xRY2!;Ld?%yDY6kVBV2N1g(R;9oG6Y=1xa zSQL7aNLIvP7rBdO30yLYu{ul;J=?e1_N$zaW*N1CyJW*^{awH0M5eXq0qdfe1Y`0vxd9Dfx=@` zrOfBuoV>mv?~4>u##PL$zWf-mvlVwE>)5iKL*i;@ z*griBLkN&~TSoQ47Dr)NB6d;qFs;hU&-p^W7$Zns06>}zOnGa+)!;y$wZEF~5L?u@A;ln3=xt0EJd#}AA57pf-6HP8WE&FLKy7Ex_r6AE? zeF2-rw!Yongb~7=h8&&SjS{nDZPeaq*zvBvwqDx9*qw5}JOp^=#QOAX)*D2T2RD>f zV;au4!D#?h89BhRF-HVzCJMsQ%YKzrG3W?L`?dP$I?X8m14W<5j^Iw6v0$GS*WPP- zcj)>rM0h!oy*lKPUm*^FooYOmA2yD+odQ@O4yw$@V~h+E=A*7YhoaS{Id;dIujKq- z0b|HWSP@w)ZTTdmk`M7CO~UpZuz7Uzey1f|Nd|oTl88~xbk~b4Oxciq39$CQYgUvX z_N&!u3$uhY6zwc3ZiMSF7<{^KLJ_v|Q|S8EbQW|$OATz5L}**|joE1PD>9-CF9qAE z`y3Iz=zFX@VB$%i>wCcj=1opoDUDaJg91j1n{LM7pjTt^C&qU&HyzoAV6EkhlsnFu z+yYFzryZsKKKZyUAnw^RRhc0IDvlVXU*g`^5zXM6_uDE}r^fTRUXVaSAg+qdB4M%I zYIzd@u4u0FUESDy*Pgs8d+6}G0h{|F=RNH84WgSo6CW00wREWKP2{mWy`q} zuAOz)HVF@0V)}_Ip5?huWS81|YDRCevrD@jy_wIZXZp_IRVdDu9=F0UdQ$xVMFIH~ z?7&J$bTSha*OJnqt)YNSKbpb^#N`))9^I&~TC8ay>~v)|Ay~7)vs_#yt|OIp9_xk2 z`AR7yYK~_j@?pRv2|vGb;wF|>znUme$Juic<#(V%2A0Nx2l!*4ef{I|`j5EF7L}Wq z4$$@ze3rA2reoosL}kbE&fIsjRQ&SN_Arv^4~+8Mbx-*MsSOp5L!1_VSX{}wx*~rS zOYukbD(%?3V-`?~s+Ii!I{<#HnDH|#n@Q}0M0D)RBMFd&fvT+^K=%-9$Fn*GYvBtG zE<(=!a!xr8x)8z92VugEwa%Oj)c{OCL0 z@~fvHbC%1GfJIhmLT!63L=@^6);K@iG5<*h+$%`oYF$G`sD~EpPFN7^jlOoVb;DDS zFFmE6$|wujQku37yjKDHh`V4V(tzMp-`sUtW5z4xE8Z?)s85|(OV~(T!av~zix&fG zNCQC$A*ihrsG^MHR?0KmGY`Rw$6c4BGNcWWIHY^&WwCE1j7A#y6H+Mcn!^y+jb!Dv zK|P;*qtP;Xz3R=CJ}ee5o-_NVU(p)sx}{-CTFIQes+yE+7e_F7N#+h(c>+ z47wQT?|^g&_mT181NrtbJ95>9S9LevbjGZ+0@TSiKy0JoEki$`fX9TaSFtan|r#D{)uB+aA?= zBECYm&Jt{a7{DyezNZeJs2fX>M$T{fMpoSC?!8~+7<7#FKYg4pk9&+wbWA;_7t9O1 zVB7xo<}F9R?0kN{#kHyMG>idgLx@;r@bdtN>}}gpEnm=Um`TKi4~ndM1eE_ZB`QN;lYXMxS>CXcfYiHE2k)p8(Q7 zuaS~*9do=_Hih0?L((u?dzU;yhuic$;If>5agTopcGeR9qA+%1h`Mo~Us)O7DyWf` zUO??JC;9JCx>qdVqZggNbH|mI>s7i5Ga^zg!DDi@r^`|WQ6@^Pu4Jen!dk|^5(p3x zBmw;LpiIOaqZ1$v;(zCHjr-wdc!!7QPJV3+)u=auT;dhWE+^$;h{W!P3g14ccx)$0 zBdI@}2_h#VWH%r1S+d>AT%`oMj_7gmEKUA}3T9m>@9mRp%&+vDlIUhlUl1};3!h*3 z4{?o4shBNivy*IaiIGe45W+1>qAjUBXwVAQ?p!nhzw3l--aHZg9qa}ZmM^@yg$Qw;QiT&<6U+|Nla@f77L`; zroYVO&5A>J6eCT?BEX#Xq0ZUqMMB*R_O)b5&#DOmr9X-alfFb}goMS7??ZT1ueN+B z$l8opmBO&E;+nuJ&}qtoB8xSK_Z*V)X@^CaCz|8g53c54(N(6D~em;i39n zokniG0A;=+EK-`^NnvyGq3dp)eh^bzbpPo}+l4zXVEHQ3MpftzdF^@WHIu0zgydV#9Z~mg!Hl3Um34M#dN41Dj@~wS?sjD zs2++^|A9UEUIiIhCS+XG3$qV5T34?rOG{*?=BQGkp`oYkBbE@c?AR!Jg^$=sK&Ea= zNTDh00QG7)wOmm)PRE_uRB<^VBs%d4Io8z^%M&$~;aQ*0ffR7&ClV^Vjk=yUfhbFB z*o6zK1XnVAzSmqE{mb>b)W&nl%<`VJmg-aRvAACm3;FQtLydLdQEg&z>35ljZKe2! z*_qP=kLAWx%3y&L)!T<>YRa_jT)YeuA%)dvASU!GYgnBG%BP%LkT#qqd^S5#PPg|0bvddLD61*fMR!{`z!iaK{ z%{DjbZ4&0(4d72(R)JOA%+sBAs*@0ekO`?WxHi?tMV9?j%WE2jLsXxNcXz&Fw$muK zzi#Px8l%CF174os+s$9D^r#>A=F-jG<&J=aug<47erk9V@Q$O6hkTi7PhLhJj$ORy zauE!t5$j^`K>N*tg1ugJ#W#vfW-J6Nw(Y;L+tFvVxZOF<`DKRlLR>dmiJzpx9qJG_ z&99}hs622yt>{u^MR*6S#%w(=5@r?F3vN8mHtT^DjWHb>RU8E1cbjP4N%YCVh|FcP zc-kquK>~=#mUit|T-vmKPH-5^SF|?#8CuhFT0pe2ER4#N9W+s-p}4GwC4f6V_a4ZKIej+ zTIt0-J*!8rBSS-rHyiOsSt%4xP23JzN=DY3{-M)ohkQoqrek&7wiyL?Uwm1-xqgTNfp?cK+e~&l+Xv)D%%v%NWMAN3jRo`u#$#_~-K?k2x<3#NjfE2qRy1Y}~It*dJDaIPWLeN83F^6$PKSi8A-t z6Dv#|p`S_MnNpJ@lGKL<7)i*6Y)|*u;+j6kMbXs#9WHqmKU9MayE=9`#4bkz6+pDn zSog=PJ@^!AABN$#RLiQ0CE+NJKk<)X2yr0;1}fHl1l!y*V)!YgbN5mE`e;$<*F`;Y zk3)s%oCDHk;E`nXxGH`j_TBUn-n<#6r)(zZ4}A<)9qKL@v4Z$txQN9~BO6dFvlJEn zuvMPkB)R1w?0DhI_b+TZcj)l?x}8<;KnGnYi;g=fwhHImcR?$kOFj0V9>dIiM5qrI z(E)eovIotw5*V45@_dlC5Ictl^jLSr6uwMfD2wv^n*s5@!&pMaGQs$>`{{1o1go(= z-G>2sEU(q3aT=OI1#lPO&_5s$JCCK%236JcEb+sRz-^MF@^_f!*26Zg;2OjJ%;{h~ z=M9$QPgq$i8@7r3Pz45G`vNF?SQsY6Qv*U?>|XWB^zA6$J$Sd#fvPmNyiXs5ip@T0 zBEnzO;z6!X-+oaNa)Aha5w}adD_3KkNBXyV{F}G2>0S&E4Rb;)hO%H-G56!|M>U`9 z2k*>nlJsrA>MV^za-dhL`@a43gY;s%I}(z3-R7JBFA;)Ix~$I`aJBp-y0xiXbghmN z9m(+_nf^MS?_$mp32`nSH;BPIa#8+oRlwL1C-#ZAd6z^s7<+jRU`P(rI^08sZ7|ZU z;R}9C2wLkHdqdvlb8D97$Ny21_pwPJ(=p#aSFlfKwH;=)?jELl3d*1oJ5I_(&aOON z@cC-p`lVUxw<2MMdP(eC-b5F`#g%if8=JDQ}6U&;mj>5c@}wm zFZ9I4_0>~ISGcl{&`?ou)u@W63{&UQKi$Y+dEZXoVS^uY2B)rdo zgEM97g}c}|%y4#0>YpFu4^aqAf5Ia8=j`}HEAo%p_a6c#)_=apZ%M{){mI7PBU42D zKM6Yic%a|shn zP`n+=26Bj$(%=3=-Soffi~23LM)byDM_WZ0By;PZAimqD9%b(4g_E#t!S4b6{ryA= zU=|<0l{riVZF=ncDJTfD=wq-Ebpqj|A;EOP_2-`^|CS>)n4Berds2BD z#_JpN06wqu<1(M~;@?nV1S8c^p>c(CPX2L;4xgAncxYzP1y>%Mp_Mix?%&oSi($-L zuFZTA8&Z5QkrK^V5-Ze_2XWL$uJL^i3{ECx=iK)NbKm|D`21g~O!_~b6)Rt)FJjp! zxqO+(|C%1K$w_|}u$6-J4^_|qH-z=_6*3*MXsv;782?gUU1zGJ`3GU4F#ZpMqkj$h z5=L<6g*(b`kkxZD93)>1VNwF2RSwu{f%55IceSqu<}+{Bp1L~=+#rX-H_FpWUVmcPL08zv7=4vX z`&oR$UvLyF8xR#2I{`1@+!_IwEFP%`PR4&`T-jRpS0(~kK*m4vxL(1mK-d=iC-xfh zLqDI(M?f*a51KWy-h}HaH{;(_uu@enoh;(`fkm$EgjB>euU7tWvq!rw*B{pY-E=V! z7@(u!TPLk=VcCLgQ{l98d}8fol~6jllC=*@Y~FUo?`=vf=z`W64w_bVg)Oh4=+wIj z{!tfYH%G@Ixy1<{3Z7|7IQ1-;#|U8c6Z)lUCBOk>CH~$ZM(FGh${=R)y4VKtV2ye@ zzz7?I&QvFrcrXxeHwzhw$Y1mR>S^0d#9KQXxZAFvN z{i^~CC=TIuR{S|wOZ22=c%|#drb|_HiKZ`DEpAT==%1w+>9g z>or@ummJhz{8Ok8g8-aA!WTLH-p%3WoMR?dTubwF%=kn=K|Z9Jk2Of|TqH<~J8Ms$ zPyst<{4Te>W*!yJEEn^gGfQ9o)a^a6_Th+eH@~?9=zUw`Ryz?d<8!=U86iRItUnUON(0Cey(l=!upZ9B40#<)g__QHLj~ekbF^h5J zuiCfi3#^}6#4wh>zj%)2q!TZEYnEow9<{1|eNs6^YC00|vqD<#x`(dFhS7s|CGaeh z0eE10?;)EVlQt|UdY$VhFM*iEf{G-)oD&6c)=jgJoT(mfFl27TjoqkTKR$Pa>l6Zy z3|()u`y~Y*jZv|C!J7~FUb=e_O>cPkflTB{lkWSD_s;ky=_$AMwBkWQ?}|8I>zwm$O%~q$bx{Frc8<#X27UfkgZ;!r|~D*${UPBe;m&T-A}md z^XIx8wk&Zf$h8@cQSkoOy9N*oqQP1WXyii0-Qf}x`yjBvWlt7?I`KkhGuQWxoxc^_ z?evB0cFp7L#&&I=V)TCApOk;!pbbb^4#-Q@mgfC>FZrRX!u#cmT{7Bayv*L-Q$oFC zhotQCPbj`KyH=@AVxOX9urHNPz%}yRRY3`1lDSW;rB6GQ(8qWZ?&ha+h2zPwL?&=!Fj5|xW3(xNW;nhVyv5h{#&^~UK(8k^K=v4k1k{4G` zAn&IK(w=x%_%2ZQb=Q4sEuT6144}XJfyVD1)^29`)4XSP0kmkg(?Ys#+4~oPTH9= zH+}7z*(cBQ4yY%{neRVNs_9Ip7OsZAKm~)lto!}b1K2*P(|mH~QNDYe?Z|vUG#eeb z!JiJ_NvfChM)@*GTBDvy++hbiz`^24=dw;DKe|GjdN-w;cbg+dha-(vYTXSI#O9I$ zxP;zBvsaG_KZ3Z9MSQd!USf=hIQztjUQ?0Ik95y@sX7M19kwM0*F`y)^uD*)i{N2? z&{AljKoyn$T;+nY@>KfF@bOI6F;u#Il)X5Yp32U?pqcHx&$^~Es_Di^N87q#`vxFT z7hPZ03zxxbur*}yLhzgYacJq9kQ-5E&*G6tja4~~f9$H_!WspW;4A{4q|#*i#IFzU zCaBP_Tjl&l5LFG>YE@pp`nabSrA!r^L>I{Y!WAhb`Zc(=`m_0BQ$W|rL;N}#U8rbM z8l2u5Oayw3HiAX*WNIx=HKKZatJq4K2eRXDtzhnu_$V@cupIibS|d33acRqRHCQA$ z4Jo|~M_vOEl_rJ`aNuZP6>b>?Cr3#z_;!XEcvte#8s%mjQ=aP zl4Qb5^tOysTD1l$O)sYQyIbNUk0rEv_DVAXQHHN3xcnaRXObET{lVI$w$kjh;XA>T zdU|nQ0OLumyn+HOPpfL~l6-j1m_;01cUj?m!3%l){VR|AXqN8gvs9M(uG4eRo9=b? zJz9c>uAMSgDJOO6tFJymZlx>W^2HRaBO45jW3I`D&l2Jk?}vv-A8YXMaAYbr%+q$f z!wuFPxJDFSTD^-;t#b0byPOSyMpU0KRUUrEJng2b^m8P1AOJ|Tc_h6B z9%)}R!zn|~6cSsz*WUt|9K?q>6G1iRZMb@|d$r2I$it?(sJw>9vxpZ3pFJ~{|(vOV{tF594A=pYiqm%v@;?LM*Lg@J|7=1m_bAl4LJuAWVHydr@t z32F+Vw9aZUPGborq+z9BQrNP6jr=hiOmm2%Q*)gcxa5jm*t1=^KJoOb`P}2GMT*9627|q{mpF(P9oQromuC-C;P|{)$98ptfNry|xhID#2 z&)yYI1)i#ieIC*w%zD_tEaB7$2*=m6Ef7>+4nm?NNx5Jr+p*;fM}EQ@x#~FkMd!L# zsNB4;XHZ}S5rMDISjI=u1lX>lv4)jDl3Kcf(4Tls35S!O(OplLS4jK_%+(|>Lt@9y zV#bR}E*30Gnebw8pohS4hEjQ|n*FT{#rUL{ZPukxKaKGC979Ifl#*_v=uzHkZnYx1 zYhJ9Jhvi9uoZ!%>uf8^M_1MpBQI6;qv+`&Hi7`swkI=$`m6Pq2r>F4Mo64@_r0_2L z>@b#o5$yX1=*AM~G?`H9s-)^Z>Ba_|4g8JIE27wE(@qp>vb#k4SaD8(fira5UHR@t zxW|F>**FR6K&o)_QI@XPyA`5dCf)PEn=@^*nxBGR77ujG9PJa&n!!AA=9*s-!&1m8 zv#~=N$O!95a=k`kP4T;Ty+1lM*emus{^zQROTCt>HiY~_g*ov28>dqemi*Wl$=va? z?171IA|+L1xpn1!kyoslYDXn!Al!&6-&l8L6ku~s)b%2M!E&9nE5b=p0!4?IlTmN4 zB2A7#2AMd|@bcntcJrO+gL_tb?6MtAkLG%88tCHbB+=iZi8 zS}*M(zF@_`K?Iy*QXVd}+w!$T>tqKF#nG3dGW%2C9{o^=^Ag12_8N!lj>X;o62^W8%Lbw^dp3g-uayQJ}v|+&iHb!u{b@54e z%0<4@#~lfaj0YD=O5Nx*SMKp1H%Mbc_yU#WJdexE&-$8bke-8e~rREFa z_W?ZGFA-43dmj&o;GA-lv#E-4P~W+L5p zU(O0m$lY5S)3n*q9n3Q^$^7rjq2ow=qeo{k=a<-6ELG!;F~6OiA5Wwo<tw=>i z5H3TKqNVBG2u@<*Vt}Ve%Eu!ziY-RUCboa9f0|D*yvfyhF<=XJIYit;i>}9uN$nia zsy9@z?X9c5MA3P^$0G}uI5#!wGZWUhs_UJbBI7%2*LEQcn6Nh_QiCpEvr+TnbPH4gCcWt>HI92baQ$ADjnVjKipgw=yGKb|3#-vyrh~jPQtf!?*0Gx|IUAAm3>ng4>i*-h>3!M9vodzf(zSdjTbgK3{CcL+1@j;#O-Of}1Vw~X*@m=U^*t9^=nOBC~(*Y+;?DevT32IduV#$ z=kbcJu*1hXM91B@dryqJvqNUa@pSvKLddHt!CXFjMI}<3y(*DGgIeJ=Ps7Rg&u^@e z8Sz`YapS{~McEXK+?+f1^P(&av?ZFcflV*E-z_onnqqBU zx!pHHZg=wD33#T&<(i6VINot=h}m?C9<}mnKC%x@o@EvJVWE$Rpt3Sg7oj;UM_mMg zTAKA5cT@18jqARRD|JO~`W8ayI}bL#Z+Yxvt>J#4ILFYTc(ri1w0^2{0IJNn`8vd6 zFZ!r{-0|Jt?xg#sWguoja&JjUDErm2y`q1AhTl&WYJ(1b)@MzPnQx28PghpX95&hl zM$hDe6GNX>Bz1fu7vdvVO$Br$ti_2;woyH}cB|RLJIGw)RP!Evf%sMUl!%z5)uf|JUw$u^wBzTG|1K4!CHWnhO<$h-BI zrm~WBWM@F}$2{98cgBun&(v`jG9@`3)~wakmR+tZyR>NT7$nB`3EXZ=u1FXHW*I#= zzYZ8W(P<3@Ja{3m z#H;y2gkHc#Dk}_3HGMB+rNsFT=$*R|%>mlh$T520qfu(}F?j^WFGmwknwm(vK&geK z;f?sp5&E)B#A;Q28IxUC{go&2M)GI{eRV}UF~E>LIV_=9V_CtqD7;!sqcWLni!j;e z%&%!C*sgoi3Cf<%J-q3nx1MW`H4fYNKh@*RZ!VxLv?A`B9uCuHrq&jDOqm#^D$y^se#F7ix_asP=nzQbPlZSco>V+$&c<=GFk(%=wk+ZPr3i z3A&H*{*d#vx7p-HDPxJMG80}TI&;A)QrkqfxTZ@T)xc{x&IO&4HkE~D`^o9gwB870 zJ7zQJ@^G=HX!;|)I+4h=QR^qu4eHvhG-PJB6$^(7%8x|n0-PPQL52zn034%7-6+L9 zY`uBzN)&jbz^4=2)4MKwoAOAp4Oc|5EM6U+$(RD)bH}{oI<|aNa>KTQ0%?xsj~0Zw z@QSjW1|n=AJJ?3X_-sLRf*Vcw^Kq<5u-ipr!IAHJ z^nM=2Nc}tzZnp3vA7vpnP|- zwd66hDI|=9|Dr1%do5=t>7VVKdKUTVZm&0Y=P?OCmh_Q^RJScgf;TolqkCN)`I4oz zONkj%YtnJh@A`mp*2v~1F*RSEFFK9ylW6z+@g(lXLSE|;!WMH&gq9rdn(3v-QNH4A z;V?VN1{(vV2L(!^$+#*kZc0=jhwm%wQ(`7AW0^VPD+a!23Gq+IGKlL)rb-z(^Xc1p zpjT!lG>tAj9gedQ8o@;*v!$6lmIcXRMcEm4iUxvub3eJ!okU9)(S2XXlBT<~M@Ztg z^{zAs%ey3fTt4UOB{SjrDV>g^*eA3>On#>6#XbJKxjBBUEQi|W#i_>?IFTr;^DVWk z<+zPURL$i6rSEyW>$iXVhqIV*y8I*jY8hnQc2W=gOp{p1kzD0dyE@`CX; zHntUf^t_d(zEyj@{@F`)2NlkucW>Mo7w;$G1o;bGry$R65e;#h?Je*ne1}%3T9{~~ zfXXk?hhpHU?ZMdfqyu!slm)8P%=Eg3J*mXUTjkE`;Alpc ziYU6@?4FGZ_rYy@++xE4RRkt|IAX(O(3QZGQ<2Z)=juroZlTnTzxISwcib+g!*_Al z64!{!5ztz40T7&W3iOR1>8FLcXF*XJO^)LS&s~Mj9GSB!)k$&`bRo z^GGxt?4xIvQ)oAiSSk&Y;$nv>PC_-O$mL*Rqv<|k_eL8po*gJ>6tHO>}5Mt ze@?BZ`%N~{)vt7WvIE(C2YT*GNsWQ1)j{y?yiZfFNV_ZSaagi0pL_PNU|Kz3-qrDT zkAiaJZy0&~?o0>VHv>nQYSuKzDxsO%6hGi^(7$r&%hIYO&6YrI5po;9>nicF2$hFl z7VSHb!9JzuP!_erZoBO*pJOti$Ys zFXxHTHlN6w5p8dg;#eE>#Mh*_>X7o;UgFoyZ9u9o%>a`Ku)>`c>T#)p44Zk)QS z)>Hb7zdO}i@(&j9H-TyI>v)R;6(%%TNsks|txarvkjiJ;8`|Bh`Mw*2w2NkK-*{Hx z3q&YMrc14T_)?`nt4eorZy%))mlP%YAMxThO|@cmA|rdLP7T<{++qWvfZ@f|g7&_D zeEB>1669sIdG+}GeTfh}>_y?b!vavF{@nY1|0+sQz>t&HulY>hFvTMu4zx}2UYX*A z)!}8>|L|r=8Aa%eq(@5iY2~;QAQ{(pKa+pc7wIIOvqev^Lm?GnFmrRGrvN(mzo&_U zyd*DS7F@GzWr$>^o-!&V9_|3?B!_v8J0U^&zk4C0V$VJmxJqM&G|T}7zcyxvf857Z z9B%Wpt8dJ}ujAT*7}dBxBKP2JcFl{=j|iKfiTc5>Vkk_c^~4 z)*ZRxvhUM>j_T-N+r0o6B!$-!1sk0|v;=aW#mQbs@0Gs%gS&BeVR)*FxhApQle zdH+dW*qGa3zEnK^I!^8+3m1r+^!xXyN*vA-*{Z-cugmYotZ!or%w05KPxrdz=c{k- zF1$n~t_55PV_h)1B|kgYn$3%s!?2lE!XZ>n9*OJrTR}m=Mj)LwNA6|}CfC!J>M{wr z7SA0k49|tj^LenR?f(+;k&-RS{6Y26RKt6%r zvQvcUa=hcr{E3@`+Mgz+PHlA2-p2C5&-{5I2E_~d#cI{O8+@ytksY2 zb{vu&BL6uVB{k0I{t=^fXBJ3u3`4x;$akFj&VBw$lK&KUdu3Jaqd%f9pm9Cf3*l%)R?xX-;%IX!2L2}KGw*#LQ@ zRlt9n8AH1UAZ%VyFr5XV8mf_FzT4lI>J%465aSR8UP|1E+av8E6rWCat)I4UU*}Ex zT*n~MES`ApPOJyl4P%$H(E2t34eOhU9N zRi_o)h-T3Y=5Zl`A}&+X{$weRX62vC0$OoQM}$I=fn`UMw6mkgEs%)#*PxxJHxBh@ z(Ot`V^yQN!Zw0M#&fYcS2xdn~&QSSBU4>|hzE3QNugG6Z5 zIUAOlXMs6e&%n+M`Ma9vt3_Q&ph=w$RjF5eYk09|fi7oqUn1H~0@588ap`iBRlC8V zDBYf)UC@cPMxY-)bS6!*l$S(-!u-2=u2s_P@y<{UC9XTXkM*V9dcbBT&Wk=)>Hn- zv@5##j_Z3m#woQ#K<);E%#yTL27$JM#7cy5M!Z|F^oI;&4=Vc26rLfen$_k_%eaNS zKO>~vFaY^lg1%i|&Mq@0%8 zQwnr9n34DbHL={0f{I2g6}wXp_8mRL&a|?NI?@Xqo*%gO`wT%F>tOm74TzVM7@TXB)Baf~%E+ zwtXURyWl;_Z}#7H6Ri69KhIdm3V&Q$<4zJ4T+Kn0K1QwnfaeyzzH5!o^uRh7J1CKP zs{cca3uj4A&zgp*HY*eBjb!rg6pd=>zlw)+88vUWr}YOr!rTodDf02D#>-jl0?W1D zPP~(^8r{AGzgo!S1q2!<3g$&n5Tht*xgt#@JopqxAhK?ur>lS_qO|6HMt;^B8p`_1R?OTv{saqS`?O4tMxwSi_=|Hj_9cVLnh$CF8EbH zv>WoTvGSNF)(EQYk-V7q`R-?owj8B_q0a*mt0`ernYRUc8`l@`GHx4^W8SoiHfxh#L6_TvOx4e#D*@9gajLml2{j(JkFnBiY~ zVNYLNJlw~n^x0l^e{NaHPj7g(tjLLXinM1_`Mn&!@>scZ*rtb-4d%KhVIMtbyVR^=~~A3X+U$z#by z=ngS9qx+}_B%eMEdc~gI^u(SV);hCtl=*LWstfBW195?ZY5w#&*LN&B#7Ltcxw**+Hk`-G-##vJm-`yiGmZCdr5By@ z*0;J*+PY!#;577b-7D;#d*~00g66>+V;DejvDc6refAeuV>;>kB$|i_5)mv1H(zIs zWnpNvUPLqp1mX(*Ud3=_sg3$N z7fzSBT@+AvupcTvmrAVF;#-p5ZL1MVn*@YF;#Fz#hdT+9#zO86&5Q+DXq%E-CnVgc zZ>BFoIx+(6T!E4kcOTvy8w+5VH9ejP)r_?Tmp~x`N1`Rlvif41**88!ZCE4iTS~6& zpIuz|n*HC4dHd0Z*ijd(N7I<9Q*Y{V?E{BD?|cZ8Z+rRiksT4!m6Q|4>sR#4a zsB4|HE&Xm=tR-q8{Fn1-@-DWy;TCZqJ%QF-bZvae$P@<}D?vu*)fOgSTZ&(N?%bUqtnx-(7bN0kg@_cP# zg#MGfFf$kXi@Ly;zsAIR%qPZ0Tr3?L*kn5TktW35h*e4AF9`4BJI-TJ?1uEHRyh?- zr#U7<7aGsWKmPc3$w5`_ctd_xsR_4#R>H1(x?-K3h*M+_Ij|qkU4uDOu}?&*C7)`= zGUK9k7qLnUFZ_H+Qkw=@VaKrXO|v;+r!-^cJzr?2huJqQ*H_@E1z-3r7)XtV9F~KO zi1%LgCDyg5Lq_nF^$r)CIK2jWT}n+>?HiCL0cPOWtASI+P}=;4H2)DkA&k5T@^Z5oS7|1d@_W4@NL3xc}o)?TCbC9j2NZQ?a=f5Jlh$HQbm(S1t~2)rGBe8 zO`z=>9gbPv8dSq))NkWZ)Bo{YjTkHn-?=2%yNm4J(jm3ac3MXN<~w)(8Vk)L0I&%tY_GZ|tUX-Q$;;VBVcxALG8C~Nf!yv7&6v+Bw-OcrB$dc!!8tc=;l)wD< z+Q3*+qr(g@P#-R*$SFN!CmnF=Bn8D(1!0n}f?6FL~s!%~dYKy%8CEK7qHV z=ie>pn~DV!%86s)Uu*Z8Yj06s~zKN2$pP`NVT|$WIn6l5nY) ze%r7mkCTC~TQ}1}<7l;^?`(Dr6lMxKGXuUIevCSgz}4B*Zi|Nw!Mp53Mm(rc4ZtVQOz>Z$;&x5Xv}Daoz5A)$jI@Vv z#A?3{>>}uHutV1DbDtWWjdRz zEwnrI^lkq4^Y+cgh!hUOK6KjfuQTrD-n-P;%1b<4#b8hKx2{~jp4<1U{_by3N zYgtCq%9@q-czlDD5yo;rWwWi@iQ$z*saUj7Fq2IoaTcYf{Ntkmr)-}P(_cE_0k`C) zk5+=u5h%Gn7lvuYn)oUxy}88{;-?rU=IBar5_V!|un%(JY4J1AD(G9T3!0M=vr*~{ zrNrb|dAc^-)3Unq%bDoW^u4I!jwi741+ZxV7~)+(#%NQA!0!m|oPALhoW9CR$#a07 zpI4omCP--*0D$CY<3g{?F{V4L+@ES-n|Xx+eMWlkTT?$m2wLETI3qI?*$o zlf!Eo2_cKEw9SZdTFP|#$AmhFuA83%7XnWavFSX0St2x!YB?izR+vT{*HDQ=>r<9z zeGP`YGjG@KYt?mq3mcfSEbfTN8wXjwyB+3w{Ypj^y9&eTH*A^XIYd`^QBP~VsgCVF ziY?It)3p7jP}G)dZ1oF6%=-@j@Dp zYRhxdpoHQ?*V@EcCzBBo*FyP#^Fj-nyAL^S(D`93{^EVOg%@zj?aE$=gB zZcJwFNbDD(!Cv^h%hb{i=pNwMMVz36ZLo4nsYw$~rCkX5LZ7OO24m~do{GYKkx-hM zNdPAws`nu`S#bV7X@=VKp>VDLA{7)VLdB8PK*mS-+0d^+#hd-G(zj`8r}OtAb^*uM z)PU+UprMHu%ofa}vqx9cES9o+#YRP4jiH&YToX7P417m=ra&Ejjxt`iR)bDG;4`>L zrDw&AgFBU%{P7hg#Y9K>Rua}hliIcmR`aYZe_@Y|v?EPPDW!z8eT;0f%X8Wl0B|Ur8nV4E*Glinb5;7!8F@V8}p(a!j}3HSdmK153Q)X1TE@-P32o9cDFz zA3Yxgp>kCW29pK^XnOYH!xXBbeYX;SiInp)DqljQ#m{mMECuUDCy~CA^_gc+u9$xy zA1LAO<>8I)sExtnQaSh>?`CDdhJUc+3ukz)h}N6?JG#B^9VDmY^6r z(%=pzG^S+lrk48M<2fC`nYKdak;)4D17vjPoyV0KpPUq*ip2|3ElYDr1mE|zi`}}9 zwBy(0wZ6}l>8qyQS=(s<)J4&^;x>C!)U+6Dxh)u#Ga;Mq9Bp+gh;h0z0m^e~c`K`W zs?uioGzpAP27W8l|5AZQJn)Bf`VXumTn(1gua*ukm(5>^$SFSrU8eJ8>|bRu5K{$} z=olR(vCw`L z8#;nS9&l0bJ|VA<_kM2tJ|Fb3pVpHRzV1Lwaglr*Lu(Vl>(MC@!^%Ce|346)(Ld4-4JGH`g2f=|NS0z-^n9eu0JwI#onc@VC~fl>uWj?_Hk_{d(jk z+6?%S#<6IeLDl`j?Pd^(C35zF-+%`Xf&aKs^DZ8Wo6Wy~gyhxM z)y@#7w-lsG0}Z*g1;}-NW#C`@Tcw_NmT8TO18nhUb9gFC^+&xqqZ1^>Qm&QU4Asjc zIg4zTU=dlkG7td&pKDkNbGE)}g6U zzbYF7Gp7Jo!Z93ZOe}iZ%=%{`qrS&7_rIHHWB7{2?kY9Y}(hy zMnyTkX|(elJ8)X~Y9w>=DE;q`h3L_)SpX+FI1E}M-FPuW8y82Kk)Mws!`OsU3E!xM zln2D-0=UU`z_NCCUp`9YH z%H!v+-TBq7e>z}~viscb!?tbXcbjmg*IqK`;ZAiJGCm=}4{t1cT0gEFwI9*sZ{W9G zQ9b!d@N4`YKkqP{q{}3~1hpi`G3YqZ#`fu(JYk}v#BHKGb%ina>ri!~S|FMr2s zZTUf`aNN=P{UrO_H-q~__<(k|wiw1G=T}|(!tgXQefgacb-hVS9{XEEIiK<=%M^Cz zmv--HF~109jKR0YjY#;G-!JjylFflrG}1;E+j_U_No%Vv)O$W4a)V55!vrS0%6jGI zPT${)%gP1`O&3hWAG5*fmrpgGvb|tcqSOBQl7Ch7X#0XIE-o%J{|w}{XZo`6p-@#t zQ`~6-<);@vZK+o|Syxw%;n_x;%~H_NG+7}gma4qfzdd1PVglccz0WqYyNaHlE8k68+WQ*trn1Fi4iKk|27wKoF<7S zXrmJF^YBbGX@aV$SP#gw1RS+x?m$JO_%%~UoCbw8@&cnR)izq@_K3+Sy6?<>%ys^H zZ09xlH6ZvBQk!6k%!^s( zEqxmsMdrz?Nz%Iu6f%f=rF-)tEq6@$(p>204RR4|Jy2>|iw5v+YTA|zbCLS$ur35j z>jp`!AX=|d?tIoN8i#ifjNa8w4Uk)_X`#DvhjNnI|-FNOy$)z`)vE+P)Vq1OcuH$SiOW@8<+q7KjB8|kVenl|} ztS|SC`9}D?0nho%>aZ075WwnZy1qCCT`%RQ@MbAHWXm=1H5<-=#rSUVg`?lp5D;nn zs|Q)LH^~iIb5CERLZeCc#mEse_VKv-&S1YkzBz~ExOyn;UgKj{*0!R8fHE3tvXm~r zzB&{4;!tnLWagdRhcvFEd{e#EGl;exnnV$x+|EXS!$i;rN+sfO+Y8=W#WuC_&~EIH zlKGf)cDynuYF9qabmfR_XcS*PtFXPoLxFP~61Hjk!J)sm2TqQG98*HW9Nx9JwQ{Oa z*6k~iVd1062nPJ^BL=uTA%|#ePLSxIW@nNo32J^N1i6rR4=sE~Wa5zCBx1c_wO>2b zw-cxzd48clXoExEeCFpOcaTXnyvf>eLC0qM6sNrc%j>GNxZ&Eki9p7O{nc0b;f@u#7jWlMvY`+v@h1sjg#8$7D zP&*o#BT!AkA`qP3Ky}mUcxp=x2R~xSR^zl6Ax#js+#XN^94Dqlc`0z`o?1T7Mc;-% zDptgTNH8YLHRCrWm+$1T%inRDj!?jum%)g^qn&ZVb^_OmN;uPRSGzOWZqmT&U(Mlu z7aq=E3cMX1eMMaVmlM5hNo1-f)=ELKkFx4PSg3MkYe+P+9$qSD)Lqm9-S9h41+)uN>RmZu#i%&LCIi@;kG|LGrAp^micBq*-6wEgHjjp6}gaNB)p& z9ep`Ve1;qHOI${5*5qK4U?*PHpi%5s(Sa5Ir8Qi?0ki!Ox{EOD_x^q@*~F&1|6Foy z6~4F`2F!v_L=*X>(AK>&BAyKlBu7R_dCa$z<@A|5h90~6$2$%SW-cBL@ zZjjw>`z{iH?gQlF^M(%-4Dne@Bib0zs$HVRm4O}T{nTg2kDV&c)<&OD#pu#~NFX%T zZYV{9+}-;c5u2J#OkSN>xkJ6ZIb*h-bbyf({+jsnW{X}oR#NZB3%pqd%8zz~U7{^v zwM^YBVm^ER%Y057_FN;8kAfD(HSCQm(1S+!^H(`l0BXGh?NQ(R|-bBi)$3`BpG9i5z8L=Cn??sa|zyCV>qxKTe`P-KBgmjhXQgQ?jL$Zj5l@aq_ zPMlq0JM09w|282v{0;Z)WbW{wW*=WRh@5uaKms>6I!2TtmA0qiKCB)wL(Du7o5*w| z-@PJ`d(@81+&>4+XtcjV&7V5#92#db@Ur1@(tGjJV4E&+mYufz@bUR%{;`Ucmr>_C z^l!R0d`W#O&0MFBiDxt*hkXi8#e?|>n`196-~-=5Eod*EfEaV9Z*g^m+%9NnWxJky zUxs<@L2cgs%5L~AF{xf_THoQ5i*mqpPNSw6`LSG9pLfZV;?t}Ux_&F(nw)VbJid;o z@68lqzANK(at1~O{Be48`Fn48Ri)P_!p=Pm9dOOJ3wp#a6?8o5Ngw%1Z>(d>AK%ks zmL9fudhZ;&^gHde9V2$l^W&?||EIPz5Q5-n-g-pGzif!&Sab(4fK*gUlXtGXsv>Jl zG|mRU++G#fmb5uHvs8M-_Al-$6S`?zA@}(=%P)}@$(Qj?xbXxE#VoB0M1O_^UkqH1U&z~h0kUkF`dl;u(2|e zE<8h7xV4TbQg6^c1+tyyG`C6vi`s0mpa%-1hi#*Ij$SVL0^!s#uyvK}^mG8%1U9xv zdX^2o@vbHp^|lEvo+9Vu%}ARfVHOH-g#@-L&Bb;b>JE88tDc4y08;W&y650qc`mMZ zj9`25!b~lh^Wk`XaLB)fQg3~HIwlF8b<;r6YJO5oRhd5&X^0h`Y+nRLQ2F=SNoS zJH0A1aQzS74ojXkOY`ulm@&JTI_csNl-dab&}C>$9YX|ME3|~F1u^dQE%SE*yNM(D z&dj`6v8E7zXqtp|4XpH`ic2~d0y7G3eU~W9B-m`p6=WvFjn6y@I8g=j%5fH{8l~Bs zI%&pbC9pc^|1k+eRrZywjZgWFI<=%B-`$BBPs6sZ7evO(BA;juClozWr#Ipw#kQe) z-oxOgOOB2%YIc8L%X(cG*ib*V3`v z$EaPNiQtyI(HLsgbTo9>tNgs+(rcOR%Pjr2Fqeqfl*zrJy}|d!7w;{YYb=6n6=%FO zRD8DtsVt}x8VN%f4`!%~L+k04=++wd!doQt*f|uhRtzR%ye}}7TAo5;^$eCzoR~ph z#WyLCQNo;4#B>proU`J?Bg49{0E%VTrR=q3e~f3r$j$p@wfsDVp+Q*~zS-S>arPp3w2+3apmC~V(|3wut0O%rC1U~-t0~z*?#lK;n z-%k0#`#dhX#R1ky`HnNMvE8hQq83_fy{5!uJ*`dO0W~JUpPwSU9R8D0Ak<+xq-PzyOd4Pj!!cU{I2XbWH;d|V*d3F*1zb<|60Dk|J#3m zO8zfM+;7M1Kdk0I7|y=|%>VD-G>Ah4Lg^HmC?dMc-O+W^Q5~Rk4oR;GFF$Ju(7Ip9 z^qN_(<4j;z=XcUz6YtkYb{d6r+M8t;;U75dOYBIE-y7yo$WrGvae3zT$b6ReNj5KB zEtZc7nv}r1%z7+}FxazaHZuQtp@tuA!&mWlJFBANwvT}E4*Yb$;t&qEO{Vfqp$f(! zlA}mIM|<*4mt75jPHtIBH`(vv4EF=I-gh~`tkU)R#T3eEHSM@C;jJ)#MRXj|(gf1| z(HL5A9xZ&GC3~_VnDt%v)!#^I3i9O-6sx=`MsviJ0wc=5cwjEHz6e_iZW?=^Iz2dkMc&BEouNQ9>qPa$+`m`#o->Ze#hcr&We1?1j$5` zNXs;x7bN)nW~*TsxUzCctpq0Z>siDSuxck*c9eof(x7jOR!+ zwP3z@qV9wWvi|b+FG$ep^# ziE1>$tuyxV=srzQkZz$Y#Y=?WW>po@LucE8y=}6Vr3qc;vrAZ{ zjQ1J8wQgO(ufYjw9-!7HnzR1k7J^e6*FpvF-C32=Rioa^hSewQ2sAzhmCzfYxKMG& z5Q(A4P(W)~{=PWjf0+fj$q)-0|Dyv zei>e(kAQoa%4!ayq!Lb4Bi8?%aNLr4YHZh1oUhXPb51=+DWl0*e2o)ezDf?=aPAe=CP4ROX@+t)=bK{@%=Vy{UC}dTRW|HA zQ0}G>yp|;>7hRXw$->XUB?Eq{jHxdEUjxK+!EIFj8!yiRKjplTly|f;ZE3ra(|M!aC!~?g z*@z$0XiW*P3tCvmYH%Fimu(H}66UGPrpfHiAan%(H2)$^I&i zkN-Y*b<0JGJNQ_8$)`L{1nzoqO~J#~I#f{?Z|SC~UtO`?VnUkVyF?86beMO9{J3sA zM+VcJy_)J`$!EOecpbnAfWBH@(rTRF(_eRK;NHgX*Qlwk&piDnF+ih;H9oEZ73$Dorjx7 zXR{Dlj)Tk74iNSGv4)6GQguTJm>b^c9a%acvndqfIPI>I(gud1BSyw_wRT#XN8*(< zx%Lzzc+mh`Yhb+RF;oP#X=;+CS`s#V)oa{6x3t&wqn!aBH3cqC_GDVz#Osr#-3W@u z#YF{mb#=ZLpZpGTN5C$YF-mud(hD`A6UAM17d1RQe+h41X|Fl#V#u{1r9c+fxyvSy zKNJltI*?9;+J(qp>+IF1I{hnRMLbwKbbwlUOmkPuN_M@DQdd0oTula-cI+P zlda-~;LWX6GPAL^#yZQl3O%&v}TaJ7Y=6G?mQXa|GPM!as#A zJe%gUW0t-v1CYtZ85~3C7T0lx;#=hTHqgt2ih9A4sCGK>Tzl#8ZML}X(!FEPv6O|W zj*ZV^==Y9mm)GcTh&Nn)Y6yq&PkkU!Y4$%od2X_YRi(WlwZF@VXi7 z7R|}wTlSk$V^4VsVfUM2Sw@mLeRl%;k6H82gx}pVAUm+73C}3m4*b%U4Jz$L=yE62 zXt@Pt+W~}Twj^*L)fX_ShrKN%4kDtO~8SALCY zSA( zM32k(G#(YR$ipBZ_5F?6R{e)3{GAxBwb3p76}99o53F!|()-od71;YQW$3Y?141yt zX|%FOa0`X5%!Y}{wk+W06JHY+^f00|N=X_Xblz%p^(1+BSk*1W%@La3?&?p-b}t*; z(@jn4JT?UTP<7DaYYnln6}4R+>mj&=A;yi0`zm&1@Siqysh*hP(;)^+XT=|Tvaw;M zNwaL!{LbPdS|%SS+;osnb%z{OmV^b@wD)aj`y+F8qFLrH1WUJ5U(%D3uoiNmgEgLv zj8poXiDErjAprZ77b{*3?-?G4(Fi-H?QhwPW+VfaK4Y(1Jm8W|uWSZO+aaJ&De6-+5Eka%J`uc4Z_OmRmF zo|vW-rMi_zY(pW2Z+Q3xHfP{4_=@kW>b#5WU9hTlA(;HB7V2N7(qH8f8)(kNfdzSI zvLviNl{cR#>$mFZ+0%uJ#tmj5h^Pw)mUv0NFt?*)OKVKv7q6?ybE!r%?2Ae@da;e} z;x^z*dpG;ZGT;*x|F?WV?1%~5$7h!4{FIEE7q@T4VEw{F- z-Br!Y1UVxXO)8i3wV=MuSvSO0eSHFE18apOCB1j?NQk~KKysSHS6C{;yREqkf?=pX zRb2dxDfm%mpTPKhTk%$gf!m$VsW>@;z)3K8(6EY zQv3}?BwkwK0BF=Y_&j+X?6S=4#Qq4lr&h;K^uGDx@x`O|zhk8Q+>%QXr|~UE5?Bw4 z!ZJ7BpH`?qkHZjR)!Uyz8Qx=J5L!zE(fV(F!Iyj`ks#f2mwf)UyQMu8BKbS~)01FGNkrjdID zdq_V?S+{6JdH)l{aSfY}kdG_BtX5vEk$zd;8L~Mlxqf%H@U2muEd~L?>+2RZoj8gb zi8o_sG}3k>#_mOTD+r!ICk9V3pB9Lb7+?4dT`>?c+O!EcAFJVg0R2!jzy=&2mj`S4qrUd^jM8i8-P&^&szK^=PaDwlt?Oa}OS+k& ztM=vx3jp;8y^szWm@qWV_tQaJF-o#v)a)OD7+l*j5aK30)KdX1E$9H z_^Kn@V!;fhBO}9Mknm>vqL)c!cc?5|J##$KZ7A3zpW;u3RrS7DR^zZhxXJhKU3jf) zR`0Z`U&Y(#Uu1tKl(-*g@p_~=3+Zb^Nfzjlt=jv6u9JeUV_DI%ick`K)6p?{36(Ca zeahze`gUM$8+m89n9?7f!m|rZu^M+Sm`#t!_D(by-zB)Lra8sc_$9)J2|lcqp;M_} zZ5}YxeNbbW3jhXPPL6nOme^ed_aQg2pxU_s(`e$t4GH6A^q!C5SO&b@m& z?c+89UN-|&P5GraG^tbAU%dDj@L!zcs z>D$YRC>zj2vl;r?hk7PvX!Ae~_-$sKSy}=u#_zHzH6+RIPo&oiy*i?V3-5PF-rKY< ziCm#lVeT?N)_TN>XluR|9vT+I>!>6zs}s!DeJg^b!F7~-toXB@*$b0ST)4z&QtQ}- zb@%%beFbBJ_w8EHWcL-{mdGlDOT`aaTsq()2vJ*c7g=pnAvDwMKkhY_XaF5SIfkY? zVmE1_ar6?=NnC_2soyg}{h%8-1{@U}cBF+gO%UY>l|f==Jv}vaZWq_Dd19r9uxMey znbtmE41CfiNGagz02k5DXI7&VLBv?fq+uwM{c@oyRi59;O+crbG;$T9fn8jr7NyZ` zY$e=qE9xu5GD-UK543yQ@yQL?=tbZaTOia0Q*^mz;9Cd&0XlvdiTd4V_IK$<8NvkB z*^*#O(x>lZK_4U}WPHed#ish~losFnoy2^KBN^MAc}uS3%5CjQu=AZ`IU(8sx)3Dd z-?Q4Yo@~29$nnj^LRVg7{@;PUf5r6au%~6$tm*Jxb*-l#r!|u-rhC5Iem~0hqp*N7 zwjZ=ASXAEC7S%|~{{<&wfp%P9s)FKp)#)>z4mm@+izVgzv1FmScGdQ4;ERNC&mEx7 zbZB2X1jWBVh$~-$L&0;lbW7zkjsG0OMOWr@TUZe5y<>T9ht|zU5U4@c;o&~e9aJ8S zVHIq-ZcRp0`rU=7Xz**gVC&tmo@zT+v}#+JW`{E(kD&8KWal+c*elJbGy0}i`zOh?8 z@lNA=l1upOVW9F?*EkBrR9reHX4J$C)cJ#UPB`FAsp89`aFBL8gAD=> z%qdSsI0DqD8KUg!sh(CKHuC&-8uw}%>mke)|8 z*DRlXzgm9v)A3Eib`sw3H@Gv7g3>_)*t0yMO=FSfD(hev`NF)iT6OA%kTqFx>Vx@Z z%6~pqKr`lnMw;=GWQ>5(Sg++-=`%X(|CY}Nv8r)wAS@e^-`UBJ_OiBOT$Q%bUK_EC zxTc%`EaduiI6$#)u)~8^H%_oF;6^4QVCH3;zpgPEEtaEB)8oi zKa)ZJ=~KWE|ILnQ_^VQi!n8v9HEaH8jv--new?h~Dc4qeNWB0ZNyxnwYVt zy&Lo(ayCs^v*Kcd)03QVf_wE!BN>vYl{qeK#xW+%{cJi9+=rv$9)v7hy3$XE7T*cr z#x?Y&Cxe^Z0MzxFr2Cqi@j%g7`*kqi(q9X%&0UUOe4gVhbuR=dz1kPn5oq{5*r(P8 zOl`3#aqNee;ciJCfsFSS0ucW-B{sw0p>H0pjE7mtX?P764RE7#7~Gj-17Eap4SGWg zN0^47x`n;D1XN}%m)N5XyGNZF?Clt0KVC#fz;uWM?!mq*U01zVe>l@ zvD{OlG(pd-86lVZs*CgyIghnGO+@d7Z-r~CRYx<#1QC4n9Tc6sd5wqWTO%b%MdP#QSWI6TT?oqN_9UF;blF`{#zA*P zuD!T>g1xOOP-mFfNdATH=v!`uT!8bzJ>V57l^49#=7beU1Sj(Ec0_g2GA2)%zTj53 zFK&KJ`DT9#;pcn}ujdI1o@S;o19#dJ!0$|4BI!F~klkm!V5ay%55Cy2MDm6gExtf8 zXjE-IdWV&R6-BVB{Il>>+&#;J;*2vj%F=_Bz<2gjtJ=?6INM|h?>+}2ZBehP_Z0xx z|3EZ?2BeHo-Z2RNSwl03ZT?M4G`h0d94)BPv^&hdh%$-HT&tB2Z{ zrf>FodZFo$GpNO)IkcW2Z;rtO+{$AsW8F8W$qhGmZ#aEuBosq|KKyEvpJAO;XsxDI zhA1s7oRa(`ft5=VcSh-kk$LLW9pc~*OA(o%uS8K<*ek^Ommjm7Q*h}x8m?#2yTo7; z_R$Zy1f2eSp)SZkC?dw6CE8D(;!$@d_81+v8SbdD?wqLKiGXO`=AMr;(1nSN!wT$f zyL8uePhs!f&=Pg8aPwZ3e!G5@nqN)#JCJ;aEn~-mr2`!{I7#;)9eo3tY$kbq$SC%; zuWndvr3gzD(;ql>>zPoZZA&TX! zX#4O{*d@L5h`uHf5y)%NdQaq?Z1+718-=``=I!ckpjO#qt2Nur3lzRxkY;AFI?qs7=SR%PL%xR#slFOb1jQk614bAc1%F1Dc%kfI=hU4a@0B&*V|g*;y*wLY$7t zwGo}e?yn~P(fZ{E^EM4-yKiVA&6InoBUE1`(WDi0KHs}vFt`tyPP6$R&7p{<$ZTY! z3sc-Pa&#Z|M6PV*zH7IO;_>wMzx(3h^1nmZm6FmV$ntYk{s1CvszaZH6Uqyg+)Dm!fV2*iPcou zhBvk(hTbX&_QPP>p#Z&TtExJF(rVQg!>RXbv6wpzk0eQ-%T z@Xhc-HXy%>&~NAd0I|{w!IFB$%q|kC2o!A7uV%?Y_QRzO`Znfh+-xN|AEiS-N4Z1x zM|sexIQc`|f=st4)1vC*+_82XDamSov(3n0zRb$^=XPjch8{zzJkheM^_~`=s(O52 ziAm#I4KIykB_LsM3qCF$@oaZWVPzM$>oa3hG!IrU^^W8=6j7BZrg(jro3Wh`pIF>#lMvi``?MF_7~fC);G5s4FyD`kBGlm16>db$37sX7i8775h?`78Zu zoXiRlhvaLlE=*!lZE+gK&bt*DSSZB!prXzk=0G93?o|75eXFrhNtzv3Fzx>R!24Q=M zkR}co(b6bwj49hetTy(D@NKeck8*k%-kI%+rgCr`#)U9hs1^kklYwB@xJ zRH+O*#fL)RqiP#2k+&EW3Kn5P!Ki*ZUEHz~z=7a>t^4z)swQ#FMwvGFT8nIzJ6M8Z zUq!}s8xmUA!N%bEs!};LP#%&-xTkZ)`+Dy)gSRD;h(vdZ2h4I=mHe%{cXt2)!_clv zat^_R&jRbA=nD|xJ>maIXsDv+nT-qMbQ_vL1xBP1WX}|Un*>Aw6?n#?)k(zQb>rYP z^2EU^i;X$g=AQ4h`VlcAA4A^}ljo5494+U53z;%O-K|^Aue8PfIE>tu8)kUliA>`V z+sVR}0v`0ep6u7Q4ed1YSyoar?$JDPjE*qG9mUjWN2#w~cAjGiS6k0wH4)fe98fsW z)B!YvAr5mmkH@cEbRR!+3Hqqi%mVz|;6q6gXaOy5L8L|FddU0K{%8V?qm^7{^Ya+2 z`~X;fT_K+x+;I||xb)L^x70xWW3vXaL;zB6=8CtlCT6Bz3u4cQi>^Yevy}%<$O4T- zrG5Ml;ea&9+6rr)`f6Sv;|tX89$l$VvvzNyo9Ne`3NL6(8W>0B>GO>>kxgOJP*>X3 z?&Tt}5N0nrBfOCJqPu&x%UR!339o<&>k?Rg6qm=d~{@^4FCZ<>Lr zUz7}JYnNW?$1emVwA`z$IcF?}(=6R#4JT`bfg&%-L)JIrxk@rfWj3&-YxwL!!gB0| z7im35akFB&aH(eOo)vPR>1-_5e**G^{)adL$9kme=3;}hf`_w$yiSSkeG-DRmzs!t z`Y7#E?gEx148sTzB_x|3x9$yZt^lEs~ynO4)I)5YrzTK%QQfTa$ zasvHm$L6X4{~akxvwE{vT5a!C*ARdf1!nImdE*j}pp+0Ypg6~z%7E8#qICj;w_WAF zXQX27B^&|#(NSgn0liR>LjAkbW4>ed{#|$tv#Zj^_baL5oat;OvJIUoXC7Kw5G{yCYk1OhB1;(>8lzw-aSxl4xs7=Z)80>UaC8P1AbW$tL7qrf{Zt z7vX5$x2I;n0}PYo6XAUNd-b@i7Gh1#Q!_eGG9|iai0j~U?kgRE1NiP7$%rP*CU~1s zNr!dZi+-+0LsZwp>v2|3bn%uyq{?Q#;y?a^R}#C6tADoo0efB!tz4GAO_S?wGSxYJ zTdI)cmLqg{6(s}med(r)zm_!=-xTpr+UxwoB3~yQh_qFM6|A~$S{rz{^^tGn9o{81 z2)W9OfoC#EdR_wu>}TpOE?rV>uPp-FhPsP1K`)^jMn(drMU~>p-zw>UqJo6*0_c^N zy3kST*Qa|o>mI0Ez;x+hqdzwZ`N?`DmaePr1jTTBddgsfr~*_=FK*WO$&cz$s3#9I zjnQQQ6qmGJAs>-a$5@_|$)$fPGAz2CS2B?U2+=|ubOpc4W`#lBYgRn;KiyopC<#$r z-6aoq-~znXGi-fS>LqDUkK;Zpaztc;XGWf+AUZUqi0+vl)q*|wPv8GvysP;PzAvr! zNF&>uY!PvT^Lfj|8S(klISekX;j4bA9mT!}=(A(V4RapFkj0mMy1d>K8WjaI`3@`o zrFhtsHYuBT?8GVO)XAeYdDSsqXez$@EIJ?$p?v~rw}2 zwn&BrPx@Js{`YA4|0mEUD+90plaTu_;_Uxz7&H?;r{VmJK;V=15J`u3Cn7N<2t@V( zQ*5qfs4g7CrGx};VmLhLmhql}`l{dsh# zO?rLX6-M?fD-mw|{z-jiB^MRU+I+c@7KL{>8p@9e@f3%{s)2}LzoaC}@ySU!IXRIh z>KYnh$_WF{QtY&S>ZrL~wOm~Kw!Xn%>|ZD+qs8}~f%h_)KnmgCkNmzGaSI_)c38m` z5ycQxUcarc~JM0A}il#rF_xoR9~}aCi~;%Cz9#*_~BjE@W#y$ za@~>Mh%7kh`R{s3ibbzK>LK9>XxEqTHNSf{tDgjE@Kmhk|5;)AFD$fX33mG|D-3>& z^O)#&6>dlrKuLXrHh0@m69W@-;`*lccg@g$@ zB)PS|FaBneXZ-$k5c!Tx7AbF61}RD?`OQ;1(G9+RhSyMpC2=e{>?_qq=fW>fJ%2SsY|GIcP$7=BP<=#4Wg8Ey5tf{H%mw@Al=;{wd4}-s?YO# zzt1_p_s{qKgR^H3pPiZeGxy9rGuK>~gft0!X8+*&)38kG7Dt-fSfjPXt=7C_{72jnVhJvPg)%71- z?P$vUFFkVW&Cg|`RB}lE|M*OAU)VZ2WuoCLjwRGZ8rri_2&b3BdL>I<1#{Efvwli_ zY1Z_OYK+#hgPY^azpffb8cno3_AEQinJyH*#}FKDfv()`dpW6uzGy1#s-Nc~O$9C^ zZW(v=)`-$2pfzMlH6)z%6^%y59m2nubYDTeBrTplZRhm_!0MV9d|-Nn`Kk}q_fA{k zTVG?Cq0t+~qpt+ARY zUYXVRc_;71JlrW734z);R!Rb?+F`q^>Z5Cn!^%Bq6Pxr(|aZ8 z1`iKD+o_%n^JsGBXV^G4b6YF!<5)f`O3Oz!QE4Vr73A9OK5)0Y%*?r2BaqAQi!4g9 z7A_8pXBrd8KX6ZH*!RG?Qv-M@^fRa>vg+RKXd*X@M8=?wX8vkn(za_%pd59rO*%uF zZf+5)bz~9SQt4N3%RQFnY1T`_6>?9{Sx63G5$Txv>??-~#kj_I%kO0o)78_g)+C$4 zG1}j$+jbfOZ!he9wX{FW<^?l1l<3yIk1g*qQkL2@RyDjsIA^wW76?s2u6hORW7o^c z7`$kTuVRnCd?{S|>g>QdRNcn2p{Ov;>0+(2&BOQ`)%A%_MR+e!k{bfoG9Nd8)c9!J zJ;;fETbb6?U@f!35WNK|l}i^fE}kZ@)Zi!r$kpxOB7*AIxq zL|s~0julifWbkbrI^YYhAdbLY58zF4sd^&k{9tJ3o%d9fUe4iQGhkKGR zdRc~eD7hiJL0*+@uwJ(tCPt9Ru_TtY|Hdz3PckBPkNxMD;|0w#1-3Z z-$&PXI8#YOcI+kSlDzD9<~U)>1j`?xLzOKQ}beKx2|bj-i#z#=%mSByix<0~GSQSCNZ~(=YJ6GrHp*+iHt_Ptk(|)3R8dn~Z;`SRGy%7=6jTUQ zCbYa|530DT{7GbK76qTEEBffQsO^1tsBe{C|6(;k&CfZ|=!2m;jr$%CiNd9O^2&|> zt#=dIv(YamW}wj?fj5>?6a>ZCZRWgBw8{c|OoHZ-55NOJq*3vA5JdY79I`@(W;X#r z`LYIfZrhTmaXKWFNZh23T@~coae)+IeC`?#a-Vg8Ox+CBibBEJEPk!Qqes@Hln?v5 z-y-|l`~kB|m(J#Z6ZZ~n@UV$&OH~3Ig>+m~=@*Fd-|w8?IX9KUZ{(DGwQ{r-V<@5DSNl%s!j<-v8z$NEEH&}>vw9>Q8)aMuKxK@uQ9y0nwF9)ZuCfiAjE{_R94v;c+^R{8f5c1tj98_^E{Wyg(WaYE_6c8U9 zXRHwOjmRScr-{c`mvlIw6N}q4>o`eEXd}JLN~1t>A)e~Rtsmr8GMTwWG2L>xC=?~L z!F_=*uD8R|QuiyLyX15B2wvKI_1oT_+((mJZ?>#geGh7_Bqa-+w3erTnr>e4k6k!v zKx=NWX(a9B?&Mb$C0=5<7<%-D3KlrPv{{tQ>>D}*Lk_O2vORCtVlX%h(kj+|9qR~4 zyr7uOZP5?fHEj5pe)H`9&;5>O$tB000R?-dBN2NiEcaT*Lff)Jj`p?Oh6=BJ-`)8t zy40@(0Rz*xnS%?VKB8x4gZo|;J4nqX|78OIzL_DXwse0VO4p})vL+`9Uqx>e(8-1d zrO~ie>B_mb`lz-5_Q6!&s3RqE$SuR4Z*)>Kt|GGqX=d$?v_cI}=v3Mggh0YTX@{EL zP9LaVS_`Kkj?XV7XAi`p37>Pqi*!Ll^z&hpu8b8eUya1#!dwt4)`||U7-39ku>hWf za5>Wy{?#o zZ*jN0?N}rL^Tx?#E-`tGi(F85YYneEUWsL$KiAmG!537^tn7x>I15Y^kIXhhrnFgQ z8m>2D9r$bM?&DKNWS+4B=6{&om-8zrEhR~R!^4}$@cvIUUa&|? z7K*2iC-i)Vlj# zU*Sqb=UYtvBPe(N^V+& zDXmJ|(R~fII`2o#?qOiC}fa>mvwGYEVpUqB1>vK)&@&^gp+okkBZ?K+*fluNDe1)UdWrrHj86_2i_t-S%sqHy7J?e!5NZmOO_UW(1DO zZ)KdXn^7n@xeM*!Z0T{xk_ADzrcYcy`>bA@0p|rjs@`~GKIhblE}<{OwG1ETC6s}< z?9q((KuiQ8$bB*S64V8ku}jZznEX1w4CJJ77*$~IB$jqnuF01pYhG9>zpWfA;8+$z zY@ci@pA=mr5b{KA&)o^c4hOmqDepLS>PMs$;b;gyhMJh2!Iyc9aIIMvXT>r1kmidm zf|!)@Nz30d2Gxz9+~2?TG>l^IHJ+76;D*8O6kwF|YhvFsU(os6j-~4TrDnHf;V;b~28qXs($R9VRQu`Lsj7Kp9 z-Y|N*N!78SB^uG>r_HJi9zk`V>m&#KJ34rDAQuQK&;O0h5$&zc&Z%26{4X(7ILFlL zj@i?}z(Eg%E!%*l3Z6-=J#x@A+i@bje|yJdQciqmV)`36HIQ!_Z!UnBiBKPs)_opOsViND?+Q@ZR4 z0oW3KU!*?}rv)T4e#IY+qZJUK9v-A21f3Z>`e%-7YUaSKNiNk_9JbF%5WvTl1frgk z^l)_n*BE;cph@Bf{odq95;%F`4H@X+#M4OVhdDm3>}oa2_XbUZuPOW;6hye9Vj$Nm zCW2QaTiQLf1u2n(Mh4v`!8nVof-s}2+%-h`E5}t#dH^5 zI^<5T`!qonswI|JsFvSEX$FLYvlekP-opzpFNo{xJF&O_^TS5UQEoUY|cpAh|aN|@K_TjIH3>dDjd z7`Yx8f*RUOy|cINwh`S-k$oK`2AohPzs(Qsfe)|IG%zZ|*)OO#ZvzN_a4*%%IBb6S zVi_+%v%gY!XX)(j#9D$;<`Mr#low2@+;6iZA?oarneV*?T4;S59%!DdrTIYeG2^5G*!E)b$I}5A~^_n9XkO{ zqc3$evoc^u4*L3ESD8nCtVSG-Z94G3n0N<7l!HRI-C;}}^^aYY#vL|33RB<-va=8Z zAw8{l%EsS!1{l)@l|3FiS%_bjE>-q0Li;L&+oawWaaGPe&WW0c;}p(y=X(F9R6yBPV=W zLpEdeoB*12Eh{yHsNq9#)18E{)kED$kGb4gtRyXP$+J5?mG8?TUEGr-Xo9>Mo~0x+ z=CW++U@T{?B=ADx;if}XTjC`3iZ7zwEu0KV(?q8ITBmtSSls&?i!xTi1$&*19NfAJ zJS~yG>^2tv&{Aq@3v%vM00`F-&4)bcve@ku$Z*hWpyTsABE@854;SP~H$fH^x3d{u zS_*!Rsi1GOfbvgsZ$fRabc_1Uis~zIa*6lK6&6V7Z=Y6m{LO%|6*I6|*H0&y;eEwN zN!e~};zn0TxJV(&tQ}sGq{0lRar4|vM3|O?T6cE6ni&33{UCjlIvd4`oC%kJAfoEJ zW2h!b=Gk&M&yJSIk(>*E@?qELNKQ<6e8}(l7~xiyL^XF3*zq8Wyao7t+-R{-d)9QL zZpMK8*c(L9XBUdnpaN33aGxzqaw`e0+sFss(blgbH%60>FdAAeKb5Rl1I{W=JKa?V zLbTHTmCIsQCC-=e@0i+ZHHuOyyGkJF?G>-wqbD#bO?hI|7y+=A(lY}~3!LtQZwrpM zx=zzTn~ChQo}k)0)B$UW-?O~}Q2Uy+tP^84Lqb}iwP$`^RVEGXDcYmLouD_$!)nOU z&YZEZfxKs#4O9@@Cn5Pv(Ik5@TcEz-_#~*U5XE8jWN* zcfFzpYqYis;P1$ArfR|h&zI@UUEDGw#h56s#MZW5fJU(%Shp8-Qmc|1(4lBVZb@g? zw7{-p@B$$VbpfYiCbas?r9GE7rz}a)$#Idd=ThUqp>Uxh*W-8Zikcrv8q1HNvMGpK zK^0oDyZ4GY@Ef*-7Q~8@LUFS;&xfNsXtSCq&3FB5g9qlxb6c*7f1iqPGz;o@`uXSU zpMoc<*`r=xVTpSU!ZW?$21fqFWYnIz926p=)Yz^ioue9}p1Pk7kDb=K8mcYWKM@mi zFZPM(w6I}EcAbO{q~M_r@)bof*q;LB>3jFbtrlRZ5$XwnATVuwfS_&jhDfX?t(%=SUaw8`Pq6Q0|if;XgQOuFj7yh~yVU%_bvka#j|L)M!9ppVXo^8g*=Oe6<3Q zu<4Z@Msr6MFM$>)f#;l8G9+%A%NkxAtus7<@%a$HUs!Pi*HwxtmwkaS(e{C`&28(1 z-vs?B-NG_fg8r{vpbeL)H8uzxj4oKSfI7O)>tY*cNm-h*;R8Je3%lm9mlf_z)H_1y z9BDNZ1nk}0`8M2^2W;F_nQf?JL^!kxTp>t%lol-LKJT&Aohhdllg9La^kX zFYInk&<)3p*W9Cx*od;@IXYvtr8Rj1$~L(V2LjYF=q_A^oPB1m!T?Ft?tK3 zSHkWi?%Zlk(e_BVWQi~O>aF-U>=+k64=O=QZtlQ^{-jG_VW&Av7d-{GC!deSv_5v6e>dt_Yps* z&E0e13KI>rba z)z?c-=-89TEnX@W31vwy1pE?y>{mNkS1>wggF4h`iS2YDHg!--AJ*_8@%^2I8l#DU zVPHlS!+6YdkdW!~)3^ih+rd7|a<7ROJmi@h^ZOF|PlH50y}n<+roL(b?f)7vsR<## zcH8Z4lkZ%1GmOT@{z+`2NaMdd3)C<$3gvki{z^ge)dq`t8jcq<7fq4e1*>CN-{Yj1 z#TD!>6E^CBgSOU-=Y#o+0f{_pzxs*FGpQ+I?7iiCp|L}Kmn?#$l}vB8C}@)3W+U<7 zImh1c;eCEwVz20~Ufc-sz63W~uhZT3Lxv2n3a-N#qy#X6oB6cAby$y_6;_gMQ_k>O z34cfo&PG)Vp`qii>pvcOW~B1N!{R<=@_nRU8g7y(_O**Sp39Z03%{We6GFi&0Z$W< zakW38(+Gape7UM?J>)X0Hc*ejFv>T;n;BU6;H%u#e%}9T z_v_Vab+8=yL3@k=_Jmeudr2%>D^ps?Tf*j^79uq$Xaf?)C*~g~S{QwVm5HIg5ep4| z4BO!VGRHaa7tp~Nv?|q%VID4@=TCY8F$$AfYm zk>k*H|6c5=>dG=SKn&0}|mgnh!0%)f~A+S=)VpbsHFbMXAri zcMV{+I+=0}^X-L7Z}YBZ-{UzbuklLU_spf7yI&>)8{weA9D@;;&>aXX_}yY+v(RxV zY(1qZyw+klF<_orN|}n@{xF_f9=!mAZ!CI3;8V}h2xX%fDXCwN0AkW9rJRK*|VFNHKWV&Hp=y`j> zh-t9aQT&6}EU*(uf?{^AI~*|N!;Fz`;QlUI@iga5fj3~QOZcOyOwQYo5Tf~|g+*dgYDV|w?ew%6r^#xapq5^G)N4$EzYXmRuK)B@EU zJM0lOD~(l2ZH}0Ti*fK>N&LAWL(dAUWW5d3ZW#&gww}}$soYKgg%S0RXI-K@gCTQXs^=3%L@01 z${d2vCzzI#b$V)E_Mh1F61A2E7ZnNzI4t;*ew~CR`vy?E^vY#Cmxa_i_8&Q9oDBjf zFA?cPzEvs%6@!Nns2HAE7HqFKnzoTf>QVe0N|AI<`Sv3yB&u8mg_b=sBT0@yXDRC-?=+g4_4>%&U*EtD&4i z6q*#}SB%(hBFgKEC1YDNam5|6alUv#v5AarZ7z`#zAMb-o`TWR)lS* zw0{K=;P(nq`7w!d@D#n&+5HxKMBTo8qZRi`!fPhxbft=~QcsyM(CTmk7NzK;!g=ar zt*K$9GC0Xy!Q2nNsGdiffIH|_7nHjOhza)MAa(e<#KI_s|7C`nmdqE@2i+`)Z8N(o z6lv$3<{q|L_@b@S2+Z7Q_He5thT9C)N?996kT48$Q`G#zoQcr$1?dT}DwV)HjJP6& zFb*zRFEq$(Tw_{SfFze?#YBwnm2M|#D-Q1?Bl#IjZlxP71XuFQVsRV7`cmANjp52D zHdRffZb!dr=Vnm=bCPJtSv7c5rIKh%>>@WAb=vzqa(PQVk3UGw%Trxq3@Fo7=u#ao29CWt z9n8p$X~jLarla0ha-Z#eG^ir?fg7h*2`W}xxLif4WO6xU!OIIY{h5u!lO9QawT$>M zvXU=c00P+&W(GzBd632m)Qi<-fKMxULoGts+69cQkcORDy5XLK+xFQLue6dZ*8l|k z-P@Ibk@jw_|t~R`{oFt>mhL!nXYRaG>rpg z709aVz9bhzkEzT}=p12VR`TJT$V=slj4*Tp`FM(ZF;qk>MQwBOtCHkN#q7P7MG%N4 z>LHs7LRMf+gm8mg`ShLS#uiLfxjkzqsF3NMdQ6*V@BWG`Dt@8Oa3gwmIUT}R1kSI=~?F% zWnMO|A8I*^H$EM&4!EI*%trMMxs?{|Ut|<9FskaNCAzp7w#}YR4ef?T(-x7lzUBjt zYx)ppHd{-Tc#sN)ZL!6T7OJEQawUZw|v2m1)Z}^T#mc&C+A zu{t83v~3~AI>Dw*?3*HHLIS<`fIC&#mJB?HBv<93!0?0!{~Hui8d(|Do`O3{!N2sN zpr|SAqVVCldFvop(O=J!vT+O*H!SaA)7qqjzu4}?{Ed*9175z#PDqDbRMAuRwxxb% zM5m*^C-ZAtwH*1T?dP%4(pZsW`eXIGyVaDFJM1sl@)IcDR<)&YPCOU_{yTGtDA ziqw5huIYmRytuB8-Hfub<7O@^9C2%nSMP09wQp=3tyn{J7P8ElaDVSSFzg-KJsKGq zLgRsF%TK_P-ChEFl8a~Sr-q#|(icI(Y3=3j6U+{oWGTRs9Y4XnmRxqw>ZOB@jYlL4 zRJk>uoz|D?8K zdiiGUF_E9f?j9mEPuTZcOqF!6bx7b= zy9j@>KsblDe*X;4cGX+&zat~3Dolbt+kpK*G^AV`FMIf~XP~ZHqixDK^}=G`rQQS@ zI~A@IULADh4oM0rMSWZ)qC%^Yk|Terr(X&F9ISV=u$J3|44Piqcj~sjjWpKmf`=L_ zqd*i?2887Z#E4{=_UFS#7J{#YqrOD>_$~-@fln{vKetn?UJ;^$?_nz>0?a<1b96-0 zNL>uFZC8sQ5hwEXSwbg}JLZ3)?^z*&JhK~`%~zFs`Agj~fG%T9i}~!%yLRPUb$55S zGu!E5I|H`S(Axn5X%eqxG{TV6cw4*Jv2b$osgD~+OxR%tlT|cpX6XDP&#d=$R_R%R0 z@Vd%ncAsKC1u^V#|Hg&3eU%`-c|%s9z`-SiGg)baBr>Lchk9KOcMMgACaYlz0}cwH zH(IYleam&&H*eokjXOw&4X|05s^L(!CdS6qF9vOv2smP;8Gl$34ArsX@|vJ6>7xji zrj~S~ix#LGWwB`|YGuP2EQ7-AGUR`df1IyAS=8R)7ker&DSp= zh-)G;`1X8qqy?YU0gnQ8>}o5S5!q`f8SZ|ms27pm;?SMraG#-Vnk2C!)3H^P#DJZf zD2Dy*Xh5FpKSzpLEFq~*ce|bE0zgpM7CK{;>L?>y3(BOT9bMCztyjr?0vNtT*b8e-M(#L)A78XHfY2 zp*q)W=y|-QuKgKVN_@q@*$Nk`lr_ z@@OQ?RlJMQY)!A9s#p20qWe=P`lE}-(NO5J9q;amotKHhxL!#=RT#qDy<=OlBLK{5 z2|L-ev3*7swc`EuX!DLB?WEKXT3ZItn&R6cj08hkpG9`V;RD|%cBD-HV5zjUb1J=^ z>9894a;HasL)Bep2aVKnd;PQ5!oTKzUeS!RmbdR zWLBr5xT4{{TK)TAI$LHsH6OW)a(Zl-gMUSdBW*v@LagXYJ=^~&Cp2@~F zroG_9r zjAmOe6|NTFQAEYANVcruQ19D%l2Z(nQjZF)XW*)KI1oRAyn++?aA@v_nn+{#0Q;mZ zXLQx0R;Kv4>m4vXPb-(rco)55lcO@-HX=+@#WWaaiCSs18t3?U1bZTkNaqE8398wz z6#Bm@&nTzwqwi)e13pzf6TUgN61IIALy4A;i2aPG6ic$<>#4{euxE73 zC0iyO$!qO0`D2l(-5|DBK6Z(G#>NUHOE2kfJ@b|#(HN#CHVzBfAVhC)S}p4JG0g|lLS@3?%0?-X-h$TamMC=sz}tx?S?xzR(V36Tn6owS&!d%P6xJj_P< zvlPW7xWY%Mujt#ucMrSnO#VGstYI~v zlxIeA8>6)@Jee5((}(m?x*zQq=CrHPUlR!ejdaa=hRmnhKYgHhI@ z^8;1G{;rqS&`B@7%@@6G}GmKE_VVKF$8xh+)(1BBMWjR&a3(nzbS8pEbneiBIqI zyAYVZB{H(J>&iWJ;;w#2xD#*4yiDY)f$eVXJ<;MP!r{+SCymGkIMQMSr^lA)$QP9diNTdrOoNfQk?e{@^*Lhv`yx7q1ZjS&bnT*C$B97mJ-5+ z+Zefu`ef!>M|e64=zCiN#Q99T1Twab_`t~6aAz8>rD3ecwNJl3e99Oaqd8+>mR8Yr z{pf6+Kdof>yEdbw7rUp5Py3A7Oe0>Ovgk)+eHMi77H4Y=vKfCnResEc>!9jDpMlxd z-S_+N^`rn=VgA{E)Ze9<9(4RBOpB;mYrGHL^|FTM8beOGU)(A-9mA9m( zShqas^WaGPFSyhTp$M8#`eNQV_JC1bExCbS`Pu|{<{e=PDdhpDs^bw_Skh86#l^f+ zDoQE(3#$bqcK~2KFRn$XlHuXXYirT;sv1L;ecw+DQ(4^sLu_aZ#|+e?aTu`wxj;Hw!AadKrl_}NQIt6sDi zytR>oWw_&!)5Ur)4P!_h?t7yM_emY1`?#GP<35L3U1y8O+GFt}oqB&@)v`_Vu=lLm zV!W|^*7=ntKx4iH0V7AgWuCJyIdfl?eQhFv0I7JdO8{+k-G8cd43LZd9}Z!@#=r36 zKTz=hd86jts(%6F|2N>bJ`mkS^&g>EF;h;XWN0w>UwFBk(7&i?^v$2i|Mi0_O_dD# zyT9=8;ekK69dno8)%ZVv>EXTRi&vJI(1ZvD`v6l?A05N@Q-4JXTAne`v(R)gk4i_Z12?7C^rzoz zYbmIO>^r`{8|kR{TQ4+PKW;W@Ndo`Oj^V@uJ#L|GKM^g*n(lbNfbnh$_?rl(#$DsN z?)ir|*8@TevsMp08n*Esh$j}(4tA#lA=`=fHPrqZFVznpnyOgRLdmCp>(7K|r{6Aj ze->f1F=&Bqvi-)w_A882jRPhJhkl|~6Nfs_w7kD&&L4*oo}Dn2-X?tg$A9w=HB)u3 zZLJ3|AZQ>BR>92q=fW5)m2?aRh@V+_9|F<5M)9u)tmx02YReeYG5&G2z4A-CtmFNz zaXc$QxessVq0gCTv$W5I#?J@RM2-{9{x z3#BqjMJIk0w8+osY39W#=6s`^z zSbxCG%K8aCg#EFef~S9+^ZQ~3+RoY!PJ?TlX5Nc>>CcU$p9|sj9>5SVjce!ikQ9BS zlp)4K^(JA7{GUQurqn2=p-aCDW`O+sr+dWPS~@on1BtVEe)mhyoFRd`?eHLV2p0F0 zJ_5AiPMhx8_-}jV8O}^=x!^ujzh(-qX@1W)zgH z>t>WoreCb#6mRAc-9ZjX|G3(FvhegvdyR7@(|5vu`jrqK;Gv@s;dbgA(W7a!bp6m1L3;zKmG6DZWx+s3+M9)YPtL< zNo>FKz-sr&!~a-#D2d|KaSa6P)qhQz4$Z~?@;?Sb6VLzW*@yVQdDH)6{8(sr{>O$M g{r~qvd>A*kT2YjVV(xD%Fwpi|MoAj>(j?&j0YTlga{vGU literal 60361 zcmcG#byOU|w=SCC?(S~EA-FSWa0u=YTm~JS;Dfsbmmo=iV8Ma~cTKRt-G<-}Z^$|K zp8J09{rA@EwWemex~jTsckR8u{q34)4K)Q!G%~bTuU=s)DFU=!y@G?ne&3-W!OEw; zUoNn(*B)95GOwz~DfVF}2)5Fy(yw0CCZa!BAi~a3fr!ddUa^3 z1d!J8F+F;;buwC5+(kECgPZBX;5I{Q?h430!T^*-12?mlH1|<7| z4!ijT3grdbT3Y(m^mXM$M-LTPu8nVjcwVY3H~#;sdemBT0k!`9)&fbT@D3u4N_~cU z2Jimy@TuB$|23}K)YHylo4XM zAX0URhwzc

    RGv{P18A$B=wm z0kdWk;=#2@#*t1wQ&Wx#qYkqPyo7svNcPp;(N8PGVsUGg(U-bz9P=*OkrTAzCA`n) zZ0J!0}PZ^6rFbK`ij>?=3m1tCiK=Hwc{E+7ojO znM`KT&OoFi>q?{u+9-9hqWL>=V3S+-4&!%9y4@Y>WeA~+a+4wHO`5AWsa69gyaRSJ zCd6u~R(D^KTZctiC-0E$lvV9DdZ!>Gwtwgoan&AgZza`d9L1vc9bX;^W#!zk?tXL- zn}Z7Ko2E_rK3_27zTtILyS>`^Uc|WMCsRoeT*R29p>GQVznrCF&78?+j)NLEnc)qyIQZ!eRc)o(%)nR`uu^&sc`(Hm@ntyglw09op z<(tO`8yx^Rn;*``h zxApRoIZ(I*Qq@fgoi^$Q>U%Q~UvB96O{x}LLO~p$^GqWyH%~LPN3QPRTR(@tP|UYA z-UR*GOklw`@jzSKsd+CI6)#*5u5kWdPUu)?lJAcH^R($hXskII^5h}#0_uQ9pG70 z2G=!98I@GPmL83#_J8%Upe?jFoAT>iB`>P?)A7y{@{1`|9&qaEnYP&_bK88u=r`?S z9Ip2NPFGWGDr4S&FL*(nPEf5t@QuN9jY@VuZ*M32^sz1C*t9GC1$PPLI^;{047B9O zaa0X=O?N3uT%I83+0!tTjk{l^CSuuuLZXt(6!p-q_zb*L zqk(VE+~`9Ap0yXnNiqy|dSQ9{A?|ggogxDw>}lz1Y>QT6;DgUt09(rsdjex#3azt= z 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 literal 109581 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 If no format is specified it takes number as default format type. +### Essential formatting properties -Other properties include: +* [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettingsModel/#name): Specifies the field name to which the formatting should be applied. +* [`format`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettingsModel/#format): Defines the format pattern for the respective field. -* [`useGrouping`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettingsModel/#usegrouping): It allows to enable or disable the separator, for example, $100,000,000 or $100000000 respectively. By default, it will be set as **true**. -* [`currency`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettingsModel/#currency): It allows to set the currency code which needs to considered for the currency formatting. +### Format type codes + +Use these standard format codes to specify the formatting type: + +1. **N** - Numeric formatting (e.g., 1,234.56) +2. **C** - Currency formatting (e.g., $1,234.56) +3. **P** - Percentage formatting (e.g., 12.34%) + +> **Note:** When no format is specified, the component applies numeric formatting as the default. + +### Additional formatting options + +* [`useGrouping`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettingsModel/#usegrouping): Controls the display of grouping separators. When set to **true** (default), displays values like $100,000,000; when **false**, displays as $100000000. +* [`currency`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettingsModel/#currency): Specifies the currency code to be considered for currency formatting (e.g., USD, EUR, GBP). {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -50,15 +60,15 @@ Other properties include: {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs184" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs184" %} You can also format the values at runtime using the formatting dialog. This option can be enabled by setting the [`allowNumberFormatting`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allownumberformatting) property to **true**. The same has been discussed in some of the upcoming topics. -> To use the formatting dialog, inject the `NumberFormatting` module into the pivot table. +> **Important:** To use the runtime formatting dialog, include the `NumberFormatting` module in the pivot table. ## Custom format -You can add any custom format directly to the [`format`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettingsModel/#format) property in the [`formatSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#formatsettings). Custom format can be achieved by using one or more format specifiers listed in the below table. +Custom format lets you display numbers in your preferred pattern by setting the [`format`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettingsModel/#format) property within the [`formatSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#formatsettings). You can use one or more format specifiers (shown in the table below) to control how values appear in the Pivot Table. | Specifier | Description | Input | Format Output | | ------- |--------------- | ---------------- | --------------- | @@ -70,7 +80,7 @@ You can add any custom format directly to the [`format`](https://ej2.syncfusion. | ; | Denotes separate formats for positive, negative and zero values. | { format: '###.##;(###.00);-0' } | '(120.00)' | | 'String' (single Quotes) | Denotes the characters that are enclosed in the single quote (') to be replaced in the resulting string. | { format: "####.00 '@'" } | "123.00 @" | ->NOTE: If custom format is defined, certain properties such as [`useGrouping`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettingsModel/#usegrouping) and [`currency`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettingsModel/#currency) will not be considered. +>NOTE: When you define a custom format, certain properties such as [`useGrouping`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettingsModel/#usegrouping) and [`currency`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettingsModel/#currency) in the format settings will be ignored. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -87,11 +97,11 @@ You can add any custom format directly to the [`format`](https://ej2.syncfusion. {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs185" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs185" %} ## Toolbar -You can enable formatting dialog option in the toolbar by adding `NumberFormatting` in the [`toolbar`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#toolbar). After that, you can see the option to invoke the formatting dialog in the toolbar. +Number formatting can be applied instantly at runtime through the built-in dialog, accessible from the toolbar. To enable this, set both the [`allowNumberFormatting`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allownumberformatting) and [`showToolbar`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showtoolbar) properties to **true**, and include the **NumberFormatting** option in the [`toolbar`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#toolbar) property. The toolbar will then automatically display the "Number Formatting" icon. Clicking this icon opens the dialog, allowing you to specify number formats for value fields directly within the Pivot Table. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -108,11 +118,11 @@ You can enable formatting dialog option in the toolbar by adding `NumberFormatti {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs186" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs186" %} ## Invoking formatting dialog through external button -You can invoke the formatting dialog by clicking an external button using the `ShowNumberFormattingDialog` method. +The number formatting dialog can be opened programmatically by clicking an external button, using the `ShowNumberFormattingDialog` method of the PivotTable component. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -129,21 +139,21 @@ You can invoke the formatting dialog by clicking an external button using the `S {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs187" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs187" %} ## Events ### NumberFormatting -The event [`numberFormatting`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#numberformatting) fires while closing the number formatting dialog on "OK" button click. It allows the user to restrict the customization settings done by the user. It has the following parameters - -* `formatName`: It holds the name of the field. - -* [`formatSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#formatsettings): It holds the [`formatSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#formatsettings) property of the pivot report. +The [`numberFormatting`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#numberformatting) event is triggered when the user clicks the 'Apply' button in the number formatting dialog to confirm their formatting settings. This event facilitates the validation or modification of the formatting settings applied by the user. It includes the following parameters: -* `cancel`: It is a boolean property and by setting this to true , the customization done in number formatting dialog won’t be applied. +| Parameter | Type | Description | +|-----------|------|-------------| +| [`formatName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/numberFormattingEventArgs/#formatname) | `string` | Represents the name of the value field to which number formatting is applied in the dialog. | +| [`formatSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/numberFormattingEventArgs/#formatsettings) | `IFormatSettings` | Contains the user-defined formatting options, such as decimal places (`minimumFractionDigits`, `maximumFractionDigits`), currency symbols (`currency`), or grouping separators (`useGrouping`), applied to the field. | +| [`cancel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/numberFormattingEventArgs/#cancel) | `boolean` | It is a boolean property, and when set to **true**, the customization made in the number formatting dialog will not be applied. | -In the below sample, the customization done in number formatting dialog for the field "Amount" won’t be applied. +The following sample demonstrates how to prevent number formatting changes for the 'Amount' field by setting the [`cancel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/numberFormattingEventArgs/#cancel) property to **true** in the [`numberFormatting`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#numberformatting) event. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -160,7 +170,7 @@ In the below sample, the customization done in number formatting dialog for the {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs188" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs188" %} ## See Also diff --git a/ej2-react/pivotview/olap.md b/ej2-react/pivotview/olap.md index 7177714ec..e1b9c0058 100644 --- a/ej2-react/pivotview/olap.md +++ b/ej2-react/pivotview/olap.md @@ -1,22 +1,24 @@ --- layout: post -title: Olap in React Pivot Table component | Syncfusion -description: Learn here all about Olap in Syncfusion React Pivot Table component of Syncfusion Essential JS 2 and more. -control: Olap +title: OLAP in React Pivot Table component | Syncfusion +description: Learn here all about OLAP in Syncfusion React Pivot Table component of Syncfusion Essential JS 2 and more. +control: OLAP platform: ej2-react documentation: ug domainurl: ##DomainURL## --- -# Olap in React Pivot Table component +# OLAP in React Pivot Table component -## Getting started +## Getting Started -This section explain steps to create a simple **Pivot Table** with OLAP data source in React environment. +This section explains the steps to create a simple **Pivot Table** with an OLAP data source in a React environment. ### Dependencies -The following list of dependencies are required to use the pivot table component in your application. +Understanding the dependency structure helps you identify the required packages for implementing the Pivot Table component with OLAP data in your React application. The Pivot Table component relies on a structured hierarchy of dependencies that provide essential functionality for data processing, user interface elements, and export capabilities. + +The following dependency tree shows the required packages for the React Pivot Table component: ```javascript |-- @syncfusion/ej2-react-pivotview @@ -42,175 +44,145 @@ The following list of dependencies are required to use the pivot table component |-- @syncfusion/ej2-react-base ``` -### Setup for Local Development - -You can use [create-react-app](https://github.com/facebook/create-react-app) to setup the application. To install **create-react-app** run the following command. - - ``` - npm install -g create-react-app - ``` - -To create basic **React** application use following commands. +The main package `@syncfusion/ej2-react-pivotview` serves as the primary React wrapper for the Pivot Table component. This package automatically includes all the necessary sub-dependencies shown in the tree structure above. When you install the main package, npm will automatically resolve and install these dependencies, ensuring your Pivot Table component functions properly with OLAP data binding and supported operations. -
    - - ``` - create-react-app quickstart --scripts-version=react-scripts-ts - ``` +### Setup for Local Development -Now, the application is created in the **quickstart** demo folder. Run the following command one-by-one to navigate to the **quickstart** demo folder, and install the required **npm** dependent packages. +To set up a React application for using the Pivot Table component with OLAP data, use `create-vite-app`. This tool provides a fast and efficient development environment with smaller bundle sizes and optimized builds. For detailed steps, refer to the Vite [installation guide](https://vitejs.dev/guide/). - ``` - cd quickstart +> **Note:** To create a React application using `create-react-app`, refer to this [guide](https://ej2.syncfusion.com/react/documentation/getting-started/create-app) for more details. - npm install - ``` +To create a new React application, open your terminal and run the following command: -
    +```bash +npm create vite@latest my-app +``` -
    +To set up a React application with TypeScript, use this command: - ``` - create-react-app quickstart - ``` +```bash +npm create vite@latest my-app -- --template react-ts +cd my-app +npm run dev +``` -Now, the application is cloned in the **quickstart** demo folder. Run the following command one-by-one to navigate to the **quickstart** demo folder, and install the required **npm** dependent packages. +This command creates a TypeScript-based React application, navigates to the project folder, and starts the development server. - ``` - cd quickstart +To set up a React application with JavaScript, use this command: - npm install - ``` +```bash +npm create vite@latest my-app -- --template react +cd my-app +npm run dev +``` -
    +This command creates a JavaScript-based React application, navigates to the project folder, and starts the development server. -### Adding Syncfusion® packages +### Adding Syncfusion® Packages -All the available Essential® JS 2 packages are published in [npmjs.com](https://www.npmjs.com/~syncfusionorg) public registry. To install pivot table component, use the following command. +To use the Pivot Table component with OLAP data in your React project, you need to install the required Syncfusion® packages. These packages are available in the [npmjs.com](https://www.npmjs.com/~syncfusionorg) public registry. Run the following command to install the Pivot Table package: - ``` - npm install @syncfusion/ej2-react-pivotview --save - ``` +```bash +npm install @syncfusion/ej2-react-pivotview --save +``` -> The **--save** will instruct NPM to include the pivot table package inside the `dependencies` section of the `package.json`. +> The `--save` option ensures that the Pivot Table package is added to the `dependencies` section of your `package.json` file. -### Adding CSS reference +### Adding CSS Reference -Add pivot table and its [dependent](#dependencies) components styles as given below in **src/App.css** file. In this illustration, we have referred **material** theme. +To style the [Pivot Table](https://www.syncfusion.com/react-components/react-pivot-table), include the necessary CSS files for the Pivot Table and its [dependent](#dependencies) components in the **src/App.css** file. For this example, we use the **material** theme to ensure a consistent and modern appearance. Add the following code to import the required styles: - ```css - @import '../node_modules/@syncfusion/ej2-base/styles/material.css'; - @import '../node_modules/@syncfusion/ej2-buttons/styles/material.css'; - @import '../node_modules/@syncfusion/ej2-dropdowns/styles/material.css'; - @import '../node_modules/@syncfusion/ej2-grids/styles/material.css'; - @import '../node_modules/@syncfusion/ej2-inputs/styles/material.css'; - @import '../node_modules/@syncfusion/ej2-lists/styles/material.css'; - @import '../node_modules/@syncfusion/ej2-navigations/styles/material.css'; - @import '../node_modules/@syncfusion/ej2-popups/styles/material.css'; - @import "../node_modules/@syncfusion/ej2-splitbuttons/styles/material.css"; - @import '../node_modules/@syncfusion/ej2-calendars/styles/material.css'; - @import '../node_modules/@syncfusion/ej2-react-pivotview/styles/material.css'; - ``` +```css +@import '../node_modules/@syncfusion/ej2-base/styles/material.css'; +@import '../node_modules/@syncfusion/ej2-buttons/styles/material.css'; +@import '../node_modules/@syncfusion/ej2-dropdowns/styles/material.css'; +@import '../node_modules/@syncfusion/ej2-grids/styles/material.css'; +@import '../node_modules/@syncfusion/ej2-inputs/styles/material.css'; +@import '../node_modules/@syncfusion/ej2-lists/styles/material.css'; +@import '../node_modules/@syncfusion/ej2-navigations/styles/material.css'; +@import '../node_modules/@syncfusion/ej2-popups/styles/material.css'; +@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/material.css'; +@import '../node_modules/@syncfusion/ej2-calendars/styles/material.css'; +@import '../node_modules/@syncfusion/ej2-react-pivotview/styles/material.css'; +``` -> You can also refer other themes like bootstrap, fabric, high-contrast etc. To know about individual component CSS, please refer [here](../../appearance/theme). +These styles ensure the [Pivot Table](https://www.syncfusion.com/react-components/react-pivot-table) and its related components, such as buttons and dropdowns, display correctly. You can also use other themes like **bootstrap**, **fabric**, or **high-contrast** to match your application's look. For details on individual component styles, refer to the [Syncfusion theme documentation](https://ej2.syncfusion.com/react/documentation/appearance/theme-studio). -Next we need to refer **App.css** in the application by importing it in the **src/App.tsx** file as follows. +Next, import the **App.css** file into your application by adding the following line in the **src/App.ts** (for TypeScript) or **src/App.js** (for JavaScript) file: -```ts +```js import './App.css'; ``` -### Adding pivot table component +This import applies the CSS styles to your React application, enabling the [Pivot Table](https://www.syncfusion.com/react-components/react-pivot-table) to render with the **material** theme. -You can initialize pivot table component in the application using following steps. +### Adding Pivot Table Component -* Import the **PivotViewComponent** (aka, PivotTable) component from the **@syncfusion/ej2-react-pivotview** package in **app.ts** file. -* Then you can initialize pivot table component (``) using following code. +To integrate the Pivot Table component with an OLAP data source into your React application, follow these steps to initialize it and configure it for OLAP data analysis. - ```ts - import { PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; - import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; - import * as React from 'react'; - import './App.css'; +#### 1. Import the Pivot Table Component +In your `App.ts` (or `App.js`) file, import the `PivotViewComponent` from the `@syncfusion/ej2-react-pivotview` package. - function App() { - return - }; +#### 2. Initialize the Component +Set up the `` in your application using the following code: - export default App; +```ts +import { PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; +import * as React from 'react'; +import './App.css'; - ``` +function App() { + return (); +} -After initialization, add the the following code in **src/App.tsx** file to populate pivot table with a sample OLAP data source. Refer [here](#data-binding) to know the more details about OLAP data binding. +export default App; +``` +#### 3. Populate with OLAP Data +To enable users to perform meaningful analysis with OLAP data, the Pivot Table component requires a properly configured OLAP data source. This data source connects to an OLAP cube, such as Microsoft SQL Server Analysis Services (SSAS), to fetch multidimensional data for analysis. +For demonstration purposes, we'll use the **Adventure Works** cube. The OLAP data source is assigned to the Pivot Table component through the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) configuration. For more details on OLAP data binding, refer [here](#data-binding). - ```ts - import { PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; - import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; - import * as React from 'react'; - import './App.css'; +Here's the complete code to initialize the Pivot Table with an OLAP data source: - function App() { +```ts +import { PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; +import * as React from 'react'; +import './App.css'; - let dataSourceSettings: DataSourceSettingsModel = { - catalog: 'Adventure Works DW 2008 SE', - cube: 'Adventure Works', - enableSorting: true, - localeIdentifier: 1033, - providerType: 'SSAS', - url: 'https://bi.syncfusion.com/olap/msmdpump.dll', - } - let pivotObj: PivotViewComponent; - return ( pivotObj = d} id='PivotView' height={350} dataSourceSettings={dataSourceSettings} />) +function App() { + let dataSourceSettings = { + catalog: 'Adventure Works DW 2008 SE', + cube: 'Adventure Works', + enableSorting: true, + localeIdentifier: 1033, + providerType: 'SSAS', + url: 'https://bi.syncfusion.com/olap/msmdpump.dll', }; + let pivotObj; + return ( pivotObj = d} id='PivotView' height={350} dataSourceSettings={dataSourceSettings}/>); +} - export default App; - ReactDOM.render(, document.getElementById('sample')); - - ``` - - ```ts - import { PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; - import * as React from 'react'; - import './App.css'; - function App() { - let dataSourceSettings = { - catalog: 'Adventure Works DW 2008 SE', - cube: 'Adventure Works', - enableSorting: true, - localeIdentifier: 1033, - providerType: 'SSAS', - url: 'https://bi.syncfusion.com/olap/msmdpump.dll', - }; - let pivotObj; - return ( pivotObj = d} id='PivotView' height={350} dataSourceSettings={dataSourceSettings}/>); - } - ; - export default App; - ReactDOM.render(, document.getElementById('sample')); - ``` - -### Adding OLAP cube elements to row, column, value and filter axes - -Now that pivot table is initialized and assigned with sample OLAP data source, will further move to showcase the component by organizing appropriate [OLAP cube elements](#olap-cube-elements) in [`rows`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#rows), [`columns`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#columns), [`values`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#values) and [`filters`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#filters) axes. - -In [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#datasourcesettings) property, four major axes [`rows`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#rows), [`columns`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#columns), [`values`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#values) and [`filters`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#filters) plays a vital role in defining and organizing [OLAP cube elements](#olap-cube-elements) from the bound data source, to render the entire pivot table component in a desired format. +export default App; +``` -[`rows`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#rows) – Collection of [OLAP cube elements](#olap-cube-elements) (such as Hierarchies, NamedSet, Calculated Members etc.,) that needs to be displayed in row axis of the pivot table. +### Adding OLAP Cube Elements to Row, Column, Value, and Filter Axes -[`columns`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#columns) – Collection of [OLAP cube elements](#olap-cube-elements) (such as Hierarchies, NamedSet, Calculated Members etc.,) that needs to be displayed in column axis of the pivot table. +After initializing the Pivot Table and assigning a sample OLAP data source, you can organize the [OLAP cube elements](#olap-cube-elements) to define how your data is displayed using the [`rows`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#rows), [`columns`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#columns), [`values`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#values), and [`filters`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#filters) properties in the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#datasourcesettings) option. -[`values`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#values) – Collection of [OLAP cube elements](#olap-cube-elements) (such as Measures, Calculated Measures) that needs to be displayed as aggregated numeric values in the pivot table. +You can use these four main axes to arrange OLAP cube elements from your data source and control how the Pivot Table displays the information. -[`filters`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#filters) - Collection of [OLAP cube elements](#olap-cube-elements) (such as Hierarchies and Calculated Members) that would act as master filter over the data bound in row, column and value axes of the pivot table. +- [`rows`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#rows): Add OLAP cube elements such as hierarchies, named sets, or calculated members to show them as rows in the Pivot Table. +- [`columns`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#columns): Add OLAP cube elements like hierarchies, named sets, or calculated members to show them as columns in the Pivot Table. +- [`values`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#values): Add OLAP cube elements such as measures or calculated measures to display summarized numeric data in the Pivot Table. +- [`filters`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#filters): Add OLAP cube elements like hierarchies or calculated members here to filter the data shown in the row, column, and value axes. -In-order to define each [OLAP cube element](#olap-cube-elements) in the respective axis, the following basic properties should be set. +To specify each [OLAP cube element](#olap-cube-elements) in the required axis, set the following options: -* [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptions/#name): It allows to set the unique name of the hierarchies, named set, measures, calculated members etc., from the bound OLAP data source. It’s casing should match exactly like in the data source and if not set properly, the pivot table will be rendered as empty. -* [`caption`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptions/#caption): It allows to set the caption, which is the alias name of the unique name that needs to be displayed in the pivot table. If not provided, unique name will be displayed. +- [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptions/#name): Specifies the unique name of the hierarchy, named set, measure, or calculated member from the OLAP data source. The name must be entered exactly as it appears in the data source. If the name is not matched, the Pivot Table will be empty. +- [`caption`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptions/#caption): Specifies a caption or display name for the item in the Pivot Table. If a caption is not set, the unique name appears by default. -In this sample, "Product Categories" is added in column, "Customer Geography" in row, and "Customer Count" and "Internet Sales Amount" in value axes respectively. +For example, in the sample below, the element "Product Categories" is assigned to the columns axis, "Customer Geography" is assigned to the rows axis, and both "Customer Count" and "Internet Sales Amount" are set in the values axis. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -221,13 +193,15 @@ In this sample, "Product Categories" is added in column, "Customer Geography" in {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs189" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs189" %} + +### Applying Formatting to a Value Field -### Applying formatting to measures +You can change how values in the Pivot Table are displayed by applying formatting. For example, you can display values as currency by using the **C** format string. To apply formatting, use the [`formatSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettings/#formatsettings) property within [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/), and define both the [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettings/#name) (the value field to format) and the [`format`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettings/#format) (the format to apply). -Formatting defines a way in which values should be displayed in pivot table. For example, format **"C0"** denotes the values should be displayed in currency pattern without decimal points. To do so, define the [`formatSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettings/#formatsettings) with its [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettings/#name) and [`format`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettings/#format) properties. In this sample, the [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettings/#name) property is set as "[Measures].[Internet Sales Amount]", a measure from value axis and its format is set as "C0". Likewise, we can set format for other measures as well. +In the following example, the [`formatSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettings/) property is used to apply the **C0** format to the **[Measures].[Internet Sales Amount]** field. This causes its values to be displayed as currency, showing the currency symbol without any decimal places. You can add formatting for other value fields in a similar way by including them in the [`formatSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/formatSettings/#formatsettings) array. -> Only measures from value axis, which is in the form of numeric data values are applicable for formatting. +> Only fields from the value section containing numeric data can be formatted. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -238,13 +212,15 @@ Formatting defines a way in which values should be displayed in pivot table. For {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs190" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs190" %} -### Enable grouping bar +### Enable Grouping Bar -The Grouping Bar feature automatically populates [OLAP cube elements](#olap-cube-elements) from the bound data source and allows end users to drag [OLAP cube elements](#olap-cube-elements) between different axes such as [`rows`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#rows), [`columns`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#columns), [`values`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#values) and [`filters`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#filters), and change pivot view at runtime. Sorting, filtering and removing of elements is also possible. It can be enabled by setting the [`showGroupingBar`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotViewModel/#showgroupingbar) property to **true** and by injecting the **GroupingBar** module as follows. +The grouping bar lets users easily organize [OLAP cube elements](#olap-cube-elements) from the connected data source. Users can drag these cube elements between different axes, such as [rows](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#rows), [columns](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#columns), [values](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#values), and [filters](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#filters), to quickly change how data is shown in the Pivot Table. It also allows sorting, filtering, and removing of elements directly from the grouping bar, making it simple to customize the Pivot Table layout at runtime. -> If the **GroupingBar** module is not injected, the grouping bar will not be rendered with the pivot table component. +To display the grouping bar, set the [`showGroupingBar`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotViewModel/#showgroupingbar) property to **true** in the [Pivot Table](https://ej2.syncfusion.com/react/documentation/api/pivotview/) component, and make sure to inject the **GroupingBar** module as shown below. + +> Note: If the **GroupingBar** module is not injected, the grouping bar will not appear in the Pivot Table component. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -255,13 +231,15 @@ The Grouping Bar feature automatically populates [OLAP cube elements](#olap-cube {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs191" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs191" %} + +### Enable Pivot Field List -### Enable pivot field list +The Pivot Table control includes a built-in Field List, similar to the one in Microsoft Excel. This Field List allows users to add or remove [OLAP cube elements](#olap-cube-elements), and to move them between different axes: [rows](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#rows), [columns](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#columns), [values](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#values), and [filters](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#filters). Users can also filter and sort these elements as needed, all during runtime. -The component provides a built-in Field List similar to Microsoft Excel. It allows you to add or remove [OLAP cube elements](#olap-cube-elements) and also rearrange the [OLAP cube elements](#olap-cube-elements) between different axes, including [`rows`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#rows), [`columns`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#columns), [`values`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#values) and [`filters`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#filters) along with filter and sort options dynamically at runtime. It can be enabled by setting the [`showFieldList`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotViewModel/#showfieldlist) property to **true** and by injecting the **FieldList** module as follows. +To display the Field List, set the [`showFieldList`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotViewModel/#showfieldlist) property to **true** on the Pivot Table. It is also necessary to inject the [`FieldList`](https://ej2.syncfusion.com/react/documentation/api/pivotview/FieldList/) module. -> If the **FieldList** module is not injected, the Field List will not be rendered with the pivot table component. +> Note: If the **FieldList** module is not injected, the Field List will not appear in the Pivot Table. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -272,11 +250,13 @@ The component provides a built-in Field List similar to Microsoft Excel. It allo {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs192" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs192" %} -### Exploring filter axis +### Exploring Filter Axis -The filter axis contains collection of [OLAP cube elements](#olap-cube-elements) such as hierarchies and calculated members that would act as master filter over the data bound in [`rows`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#rows), [`columns`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#columns) and [`values`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#values) axes of the pivot table. The [OLAP cube elements](#olap-cube-elements) along with filter members could be set to filter axis either through report via code behind or by dragging and dropping [OLAP cube elements](#olap-cube-elements) from other axes to filter axis via grouping bar or field list at runtime. +The filter axis in the Pivot Table allows users to control which data is displayed in the [`rows`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#rows), [`columns`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#columns), and [`values`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#values) axes. It includes various [OLAP cube elements](#olap-cube-elements), such as hierarchies and calculated members. When elements are placed in the filter axis, they act as master filters that refine the data shown in the Pivot Table. + +Users can add [OLAP cube elements](#olap-cube-elements) and filter members to the filter axis either by updating the report in code behind or by dragging items from other axes to the filter axis using the grouping bar or field list at runtime. This makes it easy to filter data according to specific requirements directly within the Pivot Table interface. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -287,28 +267,29 @@ The filter axis contains collection of [OLAP cube elements](#olap-cube-elements) {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs193" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs193" %} + +### Calculated Field -### Calculated field +The calculated field option lets users create a new field in the Pivot Table by using expressions based on existing [OLAP cube elements](#olap-cube-elements) from the connected data source. These calculated fields are new custom dimensions or measures built from an expression defined by the user. -The calculated field allows user to insert or add a new calculated field based on the available [OLAP cube elements](#olap-cube-elements) from the bound data source. Calculated fields are nothing but customized dimensions or measures that are newly created based on the user-defined expression. +There are two types of calculated fields: -The two types of calculated fields are as follows: +- **Calculated Measure** – Creates a new measure by using a custom expression. +- **Calculated Dimension** – Creates a new dimension by using a custom expression. -* **Calculated Measure** – Creates a new measure through user-defined expression. -* **Calculated Dimension** – Creates a new dimension through user-defined expression. +You can define calculated fields in your code by using the [`calculatedFieldsSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/calculatedFieldSettings/#calculatedfieldsettings) property in the [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) configuration. The available options for calculated fields are: -It can be customized using the [`calculatedFieldsSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/calculatedFieldSettings/#calculatedfieldsettings) property through code behind. The setting required for calculate field feature at code behind are: -* [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/calculatedFieldSettings/#name): It allows to set the unique name for new calculated field. -* [`formula`](https://ej2.syncfusion.com/react/documentation/api/pivotview/calculatedFieldSettings/#formula): It allows to set the user-defined expression. -* [`hierarchyUniqueName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/calculatedFieldSettings/#hierarchyuniquename): It allows to specify dimension unique name whose hierarchies alone should be used in the expression. This will be applicable only for calculated dimension. -* [`formatString`](https://ej2.syncfusion.com/react/documentation/api/pivotview/calculatedFieldSettings/#formatstring): It allows to set the format string for the resultant calculated field. +- [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/calculatedFieldSettings/#name): Sets a unique name for the new calculated field. +- [`formula`](https://ej2.syncfusion.com/react/documentation/api/pivotview/calculatedFieldSettings/#formula): Allows you to set the expression for the calculated field. +- [`hierarchyUniqueName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/calculatedFieldSettings/#hierarchyuniquename): Specifies the dimension’s unique name, so that only hierarchies within that dimension are used in the expression. This option applies only to calculated dimensions. +- [`formatString`](https://ej2.syncfusion.com/react/documentation/api/pivotview/calculatedFieldSettings/#formatstring): Sets the format for the calculated field result. -You need to set [`isCalculatedField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptions/#iscalculatedfield) property to true, while adding calculated fields to respective axis through code behind. +When adding calculated fields to an axis in your code, set the [`isCalculatedField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptions/#iscalculatedfield) property to **true**. -Also calculated fields can be added at run time through the built-in dialog. The dialog can be enabled by setting the [`allowCalculatedField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotViewModel/#allowcalculatedfield) property to **true** and by injecting the **CalculatedField** module as follows. You will see a button enabled in the Field List UI automatically to invoke the calculated field dialog and perform necessary operation. +You can also add calculated fields at runtime through the built-in dialog. To enable this dialog, set the [`allowCalculatedField`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotViewModel/#allowcalculatedfield) property to **true** and add the **CalculatedField** module. This will display a button in the Field List UI, letting users open the calculated field dialog and create or edit calculated fields as needed. -> If the **CalculatedField** module is not injected, the calculated field dialog will not be rendered with the pivot table component. Moreover calculated measure can be added only in value axis. +> If the **CalculatedField** module is not added, the calculated field dialog will not be shown with the Pivot Table component. Also, calculated measures can be added only to the value axis. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -319,111 +300,127 @@ Also calculated fields can be added at run time through the built-in dialog. The {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs194" %} - -Users can add a calculated field at runtime through the built-in dialog by using the following steps. - -**Step 1:** Click the "CALCULATED FIELD" button in the field list dialog positioned at the top right corner. The calculated field dialog will be opened now. Enter the name of the calculated field to be created. -
    -
    -![output](images/olap_calc_button.png) -
    -
    -![output](images/calculatedfield-name.png) -
    -
    -**Step 2:** Frame the expression by dragging and dropping the fields from the tree view on the left side of the dialog using simple arithmetic operators. **Example:** "IIF([Measures].[Internet Sales Amount]^0.5 > 100, [Measures].[Internet Sales Amount]*100, [Measures].[Internet Sales Amount]/100)". Please refer here to learn more about the supported [`operators`](https://docs.microsoft.com/en-us/sql/mdx/operators-mdx-syntax?view=sql-server-ver15) and [`functions`](https://docs.microsoft.com/en-us/sql/mdx/functions-mdx-syntax?view=sql-server-ver15) to frame the expression. -
    -
    -![output](images/calculatedfield-drag.png) -
    -
    -**Step 3:** Confirm the type of the field to be created - calculated measure or calculated dimension. -
    -
    -![output](images/calculatedfield-type.png) -
    -
    -**Step 4:** Choose the parent hierarchy of the calculated field. NOTE: It is only applicable to the calculated dimension. -
    -
    -![output](images/calculatedfield-hierarchy.png) -
    -
    -**Step 5:** Then select the format string from the drop-down list and finally click "OK". -
    -
    -![output](images/calculatedfield-format-string.png) -
    -
    -![output](images/olap_calc_grid.png) -
    -
    +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs194" %} + +Users can add a calculated field at runtime using the built-in dialog by following these steps: + +**Step 1:** Click the **CALCULATED FIELD** button in the field list dialog, located at the top right corner. The calculated field dialog appears. Enter the name for the new calculated field in the dialog. + +![Calculated field button](images/olap_calc_button.png) + +![Enter calculated field name](images/calculatedfield-name.png) + +**Step 2:** Create the expression for your calculated field. To do this, drag and drop fields from the tree view on the left side of the dialog and use simple arithmetic operators. + +**For example**: `IIF([Measures].[Internet Sales Amount]^0.5 > 100, [Measures].[Internet Sales Amount]*100, [Measures].[Internet Sales Amount]/100)` +For more information about supported [`operators`](https://docs.microsoft.com/en-us/sql/mdx/operators-mdx-syntax?view=sql-server-ver15) and [`functions`](https://docs.microsoft.com/en-us/sql/mdx/functions-mdx-syntax?view=sql-server-ver15), see the Microsoft documentation. + +![Create calculated field expression](images/calculatedfield-drag.png) + +**Step 3:** Select the type for the new field, either calculated measure or calculated dimension. + +![Select calculated field type](images/calculatedfield-type.png) + +**Step 4:** If you are creating a calculated dimension, select its parent hierarchy from the drop-down list. This step is only required when adding a calculated dimension. + +![Choose parent hierarchy](images/calculatedfield-hierarchy.png) + +**Step 5:** Select a format string from the drop-down list and then click **OK** to finalize the calculated field. + +![Choose format string](images/calculatedfield-format-string.png) + +![Calculated field added in Pivot Table](images/olap_calc_grid.png) #### Format String -Allows you to specify the required format string while creating new calculated field. Supported format strings are: +When creating a calculated field in the [Pivot Table](https://ej2.syncfusion.com/react/documentation/api/pivotview/), you can choose the format for displaying values by selecting a format string. The available options are: + +* **Standard** – Displays values as standard numbers. +* **Currency** – Displays values in currency format. +* **Percent** – Displays values as a percentage. +* **Custom** – Allows you to define your own format string. For example, entering "###0.##0#" will show the value "9584.3" as "9584.300". + +By default, the **Standard** option is selected in the drop-down list. + +This option helps users present calculated field results in the most suitable format for their needs. + +![Format string in calculated field](images/calculatedfield-fomat.png) + +#### Renaming the Existing Calculated Field + +You can rename any existing calculated field directly through the user interface at runtime. This option allows you to update calculated field names to keep them clear and meaningful as your analysis needs change. + +To rename a calculated field: + +1. Open the calculated field dialog in the Pivot Table. +2. Click the name of the field you want to rename. The current name will be shown in the text box at the top of the dialog. +3. Enter the new name in the text box. +4. Click **OK** to save the new name. + +![Renaming the calculated field before editing](images/before-edit-olap.png) + +![Renaming the calculated field after editing](images/after-edit-olap.png) -* **Standard** - Denotes the numeric type. -* **Currency** - Denotes the currency type. -* **Percent** - Denotes the percentage type. -* **Custom** - Denotes the custom format. For example: "###0.##0#". This shows the value "9584.3" as "9584.300." +#### Editing an Existing Calculated Field Formula -By default, **Standard** will be selected from the drop down list. +You can edit an existing calculated field formula directly through the user interface at runtime. To do this: -![output](images/calculatedfield-fomat.png) +1. Open the calculated field dialog in the Pivot Table. +2. From the list, select the calculated field you want to edit. +3. The current formula for the selected field will appear in the **Expression** section. +4. Modify the formula as needed based on your requirements. +5. Click **OK** to apply and save your changes. -#### Renaming the existing calculated field +The Pivot Table will automatically update to show the changes in the calculated values. -Existing calculated field can be renamed only through the UI at runtime. To do so, open the calculated field dialog, click the target field. User can now see the existing name getting displayed in the text box at the top of the dialog. Now, change the name based on user requirement and click "OK". +![Editing the calculated field](images/before-edit-olap.png) - -![output](images/before-edit-olap.png) -
    -
    -![output](images/after-edit-olap.png) +![Editing the calculated field after change](images/after-change-olap.png) -#### Editing the existing calculated field formula +#### Reusing an Existing Formula in a New Calculated Field -Existing calculated field formula can be edited only through the UI at runtime. To do so, open the calculated field dialog, click the target field. User can now see the existing expression getting displayed in a "Expression" section. Now, change the expression based on user requirement and click "OK". +This option allows you to easily create a new calculated field in the [Pivot Table](https://ej2.syncfusion.com/react/documentation/api/pivotview/) by reusing a formula from an existing calculated field. This saves time and helps keep your calculations consistent. -![output](images/before-edit-olap.png) -
    -
    -![output](images/after-change-olap.png) +To reuse an existing formula when working with the OLAP data source: -#### Reusing the existing formula in a new calculate field +1. Open the calculated field dialog in the Pivot Table. +2. Find the existing calculated field that contains the formula you want to use again. +3. Drag the existing calculated field from the field list treeview. +4. Drop it into the **Expression** section. The formula from the selected field is then added automatically. +5. If needed, you can adjust the formula further or use it without changes. +6. Click **OK** to add your new calculated field. -While creating a new calculated field, if user wants to the add the formula of an existing calculated field, it can be done easily. To do so, simply drag-and-drop the existing calculated field to the "Expression" section. +![Reusing the calculated field in Pivot Table](images/before-edit-olap.png) -![output](images/before-edit-olap.png) -
    -
    -![output](images/while-drag-olap.png) -
    -
    -![output](images/after-drag-olap.png) +![Dragging the existing calculated field](images/while-drag-olap.png) -#### Modifying the existing format string +![Calculated field formula reused](images/after-drag-olap.png) -Existing calculated field's format string can be modified only through the UI at runtime. To do so, open the calculated field dialog and click the target calculated field. User can now see the format string for the existing calculated field getting displayed in a drop-down list. Change the format string based on the requirement and finally click "OK". +#### Modifying the Existing Format String -![output](images/before-edit-olap.png) -
    -
    -![output](images/after-modify-olap.png) +You can modify the format string of an existing calculated field at runtime through the user interface. To do this: -#### Clearing the changes while editing the calculated field +1. Open the calculated field dialog in the Pivot Table. +2. Click the name of the calculated field you want to edit. +3. The dialog will display the current format string in a drop-down list. +4. Select or enter a new format string based on your requirements. +5. Click **OK** to apply and save your changes. -Previous changes can be cleared by using the "Clear" option while performing operations such as creating and editing the calculated field. To do so, click the "Clear" button in the bottom left corner of the dialog. +![Modifying the calculated fields format string](images/before-edit-olap.png) -![output](images/clear-edit-olap.png) +![Modified calculated field output](images/after-modify-olap.png) + +#### Clearing the Changes While Editing the Calculated Field + +If you make edits while creating or modifying a calculated field, you can easily remove all the current changes by clicking the **Clear** button. This option is available in the bottom left corner of the calculated field dialog. Using the Clear button helps you start over without manually undoing each change, ensuring a smooth editing experience. + +![Clearing the changes while editing the calculated field](images/clear-edit-olap.png) ### Virtual Scrolling -Allows large amounts of data to be loaded without any performance degradation by rendering rows and columns in relation to the current viewport. Rest of the data will be brought into the viewport dynamically based on vertical or horizontal scroll position. This feature can be enabled by setting the [`enableVirtualization`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enablevirtualization) property to **true**. +Virtual scrolling helps you view large amounts of data smoothly in the Pivot Table. It loads and displays only the rows and columns currently visible in the viewport. As you scroll vertically or horizontally, new data is brought into view automatically, ensuring good performance even with a large data source. -To use the virtual scrolling feature, inject the `VirtualScroll` module into the pivot table. +To enable virtual scrolling, set the [`enableVirtualization`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enablevirtualization) option to **true**. Also, be sure to inject the [`VirtualScroll`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#virtualscrollservice) module into the Pivot Table. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -434,21 +431,22 @@ To use the virtual scrolling feature, inject the `VirtualScroll` module into the {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs195" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs195" %} +#### Limitations for Virtual Scrolling -#### Limitations for virtual scrolling +- When using virtual scrolling, the [`columnWidth`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettings/#columnwidth) property under [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettings/) must be set in pixels; percentage values are not supported. +- Resizing columns or setting width to individual columns affects the calculation used to pick the correct page on scrolling. +- With OLAP data, subtotals and grand totals are shown only when measures are placed at the end of the [`rows`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#rows) or [`columns`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#columns) axes within [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). If measures appear elsewhere, data will display without summary totals. +- If the width and height of the Pivot Table are set to large values, the amount of data loaded in the current, previous, and next pages increases. This may impact loading performance during scrolling. -* In virtual scrolling, the [columnWidth](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettings/#columnwidth) property in [gridSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettings/) should be in pixels, and percentage values are not accepted. -* Resizing columns or setting width to individual columns affects the calculation used to pick the correct page on scrolling. -* When using OLAP data, subtotals and grand totals are only displayed when measures are bound at the last position in the [rows](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#rows) or [`columns](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#columns) axis. Otherwise, the data from the pivot table will be shown without summary totals. -* When the pivot table's width and height are large, the loading data count in the current, previous, and next viewports (pages) will also increase, affecting performance. +### Run the Application -### Run the application +Running the Pivot Table application allows you to see your changes and data in real time directly in the browser, making it easy to check your results. -The quickstart project is configured to compile and run the application in the browser. Use the following command to run the application. +To start the application, open a command prompt in your project folder and run the following command. This will compile the project and automatically open it in your browser. -``` +```sh npm start ``` @@ -461,18 +459,20 @@ npm start {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs196" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs196" %} ## Data Binding -To bind OLAP datasource to the pivot table, you need to specify following properties under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#datasourcesettings) option. +To connect an OLAP data source to the Pivot Table, use the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#datasourcesettings) property. Several options within `dataSourceSettings` must be specified to bind data correctly: + +| Property | Description | +|----------|-------------| +| [`cube`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#cube "cube") | Specifies the name of the OLAP cube to use from the database. | +| [`providerType`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#providertype "providerType") | Indicates the type of provider, helping the Pivot Table determine how to connect to the data source. | +| [`url`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url "url") | The URL of the OLAP service. Use this to establish an online connection to the cube. | +| [`catalog`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#catalog "catalog") | The database or catalog name containing the cube data. | -| Properties|Description | -|-----|-----| -| [`cube`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#cube "cube")| Points the respective cube name from OLAP database.| -| [`providerType`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#providertype "providerType")| Points the provider type for pivot table to identify the type of data source.| -| [`url`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url "url")| Contains the cube URL for establishing the connection (online).| -| [`catalog`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#catalog "catalog")| Contains the database name (catalog name) to fetch the data.| +Below are sample code files showing how to bind an OLAP data source in React: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -483,13 +483,15 @@ To bind OLAP datasource to the pivot table, you need to specify following proper {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs197" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs197" %} ### Fields -#### Measures in row axis +#### Measures in the Row Axis -By default, the measures are plotted in column axis. To plot those measures in row axis, place the **Measures** button in the row axis as follows. +By default, measures are shown on the columns axis in the Pivot Table. If you would like to display measures on the rows axis instead, you can do this using the [grouping bar](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showgroupingbar) or the [field list](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showfieldlist) UI. Simply drag the "Measures" button and drop it onto the rows axis. + +Alternatively, you can set up the measure directly in your code by configuring the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) option, as shown in the code below: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -500,11 +502,11 @@ By default, the measures are plotted in column axis. To plot those measures in r {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs198" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs198" %} -#### Measures in different position +#### Measures in Different Positions -You can place measures in different position in row or column axis either thorough code behind or UI. In this sample, **measures** placed before the dimension in the column axis. +You can choose where to place measures on either the row or column axis through code behind or the user interface. In this example, the **measures** are set before the dimension field on the column axis. To achieve this, specify the order of the fields within the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#datasourcesettings) property. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -515,13 +517,13 @@ You can place measures in different position in row or column axis either thorou {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs199" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs199" %} -### Named set +### Named Set -Named set is a multidimensional expression (MDX) that returns a set of dimension members, which can be created by combining the cube data, arithmetic operators, numbers, and functions. +A named set is a multidimensional expression (MDX) that provides a predefined group of members from a dimension. It is created by combining cube data with arithmetic operators, numbers, or functions. -You can bind the named sets in the pivot table by setting it's unique name in the [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptions/#name) property either in row or column axis and [`isNamedSet`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptions/#isnamedset) boolean property to **true**. In this sample, we have added "Core Product Group" named set in the column axis. +To display a named set in the Pivot Table, set its unique name using the [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptions/#name) property within either the row or column axis in [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#datasourcesettings). Additionally, set the [`isNamedSet`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptions/#isnamedset) property to **true**. In the example below, the "Core Product Group" named set is added to the column axis. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -532,83 +534,95 @@ You can bind the named sets in the pivot table by setting it's unique name in th {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs200" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs200" %} + +### Configuring Authentication -### Configuring authentication +To connect to an OLAP data source that requires authentication, users can provide basic authentication details through the [`authentication`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#authentication) property within the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#datasourcesettings) option of the Pivot Table. The authentication options include: -Users can configure basic authentication information to access the OLAP cube using the [`authentication`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#authentication) property. The settings required to configure are as follows: +- [`userName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/authenticationModel/#username): Enter the username required for access to the OLAP server. +- [`password`](https://ej2.syncfusion.com/react/documentation/api/pivotview/authenticationModel/#password): Enter the password associated with the username. -* [`userName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/authenticationModel/#username): It allows the user to set a username that recognizes the basic authentication of the IIS. -* [`password`](https://ej2.syncfusion.com/react/documentation/api/pivotview/authenticationModel/#password): It allows to set the appropriate password. +> If authentication details are not provided, the browser will display a default pop-up window prompting users to enter the required information. -> If the user does not configure the authentication, a default popup will appear in the browser to get the authentication information. +Below is an example of how to configure authentication settings in the Pivot Table: ```ts import * as React from 'react'; import * as ReactDOM from 'react-dom'; -import { FieldList, IDataSet, Inject, PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; +import { FieldList, PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; function App() { - let dataSourceSettings: DataSourceSettingsModel = { - catalog: 'Adventure Works DW 2008 SE', - cube: 'Adventure Works', - providerType: 'SSAS', - enableSorting: true, - url: 'https://bi.syncfusion.com/olap/msmdpump.dll', - localeIdentifier: 1033, - rows: [ - { name: '[Customer].[Customer Geography]', caption: 'Customer Geography' }, - ], - columns: [ - { name: '[Product].[Product Categories]', caption: 'Product Categories' }, - { name: '[Measures]', caption: 'Measures' }, - ], - values: [ - { name: '[Measures].[Customer Count]', caption: 'Customer Count' }, - { name: '[Measures].[Internet Sales Amount]', caption: 'Internet Sales Amount' } - ], - filters: [ - { name: '[Date].[Fiscal]', caption: 'Date Fiscal' }, - ], - filterSettings: [ - { - name: '[Date].[Fiscal]', items: ['[Date].[Fiscal].[Fiscal Quarter].&[2002]&[4]', - '[Date].[Fiscal].[Fiscal Year].&[2005]'], - levelCount: 3 - } - ], - authentication: { - userName: 'username', - password: 'password' + let dataSourceSettings: DataSourceSettingsModel = { + catalog: 'Adventure Works DW 2008 SE', + cube: 'Adventure Works', + providerType: 'SSAS', + enableSorting: true, + url: 'https://bi.syncfusion.com/olap/msmdpump.dll', + localeIdentifier: 1033, + rows: [ + { name: '[Customer].[Customer Geography]', caption: 'Customer Geography' }, + ], + columns: [ + { name: '[Product].[Product Categories]', caption: 'Product Categories' }, + { name: '[Measures]', caption: 'Measures' }, + ], + values: [ + { name: '[Measures].[Customer Count]', caption: 'Customer Count' }, + { name: '[Measures].[Internet Sales Amount]', caption: 'Internet Sales Amount' } + ], + filters: [ + { name: '[Date].[Fiscal]', caption: 'Date Fiscal' }, + ], + filterSettings: [ + { + name: '[Date].[Fiscal]', + items: ['[Date].[Fiscal].[Fiscal Quarter].&[2002]&[4]', '[Date].[Fiscal].[Fiscal Year].&[2005]'], + levelCount: 3 } - }; - let pivotObj: PivotViewComponent; - return ( pivotObj = d} id='PivotView' height={350} dataSourceSettings={dataSourceSettings} showFieldList={true}> - ); -}; + ], + authentication: { + userName: 'username', + password: 'password' + } + }; + let pivotObj: PivotViewComponent; + return ( + (pivotObj = d)} + id='PivotView' + height={350} + dataSourceSettings={dataSourceSettings} + showFieldList={true} + > + + + ); +} + export default App; ReactDOM.render(, document.getElementById('sample')); - ``` ### Roles -SQL Server Analysis Services uses [`roles`](https://learn.microsoft.com/en-us/analysis-services/multidimensional-models/roles-and-permissions-analysis-services?view=asallproducts-allversions) to limit data access within a cube. Each role defines a set of permissions that can be granted to a single user or groups of users. It is used to manage security by limiting access to sensitive data and determining who has access to and can change the cube. It can be configured using the [`roles`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#roles) property in [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#datasourcesettings). +SQL Server Analysis Services (SSAS) uses [roles](https://learn.microsoft.com/en-us/analysis-services/multidimensional-models/roles-and-permissions-analysis-services?view=asallproducts-allversions) to control user access to the data inside an OLAP cube. Each role is defined with a set of permissions that can be assigned to individual users or groups. By assigning roles, you can restrict access to sensitive data and also determine who can view or modify information in the cube. -> The [`roles`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#roles) property can be used to specify one or more roles to the OLAP cube, separated by commas. +In the Syncfusion React Pivot Table, you can specify roles using the [`roles`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#roles) property within the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#datasourcesettings) object. This allows you to provide one or more role names for connecting to an OLAP cube. If you want to use multiple roles, list them as a comma-separated string. ```ts import * as React from 'react'; import * as ReactDOM from 'react-dom'; -import { IDataSet, Inject, PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; +import { PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; + function App() { - let dataSourceSettings: DataSourceSettingsModel = { + let dataSourceSettings: DataSourceSettingsModel = { catalog: 'Adventure Works DW 2008 SE', cube: 'Adventure Works', - providerType: 'SSAS', roles: 'Role1', + providerType: 'SSAS', url: 'https://bi.syncfusion.com/olap/msmdpump.dll', localeIdentifier: 1033, rows: [ @@ -622,87 +636,140 @@ function App() { { name: '[Measures].[Customer Count]', caption: 'Customer Count' }, { name: '[Measures].[Internet Sales Amount]', caption: 'Internet Sales Amount' } ] - }; - let pivotObj: PivotViewComponent; - return ( pivotObj = d} id='PivotView' height={350} dataSourceSettings={dataSourceSettings}> - ); -}; + }; + let pivotObj: PivotViewComponent; + return ( + (pivotObj = d)} + id='PivotView' + height={350} + dataSourceSettings={dataSourceSettings} + /> + ); +} + export default App; ReactDOM.render(, document.getElementById('sample')); - ``` ## OLAP Cube: Elements -### Field list +### Field List -The field list, aka cube dimension browser, is a tree view like structure that organizes the cube elements such as dimensions, hierarchies, measures, etc., from the selected cube into independent logical groups. +The field list, also called the cube dimension browser, displays the cube elements from the selected OLAP cube in a tree view structure. It organizes elements such as dimensions, hierarchies, and measures into logical groups, making it easier for the user to explore and arrange data for analysis using the Pivot Table. -#### Types of node in field list +#### Types of Nodes in the Field List -* **Display folder**: A folder that contains a set of similar elements. -* **Measure**: Quantity available for analysis. -* **Dimension**: A name given to the parts of the cube that categorizes data. -* **Attribute Hierarchy**: Level of attributes down the hierarchy. -* **User-defined Hierarchy**: Members of a dimension in a hierarchical structure. -* **Level**: Denotes a specific level in the category. -* **Named Set**: A collection of tuples and members, that can be defined and saved as a part of cube definition for later use. +- **Display folder**: Contains a set of similar cube elements grouped together. +- **Measure**: Represents the numeric values or quantities that users can analyze and summarize in the Pivot Table. +- **Dimension**: Groups related data and helps users to categorize and filter information in the cube. +- **Attribute hierarchy**: Shows data at different attribute levels within a dimension, allowing users to drill down for more specific analysis. +- **User-defined hierarchy**: Presents a custom arrangement of members within a dimension, structured in multiple levels for easier navigation and deeper data analysis. +- **Level**: Indicates a specific position or stage within a hierarchy for more focused data review. +- **Named set**: A saved collection of tuples or members that can be reused in analysis as part of the cube definition. #### Measure -In a cube, a measure is a set of values that are based on a column in the cube’s fact table and are usually numeric. The measures are the central values of a cube that are analyzed. That is, measures are the numeric data of primary interest to users browsing a cube. You can select measures depend on the types of users request. Some common measures are sales, costs, expenditures, and production count. +A measure in a cube refers to a numeric value that comes from a column in the cube’s fact table. Measures are the main values analyzed in the Pivot Table. They help users investigate metrics such as sales, costs, expenditures, or production counts. Users can select measures based on their analysis needs. In the field list, all available measures are grouped separately, making it easy to select or remove measures as required. When a user chooses a measure, it is displayed in the desired area of the [Pivot Table](https://ej2.syncfusion.com/react/documentation/api/pivotview/) and participates in calculations and summary values. #### Dimension -A simple dimension object is composed of basic information such as name, hierarchy, level, and members. You can create a dimension element by specifying its name and providing the hierarchy and level name. The dimension element contains the hierarchical details and information about each included level elements in that hierarchy. A hierarchy can have any number of level elements and the level elements can have any number of members and the member elements can have any number of child members. +A dimension is an essential part of the OLAP cube in the Pivot Table. It holds key information, such as its name, hierarchies, levels, and members. To use a dimension, you specify its name, along with the desired hierarchy and the corresponding level. Each dimension contains detailed information about its hierarchies, and each hierarchy is made up of one or more levels. Within each level, there are members, and each member can also have child members. This structure helps users organize and explore data easily in the Pivot Table. #### Hierarchy -Each element of a dimension can be summarized using a hierarchy. The hierarchy is a series of parent-child relationship, where a parent member represents the consolidation of members which are its children. Parent members can be further aggregated as the children of another parent. For example, May 2005 can be summarized into Second Quarter 2005 which in turn would be summarized in the year 2005. +A hierarchy organizes elements within a dimension into a series of parent-child relationships. Each parent member groups its child members, summarizing their data. These parent members can also be grouped under another parent for further summarization. For example, in a time dimension, the month of May 2005 can be grouped under Second Quarter 2005, which is then summarized under the year 2005. #### Level -Level element is the child of hierarchy element which contains a set of members, each of which has the same rank within a hierarchy. +A level is a child element of a hierarchy in the field list. It contains a group of members that share the same rank within that hierarchy. For example, in a hierarchy representing geographical data, a level might include members like cities or states, all at the same depth. + +#### Attribute Hierarchy + +An attribute hierarchy in the Pivot Table organizes data into levels for easier analysis. It includes: + +- **Leaf level**: This level contains unique attribute members, known as leaf members. Each leaf member represents a distinct data point. +- **Intermediate levels**: These exist in a parent-child hierarchy, connecting the leaf level to higher levels for structured data exploration. +- **Optional (all) level**: This level shows the combined total of all leaf members' values. The member at this level is called the (all) member. + +#### User-Defined Hierarchy + +A user-defined hierarchy arranges the members of a dimension into a structured, hierarchical format, making it easier to navigate and analyze data in the cube. For example, consider a dimension table with attributes like year, quarter, and month. These attributes can be combined to create a user-defined hierarchy named Calendar within the time dimension. This hierarchy connects all levels—year, quarter, and month—allowing users to explore data across different time periods seamlessly. -#### Attribute hierarchy +#### Differentiating User-Defined Hierarchy and Attribute Hierarchy -Attribute hierarchy contains the following levels: +In the field list of the Pivot Table, hierarchies help users organize and analyze data in different ways. There are two main types of hierarchies: -* A leaf level contains distinct attribute member, and each member of the leaf level is known as a leaf member. -* Intermediate levels if the attribute hierarchy is a parent-child hierarchy. -* An optional (all) level contains the aggregated value of the attribute hierarchy's leaf members, with the member of the (all) level also known as the (all) member. +- **User-defined hierarchy**: This type of hierarchy consists of two or more levels. Each level is created by combining related fields, which allows users to drill down through the data step by step—for example, from "Year" to "Quarter" to "Month" within a "Date" dimension. User-defined hierarchies use fields from the same dimension to create a logical path for navigation. +- **Attribute hierarchy**: In this type, there is only a single level. Each field in the dimension automatically forms an attribute hierarchy. For example, if "Country" is a field, it will appear as an attribute hierarchy with just one level, letting the user view data for each country individually. -#### User-defined hierarchy +#### Named Set -User-defined hierarchy organizes the members of a dimension into hierarchical structure and provides navigation paths in a cube. For example, take a dimension table that supports three attributes such as year, quarter, and month. The year, quarter, and month attributes are used to construct a user-defined hierarchy, named Calendar, in the time dimension that relates to all levels. +A named set is a group of specific tuples or members that can be defined and stored within the OLAP cube. Named sets are saved inside the sets folder under a dimension element in the field list, making them easy to locate. Users can add these named sets to the [`rows`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#rows) or [`columns`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#columns) axes through the grouping bar or the field list when working with the Pivot Table at runtime. Named sets are useful for handling long, complex, or frequently used expressions. The cube supports defining named sets using Multidimensional Expressions (MDX), which helps users manage these expressions more efficiently. -#### Differentiating user-defined hierarchy and attribute hierarchy +#### Calculated Field -* User-defined hierarchy contains more than one level whereas attribute hierarchy contains only one level. -* User-defined hierarchy provides the navigation path between the levels taken from attribute hierarchies of the same dimension. -* The attribute hierarchy and the user-defined hierarchy are represented in different ways as shown in the following table. +The calculated field option lets users create a new field in the Pivot Table using their own formula or expression, based on the existing OLAP cube elements in the connected data source. These fields act as custom dimensions or measures, allowing users to add calculations that are not originally available in the cube. -#### Named set +There are two types of calculated fields: -A named set is a collection of tuples and members, which can be defined and saved as a part of the cube definition. Named set records reside inside the sets folder, which is under a dimension element. These elements can be dragged to [`rows`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#rows) or [`columns`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#columns) axis via grouping bar or field list at runtime. To work with a lengthy, complex, or commonly used expression easier, Multidimensional Expressions (MDX) allows you to define a named set. +* **Calculated measure** – This allows users to create a new measure by defining a custom expression. The new measure is then available in the field list along with the other measures. +* **Calculated dimension** – This allows users to create a new dimension using a user-defined expression. The dimension is grouped together with other dimensions in the field list. -#### Calculated field +#### Symbolic Representation of the Nodes Inside Field List -The calculated field allows user to insert or add a new calculated field based on the available OLAP cube elements from the bound data source. Calculated fields are nothing but customized dimensions or measures that are newly created based on the user-defined expression. +In the field list, each node uses a specific icon to help users quickly identify its type and purpose. The following table describes each type of node, its symbol, and whether it can be dragged into the Axis Fields: -The two types of calculated fields are as follows: +| Icon | Name | Node Type | Is Draggable? | +|------|------|-----------|--------------| +| ![Folder icon in JavaScript pivot table control](images/Folder.png) | Display folder | Display Folder | No | +| ![Measure icon in JavaScript pivot table control](images/Measure.png) | Measure | Measure | No | +| ![Dimension icon in JavaScript pivot table control](images/Dimension.png) | Dimension | Dimension | No | +| ![User-defined hierarchy icon in JavaScript pivot table control](images/UserDefinedHierarchy.png) | User-defined hierarchy | Hierarchy | Yes | +| ![Attribute hierarchy icon in JavaScript pivot table control](images/AttributeHierarchy.png) | Attribute hierarchy | Hierarchy | Yes | +| ![First level icon in JavaScript pivot table control](images/FirstLevel.png)
    ![Second level icon in JavaScript pivot table control](images/SecondLevel.png)
    ![Third level icon in JavaScript pivot table control](images/ThirdLevel.png) | Levels (in order) | Level Element | Yes | +| ![NamedSet icon in JavaScript pivot client control](images/NamedSet.png) | Named set | Named Set | Yes | -* **Calculated Measure** – Creates a new measure through user-defined expression. -* **Calculated Dimension** – Creates a new dimension through user-defined expression. +## Events -#### Symbolic representation of the nodes inside field list +### BeforeServiceInvoke + +The [`beforeServiceInvoke`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotViewModel/#beforeserviceinvoke) event is triggered before initiating any service communication with the OLAP server in the Pivot Table and Field List components. + +* This event allows you to inject custom properties or additional parameters dynamically before a request is made to the OLAP server. + +* It is particularly useful for passing contextual data such as user tokens, custom filters, or localization information along with the original server request. + +When the [`beforeServiceInvoke`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotViewModel/#beforeserviceinvoke) event is triggered, the event argument provides access to the request details and includes a [`customProperties`](https://ej2.syncfusion.com/react/documentation/api/pivotview/beforeServiceInvokeEventArgs/#customproperties) field. + +{% tabs %} +{% highlight js tabtitle="App.jsx" %} +{% include code-snippet/pivot-table/olap-beforeServiceInvoke/app/App.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="App.tsx" %} +{% include code-snippet/pivot-table/olap-beforeServiceInvoke/app/App.tsx %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/olap-beforeServiceInvoke" %} + +### AfterServiceInvoke + +The [`afterServiceInvoke`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotViewModel/#afterserviceinvoke) event is triggered in the Pivot Table and Field List components during the onSuccess phase of every OLAP service request. + +* This event is useful for performing post-processing, logging actions, or updating the UI after receiving a successful response from the OLAP server. + +* You may use it to audit data, trigger notifications, or handle custom response-handling logic. + +When the [`afterServiceInvoke`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotViewModel/#afterserviceinvoke) event is triggered, the event argument provides access to the server response details, including properties such as the action performed and the result data returned from the OLAP server. + +{% tabs %} +{% highlight js tabtitle="App.jsx" %} +{% include code-snippet/pivot-table/olap-afterServiceInvoke/app/App.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="App.tsx" %} +{% include code-snippet/pivot-table/olap-afterServiceInvoke/app/App.tsx %} +{% endhighlight %} +{% endtabs %} -| Icon|Name | Node type | Is Draggable | -|-----|-----|-----------|--------------| -| ![Folder icon in JavaScript pivot table control](images/Folder.png)| Display Folder| Display Folder| False| -| ![Measure icon in JavaScript pivot table control](images/Measure.png)|Measure| Measure| False| -| ![Dimension icon in JavaScript pivot table control](images/Dimension.png)| Dimension| Dimension| False| -| ![User-defined hierarchy in JavaScript pivot table control](images/UserDefinedHierarchy.png)| User Defined Hierarchy| Hierarchy| True| -| ![Attribute hierarchy in JavaScript pivot table control](images/AttributeHierarchy.png)| Attribute Hierarchy| Hierarchy| True| -| ![First level icon in JavaScript pivot table control](images/FirstLevel.png)
    ![Second level icon in JavaScript pivot table control](images/SecondLevel.png)
    ![Third level icon in JavaScript pivot table control](images/ThirdLevel.png)| Levels (in order)| Level Element| True| -| ![NamedSet icon in JavaScript pivot client control](images/NamedSet.png)| Named Set| Named Set| True| \ No newline at end of file +{% previewsample "page.domainurl/code-snippet/pivot-table/olap-afterServiceInvoke" %} \ No newline at end of file diff --git a/ej2-react/pivotview/paging.md b/ej2-react/pivotview/paging.md index 115650513..993fe3dbe 100644 --- a/ej2-react/pivotview/paging.md +++ b/ej2-react/pivotview/paging.md @@ -1,25 +1,28 @@ --- layout: post -title: Paging in React Pivotview component | Syncfusion -description: Learn here all about Paging in Syncfusion React Pivotview component of Syncfusion Essential JS 2 and more. -control: Paging +title: Paging in React Pivot Table component | Syncfusion +description: Learn here all about Paging in Syncfusion React Pivot Table component of Syncfusion Essential JS 2 and more. platform: ej2-react documentation: ug domainurl: ##DomainURL## --- -# Paging in React Pivotview component +# Paging in React Pivot Table component -Paging allows you to load large amounts of data that can be divided and displayed page by page in the pivot table. It can be enabled by setting the [`enablePaging`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enablepaging) property to **true**. It can be configured at code-behind by using the [`pageSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pagesettings) property, during initial rendering of the component. The properties required are: +The paging feature in the Pivot Table component is designed to handle large datasets efficiently by dividing the data into manageable pages. This prevents performance issues associated with rendering large amounts of data at once, allowing users to navigate through rows and columns page by page. + +To enable paging, set the [`enablePaging`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enablepaging) property to **true**. Paging can be configured in the code-behind during the initial rendering of the component using the [`pageSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pagesettings) property. This allows you to define the initial page setup for rows and columns. The key properties within [`pageSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pagesettings) include: * [`currentRowPage`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pageSettings/#currentrowpage): Allows user to set the current row page number to be displayed in the pivot table. * [`currentColumnPage`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pageSettings/#currentcolumnpage): Allows user to set the current column page number to be displayed in the pivot table. * [`rowPageSize`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pageSettings/#rowpagesize): Allows user to set the total number of records to be displayed on each page of the pivot table's row axis. * [`columnPageSize`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pageSettings/#columnpagesize): Allows user to set the total number of records to be displayed on each page of the pivot table's column axis. +N> The [Virtualization](./virtual-scrolling) and Paging features in the Pivot Table should not be enabled simultaneously. You can use either feature at a time, but not both together, as they are designed to handle data rendering differently and may conflict when used together. + ## Pager UI -When paging is enabled, a built-in pager UI appears at the bottom of the pivot table, allowing you to change the current page in the row and column axes by navigating to a desired page using the navigation buttons or an input text box, as well as change the page size via dropdown at runtime. +When paging is enabled, a built-in pager UI appears at the bottom of the Pivot Table by default. This user-friendly interface enables seamless navigation across row and column axis pages using navigation buttons or an input box, and allows dynamic page size adjustments via dropdown menus. You can also change the position, visibility, compact view, and template of the row and column pagers by using the [`pagerSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pagersettings). @@ -34,13 +37,13 @@ You can also change the position, visibility, compact view, and template of the {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs201" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs201" %} ### Show pager UI at top or bottom -You can display the pager UI at top or bottom of the pivot table by using the [`position`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#position) property. To show the pager UI at top of the pivot table, set the [`position`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#position) property in [`pagerSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pagersettings) to **Top**. +The Pivot Table component allows you to configure the placement of the pager UI to match your layout preferences. You can display the pager UI either at the top or bottom of the pivot table by setting the [`position`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#position) property within the [`pagerSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pagersettings) configuration. By default, the pager UI appears at the bottom, but setting the position property to **Top** places it above the pivot table. This can be ideal for layouts where navigation controls are preferred at the top for better visibility or alignment with other UI elements. -> By default, the pager UI appears at the bottom of the pivot table. +The following code demonstrates how to configure the pager UI to appear at the top of the pivot table: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -51,13 +54,11 @@ You can display the pager UI at top or bottom of the pivot table by using the [` {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs202" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs202" %} ### Inverse pager -Toggles and displays row and column pager. To show the column pager on the left side of the pager UI, set the [`isInversed`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#isinversed) property in [`pagerSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pagersettings) to **true**. - -> By default, the row pager is displayed on the left side of the pager UI, while the column pager is displayed on the right side. +The Pivot Table allows you to toggle the positions of the row and column pagers in the pager UI. By default, the row pager appears on the left side of the pager UI, and the column pager appears on the right. To swap these positions—displaying the column pager on the left and the row pager on the right—set the [`isInversed`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#isinversed) property to **true** within the [`pagerSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pagersettings) configuration. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -68,11 +69,11 @@ Toggles and displays row and column pager. To show the column pager on the left {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs203" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs203" %} ### Compact view -By hiding all except the previous and next navigation buttons, the pager UI can be displayed with the absolute minimum of paging options. The compact view can be enabled by setting the [`enableCompactView`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#enablecompactview) property in [`pagerSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pagersettings) to **true**. +The Pivot Table provides a compact view for the pager UI, displaying only the previous and next navigation buttons to minimize the interface. To enable the compact view, set the [`enableCompactView`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#enablecompactview) property to **true** within the [`pagerSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pagersettings) configuration. This streamlined layout focuses on essential navigation controls, ideal for layouts requiring a simplified paging experience. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -83,13 +84,13 @@ By hiding all except the previous and next navigation buttons, the pager UI can {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs204" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs204" %} ### Show or hide paging option -By using the [`showRowPager`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#showrowpager) and [`showColumnPager`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#showcolumnpager) properties in [`pagerSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pagersettings), you can show or hide row and column pager separately in the pager UI. +The Pivot Table allows you to control the visibility of the row and column pagers in the pager UI using the [`showRowPager`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#showrowpager) and [`showColumnPager`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#showcolumnpager) properties within the [`pagerSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pagersettings) configuration. By default, both row and column pagers are visible in the pager UI. To hide either the row pager or the column pager, set the corresponding property to **false**. This allows you to display only the necessary navigation controls based on your layout requirements. -In the following example, row pager has been disabled by setting the [`showRowPager`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#showrowpager) property in [`pagerSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pagersettings) to **false**. +The following code demonstrates how to hide the row pager by setting the [`showRowPager`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#showrowpager) property to **false**: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -100,11 +101,11 @@ In the following example, row pager has been disabled by setting the [`showRowPa {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs205" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs205" %} ### Show or hide page size -By using the [`showRowPageSize`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#showrowpagesize) and [`showColumnPageSize`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#showcolumnpagesize) properties in [`pagerSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pagersettings), you can show or hide "Rows per page" and "Columns per page" dropdown menu. The dropdown menu contains a list of pre-defined or user-defined page sizes, which will be displayed in the "Rows per page" and "Columns per page" dropdowns, allowing you to change the page size for the row and column axes at runtime. +The Pivot Table allows you to control the visibility of the "Rows per page" and "Columns per page" dropdowns in the pager UI using the [`showRowPageSize`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#showrowpagesize) and [`showColumnPageSize`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#showcolumnpagesize) properties within the [`pagerSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pagersettings) configuration. These dropdowns display a list of predefined or user-defined page sizes, enabling you to adjust the number of rows or columns displayed per page at runtime. By default, both dropdowns are visible in the pager UI. To hide either the "Rows per page" or "Columns per page" dropdown, set the corresponding property to **false**. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -115,15 +116,13 @@ By using the [`showRowPageSize`](https://ej2.syncfusion.com/react/documentation/ {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs206" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs206" %} ### Customize page size -By using the [`rowPageSizes`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#rowpagesizes) and [`columnPageSizes`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#columnpagesizes) properties in [`pagerSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pagersettings), you can specify a set of desired page sizes, which will be displayed in the "Rows per page" and "Columns per page" dropdowns, allowing you to change the page size for the row and column axes at runtime. +The Pivot Table allows you to specify a list of page sizes for the "Rows per page" and "Columns per page" dropdowns in the pager UI using the [`rowPageSizes`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#rowpagesizes) and [`columnPageSizes`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#columnpagesizes) properties within the [`pagerSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pagersettings) configuration. By default, the "Rows per page" dropdown includes page sizes of 10, 50, 100, and 200, while the "Columns per page" dropdown includes page sizes of 5, 10, 20, 50, and 100. To define a different set of page sizes, assign an array of numbers to the [`rowPageSizes`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#rowpagesizes) or [`columnPageSizes`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#columnpagesizes) properties. -> By default, the "Rows per page" dropdown have pre-defined page sizes of **10, 50, 100, and 200**, while the "Columns per page" dropdown have pre-defined page sizes of **5, 10, 20, 50, and 100**. - -In the following example, the "Rows per page" dropdown is set with user-defined page sizes of **10, 20, 30, 40, and 50** and the "Columns per page" dropdown is set with user-defined page sizes of **5, 10, 15, 20, and 30**. +The following example sets the "Rows per page" dropdown with page sizes of 10, 20, 30, 40, and 50, and the "Columns per page" dropdown with page sizes of 5, 10, 15, 20, and 30: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -134,11 +133,13 @@ In the following example, the "Rows per page" dropdown is set with user-defined {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs207" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs207" %} ### Template -The [`template`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#template) property allows to change the appearance of the pager UI by displaying user-defined HTML elements instead of built-in HTML elements. +The Pivot Table allows you to define a custom layout for the pager UI using the [`template`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#template) property within the [`pagerSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pagersettings) configuration. By default, the pager UI displays built-in navigation controls. To replace these with custom HTML elements, assign the ID of the custom elements to the [`template`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#template) property. This enables you to create a unique pager interface that aligns with your application’s design requirements. + +This following example shows how to create a custom template for both row and column pagers. The HTML code is embedded within the JSX or TSX file and assigned to the [`template`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pagerSettings/#template) property. Then, during the [`dataBound`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#databound) event, the Syncfusion [`Pager`](https://ej2.syncfusion.com/react/documentation/pager/getting-started) control is appended to the designated HTML elements. You can configure the pager by setting properties like [`pageSize`](https://ej2.syncfusion.com/react/documentation/api/pager/#pagesize), [`totalRecordsCount`](https://ej2.syncfusion.com/react/documentation/api/pager/#totalrecordscount), and [`currentPage`](https://ej2.syncfusion.com/react/documentation/api/pager/#currentpage). When you click on a custom row or column pager, the [`currentRowPage`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pageSettings/#currentrowpage) and [`currentColumnPage`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pageSettings/#currentcolumnpage) properties in [`pageSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pagesettings) are updated, enabling navigation with the custom pager. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -149,4 +150,4 @@ The [`template`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pa {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/pagingTemplate-cs1" %} \ No newline at end of file +{% previewsample "page.domainurl/code-snippet/pivot-table/pagingTemplate-cs1" %} \ No newline at end of file diff --git a/ej2-react/pivotview/pdf-export.md b/ej2-react/pivotview/pdf-export.md index 519f12275..e90edd5c7 100644 --- a/ej2-react/pivotview/pdf-export.md +++ b/ej2-react/pivotview/pdf-export.md @@ -1,16 +1,18 @@ --- layout: post -title: Pdf export in React Pivotview component | Syncfusion -description: Learn here all about Pdf export in Syncfusion React Pivotview component of Syncfusion Essential JS 2 and more. -control: Pdf export +title: Pdf export in React Pivot Table component | Syncfusion +description: Learn here all about Pdf export in Syncfusion React Pivot Table component of Syncfusion Essential JS 2 and more. +control: Pdf export platform: ej2-react documentation: ug domainurl: ##DomainURL## --- -# Pdf export in React Pivotview component +# PDF export in React Pivot Table component -PDF export allows exporting pivot table data as PDF document. To enable PDF export in the pivot table, set the `allowPdfExport` as true. You need to use the `pdfExport` method for PDF exporting. +The React Pivot Table lets users easily export their pivot table data as a PDF document. By setting the [`allowPdfExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowpdfexport) property to **true** in the Pivot Table configuration, users can enable PDF export. Once enabled, you can use the [`pdfExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pdfexport) method to generate and download the PDF file. + +In the following example, an external button is used to start the PDF export process. When the user clicks the button, the [`pdfExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pdfexport) method is called so that the Pivot Table data can be saved as a PDF file. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -27,11 +29,27 @@ PDF export allows exporting pivot table data as PDF document. To enable PDF expo {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs208" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs208" %} ## Multiple pivot table exporting -PDF export provides an option for exporting multiple pivot tables to same file. In this exported document, each pivot table will be exported to new page of document in same file. +The PDF export option allows users to save data from multiple Pivot Tables into a single PDF file. Each Pivot Table appears on a separate page in the exported document, making it easy to review and share information from multiple tables at once. + +To export multiple Pivot Tables into a single PDF document, use the [`pdfExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pdfexport) method. This method accepts the following parameters: + +- `pdfExportProperties` (optional): Configures export export options for the table and chart. See the [`pdfExportProperties`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfexportproperties/) API reference for details. +- `isMultipleExport` (optional): Set to **true** for the first Pivot Table to create a new multi-page PDF file. For additional tables, set to **false** to add them to the same file. +- `pdfDoc` (optional): The PDF document object returned from the previous export. Use this to add more Pivot Tables to the same PDF. +- `isBlob` (optional): Set to **true** to save the PDF document as blob data. +- `exportBothTableAndChart` (optional): When the [`displayOption.view`](https://ej2.syncfusion.com/react/documentation/api/pivotview/displayOption/#view) property is set to **Both** this exports both table and chart data into a single PDF document. + +**Steps to export multiple Pivot Tables:** + +1. Call [`pdfExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pdfexport) on the first Pivot Table with `isMultipleExport` set to **true** to start the export process. +2. Once the PDF data for the first table is ready, pass it as the `pdfDoc` parameter to the next Pivot Table's [`pdfExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pdfexport) call with `isMultipleExport` set to **false**. +3. Repeat this process for each additional Pivot Table you want to include. + +The following code example shows how clicking the Export button exports both tables to a single PDF file, with each table on its own page: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -48,11 +66,13 @@ PDF export provides an option for exporting multiple pivot tables to same file. {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs209" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs209" %} ## Export table and chart into the same document -When the [displayOption](https://ej2.syncfusion.com/react/documentation/api/pivotview#displayoption) is set to **Both**, you can export both the table and the chart into the same PDF document. To achieve this, use the [pdfExport](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pdfexport) method and set the `exportBothTableAndChart` parameter to **true**. +If you want to export both the table and the chart from the Pivot Table into a single PDF file, set the [`displayOption`](https://ej2.syncfusion.com/react/documentation/api/pivotview/displayOptionModel/) property to **Both**. Then, when you use the [`pdfExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pdfexport) method, make sure to set the `exportBothTableAndChart` option to **true**. This will include both the data table and its chart in one PDF document when you export. + +The following example shows how you can set this up in your application: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -69,7 +89,7 @@ When the [displayOption](https://ej2.syncfusion.com/react/documentation/api/pivo {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs322" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs322" %} ## Customization during PDF export @@ -77,16 +97,15 @@ PDF export provides option to customize mapping of pivot table to the exported P ### To add header and footer while exporting -You can customize text, page number, line, page size and changing orientation in header and footer of the exported document. - -#### To add a text in header/footer - -You can add text either in header or footer of the exported PDF document like in the below code example. +When exporting data from the Pivot Table to a PDF document, you can include additional information in the header or footer. You can add text, lines, page numbers, or images to ensure your exported document includes important details, such as your organization's name or branding, and to improve readability. +To do this, you can use the [`header`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfExportProperties/#header) or [`footer`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfExportProperties/#footer) options in the [`PdfExportProperties`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfExportProperties/). These options allow you to specify what content to display at the top or bottom of each PDF page when exporting. +#### To add a text in header/footer -```ts +You can include custom text in the header or footer of the exported PDF document. Set the [`type`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfHeaderFooterContent/#type) property to **Text** in the contents array to add text. The following example shows how to add the text "Northwind Traders" to the header: +```typescript let pdfExportProperties: PdfExportProperties = { header: { fromTop: 0, @@ -97,46 +116,26 @@ let pdfExportProperties: PdfExportProperties = { value: "Northwind Traders", position: { x: 0, y: 50 }, style: { textBrushColor: '#000000', fontSize: 13 } - }, - + } ] } } - -``` - -```ts -let pdfExportProperties = { - header: { - fromTop: 0, - height: 130, - contents: [ - { - type: 'Text', - value: "Northwind Traders", - position: { x: 0, y: 50 }, - style: { textBrushColor: '#000000', fontSize: 13 } - }, - ] - } -}; ``` #### To draw a line in header/footer -You can add line either in header or footer of the exported PDF document like in the below code example. +You can draw lines in the header or footer to create visual separators or decorative elements. Set the [`type`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfHeaderFooterContent/#type) property to **Line** in the contents array to add line elements. The line can be styled with different dash patterns and colors. -Supported line styles: -* dash -* dot -* dashdot -* dashdotdot -* solid +**Supported line styles:** +* `solid` - Continuous line +* `dash` - Dashed line +* `dot` - Dotted line +* `dashdot` - Alternating dash and dot pattern +* `dashdotdot` - Dash followed by two dots pattern +The following example demonstrates how to add a solid line in the header: - -```ts - +```typescript let pdfExportProperties: PdfExportProperties = { header: { fromTop: 0, @@ -150,41 +149,23 @@ let pdfExportProperties: PdfExportProperties = { ] } } - -``` - -```ts -let pdfExportProperties = { - header: { - fromTop: 0, - height: 130, - contents: [ - { - type: 'Line', - style: { penColor: '#000080', penSize: 2, dashStyle: 'Solid' }, - points: { x1: 0, y1: 4, x2: 685, y2: 4 } - } - ] - } -}; ``` #### Add page number in header/footer -You can add page number either in header or footer of exported PDF document like in the below code example. - -Supported page number types: -* LowerLatin - a, b, c, -* UpperLatin - A, B, C, -* LowerRoman - i, ii, iii, -* UpperRoman - I, II, III, -* Number - 1,2,3. +You can display page numbers in the header or footer using various numbering formats. Set the [`type`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfHeaderFooterContent/#type) property to **PageNumber** in the contents array to add page number elements. This helps users navigate through multi-page PDF documents easily. +**Supported page number types:** +* `LowerLatin` - Lowercase letters (a, b, c) +* `UpperLatin` - Uppercase letters (A, B, C) +* `LowerRoman` - Lowercase Roman numerals (i, ii, iii) +* `UpperRoman` - Uppercase Roman numerals (I, II, III) +* `Arabic` - Numbers (1, 2, 3) +The following example shows how to add page numbers with Arabic format in the header: -```ts - - let pdfExportProperties: PdfExportProperties = { +```typescript +let pdfExportProperties: PdfExportProperties = { header: { fromTop: 0, height: 130, @@ -192,32 +173,13 @@ Supported page number types: { type: 'PageNumber', pageNumberType: 'Arabic', - format: 'Page {$current} of {$total}', //optional + format: 'Page {$current} of {$total}', // optional position: { x: 0, y: 25 }, style: { textBrushColor: '#ffff80', fontSize: 15, hAlign: 'Center' } } ] } } - -``` - -```ts -let pdfExportProperties = { - header: { - fromTop: 0, - height: 130, - contents: [ - { - type: 'PageNumber', - pageNumberType: 'Arabic', - format: 'Page {$current} of {$total}', - position: { x: 0, y: 25 }, - style: { textBrushColor: '#ffff80', fontSize: 15, hAlign: 'Center' } - } - ] - } -}; ``` The below code illustrates the PDF export customization options. @@ -237,14 +199,16 @@ The below code illustrates the PDF export customization options. {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs210" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs210" %} #### Add an image in header/footer -You can add image (Base64 string) either in header or footer of the exported PDF document like in the below code example. +You can include images in the header or footer by providing a Base64 encoded string. Set the [`type`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfHeaderFooterContent/#type) property to **Image** in the contents array to add image elements. This allows you to add logos, watermarks, or other visual elements to your PDF documents. -```ts -let pdfExportProperties = { +The following example demonstrates how to add an image to the header: + +```typescript +let pdfExportProperties: PdfExportProperties = { header: { fromTop: 0, height: 130, @@ -257,7 +221,7 @@ let pdfExportProperties = { } ] } -}; +} ``` The below code illustrates the PDF export customization options. @@ -281,7 +245,7 @@ The below code illustrates the PDF export customization options. ### Changing the file name while exporting -The PDF export provides an option to change file name of the document before exporting. In-order to change the file name, define **fileName** property in **pdfExportProperties** object and pass it as a parameter to the [`pdfExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pdfexport) method. +The PDF export provides an option to change the file name of the document before exporting. To change the file name, define the [`fileName`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfExportProperties/#filename) property in the [`pdfExportProperties`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfExportProperties/) object and pass it as a parameter to the [`pdfExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pdfexport) method. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -298,11 +262,11 @@ The PDF export provides an option to change file name of the document before exp {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs211" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs211" %} ### Changing page orientation while exporting -The PDF export provides an option to change page orientation of the document before exporting. In-order to change the page orientation, define **pageOrientation** property in **pdfExportProperties** object and pass it as a parameter to the [`pdfExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pdfexport) method. By default, the page orientation will be in **Portrait** and it can be changed to **Landscape** based on user requirement. +When exporting the Pivot Table as a PDF, users can choose the page orientation of the document. By default, the PDF is exported in **Portrait** orientation. If you want to change the orientation to **Landscape**, set the [`pageOrientation`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfExportProperties/#pageorientation) property in the [`pdfExportProperties`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfExportProperties/) object. Then, pass this object as a parameter to the [`pdfExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pdfexport) method. This lets you select either Portrait or Landscape orientation based on your needs before saving the exported PDF. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -319,13 +283,15 @@ The PDF export provides an option to change page orientation of the document bef {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs212" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs212" %} ### Changing page size while exporting -The PDF export provides an option to change page size of the document before exporting. In-order to change the page size, define **pageSize** property in **pdfExportProperties** object and pass it as a parameter to the [`pdfExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pdfexport) method. +When exporting Pivot Table data to PDF, users can select a specific page size for the PDF document. To set the page size, define the [`pageSize`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfExportProperties/#pagesize) property within the [`pdfExportProperties`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfExportProperties/) object, and pass this object as a parameter to the [`pdfExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pdfexport) method. + +You can choose from various page sizes, such as Letter, Note, Legal, A0, A1, A2, A3, A5, A6, A7, A8, A9, B0, B1, B2, B3, B4, B5, Archa, Archb, Archc, Archd, Arche, Flsa, HalfLetter, Letter11x17, and Ledger. -**Supported page sizes are:** Letter, Note, Legal, A0, A1, A2, A3, A5, A6, A7, A8, A9, B0, B1, B2, B3, B4, B5, Archa, Archb, Archc, Archd, Arche, Flsa, HalfLetter, Letter11x17, Ledger. +This option lets users easily adjust the PDF layout to fit their specific needs before exporting the data from the Pivot Table. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -342,13 +308,13 @@ The PDF export provides an option to change page size of the document before exp {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs213" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs213" %} ### Changing document width and height while exporting -Before exporting, you can change the height and width of the PDF document. To achieve this, use the **height** and **width** properties in the [beforeExport](https://ej2.syncfusion.com/react/documentation/api/pivotview/#beforeexport) event. +You can adjust the size of the exported PDF document by setting the [`height`](https://ej2.syncfusion.com/react/documentation/api/pivotview/beforeExportEventArgs/#height) and [`width`](https://ej2.syncfusion.com/react/documentation/api/pivotview/beforeExportEventArgs/#width) options in the [`beforeExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#beforeexport) event. This allows you to specify the dimensions of the PDF before creating it. -> This option is only available if [enableVirtualization](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enablevirtualization) is set to **true**. In addition, the `VirtualScroll` and `PDFExport` modules must be injected into the pivot table. +> Note: This option is available only when [`enableVirtualization`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enablevirtualization) is set to **true**. Also, make sure that both the `VirtualScroll` and `PDFExport` modules are added to the Pivot Table. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -369,9 +335,9 @@ Before exporting, you can change the height and width of the PDF document. To ac ### Customize the table column count while exporting -Before exporting, you can split and export the pivot table columns on each page of the PDF document by using the **columnSize** property in the [beforeExport](https://ej2.syncfusion.com/react/documentation/api/pivotview/#beforeexport) event. +Users can control how many Pivot Table columns appear on each page of the exported PDF by setting the [`columnSize`](https://ej2.syncfusion.com/react/documentation/api/pivotview/beforeExportEventArgs/#columnsize) option in the [`beforeExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#beforeexport) event. This allows users to split Pivot Table columns across multiple pages when exporting large tables to PDF, making the output easier to read. -> This option is only available if [enableVirtualization](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enablevirtualization) is set to **true**. In addition, the `VirtualScroll` and `PDFExport` modules must be injected into the pivot table. +> Note: This option works only when [`enableVirtualization`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enablevirtualization) is enabled in the Pivot Table settings. Also, make sure that both `VirtualScroll` and `PDFExport` modules are injected into the Pivot Table. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -390,11 +356,11 @@ Before exporting, you can split and export the pivot table columns on each page {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs324" %} -### Changing the table's column width and row height while exporting +### Changing the table's column width and row height while exporting -You can change the column width and row height in the PDF document during the pivot table export by using the [onPdfCellRender](https://ej2.syncfusion.com/react/documentation/api/pivotview/#onpdfcellrender) event. Within this event, the `args.column.width` property allows you to change the width of specific columns. +You can adjust column width and row height in the PDF document when exporting data from the Pivot Table by handling the [`onPdfCellRender`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#onpdfcellrender) event. To set the width of specific columns during export, use the `args.column.width` property inside this event. -As shown in the code example below, the **"Unit Sold"** column under **"FY 2015"** is changed to a width of **60** pixels. +For example, the **"Unit Sold"** column under **"FY 2015"** can be set to a width of **60** pixels as shown in the example below. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -413,9 +379,7 @@ As shown in the code example below, the **"Unit Sold"** column under **"FY 2015" {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs325" %} -Similarly, you can change the height of specific rows in the PDF document by using the `args.cell.height` property in the [onPdfCellRender](https://ej2.syncfusion.com/react/documentation/api/pivotview/#onpdfcellrender) event. - -As shown in the code example below, the **"Mountain Bikes"** row under **"France"** is changed to a height of **30** pixels. +Similarly, if you want to change the height of a particular row in the PDF document, you can use the `args.cell.height` property inside the same [onPdfCellRender](https://ej2.syncfusion.com/react/documentation/api/pivotview/#onpdfcellrender) event. For instance, the **"Mountain Bikes"** row under **"France"** can be set to a height of **30** pixels as shown below. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -434,13 +398,13 @@ As shown in the code example below, the **"Mountain Bikes"** row under **"France {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs326" %} -> This option is only available if [enableVirtualization](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enablevirtualization) is set to **true**. In addition, the `VirtualScroll` and `PDFExport` modules must be injected into the pivot table. +> Note: To use this option, make sure that [enableVirtualization](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enablevirtualization) is set to **true**. Additionally, both `VirtualScroll` and `PDFExport` must be injected into the Pivot Table. ## Changing the pivot table style while exporting -The PDF export provides an option to change colors for headers, caption and records in pivot table before exporting. In-order to apply colors, define **theme** settings in **pdfExportProperties** object and pass it as a parameter to the [`pdfExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pdfexport) method. +When you export the Pivot Table as a PDF document, you can change the colors used for headers, captions, and records. To do this, use the [`theme`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfExportProperties/#theme) property inside the [`pdfExportProperties`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfExportProperties/) object. Pass this object to the [`pdfExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pdfexport) method. This allows you to adjust how the Pivot Table looks in the exported PDF. -> By default, material theme will be applied to the pivot table during PDF exporting. +> By default, the Material theme is applied to the exported PDF document. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -457,21 +421,35 @@ The PDF export provides an option to change colors for headers, caption and reco {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs214" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs214" %} - +### Changing default font while exporting -### Changing default font while exporting +By default, the Pivot Table uses the "Helvetica" font in the exported PDF. You can change this font by setting the [`theme`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfExportProperties/#theme) property in [`pdfExportProperties`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfExportProperties/). The available built-in font options are: -By default, the pivot table uses "Helvetica" font in the exported document. But it can be changed using the [`theme`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfExportProperties/#theme) property in [`pdfExportProperties`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfExportProperties/). +- Helvetica +- TimesRoman +- Courier +- Symbol +- ZapfDingbats -The available built-in fonts are, +```typescript +import { PdfStandardFont, PdfFontFamily, PdfFontStyle } from '@syncfusion/ej2-pdf-export'; + +... + +let pdfExportProperties: PdfExportProperties = { + theme: { + header: { font: new PdfStandardFont(PdfFontFamily.TimesRoman, 11, PdfFontStyle.Bold) }, + caption: { font: new PdfStandardFont(PdfFontFamily.TimesRoman, 9) }, + record: { font: new PdfStandardFont(PdfFontFamily.TimesRoman, 10) } + } +}; +``` -* Helvetica -* TimesRoman -* Courier -* Symbol -* ZapfDingbats +### Adding custom font while exporting + +You can also use custom fonts when exporting if you need support for languages or styles that are not available in the built-in fonts. The custom font should be in **Base64** format and applied using the **PdfTrueTypeFont** class. In the example below, the **Advent Pro** font is used, which supports the Hungarian language. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -480,16 +458,24 @@ The available built-in fonts are, {% highlight ts tabtitle="App.tsx" %} {% include code-snippet/pivot-table/default-cs215/app/App.tsx %} {% endhighlight %} +{% highlight js tabtitle="datasource.jsx" %} +{% include code-snippet/pivot-table/default-cs215/app/datasource.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="datasource.tsx" %} +{% include code-snippet/pivot-table/default-cs215/app/datasource.tsx %} +{% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs215" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs215" %} + +> Non-English alphabets can also be exported correctly when you specify a suitable font. ## Virtual Scroll Data -You can export the pivot table virtual scroll data as PDF document by using PivotEngine export without any performance degradation. To enable PivotEngine export in the pivot table, set the `allowPdfExport` as true. You need to use the `exportToPDF` method for PivotEngine export. +When working with large amounts of data in the Pivot Table, the virtual scroll option allows users to efficiently export all the table data as a complete PDF document, without any slowdown or performance issues. This method uses PivotEngine export to manage and export extensive datasets smoothly. To use this option, make sure to enable the [`allowPdfExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowpdfexport) property and use the [`pdfExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pdfexport) method in the Pivot Table. -> To use PivotEngine export, You need to inject the `PDFExport` module in pivot table. -> PivotEngine export will be performed while enabling virtual scrolling by default +> To use PivotEngine export, inject the `PDFExport` module into the Pivot Table. +> When virtual scrolling is enabled, PivotEngine export is used automatically. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -506,14 +492,16 @@ You can export the pivot table virtual scroll data as PDF document by using Pivo {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs216" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs216" %} ### Repeat row headers -Repeat row headers on each page can be achieved using PivotEngine export option. To disable repeat row headers, you need to set `allowRepeatHeader` to **false** in beforeExport event. You need to use the `exportToPDF` method for PivotEngine export. +When exporting the Pivot Table as a PDF using the PivotEngine export option, the row headers are repeated on each page by default. This helps users easily identify rows when viewing larger tables split across multiple PDF pages. + +If you want to turn off the repeated row headers in your PDF, set the [`allowRepeatHeader`](https://ej2.syncfusion.com/react/documentation/api/pivotview/beforeExportEventArgs/#allowrepeatheader) property to **false** inside the [`beforeExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#beforeexport) event. Make sure you are using the [`pdfExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pdfexport) method with the PivotEngine export. -> To use PivotEngine export, You need to inject the `PDFExport` module in pivot table. -> By default, repeat row headers is enabled in the PivotEngine export. +> To use PivotEngine export, inject the `PDFExport` module in the Pivot Table. +> By default, repeating row headers is enabled in the PivotEngine export. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -530,13 +518,13 @@ Repeat row headers on each page can be achieved using PivotEngine export option. {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs217" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs217" %} ### Export all pages -The pivot engine exports the entire virtual data of the pivot table (i.e. the data that contains all of the records used to render the complete pivot table) as a PDF document. To export just the current viewport of the pivot table, set the [`exportAllPages`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#exportallpages) property to **false**. To use the pivot engine export, add the `PDFExport` module into the pivot table. +The Pivot Table allows users to export the entire set of virtual data—meaning all records used to create the complete table—as a PDF document. By default, when virtual scrolling is enabled, the pivot engine will export all data. If you want to export only the data currently shown in the visible area of the Pivot Table, set the [`exportAllPages`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#exportallpages) property to **false**. To make use of the pivot engine export, include the `PDFExport` module in your Pivot Table. -> By default, the pivot engine export will be performed while virtual scrolling is enabled. +> By default, the pivot engine export is performed automatically when virtual scrolling is enabled. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -553,18 +541,20 @@ The pivot engine exports the entire virtual data of the pivot table (i.e. the da {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs218" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs218" %} ## Events ### PdfQueryCellInfo -The event `pdfQueryCellInfo` triggers on framing each row and value cell during PDF export. It allows the user to customize the cell value, style etc. of the current cell. It has the following parameters: +The [`pdfQueryCellInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#pdfquerycellinfo) event occurs for each row and value cell while exporting the Pivot Table to a PDF. This event allows users to change the value, appearance, or other details of the current cell in the PDF file. The following parameters are available in this event: + +- [`value`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfQueryCellInfoEventArgs/#value): The content displayed in the cell. +- [`column`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfQueryCellInfoEventArgs/#column): The column information for the current cell. +- [`data`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfQueryCellInfoEventArgs/#data): The complete row data for the cell. +- [`style`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfQueryCellInfoEventArgs/#style): The style properties that control how the cell looks in the PDF. -* `value` - It holds the cell value. -* `column` - It holds column information for the current cell. -* `data` - It holds the entire row data across the current cell. -* `style` - It holds the style properties for the cell. +By using this event, users can easily update the cell text, apply different styles such as font or background color, or adjust other settings as needed during PDF export. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -581,14 +571,16 @@ The event `pdfQueryCellInfo` triggers on framing each row and value cell during {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs219" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs219" %} ### PdfHeaderQueryCellInfo -The event `pdfHeaderQueryCellInfo` triggers on framing each column header cell during PDF export. It allows the user to customize the cell value, style etc. of the current cell. It has the following parameters: +The [`pdfHeaderQueryCellInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#pdfheaderquerycellinfo) event is triggered for each column header cell when exporting the Pivot Table to a PDF document. This event allows users to easily change values or apply styles to the column header cells in the exported PDF file. -* `cell` - It holds the current rendering cell information. -* `style` - It holds the style properties for the cell. +The event provides the following parameters: + +- [`cell`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfHeaderQueryCellInfoEventArgs/#cell): Gives information about the current header cell being exported. +- [`style`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfHeaderQueryCellInfoEventArgs/#style): Contains style properties that can be used to format the cell. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -605,14 +597,16 @@ The event `pdfHeaderQueryCellInfo` triggers on framing each column header cell d {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs220" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs220" %} ### ExportComplete -The event [`exportComplete`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#exportcomplete) is triggered after the pivot table data has been exported to a PDF document. You can use this event to acquire blob stream data for further customization and processing at your end by passing the `isBlob` parameter as **true** when using the [`pdfExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pdfexport) method. It has the following parameters: +The [`exportComplete`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#exportcomplete) event is triggered after the Pivot Table data has been successfully exported to a PDF document. This event allows you to access blob stream data for further processing by setting the `isBlob` parameter to **true** when calling the [`pdfExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pdfexport) method. + +The event provides the following parameters: -* `type` - It holds the current export type such as PDF, Excel, and CSV. -* `promise` - It holds the promise object for blob data. +* [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/exportCompleteEventArgs/#type) - Specifies the current export type, such as PDF, Excel, or CSV. +* [`promise`](https://ej2.syncfusion.com/react/documentation/api/pivotview/exportCompleteEventArgs/#promise) - Contains the promise object that resolves with blob data. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -629,7 +623,7 @@ The event [`exportComplete`](https://ej2.syncfusion.com/react/documentation/api/ {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs221" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs221" %} ## See Also diff --git a/ej2-react/pivotview/performance-best-practices.md b/ej2-react/pivotview/performance-best-practices.md index 8b5fb84f0..23c8f162e 100644 --- a/ej2-react/pivotview/performance-best-practices.md +++ b/ej2-react/pivotview/performance-best-practices.md @@ -1,7 +1,7 @@ --- layout: post -title: Performance tips for ##Platform_Name## Pivot Table component | Syncfusion -description: Checkout and learn here all about best practices to improve the performance of the Syncfusion ##Platform_Name## Pivot Table component and much more. +title: Performance tips for React Pivot Table component | Syncfusion +description: Checkout and learn here all about best practices to improve the performance of the Syncfusion React Pivot Table component and much more. platform: ej2-react control: Performance best practices publishingplatform: ##Platform_Name## @@ -15,27 +15,31 @@ Performance optimization is crucial when working with large datasets in the [Syn ## How do I improve the loading performance of the Pivot Table? +When working with large datasets, you can use the following options to improve the loading performance of the Pivot Table and provide a smoother user experience. + ### Virtual scrolling -The virtual scrolling in the pivot table significantly improves performance, especially when handling large datasets, because it only renders the rows and columns related to the current viewport. The remaining data is loaded dynamically as you scroll, either vertically or horizontally. For more information on implementing virtual scrolling in the pivot table, you can refer to the documentation [here](https://ej2.syncfusion.com/react/documentation/pivotview/virtual-scrolling). +Virtual scrolling improves the performance of the Pivot Table when working with large datasets by only displaying the rows and columns that are currently visible in the viewport. This approach reduces initial load time and memory usage, as the control processes only the data currently in view. As you scroll vertically or horizontally, additional data loads automatically in the background. For detailed guidance on implementing virtual scrolling in the Pivot Table, see the [virtual scrolling documentation](https://ej2.syncfusion.com/react/documentation/pivotview/virtual-scrolling). ### Paging -If your browser's maximum pixel height limits you from using the pivot table with virtual scrolling, we recommend utilizing the paging option instead. Similar to virtual scrolling, the paging option allows you to load a large amount of data, which can be displayed in the pivot table page-by-page. For more information on implementing paging in the pivot table, please refer to the documentation [here](https://ej2.syncfusion.com/react/documentation/pivotview/paging). +Paging helps you display large datasets efficiently by breaking them into smaller, manageable pages instead of loading all data at once. When your browser's maximum pixel height prevents you from using the Pivot Table with virtual scrolling, the paging option provides an excellent alternative. This approach significantly improves loading performance and ensures smooth navigation through your data. + +To enable paging in your Pivot Table, set the [`allowPaging`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowpaging) property to **true** and configure the [`pageSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#pagesettings) to control the number of records displayed per page. For implementation details, refer to the [paging documentation](https://ej2.syncfusion.com/react/documentation/pivotview/paging). ### Server-side engine -Connecting your application to an external service for fetching a large dataset (referred to as input data), such as one million records for the pivot table, may take considerable time due to network bandwidth limitations when transmitting data from server-side to client-side. +Connecting your application to an external service for fetching a large dataset (referred to as input data), such as one million records for the Pivot Table, may take considerable time due to network bandwidth limitations when transmitting data from server-side to client-side. Therefore, we highly recommend using our server-side engine for rendering the Pivot Table with a large amount of data instead of the built-in engine. -Typically, in this approach, the pivot table component and its report are defined and often modified on the client-side (browser), while the pivot engine is implied and hosted in a dedicated web service (Web API) known as the server-side engine. Here, the server-side engine can directly connect to your data source, swiftly collect the input data (referred to as input raw data), and, based on the provided report by the pivot table through UI interactions periodically, the server-side engine performs all pivot-oriented calculations internally. It then transmits only aggregated data for pivot table display to the client-side (browser). This approach minimizes network bandwidth usage and enhances pivot table rendering. +Typically, in this approach, the Pivot Table component and its report are defined and often modified on the client-side (browser), while the pivot engine is implied and hosted in a dedicated web service (Web API) known as the server-side engine. Here, the server-side engine can directly connect to your data source, swiftly collect the input data (referred to as input raw data), and, based on the provided report by the Pivot Table through UI interactions periodically, the server-side engine performs all pivot-oriented calculations internally. It then transmits only aggregated data for Pivot Table display to the client-side (browser). This approach minimizes network bandwidth usage and enhances Pivot Table rendering. In case a large amount of aggregated data is sent to the client-side from the web service (Web API), the server-side engine offers the option to enable virtual scrolling or paging. This feature generates aggregated data exclusively for the current viewport of the Pivot Table, further optimizing network bandwidth and rendering performance. Additionally, the cache concept is implemented in the server-side engine to hold the pivot engine's instance based on the end-user GUID. This allows for quick retrieval, calculation, and re-sending of modified pivot data to the Pivot Table viewport, based on the UI action performed. -For more information on implementing the server-side engine in the pivot table, please refer to the documentation [here](https://ej2.syncfusion.com/react/documentation/pivotview/server-side-pivot-engine). +For more information on implementing the server-side engine in the Pivot Table, please refer to the documentation [here](https://ej2.syncfusion.com/react/documentation/pivotview/server-side-pivot-engine). ## How can I enhance the performance of the Pivot Table through data operations? @@ -51,19 +55,19 @@ Additionally, it works with the virtual scrolling or paging option enabled as we N> If your input data has very few repeated records, we would not suggest this option. -For more information on implementing the data compression in the pivot table, you can refer to the documentation [here](https://ej2.syncfusion.com/react/documentation/pivotview/data-compression). +For more information on implementing the data compression in the Pivot Table, you can refer to the documentation [here](https://ej2.syncfusion.com/react/documentation/pivotview/data-compression). ### Defer layout update -The Defer Layout Update feature in the pivot table allows end-users to perform various operations, such as adding, removing, and rearranging fields, filtering, sorting, changing aggregation types, and more, without immediately updating the pivot table. The efficiency of this process lies in allowing end-users to complete their modifications. The final application of these changes occurs when end-users click the **Apply** button in the Field List UI. This action triggers the pivot table to update based on the last modified report. By deferring the layout update until precisely requested, the React Pivot Table remains unchanged initially, ensuring minimal resource utilization and avoiding frequent re-rendering until the end-user explicitly applies the modifications. +The Defer Layout Update feature in the Pivot Table allows end-users to perform various operations, such as adding, removing, and rearranging fields, filtering, sorting, changing aggregation types, and more, without immediately updating the Pivot Table. The efficiency of this process lies in allowing end-users to complete their modifications. The final application of these changes occurs when end-users click the **Apply** button in the Field List UI. This action triggers the Pivot Table to update based on the last modified report. By deferring the layout update until precisely requested, the React Pivot Table remains unchanged initially, ensuring minimal resource utilization and avoiding frequent re-rendering until the end-user explicitly applies the modifications. For more information on defer layout updates, you can refer to the documentation [here](https://ej2.syncfusion.com/react/documentation/pivotview/defer-update). ### Sorting -During the initial rendering phase, applying sorting to fields other than the string data type, particularly those with a large number of members, may lead to increased processing time for the pivot engine due to internal calculations. To enhance performance without compromising the final outcome, it is advisable to refrain from using sorting options at this stage. Alternatively, load the input raw data into the data source settings in the desired order for display in the pivot table. +During the initial rendering phase, applying sorting to fields other than the string data type, particularly those with a large number of members, may lead to increased processing time for the pivot engine due to internal calculations. To enhance performance without compromising the final outcome, it is advisable to refrain from using sorting options at this stage. Alternatively, load the input raw data into the data source settings in the desired order for display in the Pivot Table. -Once the input raw data is arranged as needed and the pivot table is rendered, it is recommended to restrict the use of sorting operations for runtime performance optimization. This approach ensures efficient processing and responsive performance while still achieving the desired presentation in the pivot table. +Once the input raw data is arranged as needed and the Pivot Table is rendered, it is recommended to restrict the use of sorting operations for runtime performance optimization. This approach ensures efficient processing and responsive performance while still achieving the desired presentation in the Pivot Table. ### Member filtering @@ -71,11 +75,11 @@ When working with large datasets, it's beneficial to set a display limit for mem ### Grouping -Using the pivot table's built-in grouping feature to group date, number, and string data type fields is not often recommended. +Using the Pivot Table's built-in grouping feature to group date, number, and string data type fields is not often recommended. Here is an example below of how the [groupSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/groupSettings/#groupsettings) tag has been used to configure grouping for the available fields using code-behind. The date and number grouping have been set to the fields "Date" and "Id", respectively. -It obviously impacts the overall performance during pivot table rendering because it always consumes the input raw data, splits, redefines, and provides modified input raw data based on the fields in the report that will be used for further pivot calculations. +It obviously impacts the overall performance during Pivot Table rendering because it always consumes the input raw data, splits, redefines, and provides modified input raw data based on the fields in the report that will be used for further pivot calculations. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -91,11 +95,12 @@ It obviously impacts the overall performance during pivot table rendering becaus {% include code-snippet/pivot-table/performance-best-practices-cs1/app/datasource.tsx %} {% endhighlight %} {% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/performance-best-practices-cs1" %} - {% previewsample "page.domainurl/code-snippet/pivot-table/performance-best-practices-cs1" %} To avoid this performance constraint, we recommend passing the input raw data along with pre-processed group field sets based on your grouping needs. For example, if your input raw data has a date field "Date" with the value "15/AUG/2019 03:41 PM" and you want to display it as the year and month alone, split out the date field as "Date_Year" = "15/AUG/2019" for the year and "Date_Month" = "15/AUG/2019" for the month. Further use the [formatSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#formatsettings) property to show these date fields with the chosen date format. Similarly, to group a number field, just alter its value based on your requirements (e.g., 1–5, 6–10). -Here's an example below of configuring grouping in your input raw data and assigning it to the pivot table's data source. In the code below, the fields "Date_Year," "Date_Month," and "Id" are created and updated in the provided input raw data and have been specified for the date and number grouping. Additionally, the date formatting has been applied to these specified date group fields using the [formatSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#formatsettings). +Here's an example below of configuring grouping in your input raw data and assigning it to the Pivot Table's data source. In the code below, the fields "Date_Year," "Date_Month," and "Id" are created and updated in the provided input raw data and have been specified for the date and number grouping. Additionally, the date formatting has been applied to these specified date group fields using the [formatSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#formatsettings). {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -111,8 +116,8 @@ Here's an example below of configuring grouping in your input raw data and assig {% include code-snippet/pivot-table/performance-best-practices-cs2/app/datasource.tsx %} {% endhighlight %} {% endtabs %} - - {% previewsample "page.domainurl/code-snippet/pivot-table/performance-best-practices-cs2" %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/performance-best-practices-cs2" %} ### Value filtering @@ -122,11 +127,11 @@ The [value filtering](https://ej2.syncfusion.com/react/documentation/pivotview/f ### Virtual scrolling with single page mode -By default, the pivot table with virtual scrolling renders not only the current view page but also the previous and next pages. However, by using single-page mode along with virtual scrolling, only the rows and columns relevant to the current view page are rendered. This optimization significantly enhances the scrolling performance of the pivot table. For more information on implementing this feature, you can refer to the documentation [here](https://ej2.syncfusion.com/react/documentation/pivotview/virtual-scrolling#virtual-scrolling-with-single-page-mode). +By default, the Pivot Table with virtual scrolling renders not only the current view page but also the previous and next pages. However, by using single-page mode along with virtual scrolling, only the rows and columns relevant to the current view page are rendered. This optimization significantly enhances the scrolling performance of the Pivot Table. For more information on implementing this feature, you can refer to the documentation [here](https://ej2.syncfusion.com/react/documentation/pivotview/virtual-scrolling#virtual-scrolling-with-single-page-mode). ### Limiting the component size -Each row and cell in the pivot table is treated as an individual Razor component. However, loading an extensive number of rows and columns into the current view can strain memory consumption and CPU processing. To avoid such performance impacts, load a smaller set of rows and columns in the pivot table by defining and limiting the pivot table using the [height](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotViewModel/#height) and [width](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotViewModel/#width) properties. For example, 600px * 1000px, respectively, with just the pivot table alone (that is, without the grouping bar, toolbar, and other additional UI elements). +Displaying too many rows and columns in a Pivot Table at once can slow performance and increase memory usage. To keep the Pivot Table responsive, set a specific [height](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotViewModel/#height) and [width](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotViewModel/#width) for the Pivot Table, such as 600px by 1000px. This limits the number of rows and columns loaded in the current view. When setting these values, render only the Pivot Table, excluding the grouping bar, toolbar, and other additional UI elements. N> Normally, pixel units are preferred, ensuring more accurate page calculations compared to using percentage units, which involve additional computations for determining page as well as row and column sizes. diff --git a/ej2-react/pivotview/pivot-chart.md b/ej2-react/pivotview/pivot-chart.md index 0f26f71f6..a177e0bb2 100644 --- a/ej2-react/pivotview/pivot-chart.md +++ b/ej2-react/pivotview/pivot-chart.md @@ -1,25 +1,25 @@ --- layout: post -title: Pivot chart in React Pivotview component | Syncfusion -description: Learn here all about Pivot chart in Syncfusion React Pivotview component of Syncfusion Essential JS 2 and more. -control: Pivot chart +title: Pivot Chart in React Pivot Table Component | Syncfusion +description: Learn here all about Pivot Chart in Syncfusion React Pivot Table component of Syncfusion Essential JS 2 and more. platform: ej2-react +control: Pivot Chart documentation: ug domainurl: ##DomainURL## --- -# Pivot chart in React Pivotview component +# Pivot Chart in React Pivot Table Component -In pivot table component, pivot chart would act as an additional visualization component with its basic and important characteristic like drill down and drill up, 15+ chart types, series customization, axis customization, legend customization, export, print and tooltip. Its main purpose is to show the pivot data in graphical format. +The Pivot Chart in the Syncfusion React Pivot Table component helps users visualize aggregated values in a clear and graphical format. It provides essential options like drill down and drill up operations, over 15 chart types, and various display settings for series, axes, legends, export, print, and tooltips. The main purpose of the Pivot Chart is to present Pivot Table data in a way that is easy to understand and interact with. -If user prefers, the pivot chart component can also be displayed individually with pivot values and can change the report dynamically with the help of field list and grouping bar. Using the [`displayOption`](https://ej2.syncfusion.com/react/documentation/api/pivotview#displayoption) property, user can set the visibility of grid and chart in pivot table component. It holds below properties, +Users can display the pivot chart component individually with pivot values and modify the report dynamically using the field list and grouping bar. The [`displayOption`](https://ej2.syncfusion.com/react/documentation/api/pivotview/displayOptionModel/) property in the Pivot Table allows users to control the visibility of both the grid and chart components. This property includes the following options: -* [`view`](https://ej2.syncfusion.com/react/documentation/api/pivotview/displayOptionModel/#view): Specifies the pivot table component to display grid alone or chart alone or both. -* [`primary`](https://ej2.syncfusion.com/react/documentation/api/pivotview/displayOptionModel/#primary): Specifies the pivot table to display either grid or chart as primary component during initial loading. It is applicable only when setting the property [`view`](https://ej2.syncfusion.com/react/documentation/api/pivotview/displayOptionModel/#view) to **Both**. +* [`view`](https://ej2.syncfusion.com/react/documentation/api/pivotview/displayOptionModel/#view): Determines whether the Pivot Table component displays only the grid, only the chart, or both components. +* [`primary`](https://ej2.syncfusion.com/react/documentation/api/pivotview/displayOptionModel/#primary): Specifies which component (grid or chart) appears as the primary view during initial loading. This option applies only when the [`view`](https://ej2.syncfusion.com/react/documentation/api/pivotview/displayOptionModel/#view) property is set to **Both**. -> You should inject the PivotChart module to make the its features available in the pivot table. +> To use the Pivot Chart, be sure to inject the `PivotChartService` module into your application. -The below sample displays the pivot chart component based on the pivot report bound on it. +The following sample shows the pivot chart component based on the pivot report bound to it. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -36,42 +36,41 @@ The below sample displays the pivot chart component based on the pivot report bo {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs222" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs222" %} ## Data Binding -End user can bind both local and remote data binding options available in the component to feed the data. The [`dataSource`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#datasource) property can be assigned either with an instance of `DataManager` or JavaScript object array collection. -For more information [`refer`](./data-binding) here. +The Pivot Table component supports both local and remote data binding options to populate data in the pivot chart. Users can bind data to the component using the [`dataSource`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#datasource) property, which accepts either an instance of [`DataManager`](https://ej2.syncfusion.com/documentation/api/data/dataManager/) for remote data sources or a JavaScript object array collection for local data. For further details, [refer here](./data-binding). ## Chart Types -Supports 21 different types of charts as follows, - -* Line -* Column -* Area -* Bar -* StepArea -* StackingLine -* StackingColumn -* StackingArea -* StackingBar -* StepLine -* Pareto -* Bubble -* Scatter -* Spline -* SplineArea -* StackingLine100 -* StackingColumn100 -* StackingBar100 -* StackingArea100 -* Polar -* Radar - -**Line** is the default pivot chart type. User can change the pivot chart type by using the property [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeriesModel/#type) in [`chartSeries`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettingsModel/#chartseries) class. - -In the below code sample, the pivot chart type is set as **Bar**. +The Pivot Chart offers 21 different chart types, allowing users to visualize and analyze data in various ways. You can choose any of these chart types based on your needs: + +- Line +- Column +- Area +- Bar +- StepArea +- StackingLine +- StackingColumn +- StackingArea +- StackingBar +- StepLine +- Pareto +- Bubble +- Scatter +- Spline +- SplineArea +- StackingLine100 +- StackingColumn100 +- StackingBar100 +- StackingArea100 +- Polar +- Radar + +By default, the **Line** chart type is displayed in the Pivot Chart. Users can change the chart type at any time using the [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeries/#type) property under [`chartSeries`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeries/). + +For example, to display a **Bar** chart, set the chart type to 'Bar' within the Pivot Chart settings. Review the following code samples to see how to set this option: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -88,20 +87,20 @@ In the below code sample, the pivot chart type is set as **Bar**. {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs223" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs223" %} ## Accumulation Charts -Supports 4 different types of accumulation charts as follows, +Pivot Chart supports four types of accumulation charts: -* Pie -* Doughnut -* Funnel -* Pyramid +- Pie +- Doughnut +- Funnel +- Pyramid -As like other chart types it can be changed using the property [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeriesModel/#type) in [`chartSeries`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeriesModel/). +You can use any of these chart types to visualize your aggregated data clearly. To select a specific accumulation chart, set the [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeriesModel/#type) property in the [`chartSeries`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeriesModel/) option. -In the below code sample, the **Pie** chart is rendered, and the other accumulation charts can be switched using the drop-down list. +In the code example below, the **Pie** chart is displayed by default. You can switch to other accumulation chart types, such as Doughnut, Funnel, or Pyramid, using the dropdown list. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -118,16 +117,17 @@ In the below code sample, the **Pie** chart is rendered, and the other accumulat {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs224" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs224" %} -### Drill Down/Up +### Drill down and up -In the accumulation charts, drill down and drill up operations can be performed using the built-in context menu option. It will be shown while clicking on the chart series. The context menu has the following options: -* **Expand** - It is to drill down the corresponding series until the last level. -* **Collapse** - It is to drill up the corresponding series until the first level. -* **Exit** - It is to close the context menu. +In accumulation charts, you can use the drill down and drill up options to explore data at different levels. When you click on a chart series, a built-in context menu appears with the following options: -> The drill operation in accumulation charts can be performed only for row headers. +- **Expand**: Drill down to view more detailed data for the selected series, continuing until the lowest level is reached. +- **Collapse**: Drill up to view higher-level, summarized information for that series, returning to the top level as needed. +- **Exit**: Close the context menu without making any changes. + +> You can use the drill operation for row headers only in accumulation charts. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -144,15 +144,15 @@ In the accumulation charts, drill down and drill up operations can be performed {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs225" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs225" %} ![output](images/expand_collapse.png) ### Column Headers and Delimiters -Unlike other chart types, the accumulation charts consider the values of a single column from the pivot table to be drawn. Preferably the first column of the pivot table is considered by default. But it can be changed by defining the column headers using the `columnHeader` property in [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#chartsettings). +In accumulation charts, only the values from a single column in the pivot chart are displayed. By default, the first column is used. If you want to show values from a different column, you can specify the column headers with the [`columnHeader`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettingsModel/#columnheader) property in [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#chartsettings). -If the column has more than one header, then need to mention all the headers separated by the delimiter **-**, for example,**Germany-Road Bikes**. Using the property `columnDelimiter` in [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#chartsettings), one can set the desired delimiter to separate the column headers. +If the column has more than one header, enter all the headers separated by a delimiter, such as **Germany-Road Bikes**. You can set your preferred delimiter using the [`columnDelimiter`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettingsModel/#columndelimiter) property in [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#chartsettings). This allows you to display the correct values in your accumulation chart according to how your columns are grouped in the Pivot Table. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -169,16 +169,20 @@ If the column has more than one header, then need to mention all the headers sep {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs226" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs226" %} ### Label Customization -The data labels are visible by default showing header name. Its visibility can be modified using the `visible` boolean property in `dataLabel`. With regard to the label arrangement, the **Smart Labels** options help to arrange labels efficiently without overlapping. It can be disabled by setting the `enableSmartLabels` property in [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#chartsettings) as **false**. -The `position` property in `dataLabel` allows to specify the position of the data label. The available options are, -* `Outside`: Positions the label outside the point. It is the default option. -* `Inside`: Positions the label inside the point. +By default, the data labels in accumulation charts display the header name. You can control their visibility using the [`visible`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotChartDataLabelModel/#visible) property in the [`dataLabel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeriesModel/#datalabel) settings. + +To improve label arrangement and prevent overlapping, the **Smart Labels** option arranges labels efficiently. You can disable this option by setting the [`enableSmartLabels`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettingsModel/#enablesmartlabels) property to **false** in the [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#chartsettings). + +The [`position`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotChartDataLabelModel/#position) property in [`dataLabel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeriesModel/#datalabel) allows you to specify where the data label appears. The available options are: -In the following code sample, the data labels are placed inside. +* `Outside`: Places the label outside the chart point. This is the default option. +* `Inside`: Places the label inside the chart point. + +In the following code sample, the data labels are placed inside the chart points. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -195,9 +199,9 @@ In the following code sample, the data labels are placed inside. {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs227" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs227" %} -The **Connector Line** will be visible when the data label is placed outside the chart. It can be customized using the `connectorStyle` property in `dataLabel` for its color, length, width etc. In the following code sample, the connector line is customized. +The **Connector Line** appears when data labels are positioned outside the chart. You can style this connector line using the [`connectorStyle`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotChartDataLabelModel/#connectorstyle) property in [`dataLabel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeriesModel/#datalabel) to modify its color, length, width, and other properties. In the example below, the connector line appearance is changed to show a different style. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -214,11 +218,11 @@ The **Connector Line** will be visible when the data label is placed outside the {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs228" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs228" %} ### Pie and Doughnut Customization -User can draw pie and doughnut charts within the specified range using the `startAngle` and `endAngle` properties in [`chartSeries`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeriesModel/). The default value of the `startAngle` property is **0**, and the `endAngle` property is **360**. By customizing these properties, user can draw semi pie and semi doughnut charts. +You can draw pie and doughnut charts within a specific range by using the [`startAngle`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeriesModel/#startangle) and [`endAngle`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeriesModel/#endangle) properties in the [`chartSeries`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeriesModel/) configuration. The default value for the [`startAngle`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeriesModel/#startangle) property is **0**, and the [`endAngle`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeriesModel/#endangle) property is **360**. By modifying these properties, you can create semi-pie and semi-doughnut charts. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -235,10 +239,11 @@ User can draw pie and doughnut charts within the specified range using the `star {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs229" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs229" %} + +You can convert a pie chart to a doughnut chart and vice-versa using the [`innerRadius`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeriesModel/#innerradius) property in the [`chartSeries`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeriesModel/) configuration. When this property is set to a value greater than **0** percent, the chart appears as a doughnut instead of a pie chart. -Users can get doughnut chart from pie chart and vice-versa using the `innerRadius` property in [`chartSeries`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeriesModel/). If the property is greater than **0** percent, the doughnut chart will appear from the pie chart. -> It takes the value only in percentage. +> This property accepts values only in percentage format. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -255,11 +260,11 @@ Users can get doughnut chart from pie chart and vice-versa using the `innerRadiu {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs230" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs230" %} ### Exploding Series Points -Exploding can be enabled by setting the `explode` property in [`chartSeries`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeriesModel/) to **true**. The series points will be exploded either on mouse click or touch. +You can make an individual point in a pivot chart stand out by enabling the exploding option. To do this, set the [`explode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeriesModel/#explode) property in the [`chartSeries`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeriesModel/) to **true**. When this option is turned on, a chart point will separate from the rest of the series when a user clicks it with a mouse or taps it on a touch device. This makes it easier for users to highlight and identify specific data points in accumulation charts like Pie, Doughnut, Funnel, or Pyramid. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -276,14 +281,13 @@ Exploding can be enabled by setting the `explode` property in [`chartSeries`](ht {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs231" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs231" %} ## Field List -User can enable the field list by setting the property [`showFieldList`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showfieldlist) as **true**. -By using this, user can customize the report dynamically and view the result in pivot chart. For more information regarding the field list, refer the [field list](./field-list) topic. +The field list makes it easy to add, remove, or rearrange fields in the pivot chart, so you can display exactly the data you need. To show the field list in the Pivot Chart, set the [`showFieldList`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showfieldlist) property of the Pivot Table to **true**. When you make changes with the field list, the pivot chart updates right away to show the new results. To learn more about the field list and how it works, see the [field list](./field-list) topic in the documentation. -In the following sample, the Popup mode of field list is enabled in the pivot chart. +The sample below demonstrates the field list shown in `Popup` mode within the pivot chart. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -300,13 +304,13 @@ In the following sample, the Popup mode of field list is enabled in the pivot ch {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs232" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs232" %} ## Grouping Bar -User can enable the grouping bar by setting the property [`showGroupingBar`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showgroupingbar) as **true**. The grouping bar in pivot chart shows a dropdown list in value axis instead of buttons. The dropdown list holds list of value fields bounded in the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) and it can be switched to draw the pivot chart with the selected value field. This has been defined as the default behavior in the pivot chart component. For more information regarding the grouping bar, refer the [grouping bar](./grouping-bar) topic. +You can display the grouping bar in the Pivot Chart by setting the [`showGroupingBar`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showgroupingbar) property to **true**. When enabled, the grouping bar in the pivot chart shows a drop-down list on the value axis. This drop-down lets users select from the value fields defined in [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). Users can switch between these fields to update the chart based on the selected value field. This method of selection is the default behavior in the Pivot Chart component. For more details about how the grouping bar works, refer to the [grouping bar](./grouping-bar) documentation. -> For multiple axis support, buttons will be placed in value axis instead of dropdown list. +> When there are multiple axes, buttons appear on the value axis instead of the drop-down list. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -323,9 +327,9 @@ User can enable the grouping bar by setting the property [`showGroupingBar`](htt {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs233" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs233" %} -For accumulation charts alone, a drop-down list will be placed in the column axis instead of the buttons. The drop-down list shows the column headers available in the pivot table. Users can dynamically switch column headers with the help of the drop-down list, and the accumulation chart will be updated accordingly. +When using accumulation charts, the drop-down list appears on the column axis. This list contains the column headers available in the Pivot Chart. Users can switch column headers using this drop-down, and the accumulation chart will update with the selected header. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -342,11 +346,11 @@ For accumulation charts alone, a drop-down list will be placed in the column axi {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs234" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs234" %} ## Single Axis -By default, the pivot chart will be drawn with the value field (measure) which is set first in the report under value axis. But, user can change to specific value field using the property [`value`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettingsModel/#value) class. +By default, the pivot chart uses the first value field (measure) from your report as the value axis. If you want to display data using a different value field, you can do this easily. Use the [`value`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/#value) property inside [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/). This option lets you show a specific value field in the pivot chart, allowing you to focus on the data you need. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -363,13 +367,13 @@ By default, the pivot chart will be drawn with the value field (measure) which i {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs235" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs235" %} -## Multiple axis +## Multiple Axis -User can draw the pivot chart with multiple value fields by setting the property [`enableMultipleAxis`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettingsModel/#enablemultipleaxis) in [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview#chartsettings) as **true**. In the below code sample, the pivot chart will be drawn with both value fields "Sold" and "Amount" available in the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview#datasourcesettings). +The pivot chart can be drawn with multiple value fields by setting the [`enableMultipleAxis`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/#enablemultipleaxis) property to **true** in the [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/). In the following code sample, the pivot chart displays both value fields "Sold" and "Amount" from the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/). -> The multiple axis support is not applicable for the accumulation chart types like pie, doughnut, pyramid, and funnel. +> Multiple axis support is not applicable for accumulation chart types like pie, doughnut, pyramid, and funnel. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -386,9 +390,9 @@ User can draw the pivot chart with multiple value fields by setting the property {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs236" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs236" %} -If the user binds more value fields, the result will be multiple pivot charts, and each chart will shrink within the parent container height. To avoid this, set the [`enableScrollOnMultiAxis`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/#enablescrollonmultiaxis) property in [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/) to **true**. By doing so, each pivot chart will only shrink to a minimal "160px" – "180px" height showing a vertical scrollbar for a clear view. +When binding more value fields, the result displays multiple pivot charts, with each chart shrinking within the parent container height. To prevent this behavior, set the [`enableScrollOnMultiAxis`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/#enablescrollonmultiaxis) property to **true** in the [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/). This ensures each pivot chart maintains a minimum height of "160px" to "180px" and displays a vertical scroll bar for better visibility. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -405,11 +409,11 @@ If the user binds more value fields, the result will be multiple pivot charts, a {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs237" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs237" %} -Meanwhile, there is another way to display multiple values in a chart. In this approach, the series drawn from multiple values are grouped and displayed in a single chart. And, based on the values, multiple Y axis scales will be framed with different ranges. This can be achieved by setting the properties [`enableMultipleAxis`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettingsModel/#enablemultipleaxis) as **true** and [`multipleAxisMode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettingsModel/#multipleaxismode) as `Single` in [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/). +Alternatively, you can display multiple values in a single chart. In this approach, the series from multiple values are grouped and displayed together. Based on the values, multiple Y-axis scales are created with different ranges. This can be achieved by setting [`enableMultipleAxis`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/#enablemultipleaxis) to **true** and [`multipleAxisMode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/#multipleaxismode) to `Single` in the [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/). -In the following code sample, the pivot chart can be seen as a single chart with multiple value fields such as **Sold** and **Amount** that are drawn as multiple Y axis. +In the following code sample, the pivot chart appears as a single chart with multiple value fields such as **Sold** and **Amount**, each represented with its own Y-axis. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -426,13 +430,13 @@ In the following code sample, the pivot chart can be seen as a single chart with {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs238" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs238" %} -### Show member based chart series +### Show point color based on members -When multiple axes are enabled, the user can create each chart series with a unique color palette based on members by setting the [`showMemberSeries`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettingsModel/#showmemberseries) property in [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettingsModel/) to **true**. As a result, user can easily identify each member enclosed chart series consistently across different measures in the entire chart area. +When you enable multiple axes in the pivot chart, you can use the [`showPointColorByMembers`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettingsModel/#showpointcolorbymembers) property in the [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettingsModel/) to display the same color for each member on the column axis across all measures. Setting this property to **true** makes it easy for users to spot and compare each member throughout the entire chart. -Furthermore, with a single click over the legend item, you can show or hide specific chart series visibility based on members across different measures in the entire chart area. +In addition, users can show or hide specific members from all measures in the chart by clicking the corresponding legend item. This interaction allows users to focus on the members they want to analyze without distraction. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -449,11 +453,11 @@ Furthermore, with a single click over the legend item, you can show or hide spec {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs239" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs239" %} ## Series customization -User can customize series of the pivot chart using [`chartSeries`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettingsModel/#chartseries) in [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#chartsettings) class. The changes handled in the property will be reflected commonly in all chart series. +You can customize the series in the pivot chart by using the [`chartSeries`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeries/) property inside [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/). Any changes you make to the [`chartSeries`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeries/) property will apply to all series in the chart. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -470,11 +474,11 @@ User can customize series of the pivot chart using [`chartSeries`](https://ej2.s {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs240" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs240" %} -User can also customize the pivot chart series individually using the [`chartSeriesCreated`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotViewModel/#chartseriescreated) event, which occurs after the pivot chart series has been created. You can customize each series individually by iterating them. +If you want to change each series separately, use the [`chartSeriesCreated`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotViewModel/#chartseriescreated) event. This event happens after the pivot chart series are created, making it possible to work with each series one at a time. -In the following sample, the even series are hidden in the pivot chart. +The sample below shows how you can hide every even-numbered series in the pivot chart. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -491,15 +495,15 @@ In the following sample, the even series are hidden in the pivot chart. {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs241" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs241" %} -## Axis customization +## Axis Customization -User can customize axis of the pivot chart using [`primaryXAxis`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettingsModel/#primaryxaxis) and [`primaryYAxis`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettingsModel/#primaryyaxis) properties in [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#chartsettings). +Users can customize the x-axis and y-axis of the pivot chart using the [`primaryXAxis`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/#primaryxaxis) and [`primaryYAxis`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/#primaryyaxis) options in the [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/) property of the Pivot Table. -> Axis customization is not applicable for the accumulation chart types like pie, doughnut, pyramid, and funnel. +> Please note that axis customization is not supported for accumulation chart types, such as pie, doughnut, pyramid, and funnel. -In the following sample, title of y-axis and x-axis are customized. +For example, in the sample below, the titles for the y-axis and x-axis are set to custom values. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -516,17 +520,16 @@ In the following sample, title of y-axis and x-axis are customized. {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs242" %} - -One can also customize multi-level labels of primary x-axis by using the [`multiLevelLabelRender`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettingsModel/#multilevellabelrender) event in the [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview#chartsettings), which fires on rendering each multi-level label in the pivot chart. It has the following parameters: +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs242" %} -`axis` - It holds the information of the current axis. +Users can also modify multi-level labels on the primary x-axis by using the [`multiLevelLabelRender`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettingsModel/#multilevellabelrender) event in [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/). This event is triggered whenever a multi-level label is rendered on the chart. The event provides the following options: -`text` - It allows to change the text of the multi-level label. +- `axis`: Information about the current axis. +- `text`: Option to change the content of the multi-level label. +- `textStyle`: Option to adjust the font of the label. +- `alignment`: Option to set how the label text is aligned. -`textStyle` - It allows to customize the text font. - -`alignment` - It allows to set the text alignment. +The example below shows how to update the text and style for multi-level labels on the pivot chart’s x-axis: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -543,37 +546,39 @@ One can also customize multi-level labels of primary x-axis by using the [`multi {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs243" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs243" %} ## Legend customization -User can customize legend using [`legendSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettingsModel/#legendsettings) in [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#chartsettings). By default, legend will be visible and it can be hidden by setting the property `Visible` in [`legendSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettingsModel/#legendsettings) as **false**. +Users can easily change the legend in the pivot chart by using the [`legendSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotChartSettingsLegendSettings/) option inside the [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/) property. By default, the legend is shown. If you want to hide it, set the [`visible`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotChartSettingsLegendSettings/#visible) property in [`legendSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotChartSettingsLegendSettings/) to **false**. + +The pivot chart allows users to select from various legend shapes, including: -The pivot chart support different types of legend shapes as follows, +- Circle +- Rectangle +- VerticalLine +- Pentagon +- InvertedTriangle +- SeriesType (default) +- Triangle +- Diamond +- Cross +- HorizontalLine -* Circle -* Rectangle -* VerticalLine -* Pentagon -* InvertedTriangle -* SeriesType -* Triangle -* Diamond -* Cross -* HorizontalLine +The default shape for the legend is **SeriesType**, but you can change it by setting the [`legendShape`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeries/#legendshape) property in [`chartSeries`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeries/#legendshape). -Here **seriesType** would act as the default shape and it can changed using the property [`legendShape`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSeriesModel/#legendshape) in [`chartSeries`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettingsModel/#chartseries). +Users can also choose where the legend appears in the pivot chart by setting the [`position`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotChartSettingsLegendSettings/#position) property in [`legendSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotChartSettingsLegendSettings/). The available positions include: -Also user can set the position of the legend in pivot chart using the property [`position`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotChartSettingsLegendSettings/#position) in [`legendSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettingsModel/#legendsettings). The available options to set the legend position are as follows, +- **Auto**: Places the legend based on the chart area (default). +- **Top**: Shows the legend above the pivot chart. +- **Left**: Displays the legend to the left of the chart. +- **Bottom**: Places the legend below the chart. +- **Right**: Shows the legend on the right side. +- **Custom**: Positions the legend using specific x and y values you provide. -* Auto: Places the legend based on area type. This is the default. -* Top: Displays the legend at the top of the pivot chart. -* Left: Displays the legend at the left of the pivot chart. -* Bottom: Displays the legend at the bottom of the pivot chart. -* Right: Displays the legend at the right of the pivot chart. -* Custom: Displays the legend based on the given x and y values. +> Note: Legends are not shown by default for accumulation charts such as pie, doughnut, pyramid, and funnel. -> By default, the legend is not visible for the accumulation chart types like pie, doughnut, pyramid, and funnel. +In the following code example, you can see how to set a different legend shape and position. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -590,17 +595,19 @@ Also user can set the position of the legend in pivot chart using the property [ {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs244" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs244" %} + +## User interaction -## User Interaction +### Marker and crossHair -### Marker and CrossHair +You can show and customize markers and crosshair's on the pivot chart. To do this, use the [`marker`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotChartSeriesMarkerSettings/) and [`crosshair`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/#crosshair) options within the [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/) property. -User can enable and customize the marker and crosshair using [`markerSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotChartSeriesMarkerSettings/) and [`crosshairSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotChartSettingsCrosshairSettings/) properties in [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview#chartsettings) class respectively. +If you want to display a tooltip when hovering over an axis crosshair, use the [`crosshairTooltip`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotAxisModel/#crosshairtooltip) option. -Also user can enable and customize the crosshair tooltip for axes using [`crosshairTooltip`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotChartAxisCrosshairTooltip/). +> Please note, marker and crosshair options do not work with accumulation chart types, such as pie, doughnut, pyramid, or funnel. -> Marker and crosshair is not applicable for the accumulation chart types like pie, doughnut, pyramid, and funnel. +In the following code sample, both marker and crosshair options are enabled and set up using the above properties: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -617,28 +624,28 @@ Also user can enable and customize the crosshair tooltip for axes using [`crossh {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs245" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs245" %} -### Zooming and Panning +### Zooming and panning -User can customize zooming and panning option using the property [`zoomSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotZoomSettings/) in [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#chartsettings). +Users can customize the zooming and panning options in the pivot chart by using the [`zoomSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotZoomSettings/) property within [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/). The pivot chart supports four zooming options: -The pivot chart support four types of zooming which can be set as follows, +- [`enablePinchZooming`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotZoomSettingsModel/#enablepinchzooming) – Zooms by pinching on touch devices. +- [`enableSelectionZooming`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotZoomSettingsModel/#enableselectionzooming) – Zooms into a selected region on the chart. +- [`enableDeferredZooming`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotZoomSettingsModel/#enabledeferredzooming) – Applies zooming only after the selection is complete, which helps improve performance for large data. +- [`enableMouseWheelZooming`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotZoomSettingsModel/#enablemousewheelzooming) – Zooms using the mouse wheel. -* [`enablePinchZooming`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotZoomSettings/#enablepinchzooming) -* [`enableSelectionZooming`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotZoomSettings/#enableselectionzooming) -* [`enableDeferredZooming`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotZoomSettings/#enabledeferredzooming) -* [`enableMouseWheelZooming`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotZoomSettings/#enablemousewheelzooming) +The direction of zooming can be controlled using the [`mode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotZoomSettings/#mode) property in [`zoomSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotZoomSettings/). The available options are: -and three modes of zooming direction that specifies whether to zoom vertically or horizontally or in both ways which are, +- `x`: zooms horizontally, +- `y`: zooms vertically, +- `x,y`: zooms both horizontally and vertically. -* x: Pivot chart can be zoomed horizontally. -* y: Pivot chart can be zoomed vertically. -* x,y: Pivot chart can be zoomed both vertically and horizontally. +When the pivot chart is zoomed, a toolbar appears at the top of the chart with tools for Zoom, Zoom In, Zoom Out, Pan, and Reset actions. This toolbar can be customized using the [`toolbarItems`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotZoomSettings/#toolbaritems) property in [`zoomSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotZoomSettings/). -This can be set using the property [`mode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotZoomSettings/#mode) in [`zoomSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotZoomSettings/). By default, if the pivot chart is zoomed, a toolbar would display with the options - Zoom, ZoomIn, ZoomOut, Pan, Reset. User can also customize its option using the property [`toolbarItems`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotZoomSettings/#toolbaritems) in [`zoomSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotZoomSettings/). +> Zooming and panning are not available for accumulation chart types, such as pie, doughnut, pyramid, and funnel. -> Zooming and panning is not applicable for the accumulation chart types like pie, doughnut, pyramid, and funnel. +In the code sample below, all four zooming types are enabled, along with the toolbar options for the pivot chart. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -655,13 +662,15 @@ This can be set using the property [`mode`](https://ej2.syncfusion.com/react/doc {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs246" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs246" %} ### Tooltip -By default, tooltip for the pivot chart is enabled. User can customize it by using the property [`tooltipSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotTooltipSettings/) in [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#chartsettings). +The tooltip in the Pivot Chart is enabled by default, showing detailed information about each data point when users move the pointer over the chart. Users can change how the tooltip looks and functions by using the [`tooltip`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotTooltipSettings/) option inside the [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/) property. -> The tooltip can be disabled by setting the property [`enable`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotTooltipSettings/#enable) in [`tooltipSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotTooltipSettings/) as **false**. +If users do not want to show the tooltip, they can disable it by setting the [`enable`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotTooltipSettings/#enable) property in [`tooltip`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotTooltipSettings/) to **false**. + +The code below shows how to change the default tooltip appearance and settings in the Pivot Chart. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -678,20 +687,25 @@ By default, tooltip for the pivot chart is enabled. User can customize it by usi {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs247" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs247" %} ## Export -The pivot chart can be exported using the [`chartExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#chartexport) method which holds parameters like export type, file name, PDF orientation, width, and height in the same order. The mandatory parameters for this method are export type and file name whereas other parameters are optional. +You can export the pivot chart to various file formats by using the [`chartExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#chartexport) method. This method requires the `type` parameter, which specifies the file format. The supported export formats are: + +- PNG +- JPEG +- SVG +- PDF -The following are the four export types: +Other optional parameters for the [`chartExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#chartexport) method include: -* PNG -* JPEG -* SVG -* PDF +- `pdfExportProperties`: Lets you set specific export options for the PDF format. +- `isMultipleExport`: Use this to export several charts or reports into one PDF document. +- `pdfDoc`: Allows you to include another external PDF document as part of the export. +- `isBlob`: If enabled, saves the PDF as blob data. -In the following code sample, exporting can be done using an external button named as "Chart Export". +The example below shows how to export the pivot chart using an external button labeled "Export": {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -708,13 +722,13 @@ In the following code sample, exporting can be done using an external button nam {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs248" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs248" %} ## Print -The rendered pivot chart can be printed directly from the browser by calling [`printChart`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#printchart) method. +You can print the current view of the pivot chart directly from the browser by using the [`printChart`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#printchart) method. This allows you to create a physical or digital copy of your pivot chart as displayed on the screen. -In the following code sample, printing can be done using an external button named as "Print". +In the example below, clicking an external button labeled "Print Chart" calls the [`printChart`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#printchart) method and prints the rendered pivot chart. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -731,7 +745,7 @@ In the following code sample, printing can be done using an external button name {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs249" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs249" %} ## See Also diff --git a/ej2-react/pivotview/print.md b/ej2-react/pivotview/print.md index a302ed3de..af054ee34 100644 --- a/ej2-react/pivotview/print.md +++ b/ej2-react/pivotview/print.md @@ -10,7 +10,11 @@ domainurl: ##DomainURL## # Print in React Pivotview component -The rendered pivot table can be printed directly from the browser by invoking the [`print`](https://ej2.syncfusion.com/react/documentation/api/grid/#print) method from the grid's instance. The below sample code illustrates the print option being invoked by an external button click. +The React Pivot Table component supports print functionality, allowing users to print the current state of the pivot table or pivot chart. This feature enables users to generate hard copies of pivot table reports for convenient review and data sharing. + +## Print pivot table + +The rendered pivot table can be printed by invoking the [print](https://ej2.syncfusion.com/react/documentation/api/grid/#print) method from the underlying [`Grid`](https://ej2.syncfusion.com/react/documentation/grid/getting-started) component instance. The [`Grid`](https://ej2.syncfusion.com/react/documentation/grid/getting-started) control manages the print functionality and captures the current state of the pivot table, including all applied filters, sorting, and formatting. The sample code below demonstrates how to trigger the print operation using an external button click. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -27,13 +31,17 @@ The rendered pivot table can be printed directly from the browser by invoking th {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs320" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs320" %} + +## Print pivot chart + +To print the pivot chart, use the [print](https://ej2.syncfusion.com/react/documentation/api/chart/#print) method from the underlying [`Chart`](https://ej2.syncfusion.com/react/documentation/chart/getting-started) component instance. The [`Chart`](https://ej2.syncfusion.com/react/documentation/chart/getting-started) control manages the print functionality and preserves all visual elements, including colors, legends, and data labels, in the printed output. -Similarly, to print the pivot chart, use the [`print`](https://ej2.syncfusion.com/react/documentation/api/chart/#print) method from the chart's instance. The below sample code illustrates the print option being invoked by an external button click. +> To use pivot chart functionality, inject the `PivotChart` module into the pivot table. -> To use pivot chart, you need to inject the `PivotChart` module in the pivot table. +> To display the pivot chart, set the [`displayOption`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#displayoption) property to either **Chart** or **Both**. -> To display the pivot chart, set the [`displayOption`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#displayoption) property to either **Chart** or **Both**. +The sample code below illustrates how to print the pivot chart through an external button click. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -50,7 +58,7 @@ Similarly, to print the pivot chart, use the [`print`](https://ej2.syncfusion.co {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs321" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs321" %} ## See Also diff --git a/ej2-react/pivotview/row-and-column.md b/ej2-react/pivotview/row-and-column.md index 8dc38d01e..640631e79 100644 --- a/ej2-react/pivotview/row-and-column.md +++ b/ej2-react/pivotview/row-and-column.md @@ -1,28 +1,32 @@ --- layout: post -title: Row and column in React Pivotview component | Syncfusion -description: Learn here all about Row and column in Syncfusion React Pivotview component of Syncfusion Essential JS 2 and more. +title: Row and column in React Pivot Table component | Syncfusion +description: Learn here all about Row and column in Syncfusion React Pivot Table component of Syncfusion Essential JS 2 and more. control: Row and column platform: ej2-react documentation: ug domainurl: ##DomainURL## --- -# Row and column in React Pivotview component +# Row and column in React Pivot Table component To learn about how to use the row and column options effectively in the React Pivot Table, watch this video: {% youtube "https://www.youtube.com/watch?v=eZipGFIYI7E" %} -## Width And Height +## Width and Height -Allows end user to set the pivot table's height and width by using [`height`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#height) and [`width`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#width) properties respectively. The supported formats to set [`height`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#height) and [`width`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#width) properties are, +Setting appropriate dimensions for the Pivot Table ensures optimal display and better user experience across different screen sizes and layouts. You can define the Pivot Table's dimensions using the [`height`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#height) and [`width`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#width) properties to meet your specific requirements. -* Pixel: For example - 100, 200, "100px", "200px". -* Percentage: For example - "100%", "200%". -* Auto: It is applicable for [`height`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#height) property alone in-order to render the pivot table beyond its parent container height without vertical scrollbar. The parent container here would show its vertical scrollbar as soon as the component reaches beyond its dimension. +These dimension properties support multiple formats to accommodate various layout scenarios and provide flexibility in how you define the component's size: -> The pivot table will not be displayed less than **400px**, since it's the minimum width of the component. +**Supported formats:** + +* **Pixel**: Specify exact dimensions using numeric values or pixel units. For example: `100`, `200`, `"100px"`, or `"200px"`. +* **Percentage**: Set dimensions relative to the parent container. For example: `"100%"` or `"200%"`. +* **Auto**: This option is available only for the [`height`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#height) property. When set to **auto**, the Pivot Table expands beyond its parent container height without showing a vertical scrollbar within the component. Instead, the parent container displays its vertical scrollbar once the component exceeds its boundaries. + +> **Note:** The Pivot Table maintains a minimum width of **400px** to ensure proper display and functionality, even if a smaller width is specified. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -39,16 +43,15 @@ Allows end user to set the pivot table's height and width by using [`height`](ht {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs250" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs250" %} ## Row Height -Allows end user to set the height of each pivot table rows commonly using the [`rowHeight`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#rowheight) property in [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#gridsettings). +Adjusting the row height in the Pivot Table helps make your data easier to view and interact with, especially when there are many rows or large amounts of content. To make these adjustments, you can use the [`rowHeight`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#rowheight) property within the [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#gridsettings) options. This property allows you to control how much space each row occupies, so the Pivot Table remains clear and readable according to your needs. -> By default, the [`rowHeight`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#rowheight) property is set as **36** pixels for desktop layout and **48** pixels for mobile layout. -> The height of the column headers alone may vary when grouping bar feature is enabled. +> By default, the [`rowHeight`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#rowheight) is set to **36** pixels for desktop layouts and **48** pixels for mobile layouts. However, if you enable the grouping bar option, note that only the column header height may change, while the rest of the rows maintain the specified height. -In the below code sample, the [`rowHeight`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#rowheight) property is set as **60** pixels. +For example, in the sample code below, the [`rowHeight`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#rowheight) property is set to **60** pixels. This increases the space for each row, making the data easier to read and compare. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -65,15 +68,15 @@ In the below code sample, the [`rowHeight`](https://ej2.syncfusion.com/react/doc {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs251" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs251" %} ## Column Width -Allows end user to set the width of each pivot table columns commonly using the [`columnWidth`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#columnwidth) property in [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#gridsettings). +Controlling the width of columns allows users to view their data in the Pivot Table more clearly, making each column easy to read and ensuring that information is not cut off. To achieve this, you can use the [`columnWidth`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#columnwidth) property, which is available under the [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#gridsettings). -> By default, the [`columnWidth`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#columnwidth) property is set as **110** pixels to each columns except the first column. For first column, **250** pixels and **200** pixels are set respectively with and without grouping bar. +> By default, the [`columnWidth`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#columnwidth) is set to **110** pixels for all columns except the first one. The first column is assigned a width of **250** pixels if the grouping bar is enabled, or **200** pixels when it is not. This ensures that the data in the row header is always easily visible. -In the below example, the [`columnWidth`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#columnwidth) property is set as **200** pixels. +In the following example, the [`columnWidth`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#columnwidth) property is set to **200** pixels for all columns to provide a wider view. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -90,11 +93,11 @@ In the below example, the [`columnWidth`](https://ej2.syncfusion.com/react/docum {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs252" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs252" %} ### Adjust width based on columns -By default, if the component width set in code-behind is more than the width of the total columns, then the columns will be stretched to make it fit. To avoid the stretching, set the [`allowAutoResizing`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#allowautoresizing) property in the [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#gridsettings) to **false**. By doing so, the component will be adjusted (shrinked) based on the width of total columns. +By default, when the component width exceeds the total width of all columns, the columns are automatically stretched to fill the available space. To prevent this stretching behavior, set the [`allowAutoResizing`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#allowautoresizing) property to **false** within the [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#gridsettings). This ensures that the Pivot Table adjusts its overall width to match the combined width of all columns, maintaining their original proportions and improving data readability. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -111,11 +114,13 @@ By default, if the component width set in code-behind is more than the width of {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs253" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs253" %} ## Reorder -Allows end user to reorder a particular column header from one index to another index within the pivot table through drag-and-drop option. It can be enabled by setting the [`allowReordering`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#allowreordering) property in [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#gridsettings) to **true**. +The reorder option provides users with the flexibility to reorganize column headers within the Pivot Table by dragging and dropping them to different positions. This allows users to customize the layout of their data for better analysis and presentation. + +To enable this option, set the [`allowReordering`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#allowreordering) property to **true** within the [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#gridsettings) configuration. Once enabled, users can simply click and drag any column header to move it to their desired position within the table. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -132,14 +137,15 @@ Allows end user to reorder a particular column header from one index to another {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs254" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs254" %} ## Column Resizing -Allows end user to resize the columns by clicking and dragging the right edge of the column header. While dragging, the width of the respective column will be resized immediately. To enable column resizing option, set the [`allowResizing`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#allowresizing) property in [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#gridsettings) to **true**. +Column resizing in the Pivot Table helps users adjust the column widths to better view and compare data. Users can easily resize columns by clicking and dragging the right edge of any column header. As the user drags, the column’s width is updated immediately, offering a responsive and comfortable viewing experience. -> By default, the column resizing option is enabled. -> In RTL mode, user can click and drag the left edge of the header cell to resize the column. +This option is enabled by default. To control column resizing, set the [`allowResizing`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#allowresizing) property in the [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#gridsettings) object to **true** or **false** as needed. + +> In right-to-left (RTL) mode, users should click and drag the left edge of the header cell to resize the column. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -156,13 +162,11 @@ Allows end user to resize the columns by clicking and dragging the right edge of {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs255" %} - -> In RTL mode, you can click and drag the left edge of the header cell to resize the column. +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs255" %} ## Text Wrap -Allows end user to wrap the cell content to the next line when it exceeds the boundary of the cell width. To enable text wrap, set the [`allowTextWrap`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#allowtextwrap) property in [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#gridsettings) to **true**. +The Pivot Table allows users to wrap cell content to the next line when the content exceeds the boundary of the cell width. To enable text wrap, set the [`allowTextWrap`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#allowtextwrap) property to **true** within the [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#gridsettings) configuration. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -179,16 +183,16 @@ Allows end user to wrap the cell content to the next line when it exceeds the bo {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs256" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs256" %} ## Text Align -Allows end user to align the content of the pivot table's row and column headers and value cells by using the [`textAlign`](https://ej2.syncfusion.com/react/documentation/api/grid/gridColumn/#textalign) and [`headerTextAlign`](https://ej2.syncfusion.com/react/documentation/api/grid/gridColumn/#headertextalign) properties in the [`columnRender`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettings/#columnrender) event under [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettings/). The following alignments are: +Text alignment provides flexibility in positioning content within cells, making the data presentation more organized and visually appealing. You can align the content of the Pivot Table's row headers, column headers, and value cells using the [`textAlign`](https://ej2.syncfusion.com/react/documentation/api/grid/gridColumn/#textalign) and [`headerTextAlign`](https://ej2.syncfusion.com/react/documentation/api/grid/gridColumn/#headertextalign) properties in the [`columnRender`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettings/#columnrender) event under [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#gridsettings). The available alignment options are: -* `Left` - It allows the content to be positioned on the left. -* `Right` - It allows the content to be positioned on the right. -* `Center` - It allows the content to be positioned in the middle. -* `Justify` - It allows the content to be as flexible as possible, when the cell does not occupy the entire available area. +* `Left` - Positions the content on the left side of the cell. +* `Right` - Positions the content on the right side of the cell. +* `Center` - Positions the content in the center of the cell. +* `Justify` - Distributes the content evenly across the cell width for optimal space utilization. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -205,11 +209,11 @@ Allows end user to align the content of the pivot table's row and column headers {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs257" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs257" %} ## AutoFit -Allows the user to fit the Pivot Table columns as wide as the content of the cell without wrapping. It auto fits all of the Pivot Table columns by invoking the [`autoFitColumns`](https://ej2.syncfusion.com/react/documentation/api/grid/#autofitcolumns) method from the grid instance. +The AutoFit option allows users to easily adjust Pivot Table columns so that each column matches the width of its content, making the data easier to read without cell content being cut off or wrapped unnecessarily. To accomplish this, you can use the [`autoFitColumns`](https://ej2.syncfusion.com/react/documentation/api/grid/#autofitcolumns) method from the grid instance, which automatically resizes all Pivot Table columns based on the content of their cells. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -226,9 +230,9 @@ Allows the user to fit the Pivot Table columns as wide as the content of the cel {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs258" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs258" %} -> The minimum width of 250 pixels is set by default with the grouping bar UI for the first column and cannot be reduced further. So, when the grouping bar is enabled, one can auto fit the Pivot Table columns by calling the [`autoFitColumns`](https://ej2.syncfusion.com/react/documentation/api/grid/#autofitcolumns) method from the grid instance with the parameter contained pivot table columns field name excluding first column. +> When the grouping bar is enabled, the first column in the Pivot Table has a minimum width of **250** pixels, which cannot be decreased. In such cases, if you want to auto fit the remaining columns, you can call the [`autoFitColumns`](https://ej2.syncfusion.com/react/documentation/api/grid/#autofitcolumns) method from the grid instance, passing the field names of the Pivot Table columns except the first column. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -245,11 +249,13 @@ Allows the user to fit the Pivot Table columns as wide as the content of the cel {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs259" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs259" %} -### Autofit specific columns +### Autofit Specific Columns -During initial rendering, the parameter `autoFit` in the [`columnRender`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettings/#columnrender) event under [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettings/) can be set to **true** to auto fit specific columns. +The autofit option for specific columns enables users to precisely control which columns automatically resize to fit their content, rather than adjusting all columns simultaneously. This targeted approach allows for greater customization of the Pivot Table layout based on specific content needs. + +To implement this functionality during the initial rendering of the Pivot Table, set the `autoFit` parameter to **true** in the [`columnRender`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettings/#columnrender) event. This event, available under the [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#gridsettings) property, allows you to selectively apply autofit to columns based on your requirements. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -266,23 +272,23 @@ During initial rendering, the parameter `autoFit` in the [`columnRender`](https: {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs260" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs260" %} ## Grid Lines -Allows end user to display cell border for each cells using [`gridLines`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#gridlines) property in [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#gridsettings). +The grid lines option provides visual structure to the Pivot Table by displaying cell borders, making it easier for users to read and analyze data. You can control the display of grid lines using the [`gridLines`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#gridlines) property within the [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#gridsettings) configuration. -Available mode of grid lines are: +The following grid line modes are available: -| Modes | Actions | -|-------|---------| -| Both | Displays both the horizontal and vertical grid lines.| -| None | No grid lines are displayed.| -| Horizontal | Displays the horizontal grid lines only.| -| Vertical | Displays the vertical grid lines only.| -| Default | Displays grid lines based on the theme.| +| Mode | Description | +|------|-------------| +| Both | Shows both horizontal and vertical grid lines around each cell | +| None | Hides all grid lines for a clean appearance | +| Horizontal | Shows only horizontal grid lines between rows | +| Vertical | Shows only vertical grid lines between columns | +| Default | Shows grid lines based on the applied theme settings | -> By default, pivot table renders grid lines in **Both** mode. +> The Pivot Table displays grid lines in **Both** mode by default. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -299,16 +305,18 @@ Available mode of grid lines are: {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs261" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs261" %} ## Selection -Selection provides an option to highlight a row or a column or a cell. It can be done through simple mouse down or arrow keys. To enable selection in the pivot table, set the [`allowSelection`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#allowselection) property in [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#gridsettings) to **true**. +Selection in the Pivot Table allows users to easily highlight rows, columns, or individual cells for better data focus and visualization. This makes it simple to compare and analyze specific data points within your table. + +To enable selection, set the [`allowSelection`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#allowselection) property to **true** within the [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#gridsettings) configuration. This allows users to select table elements using a mouse click or arrow keys. -The pivot table supports two types of selection that can be set using [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSelectionSettings/#type) property in [`selectionSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#selectionsettings). The selection types are: +The Pivot Table provides two selection modes, controlled by the [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSelectionSettings/#type) property in [`selectionSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#selectionsettings): -* **Single**: It is set by default, and it only allows selection of a single row or a column or a cell. -* **Multiple**: Allows you to select multiple rows or columns or cells. To perform multi-selection, press and hold "CTRL" key and click the desired rows or cells. To select range of rows or cells, press and hold the "SHIFT" key and click the rows or columns or cells. +- **Single**: Allows you to select only one row, column, or cell at a time. This is the default mode. +- **Multiple**: Lets you select several rows, columns, or cells. To select multiple items, hold down the "CTRL" key and click the rows or cells you wish to select. To select a range, hold the "SHIFT" key and click the first and last item in the range. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -325,16 +333,18 @@ The pivot table supports two types of selection that can be set using [`type`](h {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs262" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs262" %} -### Selection Mode +### Selection mode -The pivot table supports four types of selection mode that can be set using [`mode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSelectionSettings/#mode) in [`selectionSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#selectionsettings). The selection modes are: +You can choose how selection works by setting the [`mode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSelectionSettings/#mode) property within the [`selectionSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#selectionsettings) configuration. The Pivot Table offers four simple options for selection mode: -* **Row**: It is set by default, and allows user to select only rows. -* **Column**: Allows user to select only columns. -* **Cell**: Allows user to select only cells. -* **Both**: Allows user to select rows and columns at the same time. +- **Row**: This is the default mode. It lets the user select an entire row with a single click. +- **Column**: In this mode, only entire columns can be selected. +- **Cell**: This mode allows the user to select one or more individual cells. +- **Both**: This option lets users select both rows and columns at the same time, providing more flexibility. + +By choosing the right selection mode, users can quickly highlight and review the data that matters most to them. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -351,14 +361,15 @@ The pivot table supports four types of selection mode that can be set using [`mo {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs263" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs263" %} ### Cell Selection Mode -The pivot table supports two types of cell selection mode that can be set using [`cellSelectionMode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSelectionSettings/#cellselectionmode) in [`selectionSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#selectionsettings). The cell selection modes are: +To set the cell selection mode, use the [`cellSelectionMode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSelectionSettings/#cellselectionmode) option within the [`selectionSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#selectionsettings). The available modes are: -* **Flow**: It is set by default. The range of cells are selected between the start index and end index that includes in-between cells of rows. -* **Box**: Range of cells are selected from the start and end column indexes that includes in-between cells of rows within the range. +- **Flow** (default): Selects a continuous range of cells from the starting cell to the ending cell, including all rows in between. +- **Box**: Selects a rectangular block of cells that spans from the starting cell to the ending cell, covering all intermediate rows and columns within the selected range. +- **BoxWithBorder**: This mode works like Box mode but also highlights the selected cells with borders for better visibility. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -375,13 +386,15 @@ The pivot table supports two types of cell selection mode that can be set using {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs264" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs264" %} -> Cell selection requires [`mode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSelectionSettings/#mode) property in [`selectionSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#selectionsettings) to be **Cell** or **Both**, and [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSelectionSettings/#type) property should be **Multiple**. +> To use cell selection modes, ensure that the [`mode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSelectionSettings/#mode) property in [`selectionSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#selectionsettings) is set to **Cell** or **Both** and the [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSelectionSettings/#type) property is set to **Multiple**. This allows users to select more than one cell at a time for better comparison and review. ### Changing background color of the selected cell -The background-color of the selected cell can be changed using built-in CSS names. To do so, please refer to the code sample below, which shows that the selected cells are changed to a **green yellow** color. +Highlighting selected cells in the Pivot Table with a different background color helps users quickly identify and focus on important data. To achieve this effect seamlessly, you can apply built-in CSS classes that customize the appearance of selected cells. + +In the example below, selected cells appear with a **green-yellow** background. Simply add the custom styles to your stylesheet, and they will be applied when you select a cell using the mouse or arrow keys. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -390,6 +403,9 @@ The background-color of the selected cell can be changed using built-in CSS name {% highlight ts tabtitle="App.tsx" %} {% include code-snippet/pivot-table/selection-css-cs1/app/App.tsx %} {% endhighlight %} +{% highlight css tabtitle="App.css" %} +{% include code-snippet/pivot-table/selection-css-cs1/index.html %} +{% endhighlight %} {% highlight js tabtitle="datasource.jsx" %} {% include code-snippet/pivot-table/selection-css-cs1/app/datasource.jsx %} {% endhighlight %} @@ -398,13 +414,13 @@ The background-color of the selected cell can be changed using built-in CSS name {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/selection-css-cs1" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/selection-css-cs1" %} ### Event #### CellSelected -The event [`cellSelected`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#cellselected) is triggered when cell selection gets completed. It provides selected cells information with its corresponding column and row headers. It has following parameters - `selectedCellsInfo`, `currentCell` and `target`. This event allows user to view selected cells information and user can pass those selected cells information to any external component for data binding. +When a user finishes selecting cells, the [`cellSelected`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#cellselected) event is triggered. This event provides details about the selected cells, including the related row and column headers. The event holds three important parameters: [`selectedCellsInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotCellSelectedEventArgs/#selectedcellsinfo), [`currentCell`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotCellSelectedEventArgs/#currentcell), and [`target`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#target). Users can use this information to easily identify the selected data and share it with other parts of their application, such as for data binding or additional processing. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -421,11 +437,17 @@ The event [`cellSelected`](https://ej2.syncfusion.com/react/documentation/api/pi {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs265" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs265" %} #### CellSelecting -The event `cellSelecting` triggers before cell gets selected gets completed. It provides selected cells information with its corresponding column and row headers. It has following parameters - `currentCell`, `data` and `cancel`. +The [`cellSelecting`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#cellselecting) event triggers before a cell selection is completed. It helps users preview the details of the cell, including the related row and column headers, before making a final selection. The event also allows users to cancel the selection action if needed. This event includes the following parameters: + +- [`currentCell`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotCellSelectedEventArgs/#currentcell): Contains information about the cell that the user is about to select. +- [`data`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotCellSelectedEventArgs/#data): Displays the data linked to the current cell, along with its row and column headings. +- [`cancel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotCellSelectedEventArgs/#cancel): Allows users to stop the cell from being selected if certain conditions are met. + +You can use these parameters to decide whether or not the cell should be selected, or to update other parts of your application based on the selection about to happen. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -442,17 +464,21 @@ The event `cellSelecting` triggers before cell gets selected gets completed. It {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs266" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs266" %} + +### Limitations + +The [grouping](./grouping) feature is applied based on the selected row or column headers using the following [`selectionSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#selectionsettings): selection [`mode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSelectionSettings/#mode) set to **Cell**, selection [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSelectionSettings/#type) set to **Multiple**, and [`cellSelectionMode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSelectionSettings/#cellselectionmode) set to **Box** by default. When using the selection and [grouping](./grouping.md) features together, cell selection is limited to row or column headers with these settings. Other settings, such as selection [`mode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSelectionSettings/#mode) set to **Row** or **Column**, selection [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSelectionSettings/#type) set to **Single**, or [`cellSelectionMode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotSelectionSettings/#cellselectionmode) set to **Flow**, are incompatible with [grouping](./grouping.md) in the pivot table. ## Clip Mode -The clip mode provides options to display its overflow cell content in the pivot table. It can be configured using the [`clipMode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#clipmode) property in [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#gridsettings). The pivot table supports three types of clip modes which are: +The clip mode option in the Pivot Table determines how cell content is displayed when it exceeds the cell’s boundaries. You can set this option using the [`clipMode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#clipmode) property within the [`gridSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#gridsettings) configuration. The Pivot Table provides the following clip mode options: -* **Clip**: Truncates the cell content when it overflows its area. -* **Ellipsis**: Displays ellipsis when the cell content overflows its area. -* **EllipsisWithTooltip**: Displays ellipsis when the cell content overflows its area, also it will display the tooltip while hover on ellipsis is applied. +- **Clip**: Cuts off any part of the cell content that does not fit within the cell. +- **Ellipsis**: Shows an ellipsis (`...`) at the end of the cell if the content is too long to fit. +- **EllipsisWithTooltip**: Shows an ellipsis (`...`) for overflowing content, and also displays the full content in a tooltip when the user hovers over the ellipsis. -> By default, [`clipMode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#clipmode) value is set to **Ellipsis**. +> By default, the [`clipMode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#clipmode) property is set to **Ellipsis**. This helps users quickly identify when there is more content hidden and easily view the complete information by hovering over the cell. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -469,13 +495,15 @@ The clip mode provides options to display its overflow cell content in the pivot {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs267" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs267" %} ## Cell Template -User can customize the pivot table cell element by using the [`cellTemplate`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#celltemplate) property. The [`cellTemplate`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#celltemplate) property accepts either an HTML string or the element's ID, which can be used to append additional HTML elements to showcase each cell with custom format. +You can change how each cell in the Pivot Table looks by using the [`cellTemplate`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#celltemplate) option. With [`cellTemplate`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#celltemplate), you can use either an HTML string or the ID of an HTML element to add custom content to every cell. This helps you display cell values in any format you prefer, such as adding icons, colors, or other elements for better understanding. -In this demo, the revenue cost for each year is represented with trend icons. +For example, in the following sample, each year's revenue cost is shown along with trend icons. This gives users a clear and quick way to see changes in data at a glance. + +> The [`cellTemplate`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#celltemplate) property is triggered whenever the Pivot Table report configuration is updated through code-behind or UI actions such as sorting, filtering, and more. Therefore, binding a large dataset to the Pivot Table while defining a template for this property, or assigning a complex template to it, may lead to flickering issues in the Pivot Table UI. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -492,18 +520,24 @@ In this demo, the revenue cost for each year is represented with trend icons. {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs268" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs268" %} ## Events ### QueryCellInfo -The event `queryCellInfo` triggers while rendering each row and value cells in the pivot table. It allows the user to customize the current cell like adding or removing styles, editing value, etc. It has the following parameters: +The [`queryCellInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#querycellinfo) event is triggered when a row or value cell is rendered in the Pivot Table. This event gives users the ability to change the appearance or content of each table cell according to their needs. The following parameters are available within the event: + +- [`cell`](https://ej2.syncfusion.com/react/documentation/api/grid/queryCellInfoEventArgs/#cell): Provides information about the specific cell currently being rendered. +- [`data`](https://ej2.syncfusion.com/react/documentation/api/grid/queryCellInfoEventArgs/#data): Contains all data related to the row in which the cell appears. +- [`column`](https://ej2.syncfusion.com/react/documentation/api/grid/queryCellInfoEventArgs/#column): Offers information about the column for the current cell. +- `pivotview`: Refers to the current instance of the Pivot Table. +- [`colSpan`](https://ej2.syncfusion.com/react/documentation/api/grid/queryCellInfoEventArgs/#colspan): Indicates how many columns the cell should span. +- [`rowSpan`](https://ej2.syncfusion.com/react/documentation/api/grid/queryCellInfoEventArgs/#rowspan): Indicates how many rows the cell should span. +- [`foreignKeyData`](https://ej2.syncfusion.com/react/documentation/api/grid/queryCellInfoEventArgs/#foreignkeydata): Displays any related row data linked through a foreign key for this column. +- [`requestType`](https://ej2.syncfusion.com/react/documentation/api/grid/queryCellInfoEventArgs/#requesttype): Shows the type of action or request currently taking place. -* `cell` - It holds the current cell information. -* `data` - It holds the entire row data besides the current cell. -* `column` - It holds the entire column data besides the current cell. -* `pivotview` - It holds pivot table instance. +By using these parameters in the event, users can highlight cells, format values, or display extra information to make data analysis clearer and easier in the Pivot Table. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -520,13 +554,16 @@ The event `queryCellInfo` triggers while rendering each row and value cells in t {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs269" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs269" %} ### HeaderCellInfo -The event `headerCellInfo` triggers while rendering each column header cell in the pivot table. It allows the user to customize the element of the current header cell like adding or removing styles, editing value, etc. It has the following parameters: +The [`headerCellInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettingsModel/#headercellinfo) event is triggered when the Pivot Table renders a header cell. This event allows users to easily modify the appearance or content of each header cell as it is displayed. It includes the following parameters: -* `node` - It holds the current header cell information +- [`node`](https://ej2.syncfusion.com/react/documentation/api/grid/headerCellInfoEventArgs/#node): Contains details about the current header cell’s content and structure. +- [`cell`](https://ej2.syncfusion.com/react/documentation/api/grid/headerCellInfoEventArgs/#cell): Represents the specific cell being rendered. + +By using these parameters, users can update header cell styles, add tooltips, or include icons based on their needs. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -543,16 +580,17 @@ The event `headerCellInfo` triggers while rendering each column header cell in t {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs270" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs270" %} ### ColumnRender -The event [`columnRender`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettings/#columnrender) triggers while framing each columns for rendering in the pivot table. It allows the user to customize the text alignment, column visibility, autofit, re-ordering, minimum and maximum width for a specific column. It has the following parameters: +The [`columnRender`](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettings/#columnrender) event occurs while creating each column for display in the Pivot Table. This event lets users change how individual columns appear and behave. For example, users can set the text alignment, show or hide specific columns, enable autofit, allow reordering, and set minimum or maximum widths for each column. + +The event provides the following parameters: -* `columns` - It holds the leaf level columns (i.e., value headers) information. -* `dataSourceSettings` - It holds the current data source settings such as input data source, rows, columns, values, filters, format settings and so on. -* `name` - It holds the name of the event. -* `stackedColumns` - It holds the drilled columns (i.e., including column and value headers) information. +- [`columns`](https://ej2.syncfusion.com/react/documentation/api/pivotview/columnRenderEventArgs/#columns): Contains information about leaf-level columns, also known as value headers. +- [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/columnRenderEventArgs/#datasourcesettings): Contains the current data source settings, such as the input data, rows, columns, values, filters, and format settings. +- [`stackedColumns`](https://ej2.syncfusion.com/react/documentation/api/pivotview/columnRenderEventArgs/#stackedcolumns): Contains information about drilled columns, including both column and value headers. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -569,14 +607,14 @@ The event [`columnRender`](https://ej2.syncfusion.com/react/documentation/api/pi {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs271" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs271" %} ### CellClick -The event [`cellClick`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#cellclick) triggers while clicking a cell in the pivot table. For instance, using this event end-user can either add or remove styles, edit value and also perform any other DOM manipulations. It has the following parameters: +The [`cellClick`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#cellclick) event occurs when a user clicks a cell in the Pivot Table. With this event, users can update the style of the selected cell, edit its value, or perform other actions on the cell's content. The event provides the following parameters: -* `currentCell` - It holds the current cell information. -* `data` - It holds the clicked cell's data like axis, formatted text, actual text, row header, column header and value informations. +- [`currentCell`](https://ej2.syncfusion.com/react/documentation/api/pivotview/cellClickEventArgs/#currentcell): Contains details about the clicked cell. +- [`data`](https://ej2.syncfusion.com/react/documentation/api/pivotview/cellClickEventArgs/#data): Contains the clicked cell’s information, such as the axis, formatted text, raw text, row header, column header, and value. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -593,7 +631,7 @@ The event [`cellClick`](https://ej2.syncfusion.com/react/documentation/api/pivot {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs272" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs272" %} ## See Also diff --git a/ej2-react/pivotview/save-and-load.md b/ej2-react/pivotview/save-and-load.md index 990c206dc..e99742c1e 100644 --- a/ej2-react/pivotview/save-and-load.md +++ b/ej2-react/pivotview/save-and-load.md @@ -10,19 +10,19 @@ domainurl: ##DomainURL## # Export and import reports as JSON through custom toolbar options -The Syncfusion® Pivot Table component allows users to save and restore report settings (also known as [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings)) through custom toolbar options. This function simplifies report configuration by allowing options to be exported and imported as JSON files. +The Syncfusion® Pivot Table component allows users to save and restore report settings (also known as [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings)) through custom toolbar options. This functionality simplifies report management by allowing users to export settings as a JSON file and import them later to restore the Pivot Table configuration. ## Customizing the Toolbar -To enable the export and import functionality, you can customize the Pivot Table's toolbar using the [toolbarTemplate](https://ej2.syncfusion.com/react/documentation/api/pivotview/#toolbartemplate) property. Here's how you can add **Save** and **Open** buttons to the toolbar: +To enable the export and import functionality, you can customize the Pivot Table's toolbar using the [toolbarTemplate](https://ej2.syncfusion.com/react/documentation/api/pivotview/#toolbartemplate) property. Add **Save** and **Open** buttons to the toolbar as described below. ### Save Button -The **Save** button, which rendered as an anchor element, it allows users to download the current report (also known as [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings)) as a JSON file. Each time the Pivot Table component is rendered or refreshed, the [dataBound](https://ej2.syncfusion.com/react/documentation/api/pivotview/#databound) event is triggered. During this event, the current **dataSourceSettings** are serialized into JSON format and set to the **href** attribute of the anchor element. Clicking the **Save** button initiates the download of the current report configuration as a JSON file. +The **Save** button is rendered as an anchor element, allowing users to download the current report (also known as [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings)) as a JSON file. When the **Save** button is clicked, the current report settings are retrieved using the [`getPersistData`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#getpersistdata) method. These settings are then converted into a JSON string and wrapped in a Blob object. A temporary anchor element is created, the Blob URL is assigned to its href attribute, and a click event is triggered to download a file named **pivot.json**. The downloaded file contains all pivot table settings, including configurations for rows, columns, values, and filters, allowing users to preserve their current setup for future use. ### Open Button -The **Open** button, which rendered as an input file element, it allows users to select a JSON file containing report settings (also known as [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings)) from their file system. When a file is selected, the [change](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event) event retrieves the report settings from the JSON file and assigns them to the Syncfusion® Pivot Table component. +The **Open** button is rendered as an input file element and allows users to select a JSON file containing report settings (also known as [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings)) from their file system. When a file is selected, the [change](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event) event retrieves the report configuration from the JSON file and assigns it to the Syncfusion® Pivot Table component. Here is an example demonstrating how to add **Save** and **Open** buttons to the toolbar and handle exporting and importing report configurations in the Syncfusion® Pivot Table component: @@ -41,12 +41,12 @@ Here is an example demonstrating how to add **Save** and **Open** buttons to the {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs328" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs328" %} - For more information and to access the quick start project, visit: [GitHub Repository](https://github.com/SyncfusionExamples/save-and-load-report-through-the-toolbar-in-react-pivotview-component) +For more information and to access the quick start project, visit: [GitHub Repository](https://github.com/SyncfusionExamples/save-and-load-report-through-the-toolbar-in-react-pivotview-component) ## See Also -* [Pivotview Toolbar](https://ej2.syncfusion.com/react/documentation/pivotview/tool-bar#see-also) +* [Pivot Table Toolbar](https://ej2.syncfusion.com/react/documentation/pivotview/tool-bar#see-also) * [Toolbar Component](https://ej2.syncfusion.com/react/documentation/toolbar/getting-started) diff --git a/ej2-react/pivotview/server-side-pivot-engine.md b/ej2-react/pivotview/server-side-pivot-engine.md index 9f8170cec..877ca656d 100644 --- a/ej2-react/pivotview/server-side-pivot-engine.md +++ b/ej2-react/pivotview/server-side-pivot-engine.md @@ -1,791 +1,1085 @@ --- layout: post -title: Server side pivot engine in React Pivotview component | Syncfusion -description: Learn here all about Server side pivot engine in Syncfusion React Pivotview component of Syncfusion Essential JS 2 and more. -control: Server side pivot engine +title: Server side pivot engine in React Pivot Table component | Syncfusion +description: Learn here all about Server side pivot engine in Syncfusion React Pivot Table component of Syncfusion Essential JS 2 and more. platform: ej2-react +control: Server side pivot engine documentation: ug domainurl: ##DomainURL## --- -> In general, the Pivot Table is created using the built-in engine for given data source. This is an optional feature that allows you to create the Pivot Table with a server-side pivot engine and external data binding. And this option is applicable only for relational data source. +> By default, the Pivot Table processes and displays data using its built-in engine with the given data source. Alternatively, you can use a server-side pivot engine to connect external data to the Pivot Table, which is especially useful when working with large datasets. This option is applicable only for relational data sources. -# Server side pivot engine in React Pivotview component +# Server side pivot engine in React Pivot Table component -This section briefs the Syncfusion® assembly [`Syncfusion.Pivot.Engine`](https://www.nuget.org/packages/Syncfusion.Pivot.Engine/), which is used in a server-side application to perform all Pivot calculations such as aggregation, filtering, sorting, grouping, and so on, and only the information to be displayed in the Pivot Table's viewport is passed to the client-side (browser) via web service (Web API) rather than the entire data source. It reduces network traffic and improves the rendering performance of the Pivot Table, especially when dealing with large amounts of data. It also works best with virtual scrolling enabled and supports all the Pivot Table's existing features. +This section explains how to use the Syncfusion® assembly [`Syncfusion.Pivot.Engine`](https://www.nuget.org/packages/Syncfusion.Pivot.Engine/) in a server-side application. The server-side engine performs operations such as aggregation, filtering, sorting, and grouping on the server. Only the information required for the Pivot Table viewport is sent to the client through a web service (Web API), instead of transferring the entire data source. This approach helps reduce network traffic and improves Pivot Table rendering performance when working with large data sets. It works efficiently with the virtual scrolling option and supports all existing features in the Pivot Table. ## Quick steps to render the Pivot Table by using the server-side Pivot Engine ### Download and installing Server-side Pivot Engine -**1.** Download the ASP.NET Core-based stand-alone Pivot Table [`application`](https://github.com/SyncfusionExamples/server-side-pivot-engine-for-pivot-table) from the GitHub repository. - -**2.** The **PivotController** (Server-side) application that is downloaded includes the following files. +1. Download the ASP.NET Core-based standalone Pivot Table [application](https://github.com/SyncfusionExamples/server-side-pivot-engine-for-pivot-table) from the GitHub repository. This application includes all necessary files to set up and use the server-side Pivot Engine. -* **PivotController.cs** file under **Controllers** folder – This helps to do data communication with Pivot Table. -* **DataSource.cs** file under **DataSource** folder – This file has model classes to define the structure of the data sources. -* The sample data source files **sales.csv** and **sales-analysis.json** under **DataSource** folder. +2. The downloaded **PivotController** application contains the following files to support data communication and processing: + - **PivotController.cs** in the **Controllers** folder: Handles data communication between the server and the Pivot Table. + - **DataSource.cs** in the **DataSource** folder: Defines the structure of the data sources using model classes. + - Sample data source files, **sales.csv** and **sales-analysis.json**, in the **DataSource** folder: Provide example data for testing the Pivot Table. -**3.** Open the **PivotController** application in Visual Studio where the Syncfusion® library [`Syncfusion.Pivot.Engine`](https://www.nuget.org/packages/Syncfusion.Pivot.Engine/) will be downloaded automatically from the nuget.org site. +3. Open the **PivotController** application in Visual Studio. The Syncfusion [Syncfusion.Pivot.Engine](https://www.nuget.org/packages/Syncfusion.Pivot.Engine/) library will automatically download from nuget.org, enabling server-side calculations such as aggregation, filtering, and sorting for the Pivot Table. ![Solution Explorer](./images/solution-explorer.png) ### Connecting Pivot Table to Server-side Pivot Engine -**1.** Run the **PivotController** (Server-side) application which will be hosted in IIS shortly. +This section explains how to connect the Pivot Table to the server-side Pivot Engine to display data efficiently. Follow these steps to set up the connection and configure the Pivot Table using the server-side application created in the previous section. -**2.** Then in the Pivot Table sample, set the [`mode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#mode) property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) as **Server** and map the URL of the hosted Server-side application in [`URL`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url) property of `dataSourceSettings`. +1. **Start the server-side application** +Run the **PivotController** application (downloaded and installed in the previous section) in Visual Studio. This hosts the server-side Pivot Engine on a local server, typically at a URL like `https://localhost:44350/api/pivot/post`. Ensure the application is running before proceeding. - ```javascript +2. **Configure the Pivot Table for server-side mode** +In your React application, update the Pivot Table’s settings to connect to the server-side Pivot Engine. Set the [`mode`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#mode) property in the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) to `Server`. Then, specify the URL of the running **PivotController** application in the [`url`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#url) property. - import { IDataSet, PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; - import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; - import * as React from 'react'; - import * as ReactDOM from 'react-dom'; +```javascript +import { PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; +import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; - function App() { - - let dataSourceSettings: DataSourceSettingsModel = { - url: 'https://localhost:44350/api/pivot/post', - mode: 'Server', - } - let pivotObj: PivotViewComponent; - - return ( pivotObj = d} id='PivotView' dataSourceSettings={dataSourceSettings}>); +function App() { + let dataSourceSettings: DataSourceSettingsModel = { + url: 'https://localhost:44350/api/pivot/post', + mode: 'Server', }; - - export default App; - ReactDOM.render(, document.getElementById('sample')); - - ``` - -**3.** Frame and set the report based on the data source available in the **PivotController** application. - - ```javascript - - import { IDataSet, PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; - import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; - import * as React from 'react'; - import * as ReactDOM from 'react-dom'; - - function App() { - - let dataSourceSettings: DataSourceSettingsModel = { - url: 'https://localhost:44350/api/pivot/post', - mode: 'Server', - rows: [{ - name: 'ProductID', caption: 'Product ID' - }], - formatSettings: [{ - name: 'Price', format: 'C' - }], - columns: [{ - name: 'Year', caption: 'Production Year' - }], - values: [ - { name: 'Sold', caption: 'Units Sold' }, - { name: 'Price', caption: 'Sold Amount' } - ], - } - let pivotObj: PivotViewComponent; - - return pivotObj = d} id='PivotView' dataSourceSettings={dataSourceSettings}> + let pivotObj: PivotViewComponent; + + return ( pivotObj = d} id='PivotView' dataSourceSettings={dataSourceSettings}>); +} + +export default App; +ReactDOM.render(, document.getElementById('sample')); +``` + +3. **Set up the Pivot Table report** +Define the report to organize and display data from the server-side Pivot Engine. Use the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) properties to specify rows, columns, values, and formatting based on the data source in the **PivotController** application (e.g., `sales.csv` or `sales-analysis.json`). For example, you can configure the report to show product details, sales amounts, and production years. + +```javascript +import { PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; +import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; + +function App() { + let dataSourceSettings: DataSourceSettingsModel = { + url: 'https://localhost:44350/api/pivot/post', + mode: 'Server', + rows: [{ + name: 'ProductID', caption: 'Product ID' + }], + formatSettings: [{ + name: 'Price', format: 'C' + }], + columns: [{ + name: 'Year', caption: 'Production Year' + }], + values: [ + { name: 'Sold', caption: 'Units Sold' }, + { name: 'Price', caption: 'Sold Amount' } + ], }; + let pivotObj: PivotViewComponent; - export default App; - ReactDOM.render(, document.getElementById('sample')); + return pivotObj = d} id='PivotView' dataSourceSettings={dataSourceSettings}>; +} - ``` +export default App; +ReactDOM.render(, document.getElementById('sample')); +``` -**4.** Run the sample to get the following result. +4. **Run the React application** +Launch your React application to view the Pivot Table. The Pivot Table will connect to the server-side Pivot Engine, retrieve the processed data, and display the results based on the configured report. - ![Pivot Table demo using server-side pivot engine](./images/server-side-demo.png) +![Pivot Table demo using server-side pivot engine](./images/server-side-demo.png) ## Available configurations in Server-side application +This section explains how to set up and use different data sources with the server-side Pivot Engine in the React [Pivot Table](https://ej2.syncfusion.com/react/documentation/pivotview/getting-started). + ### Supportive Data Sources -The server-side Pivot Engine supports the following data sources, -* Collection -* JSON -* CSV -* DataTable -* Dynamic +The server-side Pivot Engine supports the following data sources: +- Collection +- JSON +- CSV +- DataTable +- Dynamic #### Collection -The collection data sources such as List, IEnumerable, and so on are supported. This can be bound using the **GetData** controller method. Also, in the Pivot Table sample, set the [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#type) property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) to **JSON**, which is also the default enumeration value. - -In the server-side application **(PivotController)**, a collection type data source is framed in the **DataSource.cs** file as shown in the following. - - ```csharp - public class PivotViewData - { - public string ProductID { get; set; } - public string Country { get; set; } - public string Product { get; set; } - public double Sold { get; set; } - public double Price { get; set; } - public string Year { get; set; } - - public List GetVirtualData() - { - List VirtualData = new List(); - - for (int i = 1; i <= 10000; i++) - { - PivotViewData p = new PivotViewData - { - ProductID = "PRO-" + ((100 + i)%20), - Year = (new string[] { "FY 2015", "FY 2016", "FY 2017", "FY 2018", "FY 2019" })[new Random().Next(5)], - Country = (new string[] { "Canada", "France", "Australia", "Germany", "France" })[new Random().Next(5)], - Product = (new string[] { "Car", "Van", "Bike", "Flight", "Bus" })[new Random().Next(5)], - Price = (3.4 * i) + 500, - Sold = (i * 15) + 10 - }; - VirtualData.Add(p); - } - return VirtualData; - } - } - - ``` - -To bind the data source, set its model type **PivotViewData** to **TValue** of the **PivotEngine** class. - - ```csharp - private PivotEngine PivotEngine = new PivotEngine(); - - ``` - - Then call the data source in **GetData** method of **PivotController.cs** file. - - ```csharp - public async Task GetData(FetchData param) - { - return await _cache.GetOrCreateAsync("dataSource" + param.Hash, - async (cacheEntry) => - { - cacheEntry.SetSize(1); - cacheEntry.AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(60); - - // Here bind the collection type data source. - return new DataSource.PivotViewData().GetVirtualData(); - - }); - } - - ``` - -Finally set the appropriate report to the Pivot Table sample based on the above data source. - - ```javascript - - import { IDataSet, PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; - import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; - import * as React from 'react'; - import * as ReactDOM from 'react-dom'; - - function App() { - - let dataSourceSettings: DataSourceSettingsModel = { - url: 'https://localhost:44350/api/pivot/post', - mode: 'Server', - rows: [{ - name: 'ProductID', caption: 'Product ID' - }], - formatSettings: [{ - name: 'Price', format: 'C' - }], - columns: [{ - name: 'Year', caption: 'Production Year' - }], - values: [ - { name: 'Sold', caption: 'Units Sold' }, - { name: 'Price', caption: 'Sold Amount' } - ], +The server-side pivot engine supports collection-based data sources, such as List or IEnumerable. You can bind these data sources using the `GetData` method in the server-side controller. In the Pivot Table, set the [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#type) property in the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) to `JSON`, which is the default value. + +In the server-side application, define the collection data source in the **DataSource.cs** file, as shown below: + +```csharp +public class PivotViewData +{ + public string ProductID { get; set; } + public string Country { get; set; } + public string Product { get; set; } + public double Sold { get; set; } + public double Price { get; set; } + public string Year { get; set; } + + public List GetVirtualData() + { + List VirtualData = new List(); + + for (int i = 1; i <= 100; i++) + { + PivotViewData p = new PivotViewData + { + ProductID = "PRO-" + (100 + i), + Year = (new string[] { "FY 2015", "FY 2016", "FY 2017", "FY 2018", "FY 2019" })[new Random().Next(5)], + Country = (new string[] { "Canada", "France", "Australia", "Germany", "France" })[new Random().Next(5)], + Product = (new string[] { "Car", "Van", "Bike", "Flight", "Bus" })[new Random().Next(5)], + Price = (3.4 * i) + 500, + Sold = (i * 15) + 10 + }; + VirtualData.Add(p); + } + return VirtualData; } - let pivotObj: PivotViewComponent; - return pivotObj = d} id='PivotView' dataSourceSettings={dataSourceSettings}> +} +``` + +To bind this data source, set the model type **PivotViewData** to the **TValue** parameter of the **PivotEngine** class, as shown below: + +```csharp +private PivotEngine PivotEngine = new PivotEngine(); +``` + +Next, call the data source in the **GetData** method within the **PivotController.cs** file: + +```csharp +public async Task GetData(FetchData param) +{ + return await _cache.GetOrCreateAsync("dataSource" + param.Hash, + async (cacheEntry) => + { + cacheEntry.SetSize(1); + cacheEntry.AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(60); + + // Bind the collection-based data source here. + return new DataSource.PivotViewData().GetVirtualData(); + }); +} +``` + +Finally, configure the Pivot Table by setting the appropriate report in the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) to match the data source, as shown below: + +```javascript +import { PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; +import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; + +function App() { + let dataSourceSettings: DataSourceSettingsModel = { + url: 'https://localhost:44350/api/pivot/post', + mode: 'Server', + rows: [{ + name: 'ProductID', caption: 'Product ID' + }], + formatSettings: [{ + name: 'Price', format: 'C' + }], + columns: [{ + name: 'Year', caption: 'Production Year' + }], + values: [ + { name: 'Sold', caption: 'Units Sold' }, + { name: 'Price', caption: 'Sold Amount' } + ], }; + let pivotObj: PivotViewComponent; - export default App; - ReactDOM.render(, document.getElementById('sample')); + return pivotObj = d} id='PivotView' dataSourceSettings={dataSourceSettings}>; +} - ``` +export default App; +ReactDOM.render(, document.getElementById('sample')); +``` - ![Server-Side Pivot Engine using collection](./images/server-side-with-collection-data.png) +![Server-Side Pivot Engine using collection](./images/server-side-with-collection-data.png) #### JSON -The JSON data from a local *.json file type can be connected to the Pivot Table. Here, the file can be read by the **StreamReader** option, which will give the result in the string format. The resultant string needs to be converted to collect data that can be bound to the Server-side pivot engine. - -In the Server-side application, **sales-analysis.json** file is available under **DataSource** folder and its model type is defined in **DataSource.cs** file. - - ```csharp - public class PivotJSONData - { - public string Date { get; set; } - public string Sector { get; set; } - public string EnerType { get; set; } - public string EneSource { get; set; } - public int PowUnits { get; set; } - public int ProCost { get; set; } - - public List ReadJSONData(string url) - { - WebClient myWebClient = new WebClient(); - Stream myStream = myWebClient.OpenRead(url); - StreamReader stream = new StreamReader(myStream); - string result = stream.ReadToEnd(); - stream.Close(); - return Newtonsoft.Json.JsonConvert.DeserializeObject>(result); - } - } - - ``` - -To bind the data source, set its model type **PivotJSONData** to **TValue** of the **PivotEngine** class. - - ```csharp - private PivotEngine PivotEngine = new PivotEngine(); - ``` - -Then call the data source in **GetData** method of **PivotController.cs** file. - - ```csharp - public async Task GetData(FetchData param) - { - return await _cache.GetOrCreateAsync("dataSource" + param.Hash, - async (cacheEntry) => - { - cacheEntry.SetSize(1); - cacheEntry.AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(60); - - // Here bind JSON type data source from the sales-analysis.json file. - return new DataSource.PivotJSONData().ReadJSONData(_hostingEnvironment.ContentRootPath + "//DataSource//sales-analysis.json"); - }); - } - - ``` - -Finally set the appropriate report to the Pivot Table sample based on the above data source. - - ```javascript - import { IDataSet, PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; - import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; - import * as React from 'react'; - import * as ReactDOM from 'react-dom'; - - function App() { - - let dataSourceSettings: DataSourceSettingsModel = { - url: 'https://localhost:44350/api/pivot/post', - mode: 'Server', - type: 'JSON', - rows: [{ - name: 'EneSource', caption: 'Energy Source' - }], - formatSettings: [{ - name: 'ProCost', format: 'C' - }], - columns: [{ - name: 'EnerType', caption: 'Energy Type' - }], - values: [ - { name: 'PowUnits', caption: 'Units Sold' }, - { name: 'ProCost', caption: 'Sold Amount' } - ], +You can use JSON data from a local *.json file to connect to the Pivot Table. The file can be read using the **StreamReader**, which returns the content as a string. This string should then be converted into a collection that can be used with the server-side pivot engine. + +In your server-side application, the **sales-analysis.json** file is located in the **DataSource** folder, and its model type is defined in the **DataSource.cs** file: + +```csharp +public class PivotJSONData +{ + public string Date { get; set; } + public string Sector { get; set; } + public string EnerType { get; set; } + public string EneSource { get; set; } + public int PowUnits { get; set; } + public int ProCost { get; set; } + + public List ReadJSONData(string url) + { + WebClient myWebClient = new WebClient(); + Stream myStream = myWebClient.OpenRead(url); + StreamReader stream = new StreamReader(myStream); + string result = stream.ReadToEnd(); + stream.Close(); + return Newtonsoft.Json.JsonConvert.DeserializeObject>(result); } - let pivotObj: PivotViewComponent; - return ( pivotObj = d} id='PivotView' dataSourceSettings={dataSourceSettings}>); +} +``` + +To use this data with the Pivot Table, assign the model type **PivotJSONData** to the **TValue** parameter of the **PivotEngine** class. + +```csharp +private PivotEngine PivotEngine = new PivotEngine(); +``` + +Next, retrieve the JSON data in the **GetData** method of the **PivotController.cs** file. This example shows how to load the **sales-analysis.json** file from the local server: + +```csharp +public async Task GetData(FetchData param) +{ + return await _cache.GetOrCreateAsync("dataSource" + param.Hash, + async (cacheEntry) => + { + cacheEntry.SetSize(1); + cacheEntry.AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(60); + + // Bind JSON data source from the sales-analysis.json file. + return new DataSource.PivotJSONData().ReadJSONData(_hostingEnvironment.ContentRootPath + "//DataSource//sales-analysis.json"); + }); +} +``` + +Then, configure the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) property in the Pivot Table to use the JSON data source: + +```javascript +import { PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; +import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; + +function App() { + let dataSourceSettings: DataSourceSettingsModel = { + url: 'https://localhost:44350/api/pivot/post', + mode: 'Server', + type: 'JSON', + rows: [{ + name: 'EneSource', caption: 'Energy Source' + }], + formatSettings: [{ + name: 'ProCost', format: 'C' + }], + columns: [{ + name: 'EnerType', caption: 'Energy Type' + }], + values: [ + { name: 'PowUnits', caption: 'Units Sold' }, + { name: 'ProCost', caption: 'Sold Amount' } + ], }; + let pivotObj: PivotViewComponent; - export default App; - ReactDOM.render(, document.getElementById('sample')); + return pivotObj = d} id='PivotView' dataSourceSettings={dataSourceSettings}>; +} - ``` +export default App; +ReactDOM.render(, document.getElementById('sample')); +``` - ![Server-Side Pivot Engine with JSON data](./images/server-side-with-json-data.png) +![Server-Side Pivot Engine with JSON data](./images/server-side-with-json-data.png) -JSON data from any remote server, like a local JSON file, can also be supported. It accepts both directly downloadable files (*.json) and web service URLs. To bind this, the URL of the *.json file of a remote server has to be mapped under the **GetData** method. The rest of the configurations are the same as described above. +You can also use JSON data from a remote server in the same way as a local JSON file. Both directly downloadable *.json files and web service URLs are supported. To do this, specify the URL of the remote *.json file in the **GetData** method. The remaining configurations stay the same. In the server-side application, the CDN link is used to connect the same **sales-analysis.json** file which is already hosted in the Syncfusion® server. - ```csharp - public async Task GetData(FetchData param) - { - return await _cache.GetOrCreateAsync("dataSource" + param.Hash, - async (cacheEntry) => - { - cacheEntry.SetSize(1); - cacheEntry.AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(60); - - // Here bind JSON type data source from remote server. - return new DataSource.PivotJSONData().ReadJSONData("http://cdn.syncfusion.com/data/sales-analysis.json"); - }); - } - - ``` +```csharp +public async Task GetData(FetchData param) +{ + return await _cache.GetOrCreateAsync("dataSource" + param.Hash, + async (cacheEntry) => + { + cacheEntry.SetSize(1); + cacheEntry.AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(60); + + // Bind JSON data source from a remote server. + return new DataSource.PivotJSONData().ReadJSONData("http://cdn.syncfusion.com/data/sales-analysis.json"); + }); +} +``` #### CSV -The CSV data from a local *.csv file type can be connected to the Pivot Table. Here, the file can be read by the **StreamReader** option, which will give the result in the string format. The resultant string needs to be converted to collect data that can be bound to the server-side pivot engine. Also, in the Pivot Table sample, set the [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#type) property under [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) as **CSV**. - -In the server application, the **sales.csv** file is available under the **DataSource** folder, and its model type is defined in the **DataSource.cs** file. - - ```csharp - public class PivotCSVData - { - public string Region { get; set; } - public string Country { get; set; } - public string ItemType { get; set; } - public string SalesChannel { get; set; } - public string OrderPriority { get; set; } - public string OrderDate { get; set; } - public int OrderID { get; set; } - public string ShipDate { get; set; } - public int UnitsSold { get; set; } - public double UnitPrice { get; set; } - public double UnitCost { get; set; } - public double TotalRevenue { get; set; } - public double TotalCost { get; set; } - public double TotalProfit { get; set; } - - - public List ReadCSVData(string url) - { - List data = new List(); - using (StreamReader reader = new StreamReader(new WebClient().OpenRead(url))) - { - string line; - while ((line = reader.ReadLine()) != null) - { - line = line.Trim(); - - if (!string.IsNullOrWhiteSpace(line)) - { - data.Add(line.Split(',')); - } - } - return data; - } - } - } - - ``` - -To bind the data source, set its model type **PivotCSVData** to **TValue** of the **PivotEngine** class. - - ```csharp - private PivotEngine PivotEngine = new PivotEngine(); - ``` - -Then call the data source in **GetData** method of **PivotController.cs** file. - - ```csharp - public async Task GetData(FetchData param) - { - return await _cache.GetOrCreateAsync("dataSource" + param.Hash, - async (cacheEntry) => - { - cacheEntry.SetSize(1); - cacheEntry.AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(60); - - // Here bind CSV type data source from sales.csv file. - return new DataSource.PivotCSVData().ReadCSVData(_hostingEnvironment.ContentRootPath + "//DataSource//sales.csv"); - }); - } - - ``` - -Finally set the appropriate report to the Pivot Table sample based on the above data source. - - ```javascript - import { IDataSet, PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; - import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; - import * as React from 'react'; - import * as ReactDOM from 'react-dom'; - - function App() { - - let dataSourceSettings: DataSourceSettingsModel = { - url: 'https://localhost:44350/api/pivot/post', - mode: 'Server', - type: 'CSV', - rows: [{ - name: 'ItemType', caption: 'Item Type' - }], - formatSettings: [{ - name: 'UnitPrice', format: 'C' - }], - columns: [{ - name: 'Region' - }], - values: [ - { name: 'UnitsSold', caption: 'Units Sold' }, - { name: 'UnitPrice', caption: 'Sold Amount' } - ], +The server-side Pivot Engine supports CSV data from a local *.csv file or a remote server. To use a local CSV file, read the file using the **StreamReader** class, which converts the file content into a string. This string is then split into a collection that can be bound to the server-side Pivot Engine. In the Pivot Table, set the [`type`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptionsModel/#type) property in the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) to **CSV**. + +In the server application, the **sales.csv** file is located in the **DataSource** folder, and its data model is defined in the **DataSource.cs** file as shown below: + +```csharp +public class PivotCSVData +{ + public string Region { get; set; } + public string Country { get; set; } + public string ItemType { get; set; } + public string SalesChannel { get; set; } + public string OrderPriority { get; set; } + public string OrderDate { get; set; } + public int OrderID { get; set; } + public string ShipDate { get; set; } + public int UnitsSold { get; set; } + public double UnitPrice { get; set; } + public double UnitCost { get; set; } + public double TotalRevenue { get; set; } + public double TotalCost { get; set; } + public double TotalProfit { get; set; } + + public List ReadCSVData(string url) + { + List data = new List(); + using (StreamReader reader = new StreamReader(new WebClient().OpenRead(url))) + { + string line; + while ((line = reader.ReadLine()) != null) + { + line = line.Trim(); + if (!string.IsNullOrWhiteSpace(line)) + { + data.Add(line.Split(',')); + } + } + return data; + } } - let pivotObj: PivotViewComponent; - return ( pivotObj = d} id='PivotView' dataSourceSettings={dataSourceSettings}>); +} +``` + +To bind the CSV data, set the **PivotCSVData** model as the **TValue** type for the **PivotEngine** class: + +```csharp +private PivotEngine PivotEngine = new PivotEngine(); +``` + +Next, retrieve the CSV data in the **GetData** method of the **PivotController.cs** file: + +```csharp +public async Task GetData(FetchData param) +{ + return await _cache.GetOrCreateAsync("dataSource" + param.Hash, + async (cacheEntry) => + { + cacheEntry.SetSize(1); + cacheEntry.AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(60); + // Bind CSV data from the local sales.csv file. + return new DataSource.PivotCSVData().ReadCSVData(_hostingEnvironment.ContentRootPath + "//DataSource//sales.csv"); + }); +} +``` + +Finally, configure the Pivot Table with the appropriate report settings based on the CSV data source: + +```javascript +import { PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; +import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; + +function App() { + let dataSourceSettings: DataSourceSettingsModel = { + url: 'https://localhost:44350/api/pivot/post', + mode: 'Server', + type: 'CSV', + rows: [{ + name: 'ItemType', caption: 'Item Type' + }], + formatSettings: [{ + name: 'UnitPrice', format: 'C' + }], + columns: [{ + name: 'Region' + }], + values: [{ + name: 'UnitsSold', caption: 'Units Sold' + }, { + name: 'UnitPrice', caption: 'Sold Amount' + }], }; + let pivotObj: PivotViewComponent; - export default App; - ReactDOM.render(, document.getElementById('sample')); - - ``` + return pivotObj = d} id='PivotView' dataSourceSettings={dataSourceSettings}>; +} - ![Server-Side Pivot Engine using CSV data](./images/server-side-with-csv-data.png) +export default App; +ReactDOM.render(, document.getElementById('sample')); +``` -CSV data from any remote server, like a local CSV file, can also be supported. It accepts both directly downloadable files (*.csv) and web service URLs. To bind this, the URL of the *.csv file of a remote server has to be mapped under **GetData** method. The rest of the configurations are the same as described above. +![Server-Side Pivot Engine using CSV data](./images/server-side-with-csv-data.png) -In the server application, the CDN link is used to connect the same **sales.csv** file which is already hosted in the Syncfusion® server. +You can also use CSV data from a remote server, such as a downloadable file or a web service URL. To do this, provide the CSV file URL in the **GetData** method. The process for setting up the Pivot Table remains the same as described above. - ```csharp - public async Task GetData(FetchData param) - { - return await _cache.GetOrCreateAsync("dataSource" + param.Hash, - async (cacheEntry) => - { - cacheEntry.SetSize(1); - cacheEntry.AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(60); +Here is an example of using a remote CSV file hosted on the Syncfusion server: - // Here bind CSV type data source from remote server. - return new DataSource.PivotCSVData().ReadCSVData("http://cdn.syncfusion.com/data/sales-analysis.csv"); - }); - } +```csharp +public async Task GetData(FetchData param) +{ + return await _cache.GetOrCreateAsync("dataSource" + param.Hash, + async (cacheEntry) => + { + cacheEntry.SetSize(1); + cacheEntry.AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(60); - ``` + // Bind the CSV-type data source from remote server. + return new DataSource.PivotCSVData().ReadCSVData("http://cdn.syncfusion.com/data/sales-analysis.csv"); + }); +} +``` #### DataTable -In the server-side application, there is a manually created DataTable **BusinessObjectsDataView** by mapping the model type **PivotViewData** in **DataSource.cs** file. - - ```csharp - public class BusinessObjectsDataView - { - public DataTable GetDataTable() - { - DataTable dt = new DataTable("BusinessObjectsDataTable"); - PropertyDescriptorCollection pdc = TypeDescriptor.GetProperties(typeof(PivotViewData)); - foreach (PropertyDescriptor pd in pdc) - { - dt.Columns.Add(new DataColumn(pd.Name, pd.PropertyType)); - } - List list = new PivotViewData().GetVirtualData(); - foreach (PivotViewData bo in list) - { - DataRow dr = dt.NewRow(); - foreach (PropertyDescriptor pd in pdc) - { - dr[pd.Name] = pd.GetValue(bo); - } - dt.Rows.Add(dr); - } - return dt; - } - } - - ``` - -To bind the data source, set its model type **PivotViewData** to **TValue** of the **PivotEngine** class. - - ```csharp - private PivotEngine PivotEngine = new PivotEngine(); - - ``` - - Then call the data source in **GetData** method of **PivotController.cs** file. - - ```csharp - public async Task GetData(FetchData param) - { - return await _cache.GetOrCreateAsync("dataSource" + param.Hash, - async (cacheEntry) => - { - cacheEntry.SetSize(1); - cacheEntry.AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(60); - - // Here bind the DataTable. - return new DataSource.BusinessObjectsDataView().GetDataTable(); - }); - } - - ``` - -Finally set the appropriate report to the Pivot Table sample based on the above data source. - - ```javascript - import { IDataSet, PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; - import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; - import * as React from 'react'; - import * as ReactDOM from 'react-dom'; - - function App() { - - let dataSourceSettings: DataSourceSettingsModel = { - url: 'https://localhost:44350/api/pivot/post', - mode: 'Server', - rows: [{ - name: 'ProductID', caption: 'Product ID' - }], - formatSettings: [{ - name: 'Price', format: 'C' - }], - columns: [{ - name: 'Year', caption: 'Production Year' - }], - values: [ - { name: 'Sold', caption: 'Units Sold' }, - { name: 'Price', caption: 'Sold Amount' } - ], +In a server-side application, you can create a DataTable named **BusinessObjectsDataView** by mapping it to the **PivotViewData** model type defined in the **DataSource.cs** file. The following code demonstrates how to generate this DataTable from a collection of `PivotViewData` objects: + +```csharp +public class BusinessObjectsDataView +{ + public DataTable GetDataTable() + { + DataTable dt = new DataTable("BusinessObjectsDataTable"); + PropertyDescriptorCollection pdc = TypeDescriptor.GetProperties(typeof(PivotViewData)); + foreach (PropertyDescriptor pd in pdc) + { + dt.Columns.Add(new DataColumn(pd.Name, pd.PropertyType)); + } + List list = new PivotViewData().GetVirtualData(); + foreach (PivotViewData bo in list) + { + DataRow dr = dt.NewRow(); + foreach (PropertyDescriptor pd in pdc) + { + dr[pd.Name] = pd.GetValue(bo); + } + dt.Rows.Add(dr); + } + return dt; } - let pivotObj: PivotViewComponent; - return ( pivotObj = d} id='PivotView' dataSourceSettings={dataSourceSettings}>); +} +``` + +To bind the data source, set the model type **PivotViewData** to the **TValue** property of the **PivotEngine** class, as shown below: + +```csharp +private PivotEngine PivotEngine = new PivotEngine(); +``` + +Next, retrieve the data source by calling the **GetData** method in the **PivotController.cs** file. This method uses caching to improve performance: + +```csharp +public async Task GetData(FetchData param) +{ + return await _cache.GetOrCreateAsync("dataSource" + param.Hash, + async (cacheEntry) => + { + cacheEntry.SetSize(1); + cacheEntry.AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(60); + + // Bind the DataTable here. + return new DataSource.BusinessObjectsDataView().GetDataTable(); + }); +} +``` + +Finally, configure the Pivot Table by setting the appropriate report using the [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) property. Below is an example configuration that connects to the server-side data source: + +```javascript +import { PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; +import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; + +function App() { + let dataSourceSettings: DataSourceSettingsModel = { + url: 'https://localhost:44350/api/pivot/post', + mode: 'Server', + rows: [{ + name: 'ProductID', caption: 'Product ID' + }], + formatSettings: [{ + name: 'Price', format: 'C' + }], + columns: [{ + name: 'Year', caption: 'Production Year' + }], + values: [ + { name: 'Sold', caption: 'Units Sold' }, + { name: 'Price', caption: 'Sold Amount' } + ], }; + let pivotObj: PivotViewComponent; - export default App; - ReactDOM.render(, document.getElementById('sample')); + return pivotObj = d} id='PivotView' dataSourceSettings={dataSourceSettings}>; +} - ``` +export default App; +ReactDOM.render(, document.getElementById('sample')); +``` - ![Server-Side Pivot Engine using DataTable](./images/server-side-with-data-table.png) +![Server-Side Pivot Engine using DataTable](./images/server-side-with-data-table.png) #### Dynamic -The model type has to be defined in the aforementioned data sources. However, there is no need to define a model type for the following data sources, which are also supported by the server-side pivot engine. +Usually, the model type must be defined for most data sources in the server-side pivot engine. However, when using certain data sources, such as dynamic types, it is not necessary to define a model type. The server-side pivot engine supports these data sources as well. ##### ExpandoObject -In the server-side application, an **ExpandoObject** type data source is available under the class **PivotExpandoData** in **DataSource.cs** file. - - ```csharp - public class PivotExpandoData - { - public List Orders { get; set; } = new List(); - public List GetExpandoData() - { - Orders = Enumerable.Range(1, 75).Select((x) => - { - dynamic d = new ExpandoObject(); - d.OrderID = 1000 + (x % 100); - d.CustomerID = (new string[] { "ALFKI", "ANANTR", "ANTON", "BLONP", "BOLID" })[new Random().Next(5)]; - d.Freight = (new double[] { 2, 1, 4, 5, 3 })[new Random().Next(5)] * x; - d.OrderDate = (new DateTime[] { new DateTime(2010, 11, 5), new DateTime(2018, 10, 3), new DateTime(1995, 9, 9), new DateTime(2012, 8, 2), new DateTime(2015, 4, 11) })[new Random().Next(5)]; - d.ShipCountry = (new string[] { "USA", "UK" })[new Random().Next(2)]; - d.Verified = (new bool[] { true, false })[new Random().Next(2)]; - - return d; - }).Cast().ToList(); - return Orders; - } - } - - ``` - -To bind the data source, set its model type as **ExpandoObject** to **TValue** of the **PivotEngine** class. - - ```csharp - private PivotEngine PivotEngine = new PivotEngine(); - - ``` - - Then call the data source in **GetData** method of **PivotController.cs** file. - - ```csharp - public async Task GetData(FetchData param) - { - return await _cache.GetOrCreateAsync("dataSource" + param.Hash, - async (cacheEntry) => - { - cacheEntry.SetSize(1); - cacheEntry.AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(60); - - // Here returns ExpandoObject type data source. - return new DataSource.PivotExpandoData().GetExpandoData(); - }); - } - - ``` - -Finally set the appropriate report to the Pivot Table sample based on the above data source. - - ```javascript - import { IDataSet, PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; - import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; - import * as React from 'react'; - import * as ReactDOM from 'react-dom'; - - function App() { - - let dataSourceSettings: DataSourceSettingsModel = { - url: 'https://localhost:44350/api/pivot/post', - mode: 'Server', - rows: [{ - name: 'CustomerID', caption: 'Customer ID' - }], - columns: [{ - name: 'ShipCountry', caption: 'Ship Country' - }], - values: [ - { name: 'Freight', caption: 'Units Sold' } - ], +In a server-side application, users can use an **ExpandoObject** as a data source. This type of data source is managed by the `PivotExpandoData` class found in the **DataSource.cs** file. The following code shows how to create a list of **ExpandoObject** items: + +```csharp +public class PivotExpandoData +{ + public List Orders { get; set; } = new List(); + public List GetExpandoData() + { + Orders = Enumerable.Range(1, 75).Select((x) => + { + dynamic d = new ExpandoObject(); + d.OrderID = 1000 + (x % 100); + d.CustomerID = (new string[] { "ALFKI", "ANANTR", "ANTON", "BLONP", "BOLID" })[new Random().Next(5)]; + d.Freight = (new double[] { 2, 1, 4, 5, 3 })[new Random().Next(5)] * x; + d.OrderDate = (new DateTime[] { new DateTime(2010, 11, 5), new DateTime(2018, 10, 3), new DateTime(1995, 9, 9), new DateTime(2012, 8, 2), new DateTime(2015, 4, 11) })[new Random().Next(5)]; + d.ShipCountry = (new string[] { "USA", "UK" })[new Random().Next(2)]; + d.Verified = (new bool[] { true, false })[new Random().Next(2)]; + + return d; + }).Cast().ToList(); + return Orders; } - let pivotObj: PivotViewComponent; - return ( pivotObj = d} id='PivotView' dataSourceSettings={dataSourceSettings}>); +} +``` + +To use this data source with the server-side pivot engine, specify **ExpandoObject** as the model type for `TValue` in the `PivotEngine` class: + +```csharp +private PivotEngine PivotEngine = new PivotEngine(); +``` + +Next, in the **GetData** method of the **PivotController.cs** file, return the ExpandoObject data source: + +```csharp +public async Task GetData(FetchData param) +{ + return await _cache.GetOrCreateAsync("dataSource" + param.Hash, + async (cacheEntry) => + { + cacheEntry.SetSize(1); + cacheEntry.AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(60); + + // Returns ExpandoObject type data source. + return new DataSource.PivotExpandoData().GetExpandoData(); + }); +} +``` + +Finally, configure the [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) property for the Pivot Table on the client side. Set the appropriate fields for rows, columns, and values to match the ExpandoObject properties: + +```javascript +import { PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; +import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; + +function App() { + let dataSourceSettings: DataSourceSettingsModel = { + url: 'https://localhost:44350/api/pivot/post', + mode: 'Server', + rows: [{ + name: 'CustomerID', caption: 'Customer ID' + }], + columns: [{ + name: 'ShipCountry', caption: 'Ship Country' + }], + values: [ + { name: 'Freight', caption: 'Units Sold' } + ], }; + let pivotObj: PivotViewComponent; - export default App; - ReactDOM.render(, document.getElementById('sample')); + return pivotObj = d} id='PivotView' dataSourceSettings={dataSourceSettings}>; +} - ``` +export default App; +ReactDOM.render(, document.getElementById('sample')); +``` - ![Server-Side Pivot Engine using ExpandoObject](./images/server-side-with-expandoobject.png) +![Server-Side Pivot Engine using ExpandoObject](./images/server-side-with-expandoobject.png) ##### Dynamic Objects -In the server-side application, a data source is framed by dynamic objects which is available under the class **PivotDynamicData** in the **DataSource.cs** file. - - ```csharp - public class PivotDynamicData - { - public List Orders = new List() { }; - public List GetDynamicData() - { - Orders = Enumerable.Range(1, 100).Select((x) => - { - dynamic d = new DynamicDictionary(); - d.OrderID = 100 + x; - d.CustomerID = (new string[] { "ALFKI", "ANANTR", "ANTON", "BLONP", "BOLID" })[new Random().Next(5)]; - d.Freight = (new double[] { 2, 1, 4, 5, 3 })[new Random().Next(5)] * x; - d.OrderDate = (new DateTime[] { new DateTime(2010, 11, 5), new DateTime(2018, 10, 3), new DateTime(1995, 9, 9), new DateTime(2012, 8, 2), new DateTime(2015, 4, 11) })[new Random().Next(5)]; - d.ShipCountry = (new string[] { "USA", "UK" })[new Random().Next(2)]; - d.Verified = (new bool[] { true, false })[new Random().Next(2)]; - return d; - }).Cast().ToList(); - return Orders; - } - - public class DynamicDictionary : System.Dynamic.DynamicObject - { - Dictionary dictionary = new Dictionary(); - public override bool TryGetMember(GetMemberBinder binder, out object result) - { - string name = binder.Name; - return dictionary.TryGetValue(name, out result); - } - public override bool TrySetMember(SetMemberBinder binder, object value) - { - dictionary[binder.Name] = value; - return true; - } - //The "GetDynamicMemberNames" method of the "DynamicDictionary" class must be overridden and return the property names to perform data operation and editing while using dynamic objects. - public override System.Collections.Generic.IEnumerable GetDynamicMemberNames() - { - return this.dictionary?.Keys; - } - } - } - - ``` - -To bind the data source, set its class **PivotDynamicData** to **TValue** of the **PivotEngine** class. - - ```csharp - private PivotEngine PivotEngine = new PivotEngine(); - - ``` - -Then call the data source in **GetData** method of **PivotController.cs** file. - - ```csharp - public async Task GetData(FetchData param) - { - return await _cache.GetOrCreateAsync("dataSource" + param.Hash, - async (cacheEntry) => - { - cacheEntry.SetSize(1); - cacheEntry.AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(60); - - // Here bind data source with dynamic objects. - return new DataSource.PivotDynamicData().GetDynamicData(); - }); - } - - ``` - -Finally set the appropriate report to the Pivot Table sample based on the above data source. - - ```javascript - import { IDataSet, PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; - import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; - import * as React from 'react'; - import * as ReactDOM from 'react-dom'; - - function App() { - - let dataSourceSettings: DataSourceSettingsModel = { - url: 'https://localhost:44350/api/pivot/post', - mode: 'Server', - rows: [{ - name: 'CustomerID', caption: 'Customer ID' - }], - columns: [{ - name: 'ShipCountry', caption: 'Ship Country' - }], - values: [ - { name: 'Freight', caption: 'Units Sold' } - ], +A dynamic object allows users to bind data to the [Pivot Table](https://ej2.syncfusion.com/react/documentation/api/pivotview/) without having to define a fixed model type. In a server-side application, a data source is created using dynamic objects which are available under the **PivotDynamicData** class in the **DataSource.cs** file. + +```csharp +public class PivotDynamicData +{ + public List Orders = new List() { }; + public List GetDynamicData() + { + Orders = Enumerable.Range(1, 100).Select((x) => + { + dynamic d = new DynamicDictionary(); + d.OrderID = 100 + x; + d.CustomerID = (new string[] { "ALFKI", "ANANTR", "ANTON", "BLONP", "BOLID" })[new Random().Next(5)]; + d.Freight = (new double[] { 2, 1, 4, 5, 3 })[new Random().Next(5)] * x; + d.OrderDate = (new DateTime[] { new DateTime(2010, 11, 5), new DateTime(2018, 10, 3), new DateTime(1995, 9, 9), new DateTime(2012, 8, 2), new DateTime(2015, 4, 11) })[new Random().Next(5)]; + d.ShipCountry = (new string[] { "USA", "UK" })[new Random().Next(2)]; + d.Verified = (new bool[] { true, false })[new Random().Next(2)]; + return d; + }).Cast().ToList(); + return Orders; } - let pivotObj: PivotViewComponent; - return ( pivotObj = d} id='PivotView' dataSourceSettings={dataSourceSettings}>); + + public class DynamicDictionary : System.Dynamic.DynamicObject + { + Dictionary dictionary = new Dictionary(); + public override bool TryGetMember(GetMemberBinder binder, out object result) + { + string name = binder.Name; + return dictionary.TryGetValue(name, out result); + } + public override bool TrySetMember(SetMemberBinder binder, object value) + { + dictionary[binder.Name] = value; + return true; + } + //The "GetDynamicMemberNames" method of the "DynamicDictionary" class must be overridden and return the property names to perform data operation and editing while using dynamic objects. + public override System.Collections.Generic.IEnumerable GetDynamicMemberNames() + { + return this.dictionary?.Keys; + } + } +} +``` + +To use this data source in the server-side code, assign the **PivotDynamicData** class to the **TValue** of the `PivotEngine` class: + +```csharp +private PivotEngine PivotEngine = new PivotEngine(); +``` + +When loading data in the **GetData** method of the **PivotController.cs** file, return the dynamic data source as shown below: + +```csharp +public async Task GetData(FetchData param) +{ + return await _cache.GetOrCreateAsync("dataSource" + param.Hash, + async (cacheEntry) => + { + cacheEntry.SetSize(1); + cacheEntry.AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(60); + + // Here bind data source with dynamic objects. + return new DataSource.PivotDynamicData().GetDynamicData(); + }); +} +``` + +Finally, configure the [dataSourceSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) property for the Pivot Table on the client side. + +```javascript +import { PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; +import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model'; +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; + +function App() { + let dataSourceSettings: DataSourceSettingsModel = { + url: 'https://localhost:44350/api/pivot/post', + mode: 'Server', + rows: [{ + name: 'CustomerID', caption: 'Customer ID' + }], + columns: [{ + name: 'ShipCountry', caption: 'Ship Country' + }], + values: [ + { name: 'Freight', caption: 'Units Sold' } + ], }; + let pivotObj: PivotViewComponent; - export default App; - ReactDOM.render(, document.getElementById('sample')); + return pivotObj = d} id='PivotView' dataSourceSettings={dataSourceSettings}>; +} - ``` +export default App; +ReactDOM.render(, document.getElementById('sample')); +``` - ![Server-Side Pivot Engine using Dynamic Objects](./images/server-side-with-dynamic-object.png) +![Server-Side Pivot Engine using Dynamic Objects](./images/server-side-with-dynamic-object.png) ### Controller Configuration #### Memory Cache -In the server-side application, the [`Memory Cache`](https://docs.microsoft.com/en-us/dotnet/api/system.runtime.caching.memorycache?view=dotnet-plat-ext-5.0) option is used to store the data source and engine properties in RAM, which will be used for UI operations. To improve performance, this limits the execution of all initial rendering code to regenerate the aggregated values during each UI operation. The codes below show how we use the memory cache option in the **GetEngine** method to store engine properties. +In a server-side application, the [`Memory Cache`](https://docs.microsoft.com/en-us/dotnet/api/system.runtime.caching.memorycache?view=dotnet-plat-ext-5.0) option helps store the data source and engine properties in RAM for use during UI actions in the Pivot Table. This approach improves performance by preventing the need to recalculate aggregated values every time the user interacts with the Pivot Table. The following example shows how the memory cache is used in the **GetEngine** method to store engine properties: + +```csharp +public async Task GetEngine(FetchData param) +{ + isRendered = false; + // Engine properties are stored in memory cache with GUID "parem.Hash". + return await _cache.GetOrCreateAsync("engine" + param.Hash, + async (cacheEntry) => + { + isRendered = true; + cacheEntry.SetSize(1); + // Memory cache expiration time can be set here. + cacheEntry.AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(60); + PivotEngine.Data = await GetData(param); + return await PivotEngine.GetEngine(param); + }); +} +``` + +Engine properties are saved in RAM using a unique ID (GUID) that is received from the client-side source code. This GUID is randomly generated and changes if the user refreshes the page or opens the Pivot Table in a new browser tab or window. Because of this, each GUID in the memory cache holds information unique to that session, allowing each Pivot Table instance to work independently. + +The memory cache is configured to expire after 60 minutes to help free up RAM. If the user is still working with the Pivot Table after this period, the required data will be generated and cached for another 60 minutes. - ```csharp - public async Task GetEngine(FetchData param) - { - isRendered = false; - // Engine properties are stored in memory cache with GUID "parem.Hash". - return await _cache.GetOrCreateAsync("engine" + param.Hash, - async (cacheEntry) => - { - isRendered = true; - cacheEntry.SetSize(1); - // Memory cache expiration time can be set here. - cacheEntry.AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(60); - PivotEngine.Data = await GetData(param); - return await PivotEngine.GetEngine(param); - }); - } +#### Methods and its needs - ``` +- **Post:** This method receives requests from the client side of the Pivot Table and forwards them to the appropriate server-side method for processing. +- **GetEngine:** Stores engine properties in RAM as a cache. This method is triggered during the initial rendering of the Pivot Table or when the memory cache expires. +- **GetData:** This method stores the Pivot Table’s data source in a cache on the server. Like **GetEngine**, it is triggered on the first load or after the memory cache is cleared. This enables faster retrieval of the Pivot Table’s data and allows the table to respond quickly to changes. +- **GetMembers:** Allows retrieval of the members of a field. This method is triggered when the member editor is opened for a filtering operation. +- **GetRawData:** Fetches the raw, unaggregated data behind a value cell. This method is used when the user opens the drill-through dialog or starts editing a value in the Pivot Table. +- **GetPivotValues:** Updates the stored engine properties in the in-memory cache and returns the aggregated values to the browser to render the Pivot Table. The return value can be modified, and the Pivot Table will be rendered in the browser based on this. + +## Excel Export + +The server-side engine seamlessly supports Excel export functionality, enabling users to efficiently generate and download pivot table reports in Excel format directly from the server. To enable Excel export in the pivot table, set the [`allowExcelExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowexcelexport) as **true**. Once the API is set, the user needs to call the [`excelExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#excelexport) method to export the pivot table to Excel by clicking an external button. + +> The pivot table component can be exported to Excel format using options available in the toolbar. For more details [refer](./tool-bar) here. + +```javascript + + import { ButtonComponent } from '@syncfusion/ej2-react-buttons'; + import { PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; + import * as React from 'react'; + function App() { + let dataSourceSettings = { + url: 'https://localhost:44350/api/pivot/post', + mode: 'Server', + rows: [{ + name: 'ProductID', caption: 'Product ID' + }], + formatSettings: [{ + name: 'Price', format: 'C' + }], + columns: [{ + name: 'Year', caption: 'Production Year' + }], + values: [ + { name: 'Sold', caption: 'Units Sold' }, + { name: 'Price', caption: 'Sold Amount' } + ], + }; + let pivotObj; + return (
    pivotObj = d} id='PivotView' height={350} dataSourceSettings={dataSourceSettings} allowExcelExport={true}>
    +
    Export
    ); + function btnClick() { + pivotObj.excelExport(); + } + }; + export default App; + +``` + +To enable export functionality in a server-side controller, initialize the **ExcelExport** class to handle export file generation. + +```csharp + private ExcelExport excelExport = new ExcelExport(); +``` + +Then, based on the **Action** parameter (**onExcelExport** or **onCsvExport**), invoke the **ExportToExcel** method in the **Post** method of the **PivotController.cs** file. + +```csharp + public async Task Post([FromBody]object args) + { + FetchData param = JsonConvert.DeserializeObject(args.ToString()); + if (param.Action == "fetchFieldMembers") + { + return await GetMembers(param); + } + else if (param.Action == "fetchRawData") + { + return await GetRawData(param); + } + else if (param.Action == "onExcelExport" || param.Action == "onCsvExport" || + param.Action == "onPivotExcelExport" || param.Action == "onPivotCsvExport") + { + EngineProperties engine = await GetEngine(param); + if (param.InternalProperties.EnableVirtualization && param.ExportAllPages) + { + engine = await PivotEngine.PerformAction(engine, param); + } + if (param.Action == "onExcelExport") + { + return excelExport.ExportToExcel("Excel", engine, null, param.ExcelExportProperties); + } + else + { + return excelExport.ExportToExcel("CSV", engine, null, param.ExcelExportProperties); + } + } + else + { + return await GetPivotValues(param); + } + } -The engine properties are stored in RAM as a cache with a unique ID (GUID) that is transferred from the client-side source code. The GUID is generated at random and will be changed if the page containing the Pivot Table is refreshed or opened in a new tab/window. As a result, each GUID's memory cache contains unique information, and the component operates independently. +``` + +![Server-side engine excel exporting](./images/excel-export-with-server-side-pivot-engine.png) + +### Add header and footer while exporting + +The Excel export provides an option to include header and footer content for the excel document before exporting. In-order to add header and footer, define [header](https://ej2.syncfusion.com/react/documentation/api/grid/excelExportProperties/#header) and [footer](https://ej2.syncfusion.com/react/documentation/api/grid/excelExportProperties/#footer) properties in [ExcelExportProperties](https://ej2.syncfusion.com/react/documentation/api/grid/excelExportProperties/) and pass it as a parameter to the [excelExport](https://ej2.syncfusion.com/react/documentation/api/pivotview/#excelexport) method. + + +```javascript + + import { ButtonComponent } from '@syncfusion/ej2-react-buttons'; + import { PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; + import * as React from 'react'; + function App() { + let dataSourceSettings = { + url: 'https://localhost:44350/api/pivot/post', + mode: 'Server', + rows: [{ + name: 'ProductID', caption: 'Product ID' + }], + formatSettings: [{ + name: 'Price', format: 'C' + }], + columns: [{ + name: 'Year', caption: 'Production Year' + }], + values: [ + { name: 'Sold', caption: 'Units Sold' }, + { name: 'Price', caption: 'Sold Amount' } + ], + }; + let pivotObj; + return (
    pivotObj = d} id='PivotView' height={350} dataSourceSettings={dataSourceSettings} allowExcelExport={true}>
    +
    Export
    ); + function btnClick() { + let excelExportProperties = { + header: { + headerRows: 2, + rows: [ + { cells: [{ colSpan: 4, value: "Pivot Table", style: { fontColor: '#C67878', fontSize: 20, hAlign: 'Center', bold: true, underline: true } }] } + ] + }, + footer: { + footerRows: 4, + rows: [ + { cells: [{ colSpan: 4, value: "Thank you for your business!", style: { hAlign: 'Center', bold: true } }] }, + { cells: [{ colSpan: 4, value: "!Visit Again!", style: { hAlign: 'Center', bold: true } }] } + ] + } + }; + pivotObj.excelExport(excelExportProperties); + } + }; + export default App; + +``` + +![Add header and footer while exporting](./images/add-header-and-footer-while-exporting.png) + +## CSV Export + +The Excel export allows pivot table data to be exported in **CSV** file format as well. To enable CSV export in the pivot table, set the [`allowExcelExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#allowexcelexport) property as **true**. Once the API is set, the user needs to call the [csvExport](https://ej2.syncfusion.com/react/documentation/api/pivotview/#csvexport) method to export the pivot table to CSV by clicking an external button. + +> The pivot table component can be exported to CSV format using options available in the toolbar. For more details [refer](./tool-bar) here. + + +```javascript + + import { ButtonComponent } from '@syncfusion/ej2-react-buttons'; + import { PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; + import * as React from 'react'; + function App() { + let dataSourceSettings = { + url: 'https://localhost:44350/api/pivot/post', + mode: 'Server', + rows: [{ + name: 'ProductID', caption: 'Product ID' + }], + formatSettings: [{ + name: 'Price', format: 'C' + }], + columns: [{ + name: 'Year', caption: 'Production Year' + }], + values: [ + { name: 'Sold', caption: 'Units Sold' }, + { name: 'Price', caption: 'Sold Amount' } + ], + }; + let pivotObj; + return (
    pivotObj = d} id='PivotView' height={350} dataSourceSettings={dataSourceSettings} allowExcelExport={true}>
    +
    Export
    ); + function btnClick() { + pivotObj.csvExport(); + } + }; + export default App; + +``` + +To enable export functionality in a server-side controller, initialize the **ExcelExport** class to handle export file generation. + +```csharp + private ExcelExport excelExport = new ExcelExport(); +``` + +Then, based on the **Action** parameter (**onExcelExport** or **onCsvExport**), invoke the **ExportToExcel** method in the **Post** method of the **PivotController.cs** file. + +```csharp + [Route("/api/pivot/post")] + [HttpPost] + public async Task Post([FromBody] object args) + { + FetchData param = JsonConvert.DeserializeObject(args.ToString()); + if (param.Action == "fetchFieldMembers") + { + return await GetMembers(param); + } + else if (param.Action == "fetchRawData") + { + return await GetRawData(param); + } + else if (param.Action == "onExcelExport" || param.Action == "onCsvExport" || + param.Action == "onPivotExcelExport" || param.Action == "onPivotCsvExport") + { + EngineProperties engine = await GetEngine(param); + if (param.InternalProperties.EnableVirtualization && param.ExportAllPages) + { + engine = await PivotEngine.PerformAction(engine, param); + } + if (param.Action == "onExcelExport") + { + return excelExport.ExportToExcel("Excel", engine, null, param.ExcelExportProperties); + } + else + { + return excelExport.ExportToExcel("CSV", engine, null, param.ExcelExportProperties); + } + } + else + { + return await GetPivotValues(param); + } + } -Meanwhile, the memory cache is set to expire after 60 minutes from RAM to free its memory. If the component is still running, the data will be generated and stored for another 60 minutes. +``` +![CSV Export](./images/csv-export-with-server-side-pivot-engine.png) + +## Export as Pivot + +You can export a Syncfusion PivotTable to an Excel file while preserving its native pivot structure using the server-side engine. The exported Excel document contains a fully interactive PivotTable, allowing users to dynamically modify configurations such as filtering, sorting, grouping, and aggregation directly in Microsoft Excel. + +To enable native Excel pivot export in the PivotTable, the user must call the `exportAsPivot` method to export the PivotTable to Excel by clicking an external button, specifying the export type (**Excel** or **CSV**) as a parameter. + +```javascript + + import { ButtonComponent } from '@syncfusion/ej2-react-buttons'; + import { PivotViewComponent } from '@syncfusion/ej2-react-pivotview'; + import * as React from 'react'; + function App() { + let dataSourceSettings = { + url: 'https://localhost:44350/api/pivot/post', + mode: 'Server', + rows: [{ + name: 'ProductID', caption: 'Product ID' + }], + formatSettings: [{ + name: 'Price', format: 'C' + }], + columns: [{ + name: 'Year', caption: 'Production Year' + }], + values: [ + { name: 'Sold', caption: 'Units Sold' } + ], + }; + let pivotObj; + return (
    pivotObj = d} id='PivotView' height={350} dataSourceSettings={dataSourceSettings} allowExcelExport={true}>
    +
    Export
    ); + function btnClick() { + pivotObj.exportAsPivot(); + } + }; + export default App; + +``` + +To enable native Excel pivot export functionality in a server-side controller, initialize the **PivotExportEngine** class to handle export file generation. + +```csharp + private PivotExportEngine pivotExport = new PivotExportEngine(); +``` + +Then, based on the **Action** parameter (**onPivotExcelExport** or **onPivotCsvExport**), invoke the **ExportAsPivot** method in the **Post** method of the **PivotController.cs** file. + +```csharp + public async Task Post([FromBody]object args) + { + FetchData param = JsonConvert.DeserializeObject(args.ToString()); + if (param.Action == "fetchFieldMembers") + { + return await GetMembers(param); + } + else if (param.Action == "fetchRawData") + { + return await GetRawData(param); + } + else if (param.Action == "onExcelExport" || param.Action == "onCsvExport" || + param.Action == "onPivotExcelExport" || param.Action == "onPivotCsvExport") + { + EngineProperties engine = await GetEngine(param); + if (param.InternalProperties.EnableVirtualization && param.ExportAllPages) + { + engine = await PivotEngine.PerformAction(engine, param); + } + if (param.Action == "onExcelExport") + { + return excelExport.ExportToExcel("Excel", engine, null, param.ExcelExportProperties); + } + else if (param.Action == "onPivotExcelExport" || param.Action == "onPivotCsvExport") + { + return pivotExport.ExportAsPivot(param.Action == "onPivotExcelExport" ? ExportType.Excel : ExportType.CSV, engine, param); + } + else + { + return excelExport.ExportToExcel("CSV", engine, null, param.ExcelExportProperties); + } + } + else + { + return await GetPivotValues(param); + } + } -#### Methods and its needs +``` -* **Post:** Allows to get the information from the client-side source and calls appropriate controller methods. -* **GetEngine:** Allows to store the engine properties in RAM as a cache which fires on initial rendering or when the memory cache is expired. -* **GetData:** Allows to store data source in RAM as a cache which fires on initial rendering or when the memory cache is expired. -* **GetMembers:** Allows to get the members of a field. This fires when the member editor is opened to do a filtering operation. -* **GetRawData:** Allows to get raw data of an aggregated value cell. This fires when the drill-through or editing dialog is opened. -* **GetPivotValues:** Allows to update the stored engine properties in-memory cache and returns the aggregated values to browser to render the Pivot Table. Here, the return value can be modified. The Pivot Table will be rendered browser-based on this. +![Export as Pivot](./images/export-as-pivot.png) ## See Also diff --git a/ej2-react/pivotview/show-hide-totals.md b/ej2-react/pivotview/show-hide-totals.md index 2f747d7bc..17dfc9ce5 100644 --- a/ej2-react/pivotview/show-hide-totals.md +++ b/ej2-react/pivotview/show-hide-totals.md @@ -1,20 +1,26 @@ --- layout: post -title: Show hide totals in React Pivotview component | Syncfusion -description: Learn here all about Show hide totals in Syncfusion React Pivotview component of Syncfusion Essential JS 2 and more. +title: Show hide totals in React Pivot Table component | Syncfusion +description: Learn here all about Show hide totals in Syncfusion React Pivot Table component of Syncfusion Essential JS 2 and more. control: Show hide totals platform: ej2-react documentation: ug domainurl: ##DomainURL## --- -# Show hide totals in React Pivotview component +# Show hide totals in React Pivot Table component + +The Pivot Table component allows users to easily customize the display of grand totals and sub-totals. This documentation explains how to control their visibility and positioning to suit your data analysis needs. ## Show or hide grand totals -Allows to show or hide grand totals in rows and columns using the [`showGrandTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showgrandtotals) property. To hide the grand totals in rows and columns, set the property [`showGrandTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showgrandtotals) in [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) to **false**. End user can also hide grand totals for row or columns separately by setting the property [`showRowGrandTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showrowgrandtotals) or [`showColumnGrandTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showcolumngrandtotals) in [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) to **false** respectively. +The Pivot Table component provides options to display or hide grand totals for rows, columns, or both. These options are configured using the following properties within the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) object: + +- [`showGrandTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showgrandtotals): Controls the visibility of grand totals for both rows and columns. Set this property to **false** to hide grand totals in both directions. +- [`showRowGrandTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showrowgrandtotals): When set to **false**, this property hides only the row grand totals. +- [`showColumnGrandTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showcolumngrandtotals): When set to **false**, this property hides only the column grand totals. -> By default, [`showGrandTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showgrandtotals), [`showRowGrandTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showrowgrandtotals) and [`showColumnGrandTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showcolumngrandtotals) properties in [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) are set as **true**. +> By default, all of these properties—[`showGrandTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showgrandtotals), [`showRowGrandTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showrowgrandtotals), and [`showColumnGrandTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showcolumngrandtotals)—are set to **true** in the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) object. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -31,11 +37,13 @@ Allows to show or hide grand totals in rows and columns using the [`showGrandTot {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs273" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs273" %} -## Show grand totals at top or bottom +## Set grand totals position -Allows to show grand totals either at top or bottom in rows and columns using the [`showGrandTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showgrandtotals) property. To show the grand totals at top in rows and columns, set the [`showGrandTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showgrandtotals) property in [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) to **Top**. +You can specify the position of grand totals for rows and columns in a Pivot Table by configuring the [`grandTotalsPosition`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#grandtotalsposition) property within the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) object. You can choose to place the grand totals either at the top or at the bottom of the pivot table, depending on your preference. + +To display grand totals at the top of both rows and columns, set the [`grandTotalsPosition`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#grandtotalsposition) property to **Top**. To show grand totals at the bottom (which is the default setting), set it to **Bottom**. This property applies to both row and column grand totals simultaneously. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -52,13 +60,17 @@ Allows to show grand totals either at top or bottom in rows and columns using th {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs274" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs274" %} ## Show or hide sub-totals -Allows to show or hide sub-totals in rows and columns using the [`showSubTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showsubtotals) property. To hide all the sub-totals in rows and columns, set the property [`showSubTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showsubtotals) in [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) to **false**. End user can also hide sub-totals for rows or columns separately by setting the property [`showRowSubTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showrowsubtotals) or [`showColumnSubTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showcolumnsubtotals) in [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) to **false** respectively. +The Pivot Table component enables showing or hiding sub-totals for rows, columns, or both. Use the following properties in the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) object to configure these options: + +- [`showSubTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showsubtotals): Set to **false** to hide all sub-totals for rows and columns. +- [`showRowSubTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showrowsubtotals): Set to **false** to hide row sub-totals only. +- [`showColumnSubTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showcolumnsubtotals): Set to **false** to hide column sub-totals only. -> By default, [`showSubTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showsubtotals), [`showRowSubTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showrowsubtotals) and [`showColumnSubTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showcolumnsubtotals) properties in [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) are set as **true**. +> By default, the [`showSubTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showsubtotals), [`showRowSubTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showrowsubtotals), and [`showColumnSubTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showcolumnsubtotals) properties in the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) object are set to **true**, ensuring sub-totals are visible across the Pivot Table. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -75,13 +87,13 @@ Allows to show or hide sub-totals in rows and columns using the [`showSubTotals` {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs275" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs275" %} ## Show or hide sub-totals for specific fields -Allows to show or hide sub-totals for specific fields in rows and columns using the [`showSubTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showsubtotals) property. To hide sub-totals for a specific field in row or column axis, set the property [`showSubTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showsubtotals) in [`row`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#rows) or [`column`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#columns) to **false** respectively. +The Pivot Table component allows users to show or hide sub-totals for specific fields in the row and column axes using the [`showSubTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showsubtotals) property. To hide sub-totals for a specific field in either axis, set the [`showSubTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showsubtotals) property to **false** in the corresponding field configuration within the rows or columns axis. -> By default, [`showSubTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showsubtotals) property in [`row`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#rows) or [`column`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#columns) is set as **true**. +> By default, the [`showSubTotals`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#showsubtotals) property for fields in both the [`rows`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#rows) and [`columns`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#columns) axes is set to **true**. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -98,11 +110,43 @@ Allows to show or hide sub-totals for specific fields in rows and columns using {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs276" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs276" %} + +## Show sub-totals at top or bottom + +You can configure the position of sub-totals within header groups for both rows and columns in the Pivot Table using the [`subTotalsPosition`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#subtotalsposition) property in the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) object. By default, the [`subTotalsPosition`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#subtotalsposition) property is set to **Auto**, which displays column sub-totals at the bottom and row sub-totals at the top of their respective header groups in the pivot table. + +To display sub-totals at the top of header groups for both rows and columns, set the [`subTotalsPosition`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#subtotalsposition) property in [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) to **Top**. + +{% tabs %} +{% highlight js tabtitle="App.jsx" %} +{% include code-snippet/pivot-table/default-cs291/app/App.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="App.tsx" %} +{% include code-snippet/pivot-table/default-cs291/app/App.tsx %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs291" %} + +To display sub-totals at the bottom of header groups for both rows and columns, set the [`subTotalsPosition`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#subtotalsposition) property in [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) to **Bottom**. + +{% tabs %} +{% highlight js tabtitle="App.jsx" %} +{% include code-snippet/pivot-table/default-cs292/app/App.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="App.tsx" %} +{% include code-snippet/pivot-table/default-cs292/app/App.tsx %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs292" %} ## Show or hide totals using toolbar -It can also be achieved using built-in toolbar options by setting the [`showToolbar`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showtoolbar) property to **true**. Also, include the items **GrandTotal** and **SubTotal** within the [`toolbar`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#toolbar) property. End user can now see "Show/Hide Grand totals" and "Show/Hide Sub totals" icons in toolbar UI automatically. +You can show or hide grand totals and sub-totals in the Pivot Table using the built-in toolbar. To enable the toolbar, set the [`showToolbar`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showtoolbar) property to **true** in the Pivot Table component. Then, include **GrandTotal** and **SubTotal** in the [`toolbar`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#toolbar) property. This displays "Show/Hide Grand Totals" and "Show/Hide Subtotals" icons in the toolbar, allowing users to quickly manage grand totals and sub-totals in the table. + +The toolbar also includes options for "Grand Totals Position" and "Subtotals Position." These options allow users to specify whether grand totals and sub-totals appear at the top or bottom of rows and columns. This flexibility helps users position grand totals and sub-totals to best suit their reporting or data analysis needs. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -119,4 +163,4 @@ It can also be achieved using built-in toolbar options by setting the [`showTool {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs277" %} \ No newline at end of file +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs277" %} \ No newline at end of file diff --git a/ej2-react/pivotview/sorting.md b/ej2-react/pivotview/sorting.md index d593e6290..fe0e6363c 100644 --- a/ej2-react/pivotview/sorting.md +++ b/ej2-react/pivotview/sorting.md @@ -1,14 +1,14 @@ --- layout: post -title: Sorting in React Pivotview component | Syncfusion -description: Learn here all about Sorting in Syncfusion React Pivotview component of Syncfusion Essential JS 2 and more. -control: Sorting +title: Sorting in React Pivot Table component | Syncfusion +description: Learn here all about Sorting in Syncfusion React Pivot Table component of Syncfusion Essential JS 2 and more. platform: ej2-react +control: Sorting documentation: ug domainurl: ##DomainURL## --- -# Sorting in React Pivotview component +# Sorting in React Pivot Table Component To have a quick glance on how to sort data in the React Pivot Table, watch this video: @@ -16,25 +16,36 @@ To have a quick glance on how to sort data in the React Pivot Table, watch this ## Member Sorting -Allows to order field members in rows and columns either in ascending or descending order. By default, field members in rows and columns are in ascending order. +The Member Sorting functionality enables you to arrange field members in the rows and columns of a pivot table in either **ascending** or **descending** order. By default, field members are sorted in ascending order. + +### Enabling Member Sorting -Member sorting can be enabled by setting the [`enableSorting`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#enablesorting) property in [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) to **true**. After enabling this API, click the sort icon besides each field in row or column axis, available in field list or grouping bar UI for re-arranging members either in ascending or descending order. +To enable member sorting, set the [`enableSorting`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#enablesorting) property in [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) to **true**. Once enabled, you can click the sort icon next to each field in the row or column axis within the **Field List** or **Grouping Bar** UI to reorder members in ascending or descending order. > By default the [`enableSorting`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#enablesorting) property in [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) set as **true**. If we set it as **false**, then the field members arrange in pivot table as its data source order. And, the sort icons in grouping bar and field list buttons will be removed. -![output](images/sorting_fl.png "Member sorting icon in field list") -
    -![output](images/sorting_gb.png "Member sorting icon in grouping bar") -
    -![output](images/sorting_grid.png "Resultant pivot table on member sort") +#### Visual Reference + +- **Field List Sort Icon**: + ![Member sorting icon in field list](images/sorting_fl.png) + +- **Grouping Bar Sort Icon**: + ![Member sorting icon in grouping bar](images/sorting_gb.png) -Member sorting can also be configured using the [`sortSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#sortsettings) through code behind, during initial rendering. The settings required to sort are: +- **Sorted Pivot Table**: + ![Resultant pivot table after member sorting](images/sorting_grid.png) -* [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/sortModel/#name): It allows to set the field name. -* [`order`](https://ej2.syncfusion.com/react/documentation/api/pivotview/sortModel/#order): It allows to set the sort direction either to ascending or descending of the respective field. +### Configuring Member Sorting Code Behind + +You can also configure member sorting during initial rendering using the [`sortSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#sortsettings) property in code behind. The required settings are: + +* [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/sortModel/#name): Specifies the name of the field to sort. +* [`order`](https://ej2.syncfusion.com/react/documentation/api/pivotview/sortModel/#order): Defines the sort direction, either **Ascending** or **Descending**. > By default the [`order`](https://ej2.syncfusion.com/react/documentation/api/pivotview/sortModel/#order) property in the [`sortSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#sortsettings) set as **Ascending**. Meanwhile, we can arrange the field members as its order in data source by setting it as **None** where the sort icons in grouping bar and field list buttons for the corresponding field will be removed. +The following example demonstrates how to configure the Pivot Table to enable member sorting and set the "Year" field to sort in descending order: + {% tabs %} {% highlight js tabtitle="App.jsx" %} {% include code-snippet/pivot-table/default-cs278/app/App.jsx %} @@ -49,12 +60,14 @@ Member sorting can also be configured using the [`sortSettings`](https://ej2.syn {% include code-snippet/pivot-table/default-cs278/app/datasource.tsx %} {% endhighlight %} {% endtabs %} - - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs278" %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs278" %} ### Alphanumeric Sorting -Usually string sorting is applied to field members even if it starts with numbers. But this kind of field members can also be sorted on the basis of numbers that are placed at the beginning of the member name. This can be achieved by setting the [`dataType`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptions/#datatype) property as **number** to the desired field. +Usually, string sorting is applied to field members even if their names start with numbers. To sort field members numerically based on the numbers at the beginning of their names, you can set the [`dataType`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptions/#datatype) property to **number** for the specific field. This enables numeric sorting instead of alphabetical sorting, allowing for better logical ordering of numbered items. + +When [`dataType`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fieldOptions/#datatype) is set to **number**, the component intelligently sorts members like '71-AJ', '209-FB', '36-SW' in the correct numerical sequence (36-SW, 71-AJ, 209-FB) rather than alphabetical order (209-FB, 36-SW, 71-AJ). {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -70,16 +83,18 @@ Usually string sorting is applied to field members even if it starts with number {% include code-snippet/pivot-table/default-cs279/app/datasource.tsx %} {% endhighlight %} {% endtabs %} - - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs279" %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs279" %} ### Custom Sorting -Allows to sort field headers (aka, members) in rows and columns based on user-defined order. This can be configured mainly using the [`membersOrder`](https://ej2.syncfusion.com/react/documentation/api/pivotview/sort/#membersorder) in the [`sortSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/sortModel/) through code behind, during initial rendering. The other settings required to sort are: +Custom sorting allows you to sort field members (also referred to as headers) in rows and columns based on a user-defined order rather than an alphabetical or numerical sequence. This functionality is configured using the [`membersOrder`](https://ej2.syncfusion.com/react/documentation/api/pivotview/sortModel/#membersorder) property within the [`sortSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/sortModel/) during component initialization. + +To set up custom sorting, use the following properties: -* [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/sortModel/#name) : It allows to set the field name. -* [`membersOrder`](https://ej2.syncfusion.com/react/documentation/api/pivotview/sortModel/#membersOrder) : It holds an array of headers in the order specified by the user. -* [`order`](https://ej2.syncfusion.com/react/documentation/api/pivotview/sortModel/#order) : It allows to specify whether the array of headers should be sorted ascending or descending. +- [`name`](https://ej2.syncfusion.com/react/documentation/api/pivotview/sortModel/#name): Specifies the field name to apply custom sorting. +- [`membersOrder`](https://ej2.syncfusion.com/react/documentation/api/pivotview/sortModel/#membersorder): An array of member values arranged in the user-defined sequence. +- [`order`](https://ej2.syncfusion.com/react/documentation/api/pivotview/sortModel/#order): Determines whether the specified member array should be arranged in ascending or descending order. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -95,20 +110,20 @@ Allows to sort field headers (aka, members) in rows and columns based on user-de {% include code-snippet/pivot-table/default-cs280/app/datasource.tsx %} {% endhighlight %} {% endtabs %} - - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs280" %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs280" %} ## Value Sorting -Allows to sort individual value field and its aggregated values either in row or column axis in both ascending and descending order. It can been enabled by setting the [`enableValueSorting`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enablevaluesorting) property to **true**. On enabling, end user can sort the values by directly clicking the value field header positioned either in row or column axis of the pivot table component. +Value sorting allows users to sort a specific value field and its aggregated values in either the row or column axis, in ascending or descending order. To enable this functionality, set the [`enableValueSorting`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enablevaluesorting) property to **true**. Once enabled, users can sort values by clicking the header of a value field in the pivot table's row or column axis. -The value sorting can also be configured using the [`valueSortSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#valuesortsettings) option through code behind. The settings required to sort value fields are: +You can also configure value sorting programmatically using the [`valueSortSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettingsModel/#valuesortsettings) option. The required settings are: * [`headerText`](https://ej2.syncfusion.com/react/documentation/api/pivotview/valueSortSettingsModel/#headertext): It allows to set the header names with delimiters, that is used for value sorting. The header names are arranged from Level 1 to Level N, down the hierarchy with a delimiter for better specification. * [`headerDelimiter`](https://ej2.syncfusion.com/react/documentation/api/pivotview/valueSortSettingsModel/#headerdelimiter): It allows to set the delimiters string to separate the header text between levels. * [`sortOrder`](https://ej2.syncfusion.com/react/documentation/api/pivotview/valueSortSettingsModel/#sortorder): It allows to set the sort direction of the value field. -> Value fields are set to the column axis by default. In such cases, the value sorting applied will have an effect on the column alone. You need to place the value fields in the row axis to do so in row wise. For more information, please [`refer here`](https://ej2.syncfusion.com/react/documentation/pivotview/data-binding/#values-in-row-axis). +> Value fields are set to the column axis by default. In such cases, the value sorting applied will have an effect on the column alone. You need to place the value fields in the row axis to do so in row wise. For more information, please [`refer here`](https://ej2.syncfusion.com/react/documentation/pivotview/data-binding#values-in-row-axis). {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -124,24 +139,55 @@ The value sorting can also be configured using the [`valueSortSettings`](https:/ {% include code-snippet/pivot-table/default-cs281/app/datasource.tsx %} {% endhighlight %} {% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs281" %} + +### Multiple Axis Sorting + +Multiple axis sorting allows simultaneous sorting of value fields in both row and column axes for more flexible and precise data analysis. Apply this functionality using the following settings in [`valueSortSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/valueSortSettingsModel/): + +* [`columnHeaderText`](https://ej2.syncfusion.com/react/documentation/api/pivotview/valueSortSettingsModel/#columnheadertext): Specifies the column header hierarchy for value sorting. Header levels are defined from Level 1 to N using a delimiter for clarity. +* [`headerDelimiter`](https://ej2.syncfusion.com/react/documentation/api/pivotview/valueSortSettingsModel/#headerdelimiter): It allows to set the delimiters string to separate the header text between levels. +* [`columnSortOrder`](https://ej2.syncfusion.com/react/documentation/api/pivotview/valueSortSettingsModel/#columnsortorder): Determines the sorting direction for the specified column header. +* [`rowHeaderText`](https://ej2.syncfusion.com/react/documentation/api/pivotview/valueSortSettingsModel/#rowheadertext): Defines the specific row header for which the value sorting should be applied. +* [`rowSortOrder`](https://ej2.syncfusion.com/react/documentation/api/pivotview/valueSortSettingsModel/#rowsortorder): Determines the sorting direction for the specified row header. + +> Note: This feature is applicable only to relational data sources and operates exclusively with client-side engine. - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs281" %} +{% tabs %} +{% highlight js tabtitle="App.jsx" %} +{% include code-snippet/pivot-table/default-cs331/app/App.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="App.tsx" %} +{% include code-snippet/pivot-table/default-cs331/app/App.tsx %} +{% endhighlight %} +{% highlight js tabtitle="datasource.jsx" %} +{% include code-snippet/pivot-table/default-cs331/app/datasource.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="datasource.tsx" %} +{% include code-snippet/pivot-table/default-cs331/app/datasource.tsx %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs331" %} ## Event ### OnHeadersSort -When sorting is applied, the event [`onHeadersSort`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#onheaderssort) triggers every time while rendering each row and column header cell. This allows the user to re-arrange the order in which the pivot table's headers appear. It has the following parameters: +The [`onHeadersSort`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#onheaderssort) event is triggered each time a row or column header cell is rendered after sorting is applied. This event enables users to customize the order of headers(also referred to as members) in the pivot table. It provides the following parameters: + +* [`fieldName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/headersSortEventArgs/#fieldname): It holds the field name where the sort settings applied. -* `fieldName`: It holds the field name where the sort settings applied. +* [`sortOrder`](https://ej2.syncfusion.com/react/documentation/api/pivotview/headersSortEventArgs/#sortorder): It holds the current sort order of the field. -* `sortOrder`: It holds the current sort order of the field. +* [`members`](https://ej2.syncfusion.com/react/documentation/api/pivotview/headersSortEventArgs/#members): It holds the sorted headers according to the specified sort order. -* `members`: It holds the sorted headers according to the specified sort order. +* [`levelName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/headersSortEventArgs/#levelname): It holds the specific field's unique level name. **Note:** This option is applicable only for OLAP data. -* `levelName`: It holds the specific field's unique level name.Note: This option is applicable only for OLAP data. +* [`isOrderChanged`](https://ej2.syncfusion.com/react/documentation/api/pivotview/headersSortEventArgs/#isorderchanged): By setting this boolean property to **true**, it allows to display the modified members order. -* `isOrderChanged`: By setting this boolean property to true, it allows to display the modified members order. +The example below demonstrates how to use the [`onHeadersSort`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#onheaderssort) event in the Pivot Table component to customize the header order for specific fields, such as **Country** and **Year**. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -157,109 +203,105 @@ When sorting is applied, the event [`onHeadersSort`](https://ej2.syncfusion.com/ {% include code-snippet/pivot-table/default-cs282/app/datasource.tsx %} {% endhighlight %} {% endtabs %} - - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs282" %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs282" %} ### ActionBegin -The event [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) triggers when clicking the value sort icon or the sort icon in the field button, which is present in both grouping bar and field list UI. This allows user to identify the current action being performed at runtime. It has the following parameters: +The [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) event is triggered when the user clicks the value sort icon or the sort icon in a field button, available in both the grouping bar and field list UI. This event allows the user to detect the current action being performed at runtime. The event argument includes the following properties: -* `dataSourceSettings`: It holds the current data source settings such as input data source, rows, columns, values, filters, format settings and so on. +* [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#datasourcesettings): Contains the current data source settings, including input data, rows, columns, values, filters, format settings, and more. +* [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#actionname): Indicates the name of the action that has begun. The possible UI actions and corresponding names are: -* `actionName`: It holds the name of the current action began. The following are the UI actions and their names: + | Action | Action Name| + |------|-------------| + | [`Sort field`](./sorting#member-sorting) | Sort field | + | [`Value sort icon`](./sorting#value-sorting) | Sort value | - | Action | Action Name| - |------|-------------| - | [`Sort field`](./sorting/#member-sorting)| Sort field | - | [`Value sort icon`](./sorting/#value-sorting)| Sort value| +* [`fieldInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#fieldinfo): Provides information about the selected field. +* [`cancel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#cancel): Set this property to **true** to prevent the current action. - * `fieldInfo`: It holds the selected field information. +> Note: This event is triggered only when field-based UI actions such as filtering, sorting, removing fields from the grouping bar, editing, or changing the aggregation type are performed. ->Note: This option is applicable only when the field based UI actions are performed such as filtering, sorting, removing field from grouping bar, editing and aggregation type change. +In the sample below, the sort action is restricted by setting the **args.cancel** property to **true** in the [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) event handler. -* `cancel`: It allows user to restrict the current action. - - In the below sample, sort action can be restricted by setting the **args.cancel** option to **true** in the `actionBegin` event. - - {% tabs %} - {% highlight js tabtitle="App.jsx" %} - {% include code-snippet/pivot-table/default-cs283/app/App.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="App.tsx" %} - {% include code-snippet/pivot-table/default-cs283/app/App.tsx %} - {% endhighlight %} - {% highlight js tabtitle="datasource.jsx" %} - {% include code-snippet/pivot-table/default-cs283/app/datasource.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="datasource.tsx" %} - {% include code-snippet/pivot-table/default-cs283/app/datasource.tsx %} - {% endhighlight %} - {% endtabs %} - - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs283" %} +{% tabs %} +{% highlight js tabtitle="App.jsx" %} +{% include code-snippet/pivot-table/default-cs283/app/App.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="App.tsx" %} +{% include code-snippet/pivot-table/default-cs283/app/App.tsx %} +{% endhighlight %} +{% highlight js tabtitle="datasource.jsx" %} +{% include code-snippet/pivot-table/default-cs283/app/datasource.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="datasource.tsx" %} +{% include code-snippet/pivot-table/default-cs283/app/datasource.tsx %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs283" %} ### ActionComplete -The event [`actionComplete`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actioncomplete) triggers when the UI actions such as value sorting or sorting via the field button, which is present in both grouping bar and field list UI, is completed. This allows user to identify the current UI actions being completed at runtime. It has the following parameters: +The event [`actionComplete`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actioncomplete) triggers when the UI actions such as value sorting or sorting via the field button, which is present in both grouping bar and field list UI, is completed. This allows user to identify the current UI actions being completed at runtime. The event argument includes the following properties: -* `dataSourceSettings`: It holds the current data source settings such as input data source, rows, columns, values, filters, format settings and so on. +* [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#datasourcesettings): Contains the current data source settings, including input data, rows, columns, values, filters, format settings, and more. +* [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#actionname): Indicates the name of the completed action. The possible UI actions and corresponding names are: -* `actionName`: It holds the name of the current action completed. The following are the UI actions and their names: + | Action | Action Name| + |------|-------------| + | [`Sort field`](./sorting#member-sorting) | Field sorted | + | [`Value sort icon`](./sorting#value-sorting) | Value sorted | - | Action | Action Name| - |------|-------------| - | [`Sort field`](./sorting/#member-sorting)| Field sorted| - | [`Value sort icon`](./sorting/#value-sorting)| Value sorted| - -* `fieldInfo`: It holds the selected field information. - ->Note: This option is applicable only when the field based UI actions are performed such as filtering, sorting, removing field from grouping bar, editing and aggregation type change. - -* `actionInfo`: It holds the unique information about the current UI action. For example, if sorting is completed, the event argument contains information such as sort order and the field name. +* [`fieldInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#fieldinfo): Provides information about the selected field. +* [`actionInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#actioninfo): It holds the unique information about the current UI action. For example, if sorting is completed, the event argument contains information such as sort order and the field name. - {% tabs %} - {% highlight js tabtitle="App.jsx" %} - {% include code-snippet/pivot-table/default-cs284/app/App.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="App.tsx" %} - {% include code-snippet/pivot-table/default-cs284/app/App.tsx %} - {% endhighlight %} - {% highlight js tabtitle="datasource.jsx" %} - {% include code-snippet/pivot-table/default-cs284/app/datasource.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="datasource.tsx" %} - {% include code-snippet/pivot-table/default-cs284/app/datasource.tsx %} - {% endhighlight %} - {% endtabs %} +> Note: This event is triggered only when field-based UI actions such as filtering, sorting, removing fields from the grouping bar, editing, or changing the aggregation type are performed. - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs284" %} +{% tabs %} +{% highlight js tabtitle="App.jsx" %} +{% include code-snippet/pivot-table/default-cs284/app/App.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="App.tsx" %} +{% include code-snippet/pivot-table/default-cs284/app/App.tsx %} +{% endhighlight %} +{% highlight js tabtitle="datasource.jsx" %} +{% include code-snippet/pivot-table/default-cs284/app/datasource.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="datasource.tsx" %} +{% include code-snippet/pivot-table/default-cs284/app/datasource.tsx %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs284" %} ### ActionFailure -The event [`actionFailure`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionfailure) triggers when the current UI action fails to achieve the desired result. It has the following parameters: +The [`actionFailure`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionfailure) event is triggered when a UI action fails to produce the expected result. This event provides detailed information about the failure through the following parameters: -* `actionName`: It holds the name of the current action failed. The following are the UI actions and their names: +* [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionFailureEventArgs/#actionname): It holds the name of the current action failed. The following are the UI actions and their names: | Action | Action Name| |------|-------------| - | [`Sort field`](./sorting/#member-sorting)| Sort field | - | [`Value sort icon`](./sorting/#value-sorting)| Sort value| - -* `errorInfo`: It holds the error information of the current UI action. - - {% tabs %} - {% highlight js tabtitle="App.jsx" %} - {% include code-snippet/pivot-table/default-cs285/app/App.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="App.tsx" %} - {% include code-snippet/pivot-table/default-cs285/app/App.tsx %} - {% endhighlight %} - {% highlight js tabtitle="datasource.jsx" %} - {% include code-snippet/pivot-table/default-cs285/app/datasource.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="datasource.tsx" %} - {% include code-snippet/pivot-table/default-cs285/app/datasource.tsx %} - {% endhighlight %} - {% endtabs %} - - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs285" %} \ No newline at end of file + | [`Sort field`](./sorting#member-sorting)| Sort field | + | [`Value sort icon`](./sorting#value-sorting)| Sort value| + +* [`errorInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionFailureEventArgs/#errorinfo): It holds the error information of the current UI action. + +{% tabs %} +{% highlight js tabtitle="App.jsx" %} +{% include code-snippet/pivot-table/default-cs285/app/App.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="App.tsx" %} +{% include code-snippet/pivot-table/default-cs285/app/App.tsx %} +{% endhighlight %} +{% highlight js tabtitle="datasource.jsx" %} +{% include code-snippet/pivot-table/default-cs285/app/datasource.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="datasource.tsx" %} +{% include code-snippet/pivot-table/default-cs285/app/datasource.tsx %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs285" %} \ No newline at end of file diff --git a/ej2-react/pivotview/state-persistence.md b/ej2-react/pivotview/state-persistence.md index afe2ae017..8e0e44f68 100644 --- a/ej2-react/pivotview/state-persistence.md +++ b/ej2-react/pivotview/state-persistence.md @@ -8,9 +8,9 @@ documentation: ug domainurl: ##DomainURL## --- -# State persistence in React Pivotview component +# State persistence in React Pivot Table component -State persistence allows user to maintain the current state of the component along with its report bounded in the browser local storage (cookie). Even if the browser is refreshed or if you move to the next page within the browser, components state will be persisted. State persistence stores the Pivot Table object in the local storage when [`enablePersistence`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enablepersistence) property is set to **true**. +State persistence enables users to automatically retain the entire configuration of the Pivot Table component in the browser's local storage (cookies). This includes the current layout, field arrangements, sorting, applied filters, and the expanded or collapsed states of fields. By enabling the [`enablePersistence`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enablepersistence) property in the Pivot Table component, all these interactive states and settings are saved automatically. As a result, users can refresh the browser or navigate to different pages and return at any time, knowing that all modified report settings will be retained—ensuring a seamless and uninterrupted data analysis experience. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -27,11 +27,11 @@ State persistence allows user to maintain the current state of the component alo {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs286" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs286" %} -# Save and Load Pivot Layout +## Save and Load Pivot Layout -You can save the current layout of the pivot table by using [`getPersistData`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#getpersistdata) in string format. The saved layout can be loaded to pivot table any time by passing the saved data as a parameter to [`loadPersistData`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#loadpersistdata) method. +In addition to automatic state persistence, the Pivot Table component allows you to save and restore the current layout programmatically. By using the [`getPersistData`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#getpersistdata) method, you can retrieve the complete state of the Pivot Table component as a serialized string. This string can be stored and later re-applied to the component by passing it to the [`loadPersistData`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#loadpersistdata) method. This approach offers flexibility for saving user-specific layouts, restoring previous configurations, or implementing custom workflows for managing and reloading the component’s state as needed. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -48,4 +48,4 @@ You can save the current layout of the pivot table by using [`getPersistData`](h {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs287" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs287" %} \ No newline at end of file diff --git a/ej2-react/pivotview/tool-bar.md b/ej2-react/pivotview/tool-bar.md index bfaefc6bf..984709575 100644 --- a/ej2-react/pivotview/tool-bar.md +++ b/ej2-react/pivotview/tool-bar.md @@ -1,44 +1,40 @@ --- layout: post -title: Tool bar in React Pivotview component | Syncfusion -description: Learn here all about Tool bar in Syncfusion React Pivotview component of Syncfusion Essential JS 2 and more. -control: Tool bar +title: Tool bar in React Pivot Table component | Syncfusion +description: Learn here all about Tool bar in Syncfusion React Pivot Table component of Syncfusion Essential JS 2 and more. platform: ej2-react +control: Tool bar documentation: ug domainurl: ##DomainURL## --- -# Tool bar in React Pivotview component +# Tool bar in React Pivot Table component -A toolbar option has been provided to the pivot controls. It allows users access the frequently used features easily. Users also can save the state of the pivot table and load it back whenever required using this option. This option can be enabled by setting the `showToolbar` property to true. The [`toolbar`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#toolbar) property accepts the collection of built-in toolbar options. +The toolbar in the React Pivot Table component provides easy access to commonly used features, such as switching between a pivot table and a pivot chart, changing chart types, applying conditional formatting, exporting data, and more. To enable the toolbar, set the [`showToolbar`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showtoolbar) property to **true**. Additionally, the [`toolbar`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#toolbar) property accepts a collection of built-in toolbar options, allowing users to interact with the Pivot Table efficiently at runtime. -> To use the toolbar, inject the `Toolbar` module into the pivot table. +> To use the toolbar, inject the `Toolbar` module into the Pivot Table. -## Built-in toolbar options - -Built-in toolbar options can be added by defining the [`toolbar`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#toolbar) as a collection of built-in options. - -The following table shows built-in toolbar options and its actions. +The following table lists the built-in toolbar options and their actions: | Built-in Toolbar Options | Actions | -|------------------------|---------| +|--------------------------|---------| | New | Creates a new report | | Save | Saves the current report | -| Save As | Save as current report | -| Rename | Renames the current report | -| Delete | Deletes the current report | -| Load | Loads any report from the report list | -| Grid | Shows pivot table | -| Chart | Shows a chart in any type from the built-in list and option to enable/disable multiple axes| -| Exporting | Exports the pivot table as PDF/Excel/CSV | -| Sub total | Shows or hides sub totals | -| Grand total | Shows or hides grand totals | -| Conditional Formatting | Shows the conditional formatting pop-up to apply formatting | -| Number Formatting | Shows the number formatting pop-up to apply number formatting | -| Fieldlist | Shows the fieldlist pop-up | -| MDX | Shows the MDX query that was run to retrieve data from the OLAP data source. **NOTE: This applies only to the OLAP data source.** | - -> Report manipulation like save, load, rename, etc.., operations can be performed through events. In the following example, the localStorage (session storage) is used to manipulate the report operation. +| Save As | Saves the current report with a new name | +| Rename | Changes the name of the current report | +| Delete | Removes the current report | +| Load | Opens a report from the report list | +| Grid | Displays the pivot table | +| Chart | Shows a pivot chart with options to select different chart types and enable or disable multiple axes | +| Exporting | Exports the pivot table as PDF, Excel, or CSV, or the pivot chart as a PDF or image | +| Sub-total | Shows or hides subtotals in the pivot table | +| Grand Total | Shows or hides grand totals in the pivot table | +| Conditional Formatting | Opens a pop-up to apply formatting to cells based on conditions | +| Number Formatting | Opens a pop-up to apply number formatting to cells | +| Field List | Opens the field list pop-up to configure the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/) | +| MDX | Displays the MDX query used to retrieve data from an OLAP data source. **Note**: This option applies only to OLAP data sources. | + +> The order of toolbar options can be changed by simply moving the position of items in the **ToolbarItems** collection. Also if end user wants to remove any toolbar option from getting displayed, it can be simply ignored from adding into the **ToolbarItems** collection. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -55,11 +51,15 @@ The following table shows built-in toolbar options and its actions. {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs294" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs294" %} ## Show desired chart types in the dropdown menu -By default, all chart types are displayed in the dropdown menu included in the toolbar. However, based on the request for an application, we may need to show selective chart types on our own. This can be achieved using the [`chartTypes`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#charttypes) property. To know more about supporting chart types, [`click here`](https://ej2.syncfusion.com/react/documentation/pivotview/pivot-chart/#chart-types). +By default, the dropdown menu in the toolbar displays all available chart types. However, you may want to show only specific chart types in the dropdown menu based on your application’s needs. To do this, use the [`chartTypes`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#charttypes) property. This property allows you to define a list of chart types that will appear in the dropdown menu, ensuring users see only the options you select. + +For example, if you want the dropdown menu to show only the Column, Bar, Line, and Area chart types, you can set the [`chartTypes`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#charttypes) property to include these specific options. This makes the pivot chart easier to use by limiting the choices to those most relevant for your data. + +To learn more about the supported chart types, see the [Pivot Chart documentation](https://ej2.syncfusion.com/react/documentation/pivotview/pivot-chart#chart-types). {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -76,33 +76,29 @@ By default, all chart types are displayed in the dropdown menu included in the t {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs295" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs295" %} ## Switch the chart to multiple axes -In the chart, the user can switch from single axis to multiple axes with the help of the built-in checkbox available inside the chart type dropdown menu in the toolbar. For more information [`refer here`](https://ej2.syncfusion.com/react/documentation/pivotview/pivot-chart/#multiple-axis). - -![output](images/chart-option.png) +In the pivot chart, users can switch between a single axis and multiple axes using a built-in checkbox located in the chart type dropdown menu on the toolbar. This option allows users to display data on multiple axes for better visualization. For more details, [refer here](https://ej2.syncfusion.com/react/documentation/pivotview/pivot-chart#multiple-axis). +![Switching to multiple axes](images/chart-option.png) - +The pivot chart supports three modes for multiple axes: `Stacked`, `Single`, and `Combined`. Users can select a mode from the "Multiple Axis Mode" dropdown list, which appears after clicking the **More...** option in the chart type dropdown menu. -There are two modes available in **Multiple Axis** option: `Stacked` and `Single`. The modes can be changed using “Multiple Axis Mode” drop-down list which appears while clicking the **More...** option. - -![output](images/multiple-axis-mode.png) +![Multiple axis mode options](images/multiple-axis-mode.png) ## Show or hide legend -In the chart, legend can be shown or hidden dynamically with the help of the built-in option available in the chart type drop-down menu. -> By default, the legend is not be visible for the accumulation chart types like pie, doughnut, pyramid, and funnel. Users can enable or disable using the built-in checkbox option. +In the pivot chart, you can show or hide the legend dynamically using an option in the chart type drop-down menu on the toolbar. This allows you to control whether the legend appears alongside the chart. For accumulation chart types, such as pie, doughnut, pyramid, and funnel, the legend is hidden by default. You can enable or disable the legend using a built-in checkbox available in the drop-down menu. -![output](images/chart-legend.png) +![Chart legend](images/chart-legend.png) ## Adding custom option to the toolbar -In addition to the existing built-in toolbar items, new toolbar item(s) may also be included. This can be achieved by using the [`toolbarRender`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#toolbarrender) event. The action of the new toolbar item(s) can also be defined within this event. +You can add new items to the toolbar in the React Pivot Table component beyond the built-in options. This is done using the [`toolbarRender`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#toolbarrender) event. Within this event, you can define the new toolbar item and specify what action it performs when clicked. Additionally, you can place the new item at a specific position in the toolbar using the `splice` method. -> The new toolbar item(s) can be added to the desired position in the toolbar using the `splice` option. +Here’s an example of how to add a custom toolbar item: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -119,15 +115,13 @@ In addition to the existing built-in toolbar items, new toolbar item(s) may also {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs296" %} - -In the above topic, we have seen how to add an icon as one of the toolbar item in toolbar panel. In the next topic, we are going to see how to frame the entire toolbar panel and how to add a custom control in it. +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs296" %} ### Toolbar Template -It allows to customize the toolbar panel by using template option. It allows any custom control to be used as one of the toolbar item inside the toolbar panel. It can be achieved by two ways, +You can customize the entire toolbar panel by using the [`toolbarTemplate`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#toolbartemplate) property. This allows you to design the toolbar with HTML elements and include any custom control, such as buttons or dropdowns, as toolbar items. The HTML structure for the toolbar is defined separately and linked to the Pivot Table by setting the `id` of the HTML element in the [`toolbarTemplate`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#toolbartemplate) property. -Here, the entire toolbar panel can be framed in HTML elements that are appended at the top of the pivot table. The **id** of the HTML element needs to be set in the [`toolbarTemplate`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#toolbartemplate) property in-order to map it to the pivot table. +Below is an example of a custom toolbar with buttons to expand or collapse all rows in the Pivot Table: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -144,9 +138,9 @@ Here, the entire toolbar panel can be framed in HTML elements that are appended {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs297" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs297" %} -Another option allows to frame a custom toolbar item using HTML elements and include in the toolbar panel at the desired position. The custom toolbar items can be declared as control **instance** or element **id** in the [`toolbar`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#toolbar) property in pivot table. +Another option allows framing a custom toolbar item using HTML elements and including it in the toolbar panel at the desired position. Custom toolbar items can be declared as a control **instance** or element **ID** in the [`toolbar`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#toolbar) property in the pivot table. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -163,15 +157,17 @@ Another option allows to frame a custom toolbar item using HTML elements and inc {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs298" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs298" %} ->Note: For both options, the actions for the toolbar template items can be defined in the event [`toolbarClick`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#toolbarclick). Also, if the toolbar item is a custom control then its built-in events can also be accessed. - - +> Note: For both options, the actions for the toolbar template items can be defined in the [`toolbarClick`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#toolbarclick) event. Additionally, if the toolbar item is a custom control, its built-in events can also be accessed. ## Save and load report as a JSON file -The current pivot report can be saved as a JSON file in the desired path and loaded back to the pivot table at any time. +You can save the current Pivot Table report as a JSON file and load it back into the Pivot Table whenever needed. This allows you to store your report settings, such as row, column, and value configurations, and reuse them later. + +To save a report, use the [`getPersistData`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#getpersistdata) method to retrieve the current Pivot Table settings. These settings are then converted to a JSON file and downloaded to your chosen location. To load a report, select a JSON file containing the saved settings, and the Pivot Table will update to reflect those settings using the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) property. + +The following code example shows how to save and load a Pivot Table report as a JSON file. By clicking an external "Save" button, the `saveData` method is triggered to save the current report settings as a JSON file. Similarly, clicking an external "Load" button triggers the `readBlob` method to load a JSON file and restore the report settings. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -188,7 +184,7 @@ The current pivot report can be saved as a JSON file in the desired path and loa {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs299" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs299" %} ## Save and load reports to a SQL database @@ -211,7 +207,6 @@ SQL Server is a relational database management system (RDBMS) that can be used t [PivotController.cs] ```csharp - using Microsoft.AspNetCore.Mvc; using Microsoft.Data.SqlClient; using System.Data; @@ -383,7 +378,6 @@ namespace MyWebService.Controllers } } } - ``` **5.** When you run the app, it will be hosted at `https://localhost:44313`. You can use the hosted URL to save and load reports in the SQL database from the Pivot Table. @@ -392,14 +386,13 @@ Further, let us explore more on how to save, load, rename, delete, and add repor #### Saving a report -When you select the **"Save a report"** option from the toolbar, the [saveReport](#savereport) event is triggered. In this event, an AJAX request is made to the Web API controller's **SaveReport** method, passing the name of the current report and the current report, which you can use to check and save in the SQL database. +When you select the **"Save a report"** option from the toolbar, the [saveReport](https://ej2.syncfusion.com/react/documentation/api/pivotview/#savereport) event is triggered. In this event, an AJAX request is made to the Web API controller's **SaveReport** method, passing the name of the current report and the current report, which you can use to check and save in the SQL database. For example, the report shown in the following code snippet will be passed to the **SaveReport** method along with the report name **"Sample Report"** and saved in the SQL database. [App.js] ```js - import React, { Component } from 'react'; import './index.css'; import './App.css'; @@ -417,8 +410,13 @@ export default class App extends Component { values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }] }; toolbarOptions = ['New', 'Save', 'SaveAs', 'Rename', 'Remove', 'Load', - 'Grid', 'Chart', 'Export', 'SubTotal', 'GrandTotal', 'Formatting', 'FieldList']; - chartSettings = { title: 'Sales Analysis' }; + 'Grid', 'Chart', 'MDX', 'Export', 'SubTotal', 'GrandTotal', 'ConditionalFormatting', 'FieldList']; + chartSettings = { + chartSeries: { type: 'Column', animation: { enable: false } }, + enableMultipleAxis: false, + value: 'Amount', + enableExport: true + }; gridSettings = { columnWidth: 140 }; displayOption = { view: 'Both' }; saveReport(args) { @@ -432,8 +430,8 @@ export default class App extends Component { }, body: JSON.stringify({ reportName: args.reportName, report: JSON.stringify(report) }) }).then(response => { - this.fetchReport(); - }); + this.fetchReport(); + }); } render() { return ( { this.pivotObj = scope; }} dataSourceSettings={this.dataSourceSettings} width={'100%'} height={'450'} showFieldList={true} gridSettings={this.gridSettings} allowExcelExport={true} allowNumberFormatting={true} allowConditionalFormatting={true} allowPdfExport={true} showToolbar={true} allowCalculatedField={true} displayOption={this.displayOption} toolbar={this.toolbarOptions} newReport={this.newReport.bind(this)} renameReport={this.renameReport.bind(this)} removeReport={this.removeReport.bind(this)} loadReport={this.loadReport.bind(this)} fetchReport={this.fetchReport.bind(this)} saveReport={this.saveReport.bind(this)} toolbarRender={this.beforeToolbarRender.bind(this)} chartSettings={this.chartSettings}> @@ -441,7 +439,6 @@ export default class App extends Component { ); } } - ``` [PivotController.cs] @@ -503,18 +500,17 @@ namespace MyWebApp.Controllers } } } - ``` ![The current report has been saved in the SQL database](images/output_save_report.png) -In the meantime, you can save a duplicate of the current report to the SQL Server database with a different name by selecting **"Save as current report"** from the toolbar. The [saveReport](#savereport) event will then be triggered with the new report name **"Sample Report 1"** and the current report. You can save them to the SQL Server database after passing them to the Web API service, as mentioned above. +In the meantime, you can save a duplicate of the current report to the SQL Server database with a different name by selecting **"Save as current report"** from the toolbar. The [saveReport](https://ej2.syncfusion.com/react/documentation/api/pivotview/#savereport) event will then be triggered with the new report name **"Sample Report 1"** and the current report. You can save them to the SQL Server database after passing them to the Web API service, as mentioned above. ![Copy of the current report has been saved in the SQL database](images/output_save_as_report.png) #### Loading a report -When you select the dropdown menu item from the toolbar, the [loadReport](#loadreport) event is triggered. In this event, an AJAX request is made to the **LoadReport** method of the Web API controller, passing the name of the selected report. The method uses this information to search for the report in the SQL database, fetch it, and load it into the pivot table. +When you select the dropdown menu item from the toolbar, the [loadReport](https://ej2.syncfusion.com/react/documentation/api/pivotview/#loadreport) event is triggered. In this event, an AJAX request is made to the **LoadReport** method of the Web API controller, passing the name of the selected report. The method uses this information to search for the report in the SQL database, fetch it, and load it into the pivot table. For example, if the report name **"Sample Report 1"** is selected from a dropdown menu and passed, the **LoadReport** method will use that name to search for the report in the SQL database, retrieve it, and then load it into the pivot table. @@ -539,8 +535,13 @@ export default class App extends Component { values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }] }; toolbarOptions = ['New', 'Save', 'SaveAs', 'Rename', 'Remove', 'Load', - 'Grid', 'Chart', 'Export', 'SubTotal', 'GrandTotal', 'Formatting', 'FieldList']; - chartSettings = { title: 'Sales Analysis' }; + 'Grid', 'Chart', 'MDX', 'Export', 'SubTotal', 'GrandTotal', 'ConditionalFormatting', 'FieldList']; + chartSettings = { + chartSeries: { type: 'Column', animation: { enable: false } }, + enableMultipleAxis: false, + value: 'Amount', + enableExport: true + }; gridSettings = { columnWidth: 140 }; displayOption = { view: 'Both' }; loadReport(args) { @@ -566,7 +567,6 @@ export default class App extends Component { ); } } - ``` [PivotController.cs] @@ -625,14 +625,13 @@ namespace MyWebApp.Controllers } } } - ``` ![Loading a report from SQL database](images/output_load_report.png) #### Renaming a report -When you select the **"Rename a current report"** option from the toolbar, the [renameReport](#renamereport) event is triggered. In this event, an AJAX request is made to the **RenameReport** method of the Web API controller, passing the current and new report names, where you can use the current report name to identify the report and resave it with the new report name in the SQL database. +When you select the **"Rename a current report"** option from the toolbar, the [renameReport](https://ej2.syncfusion.com/react/documentation/api/pivotview/#renamereport) event is triggered. In this event, an AJAX request is made to the **RenameReport** method of the Web API controller, passing the current and new report names, where you can use the current report name to identify the report and resave it with the new report name in the SQL database. For example, if we rename the current report from **"Sample Report 1"** to **"Sample Report 2"**, both **"Sample Report 1"** and **"Sample Report 2"** will be passed to the **RenameReport** method, which will rename the current report with the new report name **"Sample Report 2"** in the SQL database. @@ -657,8 +656,13 @@ export default class App extends Component { values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }] }; toolbarOptions = ['New', 'Save', 'SaveAs', 'Rename', 'Remove', 'Load', - 'Grid', 'Chart', 'Export', 'SubTotal', 'GrandTotal', 'Formatting', 'FieldList']; - chartSettings = { title: 'Sales Analysis' }; + 'Grid', 'Chart', 'MDX', 'Export', 'SubTotal', 'GrandTotal', 'ConditionalFormatting', 'FieldList']; + chartSettings = { + chartSeries: { type: 'Column', animation: { enable: false } }, + enableMultipleAxis: false, + value: 'Amount', + enableExport: true + }; gridSettings = { columnWidth: 140 }; displayOption = { view: 'Both' }; renameReport(args) { @@ -670,8 +674,8 @@ export default class App extends Component { }, body: JSON.stringify({ reportName: args.reportName, renameReport: args.rename, isReportExists: args.isReportExists }) }).then(response => { - this.fetchReport(); - }); + this.fetchReport(); + }); } render() { return ( { this.pivotObj = scope; }} dataSourceSettings={this.dataSourceSettings} width={'100%'} height={'450'} showFieldList={true} gridSettings={this.gridSettings} allowExcelExport={true} allowNumberFormatting={true} allowConditionalFormatting={true} allowPdfExport={true} showToolbar={true} allowCalculatedField={true} displayOption={this.displayOption} toolbar={this.toolbarOptions} newReport={this.newReport.bind(this)} renameReport={this.renameReport.bind(this)} removeReport={this.removeReport.bind(this)} loadReport={this.loadReport.bind(this)} fetchReport={this.fetchReport.bind(this)} saveReport={this.saveReport.bind(this)} toolbarRender={this.beforeToolbarRender.bind(this)} chartSettings={this.chartSettings}> @@ -679,7 +683,6 @@ export default class App extends Component { ); } } - ``` [PivotController.cs] @@ -758,14 +761,13 @@ namespace MyWebApp.Controllers } } } - ``` ![Renaming a report in the SQL database](images/output_rename_report.png) #### Deleting a report -When you select the **"Delete a current report"** option from the toolbar, the [removeReport](#removereport) event is triggered. In this event, an AJAX request is made to the **RemoveReport** method of the Web API controller, passing the current report name to identify and delete the appropriate report from the SQL database. +When you select the **"Delete a current report"** option from the toolbar, the [removeReport](https://ej2.syncfusion.com/react/documentation/api/pivotview/#removereport) event is triggered. In this event, an AJAX request is made to the **RemoveReport** method of the Web API controller, passing the current report name to identify and delete the appropriate report from the SQL database. N> * If the current report **n** from the pivot table is deleted, the pivot table will automatically load the last report from the report list. N> * When a report is removed from a pivot table with only one report, the SQL database refreshes; however, the pivot table will continue to show the removed report until a new report is added to the pivot table. @@ -793,8 +795,13 @@ export default class App extends Component { values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }] }; toolbarOptions = ['New', 'Save', 'SaveAs', 'Rename', 'Remove', 'Load', - 'Grid', 'Chart', 'Export', 'SubTotal', 'GrandTotal', 'Formatting', 'FieldList']; - chartSettings = { title: 'Sales Analysis' }; + 'Grid', 'Chart', 'MDX', 'Export', 'SubTotal', 'GrandTotal', 'ConditionalFormatting', 'FieldList']; + chartSettings = { + chartSeries: { type: 'Column', animation: { enable: false } }, + enableMultipleAxis: false, + value: 'Amount', + enableExport: true + }; gridSettings = { columnWidth: 140 }; displayOption = { view: 'Both' }; removeReport(args) { @@ -806,8 +813,8 @@ export default class App extends Component { }, body: JSON.stringify({ reportName: args.reportName }) }).then(response => { - this.fetchReport(); - }); + this.fetchReport(); + }); } render() { return ( { this.pivotObj = scope; }} dataSourceSettings={this.dataSourceSettings} width={'100%'} height={'450'} showFieldList={true} gridSettings={this.gridSettings} allowExcelExport={true} allowNumberFormatting={true} allowConditionalFormatting={true} allowPdfExport={true} showToolbar={true} allowCalculatedField={true} displayOption={this.displayOption} toolbar={this.toolbarOptions} newReport={this.newReport.bind(this)} renameReport={this.renameReport.bind(this)} removeReport={this.removeReport.bind(this)} loadReport={this.loadReport.bind(this)} fetchReport={this.fetchReport.bind(this)} saveReport={this.saveReport.bind(this)} toolbarRender={this.beforeToolbarRender.bind(this)} chartSettings={this.chartSettings}> @@ -815,7 +822,6 @@ export default class App extends Component { ); } } - ``` [PivotController.cs] @@ -853,7 +859,7 @@ namespace MyWebApp.Controllers cmd1.ExecuteNonQuery(); sqlConn.Close(); } - + private SqlConnection OpenConnection() { // Replace with your own connection string. @@ -874,14 +880,13 @@ namespace MyWebApp.Controllers } } } - ``` ![Deleting a report from the SQL database](images/output_remove_report.png) #### Adding a report -When you select the **"Create a new report"** option from the toolbar, the [newReport](#newreport) event is triggered, followed by the [saveReport](#savereport) event. To save this new report to the SQL database, use the [saveReport](#savereport) event triggered later, and then follow the save report briefing in the preceding [topic](#saving-a-report). +When you select the **"Create a new report"** option from the toolbar, the [newReport](https://ej2.syncfusion.com/react/documentation/api/pivotview/#newreport) event is triggered, followed by the [saveReport](https://ej2.syncfusion.com/react/documentation/api/pivotview/#savereport) event. To save this new report to the SQL database, use the [saveReport](https://ej2.syncfusion.com/react/documentation/api/pivotview/#savereport) event triggered later, and then follow the save report briefing in the preceding [topic](#saving-a-report). ![Adding a report in the SQL database](images/output_new_report.png) @@ -899,31 +904,31 @@ Below points need to be considered when saving the report to SQL Server database ### FetchReport -The event [`fetchReport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#fetchreport) is triggered when dropdown list is clicked in the toolbar in-order to retrieve and populate saved reports. It has following parameter - `reportName`. This event allows user to fetch the report names from local storage and populate the dropdown list. +The [`fetchReport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#fetchreport) event is triggered when a user clicks the dropdown list in the toolbar to retrieve saved reports. It includes the [`reportName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/fetchReportArgs/#reportname) parameter, which holds the name of the selected report. This event allows users to fetch report names from local storage and populate the dropdown list for easy selection. ### LoadReport -The event [`loadReport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#loadreport) is triggered when a report is selected from the dropdown list in the toolbar. It has following parameters - `report` and `reportName`. This event allows user to load the selected report to the pivot table. +The [`loadReport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#loadreport) event occurs when a user selects a report from the dropdown list in the toolbar of the Pivot Table. This event allows the user to load the chosen report into the Pivot Table for viewing or analysis. It includes two parameters: [`report`](https://ej2.syncfusion.com/react/documentation/api/pivotview/loadReportArgs/#report), which contains the details of the selected report, and [`reportName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/loadReportArgs/#reportname), which specifies the name of the report. These parameters allow the user to load the selected report into the Pivot Table, updating the displayed data based on the chosen report. ### NewReport -The event [`newReport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#newreport) is triggered when the new report icon is clicked in the toolbar. It has following parameter - `report`. This event allows user to create new report and add to the report list. +The [`newReport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#newreport) event is triggered when a user clicks the **New Report** icon in the toolbar. This event allows the user to create a new report and add it to the report list. The event provides a parameter, [`report`](https://ej2.syncfusion.com/react/documentation/api/pivotview/newReportArgs/#report), which contains details about the new report. By using this event, users can easily start fresh with a new set of data configurations in the Pivot Table, managed through the [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#datasourcesettings) property. ### RenameReport -The event [`renameReport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#renamereport) is triggered when rename report icon is clicked in the toolbar. It has following parameters - `rename`, `report` and `reportName`. This event allows user to rename the selected report from the report list. +The [`renameReport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#renamereport) event is triggered when a user clicks the rename report icon in the toolbar. This event allows users to change the name of a selected report from the report list. It includes the following parameters: [`rename`](https://ej2.syncfusion.com/react/documentation/api/pivotview/renameReportArgs/#rename), which holds the new report name entered by the user; [`report`](https://ej2.syncfusion.com/react/documentation/api/pivotview/renameReportArgs/#report), which contains the details of the current report; and [`reportName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/renameReportArgs/#reportname), which stores the original name of the report. ### RemoveReport -The event [`removeReport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#removereport) is triggered when remove report icon is clicked in the toolbar. It has following parameters - `report` and `reportName`. This event allows user to remove the selected report from the report list. +The [`removeReport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#removereport) event is triggered when a user clicks the remove report icon in the toolbar. It includes two parameters: [`report`](https://ej2.syncfusion.com/react/documentation/api/pivotview/removeReportArgs/#report) and [`reportName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/removeReportArgs/#reportname). These parameters allow the user to identify and remove a selected report from the report list in the Pivot Table. ### SaveReport -The event [`saveReport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#savereport) is triggered when save report icon is clicked in the toolbar. It has following parameters - `report` and `reportName`. This event allows user to save the altered report to the report list. +The [`saveReport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#savereport) event triggers when a user clicks the save report icon in the toolbar. It allows the user to save changes made to the current report. The event includes two parameters: [`report`](https://ej2.syncfusion.com/react/documentation/api/pivotview/saveReportArgs/#report), which contains the report details, and [`reportName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/saveReportArgs/#reportname), which specifies the name of the saved report. ### ToolbarRender -The [`toolbarRender`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#toolbarrender) event is triggered when the toolbar is rendered. It has the `customToolbar` parameter. This event helps to customize the built-in toolbar items and to [`include new toolbar item(s)`](https://ej2.syncfusion.com/react/documentation/pivotview/tool-bar/#adding-custom-option-to-the-toolbar). +The [`toolbarRender`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#toolbarrender) event triggers when the toolbar is displayed in the Pivot Table. It includes the [`customToolbar`](https://ej2.syncfusion.com/react/documentation/api/pivotview/toolbarArgs/#customtoolbar) parameter, which allows users to modify existing toolbar items or [add new toolbar items](https://ej2.syncfusion.com/react/documentation/pivotview/tool-bar#adding-custom-option-to-the-toolbar). {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -940,13 +945,13 @@ The [`toolbarRender`](https://ej2.syncfusion.com/react/documentation/api/pivotvi {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs300" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs300" %} ### BeforeExport -The pivot table (or) pivot chart can be exported as a pdf, excel, csv etc., document using the toolbar options. And, you can customize the export settings for exporting document by using the [`beforeExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#beforeexport) event in the toolbar. +The Pivot Table component allows users to export data as PDF, Excel, or CSV files using the toolbar options. The [`beforeExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#beforeexport) event lets users customize settings for the exported document before the export process begins. For instance, users can add a header or footer to a PDF document by setting the [`header`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfExportProperties/#header) and [`footer`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfExportProperties/#footer) properties in the [`pdfExportProperties`](https://ej2.syncfusion.com/react/documentation/api/grid/pdfExportProperties/) object within this event. Similarly, for Excel exports, users can define headers using the [`excelExportProperties`](https://ej2.syncfusion.com/react/documentation/api/grid/excelExportProperties/) object. -For example, you can add the header and footer for the pdf document by setting the `header` and `footer` properties for the `pdfExportProperties` in the [`beforeExport`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#beforeexport) event. +Here’s an example of how to use the `beforeExport` event to customize headers and footers for both PDF and Excel exports: {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -963,138 +968,136 @@ For example, you can add the header and footer for the pdf document by setting t {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs301" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs301" %} ### ActionBegin -The event [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) triggers when the UI actions such as switching between pivot table and pivot chart, changing chart types, conditional formatting, exporting, etc. that are present in toolbar UI begin. This allows user to identify the current action being performed at runtime. It has the following parameters: - -* `dataSourceSettings`: It holds the current data source settings such as input data source, rows, columns, values, filters, format settings and so on. - -* `actionName`: It holds the name of the current action began. The following are the UI actions and their names: - - | Action | Action Name | - |------|-------------| - | New report | Add new report | - | Save report | Save current report | - | Save as report | Save as current report | - | Rename report | Rename current report | - | Remove report | Remove current report | - | Report change | Report change | - | Conditional Formatting | Open conditional formatting dialog | - | Number Formatting | Open number formatting dialog | - | Export menu | PDF export, Excel export, CSV export | - | Show Fieldlist | Open field list | - | Show Table | Show table view | - | Chart menu | Show chart view | - | Sub-totals menu | Hide sub-totals, Show row sub-totals, Show column sub-totals, Show sub-totals | - | Grand totals menu | Hide grand totals, Show row grand totals, Show column grand totals, Show grand totals | - -* `cancel`: It allows user to restrict the current action. - - In the below sample, toolbar UI actions such as add new report and save current report can be restricted by setting the **args.cancel** option to **true** in the `actionBegin` event. - - {% tabs %} - {% highlight js tabtitle="App.jsx" %} - {% include code-snippet/pivot-table/default-cs302/app/App.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="App.tsx" %} - {% include code-snippet/pivot-table/default-cs302/app/App.tsx %} - {% endhighlight %} - {% highlight js tabtitle="datasource.jsx" %} - {% include code-snippet/pivot-table/default-cs302/app/datasource.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="datasource.tsx" %} - {% include code-snippet/pivot-table/default-cs302/app/datasource.tsx %} - {% endhighlight %} - {% endtabs %} - - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs302" %} +The [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) event triggers when a user starts an action in the toolbar, such as switching between the pivot table and pivot chart, changing chart types, applying conditional formatting, or exporting data. This event helps users identify the action being performed and provides options to control it. It includes the following parameters: + +* [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#datasourcesettings): Contains the current report settings of the pivot table, including the data source, rows, columns, values, filters, and format settings. +* [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#actionname): Indicates the name of the action being performed. Below is a list of toolbar actions and their corresponding names: + + | Action | Action Name | + |------|-------------| + | New report | Add new report | + | Save report | Save current report | + | Save as report | Save as current report | + | Rename report | Rename current report | + | Remove report | Remove current report | + | Report change | Report change | + | Conditional Formatting | Open conditional formatting dialog | + | Number Formatting | Open number formatting dialog | + | Export menu | PDF export, Excel export, CSV export | + | Show Fieldlist | Open field list | + | Show Table | Show table view | + | Chart menu | Show chart view | + | Sub-totals menu | Hide sub-totals, Show row sub-totals, Show column sub-totals, Show sub-totals | + | Grand totals menu | Hide grand totals, Show row grand totals, Show column grand totals, Show grand totals | + +* [`cancel`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionBeginEventArgs/#cancel): Allows users to stop the current action by setting this option to **true**. + +In the example below, the [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionbegin) event is used to prevent the "Add new report" and "Save current report" actions by setting `args.cancel` to **true**. This stops these specific toolbar actions from proceeding. The code demonstrates how to control toolbar interactions effectively. + +{% tabs %} +{% highlight js tabtitle="App.jsx" %} +{% include code-snippet/pivot-table/default-cs302/app/App.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="App.tsx" %} +{% include code-snippet/pivot-table/default-cs302/app/App.tsx %} +{% endhighlight %} +{% highlight js tabtitle="datasource.jsx" %} +{% include code-snippet/pivot-table/default-cs302/app/datasource.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="datasource.tsx" %} +{% include code-snippet/pivot-table/default-cs302/app/datasource.tsx %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs302" %} ### ActionComplete -The event [`actionComplete`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actioncomplete) triggers when the UI actions such as as switching between pivot table and pivot chart, changing chart types, conditional formatting, exporting, etc. that are present in toolbar UI, is completed. This allows user to identify the current UI actions being completed at runtime. It has the following parameters: - -* `dataSourceSettings`: It holds the current data source settings such as input data source, rows, columns, values, filters, format settings and so on. - -* `actionName`: It holds the name of the current action completed. The following are the UI actions and their names: - - | Action | Action Name | - |------|-------------| - | New report | New report added | - | Save report | Report saved | - | Save as report | Report re-saved | - | Rename report | Report renamed | - | Remove report | Report removed | - | Report change | Report changed | - | Conditional Formatting | Conditionally formatted | - | Number Formatting | Number formatted | - | Export menu | PDF exported, Excel exported, CSV exported | - | Show Fieldlist | Field list closed | - | Show Table | Table view shown | - | Sub-totals menu | Sub-totals hidden, Row sub-totals shown, Column sub-totals shown, Sub-totals shown | - | Grand totals menu | Grant totals hidden, Row grand totals shown, Column grand totals shown, Grand totals shown | - -* `actionInfo`: It holds the unique information about the current UI action. For example, while adding new report, the event argument contains information such as report name and the action name. - - {% tabs %} - {% highlight js tabtitle="App.jsx" %} - {% include code-snippet/pivot-table/default-cs303/app/App.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="App.tsx" %} - {% include code-snippet/pivot-table/default-cs303/app/App.tsx %} - {% endhighlight %} - {% highlight js tabtitle="datasource.jsx" %} - {% include code-snippet/pivot-table/default-cs303/app/datasource.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="datasource.tsx" %} - {% include code-snippet/pivot-table/default-cs303/app/datasource.tsx %} - {% endhighlight %} - {% endtabs %} - - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs303" %} +The [`actionComplete`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actioncomplete) event triggers after a toolbar action, such as switching between a pivot table and pivot chart, changing chart types, applying conditional formatting, or exporting data, is completed. This event helps users track the completion of these actions at runtime. It includes the following parameters: + +- [`dataSourceSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#datasourcesettings): Contains the current data source settings, including the input data, rows, columns, values, filters, and format settings. +- [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#actionname): Indicates the name of the completed action. The table below lists the toolbar actions and their corresponding names: + + | Action | Action Name | + |------|-------------| + | New report | New report added | + | Save report | Report saved | + | Save as report | Report re-saved | + | Rename report | Report renamed | + | Remove report | Report removed | + | Report change | Report changed | + | Conditional Formatting | Conditionally formatted | + | Number Formatting | Number formatted | + | Export menu | PDF exported, Excel exported, CSV exported | + | Show Fieldlist | Field list closed | + | Show Table | Table view shown | + | Sub-totals menu | Sub-totals hidden, Row sub-totals shown, Column sub-totals shown, Sub-totals shown | + | Grand totals menu | Grand totals hidden, Row grand totals shown, Column grand totals shown, Grand totals shown | + +- [`actionInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionCompleteEventArgs/#actioninfo): Provides specific details about the completed action, such as the report name when adding a new report. + +{% tabs %} +{% highlight js tabtitle="App.jsx" %} +{% include code-snippet/pivot-table/default-cs303/app/App.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="App.tsx" %} +{% include code-snippet/pivot-table/default-cs303/app/App.tsx %} +{% endhighlight %} +{% highlight js tabtitle="datasource.jsx" %} +{% include code-snippet/pivot-table/default-cs303/app/datasource.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="datasource.tsx" %} +{% include code-snippet/pivot-table/default-cs303/app/datasource.tsx %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs303" %} ### ActionFailure -The event [`actionFailure`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionfailure) triggers when the current UI action fails to achieve the desired result. It has the following parameters: - -* `actionName`: It holds the name of the current action failed. The following are the UI actions and their names: - - | Action | Action Name | - |------|-------------| - | New report | Add new report | - | Save report | Save current report | - | Save as report | Save as current report | - | Rename report | Rename current report | - | Remove report | Remove current report | - | Report change | Report change | - | Conditional Formatting | Open conditional formatting dialog | - | Number Formatting | Open number formatting dialog | - | Export menu | PDF export, Excel export, CSV export | - | Show Fieldlist | Open field list | - | Show Table | Show table view | - | Chart menu | Show chart view | - | Sub-totals menu | Hide sub-totals, Show row sub-totals, Show column sub-totals, Show sub-totals | - | Grand totals menu | Hide grand totals, Show row grand totals, Show column grand totals, Show grand totals | - -* `errorInfo`: It holds the error information of the current UI action. - - {% tabs %} - {% highlight js tabtitle="App.jsx" %} - {% include code-snippet/pivot-table/default-cs304/app/App.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="App.tsx" %} - {% include code-snippet/pivot-table/default-cs304/app/App.tsx %} - {% endhighlight %} - {% highlight js tabtitle="datasource.jsx" %} - {% include code-snippet/pivot-table/default-cs304/app/datasource.jsx %} - {% endhighlight %} - {% highlight ts tabtitle="datasource.tsx" %} - {% include code-snippet/pivot-table/default-cs304/app/datasource.tsx %} - {% endhighlight %} - {% endtabs %} - - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs304" %} +The [`actionFailure`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#actionfailure) event occurs when a user action in the Pivot Table does not complete as expected. This event helps users understand what went wrong during interactions with the grouping bar. + +- [`actionName`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionFailureEventArgs/#actionname): Identifies which user action did not succeed. The table below lists the actions and their corresponding names: + + | Action | Action Name | + |------|-------------| + | New report | Add new report | + | Save report | Save current report | + | Save as report | Save as current report | + | Rename report | Rename current report | + | Remove report | Remove current report | + | Report change | Report change | + | Conditional Formatting | Open conditional formatting dialog | + | Number Formatting | Open number formatting dialog | + | Export menu | PDF export, Excel export, CSV export | + | Show Fieldlist | Open field list | + | Show Table | Show table view | + | Chart menu | Show chart view | + | Sub-totals menu | Hide sub-totals, Show row sub-totals, Show column sub-totals, Show sub-totals | + | Grand totals menu | Hide grand totals, Show row grand totals, Show column grand totals, Show grand totals | + +- [`errorInfo`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotActionFailureEventArgs/#errorinfo): Provides details about the error that occurred for the specific user action. + +{% tabs %} +{% highlight js tabtitle="App.jsx" %} +{% include code-snippet/pivot-table/default-cs304/app/App.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="App.tsx" %} +{% include code-snippet/pivot-table/default-cs304/app/App.tsx %} +{% endhighlight %} +{% highlight js tabtitle="datasource.jsx" %} +{% include code-snippet/pivot-table/default-cs304/app/datasource.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="datasource.tsx" %} +{% include code-snippet/pivot-table/default-cs304/app/datasource.tsx %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs304" %} ## See Also diff --git a/ej2-react/pivotview/tool-tip.md b/ej2-react/pivotview/tool-tip.md index b735ee2d6..78863c6c2 100644 --- a/ej2-react/pivotview/tool-tip.md +++ b/ej2-react/pivotview/tool-tip.md @@ -8,9 +8,9 @@ documentation: ug domainurl: ##DomainURL## --- -# Tool tip in React Pivotview component +# Tooltip in React Pivot Table Component -The tooltip can be enabled or disabled by setting the [`showTooltip`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showtooltip) property to **true**. By default, tooltip is enabled in the pivot table. +The tooltip displays contextual information when users hover over value cells in the pivot table. It can be enabled or disabled by setting the [`showTooltip`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#showtooltip) property to **true** or **false**. By default, tooltip is enabled in the pivot table and shows the cell value along with row and column header information. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -27,29 +27,23 @@ The tooltip can be enabled or disabled by setting the [`showTooltip`](https://ej {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs305" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs305" %} ## Tooltip Template -User can design their own tooltip by setting the property [`tooltipTemplate`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#tooltiptemplate) with own HTML elements. The property accepts both HTML string and ID attribute. The following place holders are available to display its dynamic values inside the HTML elements. +Users can customize the tooltip in the Pivot Table component by setting the [`tooltipTemplate`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#tooltiptemplate) property with their own HTML elements. This property accepts either an HTML string or an element ID. Use the following placeholders within the HTML to display dynamic values: -`${rowHeaders}` – Row headers of the selected value cell. +- `${rowHeaders}` – Displays the row headers for the selected value cell. +- `${columnHeaders}` – Displays the column headers for the selected value cell. +- `${rowFields}` – Displays the row fields of the selected value cell. +- `${columnFields}` – Displays the column fields of the selected value cell. +- `${valueField}` – Displays the value field name of the selected cell. +- `${aggregateType}` – Specifies the aggregate type of the selected value cell. +- `${value}` – Displays the formatted value of the selected value cell. -`${columnHeaders}` – Column headers of the selected value cell. +Tooltip customization can be applied to both pivot table and pivot chart together, or configured individually. To customize the Pivot Table tooltip, define the HTML template via the [`tooltipTemplate`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#tooltiptemplate) property as described above. To set a custom tooltip for the Pivot Chart only, use the [`template`](https://ej2.syncfusion.com/react/documentation/api/pivotview/pivotTooltipSettingsModel/#template) property within the [`tooltip`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/#tooltip) object of the [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/) property. -`${rowFields}` – Row fields of the selected value cell. - -`${columnFields}` – Column fields of the selected value cell. - -`${valueField}` – Field name of the selected value cell. - -`${aggregateType}` – Aggregate type of the selected value cell. - -`${value}` - Formatted value of the selected value cell. - -The tooltip customization is common for both pivot table and pivot chart or it can be done individually as well. To customize the pivot table tooltip, the above procedure needs to be followed. To customize the pivot chart tooltip alone use `template` property of tooltip under [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/). - -In the below sample, the pivot table and pivot chart shows customized tooltip layouts. +The example below shows how to define the Pivot Table tooltip template in `index.html` and assign it to the [`tooltipTemplate`](https://ej2.syncfusion.com/react/documentation/api/pivotview/#tooltiptemplate) property. The Pivot Chart tooltip is customized by setting an HTML string in the [`tooltip`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/#tooltip) property of [`chartSettings`](https://ej2.syncfusion.com/react/documentation/api/pivotview/chartSettings/). {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -58,6 +52,9 @@ In the below sample, the pivot table and pivot chart shows customized tooltip la {% highlight ts tabtitle="App.tsx" %} {% include code-snippet/pivot-table/tooltipTemplate-cs1/app/App.tsx %} {% endhighlight %} +{% highlight html tabtitle="index.html" %} +{% include code-snippet/pivot-table/tooltipTemplate-cs1/index.html %} +{% endhighlight %} {% highlight js tabtitle="datasource.jsx" %} {% include code-snippet/pivot-table/tooltipTemplate-cs1/app/datasource.jsx %} {% endhighlight %} @@ -66,4 +63,4 @@ In the below sample, the pivot table and pivot chart shows customized tooltip la {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/tooltipTemplate-cs1" %} \ No newline at end of file +{% previewsample "page.domainurl/code-snippet/pivot-table/tooltipTemplate-cs1" %} \ No newline at end of file diff --git a/ej2-react/pivotview/virtual-scrolling.md b/ej2-react/pivotview/virtual-scrolling.md index 960d26637..0b560418f 100644 --- a/ej2-react/pivotview/virtual-scrolling.md +++ b/ej2-react/pivotview/virtual-scrolling.md @@ -8,15 +8,15 @@ documentation: ug domainurl: ##DomainURL## --- - - -# Virtual scrolling in React Pivot Table component +# Virtual Scrolling in React Pivot Table Component ## Virtual Scrolling -Allows to load the large amounts of data without any performance degradation by rendering rows and columns only in the current content viewport. Rest of the aggregated data will be brought into viewport dynamically based on vertical or horizontal scroll position. This feature can be enabled by setting the [enableVirtualization](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enablevirtualization) property to **true**. +Virtual scrolling enables efficient handling of large datasets by rendering only the rows and columns visible in the current viewport. This approach prevents performance degradation when working with substantial amounts of data, as content refreshes dynamically during vertical or horizontal scrolling. This feature can be enabled by setting the [enableVirtualization](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enablevirtualization) property to **true**. + +N> The Virtualization and [Paging](./paging) features in the Pivot Table should not be enabled simultaneously. You can use either feature at a time, but not both together, as they are designed to handle data rendering differently and may conflict when used together. -To use the virtual scrolling feature, inject the `VirtualScroll` module in to the pivot table. +To use the virtual scrolling feature, inject the `VirtualScroll` module into the Pivot Table. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -27,15 +27,15 @@ To use the virtual scrolling feature, inject the `VirtualScroll` module in to th {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs308" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs308" %} -> The `height` and `width` properties should be set for virtual scrolling. If it is not defined then the pivot table will consider its value as `300px` and `800px` respectively. +> The `height` and `width` properties should be set for virtual scrolling. If it is not defined, then the Pivot Table will consider its value as `300px` and `800px` respectively. -## Virtual scrolling with single page mode +## Virtual Scrolling with Single Page Mode -When virtual scrolling is enabled, the pivot table renders not only the current view page, but also the previous and next pages by default. This default behavior, however, can cause performance delays when dealing with a large number of rows and columns. This is because the same number of rows and columns from adjacent pages are also processed, resulting in additional computational load. This performance constraint can be avoided by setting the [allowSinglePage](https://ej2.syncfusion.com/react/documentation/api/pivotview/virtualScrollSettings/#allowSinglePage) property to **true** within the [virtualScrollSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/virtualScrollSettings/). +When virtual scrolling is enabled, the Pivot Table renders not only the current view page but also the adjacent previous and next pages by default. While this approach supports smooth navigation, it can increase computational load and reduce performance when working with extensive datasets, as additional rows and columns from surrounding pages are processed. -Enabling this property causes the pivot table to render only the rows and columns that are relevant to the current view page during virtual scrolling. This optimization significantly improves the performance of the pivot table during initial rendering and when performing UI actions such as drill up/down, sorting, filtering, and more. +To optimize performance, set the [allowSinglePage](https://ej2.syncfusion.com/react/documentation/api/pivotview/virtualScrollSettings/#allowSinglePage) property to **true** within the [virtualScrollSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/virtualScrollSettings/). Enabling this property ensures that only the rows and columns for the current view page are rendered during virtual scrolling. This significantly enhances the performance of the Pivot Table, especially during initial rendering and user actions such as drilling up, drilling down, sorting, filtering, and more. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -48,19 +48,25 @@ Enabling this property causes the pivot table to render only the rows and column {% previewsample "page.domainurl/code-snippet/pivot-table/single-page-mode" %} -**Limitations for virtual scrolling** +## Limitations for Virtual Scrolling * In virtual scrolling, the [columnWidth](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettings/#columnwidth) property in [gridSettings](https://ej2.syncfusion.com/react/documentation/api/pivotview/gridSettings/) should be in pixels, and percentage values are not accepted. -* Features such as auto fit, column resizing, text wrapping, and setting specific column widths through events can dynamically affect the row height and column width in the pivot table at runtime. However, these changes are not considered in the scroller calculations, particularly with large datasets. This can lead to performance issues and problems with UI functionality during scrolling. Therefore, it is not recommended to use these features alongside virtualization in the pivot table. -* Grouping, which takes additional time to splitting the raw items into the provided format. +* Features such as auto fit, column resizing, text wrapping, and setting specific column widths through events can dynamically affect the row height and column width in the Pivot Table at runtime. However, these changes are not considered in the scroller calculations, particularly with large datasets. This can lead to performance issues and problems with UI functionality during scrolling. Therefore, it is not recommended to use these features alongside virtualization in the Pivot Table. +* Grouping, which takes additional time to split the raw items into the provided format. * Date Formatting, which takes additional time to convert date format. -* Date Formatting with sorting, here additionally full date time format should be framed to perform sorting along with the provided date format which lags the performance. -* When using OLAP data, subtotals and grand totals are only displayed when measures are bound at the last position in the [rows](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#rows) or [columns](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#columns) axis. Otherwise, the data from the pivot table will be shown without summary totals. -* Even if virtual scrolling is enabled, not only is the current view port data retrieved, but also the data for the immediate previous page and the immediate next page. As a result, when the end user scrolls slightly ahead or behind, the next or previous page data is displayed immediately without requiring a refresh. **Note:** If the pivot table's width and height are large, the loading data count in the current, previous, and next viewport (pages) will also increase, affecting performance. +* Date Formatting with sorting, here additionally full date time format should be framed to perform sorting along with the provided date format, which lags the performance. +* When using OLAP data, subtotals and grand totals are only displayed when measures are bound at the last position in the [rows](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#rows) or [columns](https://ej2.syncfusion.com/react/documentation/api/pivotview/dataSourceSettings/#columns) axis. Otherwise, the data from the Pivot Table will be shown without summary totals. +* Even if virtual scrolling is enabled, not only is the current viewport data retrieved, but also the data for the immediate previous page and the immediate next page. As a result, when the end user scrolls slightly ahead or behind, the next or previous page data is displayed immediately without requiring a refresh. **Note:** If the Pivot Table's width and height are large, the loading data count in the current, previous, and next viewport (pages) will also increase, affecting performance. + +## Virtual Scrolling for Static Field List + +Virtual scrolling works automatically with "Popup" field lists when you set the [enableVirtualization](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enablevirtualization) property in the Pivot Table to **true**. However, when using a static field list (displayed as a separate component), you need to connect both components manually. -## Virtual scrolling for static field list +Here's how to make virtual scrolling work with a static field list: -Virtual scrolling automatically works with "Popup" field list on setting the [enableVirtualization](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enablevirtualization) property in the Pivot Table to **true**. Incase of static field list, which act as a separate component, user need to enable [enableVirtualization](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enablevirtualization) property in the Pivot Table and also pass the report information to pivot table instance via the [load](https://ej2.syncfusion.com/react/documentation/api/pivotview/#load) event of the field list. +1. Enable virtual scrolling in the Pivot Table component by setting the [enableVirtualization](https://ej2.syncfusion.com/react/documentation/api/pivotview/#enablevirtualization) property to **true**, which improves performance for large datasets. +2. Connect the PivotFieldList component to the Pivot Table component using the [load](https://ej2.syncfusion.com/react/documentation/api/pivotview/#load) event. +3. Ensure synchronization between the Pivot Table and field list by updating the Pivot Table’s report configuration with the field list’s report configuration during the [load](https://ej2.syncfusion.com/react/documentation/api/pivotview/#load) event. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -71,9 +77,9 @@ Virtual scrolling automatically works with "Popup" field list on setting the [en {% endhighlight %} {% endtabs %} - {% previewsample "page.domainurl/code-snippet/pivot-table/default-cs310" %} +{% previewsample "page.domainurl/code-snippet/pivot-table/default-cs310" %} -## See also +## See Also * [Paging in Syncfusion® EJ2 Typescript components](./paging) * [Data Compression in Syncfusion® EJ2 Typescript components](./data-compression) \ No newline at end of file From 5f60a28a80ae2d27c411644f9fa519342b3258f5 Mon Sep 17 00:00:00 2001 From: Build Automaion Date: Wed, 15 Oct 2025 11:09:01 +0530 Subject: [PATCH 02/19] IN-209245 Updated the release notes MD file v31.2.2 with new release date --- ej2-react/Release-notes/31.2.2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ej2-react/Release-notes/31.2.2.md b/ej2-react/Release-notes/31.2.2.md index 295aa9c87..f00d2cf1a 100644 --- a/ej2-react/Release-notes/31.2.2.md +++ b/ej2-react/Release-notes/31.2.2.md @@ -7,7 +7,7 @@ documentation: ug # Essential Studio for React - v31.2.2 Release Notes -{% include release-info.html date="October 14, 2025" version="v31.2.2" passed="63079" failed="0" %} +{% include release-info.html date="October 15, 2025" version="v31.2.2" passed="63079" failed="0" %} {% directory path: _includes/release-notes/v31.2.2 %} From f6bfbf6fea57d54340a3bfde58143177853e9f71 Mon Sep 17 00:00:00 2001 From: Build Automaion Date: Wed, 15 Oct 2025 20:01:59 +0530 Subject: [PATCH 03/19] Integrated latest changes at 10-15-2025 7:30:21 PM --- ej2-react-toc.html | 6 +- .../ai-integrations/gemini-integration.md | 62 ++++++------ .../ai-integrations/ollama-llm-integration.md | 95 +++++++++---------- .../ai-integrations/openai-integration.md | 60 +++++------- .../integration-with-bot-framework.md | 34 +++---- .../integration-with-dialogflow.md | 38 ++++---- 6 files changed, 134 insertions(+), 161 deletions(-) diff --git a/ej2-react-toc.html b/ej2-react-toc.html index 5b68e306a..39ea9fe2d 100644 --- a/ej2-react-toc.html +++ b/ej2-react-toc.html @@ -244,7 +244,7 @@ Google Gemini
  • - Azure Open AI + Azure OpenAI
  • Ollama LLM @@ -603,10 +603,10 @@
  • Chat Bot Integrations
  • diff --git a/ej2-react/ai-assistview/ai-integrations/gemini-integration.md b/ej2-react/ai-assistview/ai-integrations/gemini-integration.md index f3c0eee6d..0fe2fe57a 100644 --- a/ej2-react/ai-assistview/ai-integrations/gemini-integration.md +++ b/ej2-react/ai-assistview/ai-integrations/gemini-integration.md @@ -9,57 +9,65 @@ domainurl: ##DomainURL## --- -# Gemini AI With AI AssistView component +# Integrate Gemini AI with React AI AssistView component -The Syncfusion AI AssistView supports integration with [Gemini](https://ai.google.dev/gemini-api/docs), enabling advanced conversational AI features in your React applications. +The AI AssistView component integrates with Google’s [Gemini](https://ai.google.dev/gemini-api/docs) API to deliver intelligent conversational interfaces. It leverages advanced natural language understanding to interpret user input, maintain context throughout interactions, and provide accurate, relevant responses. By configuring secure authentication and data handling, developers can unlock powerful AI-driven communication features that elevate user engagement and streamline support experiences. -## Getting Started with the AI AssistView component +## Prerequisites -Before integrating Gemini AI, ensure that the Syncfusion AI AssistView component is correctly rendered in your React app: +Before starting, ensure you have the following: -[React Getting Started Guide](../getting-started) +* **Node.js**: Version 16 or higher with npm. -## Prerequisites +* **Google Account**: For generating a Gemini API key. + +* **Syncfusion AI AssistView**: Package [@syncfusion/ej2-react-interactive-chat](https://www.npmjs.com/package/@syncfusion/ej2-react-interactive-chat) installed. + +* **Marked Library**: For parsing Markdown responses (`npm install marked --save`). + +## Set Up the React Environment -* Requires `Node.js` (v16 or higher) and `npm`. -* Google account to generate API key on accessing [Gemini](https://ai.google.dev/gemini-api/docs). -* Syncfusion AI AssistView for React `@syncfusion/ej2-react-interactive-chat` installed in your project. +Follow the Syncfusion AI AssistView [Getting Started](../getting-started) guide to configure and render the AI AssistView component in your React application. ## Install Dependencies -Install the Syncfusion AI AssistView in your project +Install the required packages: -```bash +1. Google Generative AI SDK: -npm install @syncfusion/ej2-react-interactive-chat --save +```bash + +npm install @google/generative-ai ``` -Install the Gemini AI dependencies +2. Marked Library: ```bash -npm install @google/generative-ai +npm install marked --save ``` ## Generate API Key -1. Go to [Google AI Studio](https://aistudio.google.com/app/apikey) and sign in with your google account. If you don’t have one, create a new account. +1. Access Google AI Studio: Instructs users to sign into [Google AI Studio](https://aistudio.google.com/app/apikey) with a Google account or create a new account if needed. -2. Once logged in, click on `Get API Key` from the left-hand menu or the top-right corner of the dashboard. +2. Navigate to API Key Creation: Go to the `Get API Key` option in the left-hand menu or top-right corner of the dashboard. Click the `Create API Key` button. -3. Click the `Create API Key` button. You’ll be prompted to either select an existing Google Cloud project or create a new one. Choose the appropriate option and proceed. +3. Project Selection: Choose an existing Google Cloud project or create a new one. -4. After selecting or creating a project, your API key will be generated and displayed. Copy the key and store it securely, as it will only be shown once. +4. API Key Generation: After project selection, the API key is generated. Users are instructed to copy and store the key securely, as it is shown only once. -> `Security Note`: Never commit the API key to version control. Use environment variables or a secret manager for production. +> `Security Note`: Advises against committing the API key to version control and recommends using environment variables or a secret manager in production. ## Configure Gemini AI with AI AssistView -Create `src/App.js` to integrate the Gemini AI with AI AssistView component +To integrate Gemini AI with the Syncfusion AI AssistView component in your Angular application: -* Add your generated `API Key` at the line +* Modify the `src/App.js` file to host the integration logic. + +* Add your Gemini API key securely in the configuration: ```bash @@ -77,15 +85,3 @@ const geminiApiKey = 'Place your API key here'; {% endtabs %} {% previewsample "page.domainurl/code-snippet/ai-assistview/ai-integrations/gemini-ai" %} - -## Run and Test - -Run the application in the browser using the following command. - -```bash - -npm start - -``` - -Open the hosted link to interact with the Gemini AI for dynamic response diff --git a/ej2-react/ai-assistview/ai-integrations/ollama-llm-integration.md b/ej2-react/ai-assistview/ai-integrations/ollama-llm-integration.md index cb51f7cdf..0a4bec792 100644 --- a/ej2-react/ai-assistview/ai-integrations/ollama-llm-integration.md +++ b/ej2-react/ai-assistview/ai-integrations/ollama-llm-integration.md @@ -8,68 +8,67 @@ documentation: ug domainurl: ##DomainURL## --- -# LLM via Ollama With AI AssistView component +# Integrate LLM via Ollama with React AI AssistView Component -The Syncfusion AI AssistView supports integration with [LLM via Ollama](https://ollama.com), enabling advanced conversational AI features in your applications. The component acts as a UI for a support bot, where user prompts are sent to the selected AI service via API calls. +The AI AssistView component integrates with [LLM via Ollama](https://ollama.com) to enable advanced conversational AI features in your React application. The component acts as a user interface where user prompts are sent to the selected LLM model via API calls, providing natural language understanding and context-aware responses. ## Prerequisites -* Requires `Node.js` (v16 or higher) and `npm`. -* [Ollama](https://ollama.com) application should be installed to run and manage LLM models locally. -* Syncfusion AI AssistView for React `@syncfusion/ej2-react-interactive-chat` installed in your react project. +Before starting, ensure you have the following: -## Step 1: Getting Started with the AI AssistView component +* **Node.js**: Version 16 or higher with npm. -Before integrating LLM model, ensure that the Syncfusion AI AssistView component is correctly rendered in your application: +* [Ollama](https://ollama.com) installed to run and manage LLM models locally. -[ React Getting Started Guide](../getting-started) +* **Syncfusion AI AssistView**: Package [@syncfusion/ej2-react-interactive-chat](https://www.npmjs.com/package/@syncfusion/ej2-react-interactive-chat) installed. -## Step 2: Install Dependencies +* **Marked Library**: For parsing Markdown responses (`npm install marked --save`). -* Install the Syncfusion AI AssistView in your project +## Set Up the React Environment -```bash +Follow the Syncfusion AI AssistView [Getting Started](../getting-started) guide to configure and render the AI AssistView component in your React application. -npm install @syncfusion/ej2-react-interactive-chat --save +## Install Dependency -``` +To install the marked library, run `npm install marked --save` in your project directory to add it as a dependency in your package.json file. + +## Configuring Ollama -* Download and install `Ollama` based on your operating system: +Install Ollama for your operating system: -{% tabs %} -{% highlight ts tabtitle="Windows" %} + {% tabs %} + {% highlight ts tabtitle="Windows" %} -1. Visit [Windows](https://ollama.com/download) -2. Click `Download for Windows` to get the `.exe installer`. -3. Run `OllamaSetup.exe` and follow the wizard to install. - -{% endhighlight %} + 1. Visit [Windows](https://ollama.com/download) + 2. Click `Download for Windows` to get the `.exe installer`. + 3. Run `OllamaSetup.exe` and follow the wizard to install. -{% highlight ts tabtitle="MAC" %} + {% endhighlight %} -1. Visit [macOS](https://ollama.com/download/mac) -2. Click `Download for macOS` to get `.dmg file` -3. Install it by following the wizard. + {% highlight ts tabtitle="macOS" %} -{% endhighlight %} + 1. Visit [macOS](https://ollama.com/download/mac) + 2. Click `Download for macOS` to get `.dmg file` + 3. Install it by following the wizard. -{% highlight ts tabtitle="Linux" %} + {% endhighlight %} -1. Visit [Linux](https://ollama.com/download/linux) -2. Run the below command to install Ollama in your system + {% highlight ts tabtitle="Linux" %} -```bash - -curl -fsSL https://ollama.com/install.sh | sh + 1. Visit [Linux](https://ollama.com/download/linux) + 2. Run the below command to install Ollama in your system -``` + ```bash + + curl -fsSL https://ollama.com/install.sh | sh -{% endhighlight %} -{% endtabs %} + ``` + {% endhighlight %} + {% endtabs %} -## Step 3: Install and Run an Ollama Model +## Download and run an Ollama model -1. Download and run a model using the following command. Replace `deepseek-r1` with your preferred model (e.g., `llama3`, `phi4`). See the [Ollama model](https://ollama.com/search) library for available models +1. Download and run a model using the following command. Replace `deepseek-r1` with your preferred model (e.g., `llama3`, `phi4`). See the [Ollama model](https://ollama.com/search) library for available models. ```bash @@ -77,7 +76,7 @@ ollama run deepseek-r1 ``` -2. Once the model download is complete, start the Ollama server to make the model accessible: +2. After the model download completes, start the Ollama server to make the model accessible: ```bash @@ -85,9 +84,13 @@ ollama serve ``` -## Step 4: Configure AI AssistView in React +## Configure AI AssistView with Ollama -Create `src/App.js` to connect the Syncfusion AI AssistView to the LLM model: +To integrate Ollama with the Syncfusion AI AssistView component in your React application: + +* Modify the `src/App.js` file to host the integration logic. + +* Configure the connection to the Ollama server (typically running on `http://localhost:11434`). {% tabs %} {% highlight js tabtitle="index.jsx" %} @@ -99,15 +102,3 @@ Create `src/App.js` to connect the Syncfusion AI AssistView to the LLM model: {% endtabs %} {% previewsample "page.domainurl/code-snippet/ai-assistview/ai-integrations/llm-model" %} - -## Step 5: Run and Test - -Run the application in the browser using the following command. - -```bash - -npm start - -``` - -Open the hosted link to interact with your AI model where you can enter prompts and receive responses from the Ollama model. diff --git a/ej2-react/ai-assistview/ai-integrations/openai-integration.md b/ej2-react/ai-assistview/ai-integrations/openai-integration.md index c9eb0ed52..7790032c0 100644 --- a/ej2-react/ai-assistview/ai-integrations/openai-integration.md +++ b/ej2-react/ai-assistview/ai-integrations/openai-integration.md @@ -1,7 +1,7 @@ --- layout: post -title: Azure Open AI With React AI AssistView component | Syncfusion -description: Checkout and learn about Integration of Azure Open AI With React AI AssistView component of Syncfusion Essential JS 2 and more details. +title: Azure OpenAI With React AI AssistView component | Syncfusion +description: Checkout and learn about Integration of Azure OpenAI With React AI AssistView component of Syncfusion Essential JS 2 and more details. platform: ej2-react control: AI AssistView documentation: ug @@ -9,49 +9,51 @@ domainurl: ##DomainURL## --- -# Azure Open AI With AI AssistView component +# Integrate Azure OpenAI with React AI AssistView Component -The Syncfusion AI AssistView supports integration with [Azure Open AI](https://microsoft.github.io/PartnerResources/skilling/ai-ml-academy/resources/openai), enabling advanced conversational AI features in your React applications. +The AI AssistView component integrates with [Azure OpenAI](https://microsoft.github.io/PartnerResources/skilling/ai-ml-academy/resources/openai) to enable advanced conversational AI features in your React applications. The component acts as a user interface, where user prompts are sent to the Azure OpenAI service via API calls, providing natural language understanding and context-aware responses. -## Getting Started with the AI AssistView component +## Prerequisites -Before integrating Azure Open AI, ensure that the Syncfusion AI AssistView Component is correctly rendered in your React app: +Before starting, ensure you have the following: -[React Getting Started Guide](../getting-started) +* **Node.js**: Version 16 or higher with npm. -## Prerequisites +* **Azure Account**: With access to Azure OpenAI services and a generated API key. -* Requires `Node.js` (v16 or higher) and `npm`. -* An Azure account with access to [Azure Open AI](https://microsoft.github.io/PartnerResources/skilling/ai-ml-academy/resources/openai) services and a generated API key. -* Syncfusion AI AssistView for React `@syncfusion/ej2-react-interactive-chat` installed in your project. +* **Syncfusion AI AssistView**: Package [@syncfusion/ej2-react-interactive-chat](https://www.npmjs.com/package/@syncfusion/ej2-react-interactive-chat) installed. -## Install Dependencies +* **Marked Library**: For parsing Markdown responses (`npm install marked --save`). -Install the Syncfusion AI AssistView in your project +## Set Up the React Environment -```bash +Follow the Syncfusion AI AssistView [Getting Started](../getting-started) guide to configure and render the AI AssistView component in your React application. -npm install @syncfusion/ej2-react-interactive-chat --save +## Install Dependency -``` +To install the marked library, run `npm install marked --save` in your project directory to add it as a dependency in your package.json file. -## Configure Azure Open AI +## Configure Azure OpenAI -1. Log in to the [Azure Portal](https://portal.azure.com/#home) and navigate to your Azure Open AI resource. +1. Log in to the [Azure Portal](https://portal.azure.com/#home) and navigate to your Azure OpenAI resource. -2. Under Resource Management, select Keys and Endpoint to retrieve your API key and endpoint URL. +2. Under resource Management, select keys and endpoint to retrieve your API key and endpoint URL. -3. Copy the API key, endpoint, and deployment name (e.g., gpt-4o-mini). Ensure the API version matches your resource configuration. +3. Note the following values: + - API key + - Endpoint (for example, https://.openai.azure.com/) + - API version (must be supported by your resource) + - Deployment name (for example, gpt-4o-mini) 4. Store these values securely, as they will be used in your application. > `Security Note`: Never expose your API key in client-side code for production applications. Use a server-side proxy or environment variables to manage sensitive information securely. -## Configure Azure Open AI with AI AssistView +## Configure Azure OpenAI with AI AssistView -Create `src/App.js` to integrate the Azure Open AI with AI AssistView component +Modify the `src/App.js` file to integrate Azure OpenAI with the Syncfusion AI AssistView component. -* Update the following configuration values with your Azure Open AI details: +* Update the following configuration values with Azure OpenAI details: ```bash @@ -72,15 +74,3 @@ const azureDeploymentName = 'Your_Deployment_Name'; {% endtabs %} {% previewsample "page.domainurl/code-snippet/ai-assistview/ai-integrations/open-ai" %} - -## Run and Test - -Run the application in the browser using the following command. - -```bash - -npm start - -``` - -Open the hosted link to interact with your Azure Open AI for dynamic response. diff --git a/ej2-react/chat-ui/bot-integrations/integration-with-bot-framework.md b/ej2-react/chat-ui/bot-integrations/integration-with-bot-framework.md index 45d839f6a..1ce68bd00 100644 --- a/ej2-react/chat-ui/bot-integrations/integration-with-bot-framework.md +++ b/ej2-react/chat-ui/bot-integrations/integration-with-bot-framework.md @@ -8,35 +8,35 @@ documentation: ug domainurl: ##DomainURL## --- -# Microsoft Bot Framework With React Chat UI component +# Integrate Microsoft Bot Framework with React Chat UI Component -The Syncfusion React Chat UI supports integration with a [Microsoft Bot Framework](https://learn.microsoft.com/en-us/azure/bot-service/bot-builder-basics?view=azure-bot-service-4.0) bot hosted on Azure, enabling a custom chat interface for seamless user interaction. The process involves setting up a secure backend token server, configuring the bot in Azure, and integrating the Syncfusion Chat UI in a React application. +The Chat UI component integrates with a [Microsoft Bot Framework](https://learn.microsoft.com/en-us/azure/bot-service/bot-builder-basics?view=azure-bot-service-4.0) bot hosted on Azure, enabling a custom chat interface for seamless user interaction. The process involves setting up a secure backend token server, configuring Direct Line in Azure, and integrating the Chat UI in the application. -## Getting Started With the Chat UI Component +## Prerequisites -Before integrating Microsoft Bot Framework, ensure that the Syncfusion Chat UI component is correctly rendered in your React app: +Before starting, ensure you have the following: -[React Getting Started Guide](../getting-started) +* **Node.js**: Version 16 or higher with npm. -## Prerequisites +* [Microsoft Azure Account](https://portal.azure.com/#home) : Required to create and host the bot. -* [Microsoft Azure Account](https://portal.azure.com/#home): Required to create and host the bot. -* `Node.js Environment`: The backend portion requires `Node.js` and `npm`. -* `Syncfusion Chat UI for React`: Install @syncfusion/ej2-react-interactive-chat in your React project. -* `Deployed Azure Bot`: A bot should be created and published using the Bot Framework, which is accessible via an Azure App Service. Refer to Microsoft's Bot Creation Guide. +* **Syncfusion Chat UI**: Package [@syncfusion/ej2-react-interactive-chat](https://www.npmjs.com/package/@syncfusion/ej2-react-interactive-chat) installed. -## Install Dependencies +* **Deployed Azure Bot**: A bot should be created and published using the [Microsoft Bot Framework](https://learn.microsoft.com/en-us/azure/bot-service/bot-builder-basics?view=azure-bot-service-4.0), which is accessible via an Azure App Service. Refer to Microsoft's Bot Creation Guide. -* Install `frontend` dependencies for bot communication and the Syncfusion Chat UI: +## Set Up the React Environment - * Install `directline-js` package to handle communication with the Bot Framework. +Follow the Syncfusion Chat UI [Getting Started](../getting-started) guide to configure and render the Chat UI component in your React application. - * Install `axios` for the HTTP requests. +## Install Dependencies + +Install the required packages: + +* Install `frontend` dependencies for bot communication and the Syncfusion Chat UI: ```bash -npm install @syncfusion/ej2-react-interactive-chat --save -npm install directline-js axios --save +npm install botframework-directlinejs axios --save ``` @@ -110,7 +110,7 @@ app.listen(port, () => console.log(`Token server running on http://localhost:${p ## Configure ChatUI -Create `src/App.js` to connect the Syncfusion Chat UI to the bot via the direct line API: +Modify the `src/App.js` file to connect the Syncfusion Chat UI to the bot via the direct line API: {% tabs %} {% highlight js tabtitle="App.js" %} diff --git a/ej2-react/chat-ui/bot-integrations/integration-with-dialogflow.md b/ej2-react/chat-ui/bot-integrations/integration-with-dialogflow.md index b7bac21ea..498f161e8 100644 --- a/ej2-react/chat-ui/bot-integrations/integration-with-dialogflow.md +++ b/ej2-react/chat-ui/bot-integrations/integration-with-dialogflow.md @@ -8,37 +8,33 @@ documentation: ug domainurl: ##DomainURL## --- -# Google Dialogflow With React Chat UI component +# Integrate Google Dialogflow with React Chat UI Component -The Syncfusion Chat UI supports integration with [Google Dialogflow](https://cloud.google.com/dialogflow/docs), enabling advanced conversational AI features in your React applications. +The Chat UI component integrates with [Google Dialogflow](https://cloud.google.com/dialogflow/docs) to enable advanced conversational AI features in your React applications. The component acts as a user interface for a support bot, where user prompts are sent to the Dialogflow service via API calls, providing natural language understanding and context-aware responses. -## Getting Started With the ChatUI Component +## Prerequisites -Before integrating Dialogflow, ensure that the Syncfusion Chat UI component is correctly rendered in your React app: +Before starting, ensure you have the following: -[React Getting Started Guide](../getting-started) +* **Node.js**: Version 16 or higher with npm. -## Prerequisites +* **Google Account**: To access [Google Dialogflow](https://cloud.google.com/dialogflow/docs) and [Google Cloud Console](https://console.cloud.google.com/). -* Google account to access [Google Dialogflow](https://cloud.google.com/dialogflow/docs) and [Google Cloud Console](https://console.cloud.google.com/). -* Backend requires `Node.js` (v16 or higher) and `npm`. -* Syncfusion Chat UI for React `@syncfusion/ej2-react-interactive-chat` installed in your React project. -* Dialogflow Service Account with the `Dialogflow API Client` role and its JSON key file. +* **Syncfusion Chat UI**: Package [@syncfusion/ej2-react-interactive-chat](https://www.npmjs.com/package/@syncfusion/ej2-react-interactive-chat) installed. -## Install Dependencies +* Dialogflow Service Account with the `Dialogflow API Client` role and its JSON key file. -* Install `backend` dependencies for Dialogflow and server setup: +## Set Up the React Environment -```bash +Follow the Syncfusion Chat UI [Getting Started](../getting-started) guide to configure and render the Chat UI component in your React application. -npm install express body-parser dialogflow cors +## Install Dependency -``` -* Install the Syncfusion Chat UI in your React project: +`Backend` dependencies for Dialogflow and server setup: ```bash -npm install @syncfusion/ej2-react-interactive-chat --save +npm install express body-parser dialogflow cors ``` @@ -48,7 +44,7 @@ npm install @syncfusion/ej2-react-interactive-chat --save 2. Add intents with training phrases and responses (e.g., greetings, FAQs). Test using the dialogflow simulator. -3. In the Google Cloud Console, go to `APIs & Services` > `Credentials`, create a Service Account with the dialogflow API client role, and download the JSON key file. +3. In the Google Cloud Console, go to `APIs & Services` > `Credentials`, create a service account with the dialogflow API client role, and download the JSON key file. > `Security Note`: Never commit the JSON key file to version control. Use environment variables or a secret manager (e.g., Google Cloud Secret Manager) for production. @@ -120,7 +116,7 @@ app.listen(5000, () => console.log('Backend running on http://localhost:5000')); ## Configure message send -Use the Chat UI `messageSend` event to exchanges message. Each time a user sends a message, this event will be invoked with details of the sent message. +Use the Chat UI `messageSend` event to exchanges message. Each time a user sends a message, this event will be invoked with details of the sent message. ### Forward Message to backend: @@ -128,7 +124,7 @@ Upon message submission, a POST request is sent to your backend API endpoint (`/ ### Displaying Bot response: -Create `src/App.js` to integrate the Syncfusion Chat UI with the dialogflow backend: +Modify the `src/App.js` file to integrate the Syncfusion Chat UI with the dialogflow backend: {% tabs %} {% highlight js tabtitle="App.js" %} @@ -202,7 +198,7 @@ node index.js ### Start the React frontend: -In a separate terminal window, navigate to your React project folder and start the development server: +In a separate terminal window, navigate to your project folder and start the development server: ```bash From a7aae5d9c465e8496b8a6c9e4ffae49e1bc5fd24 Mon Sep 17 00:00:00 2001 From: Build Automaion Date: Thu, 16 Oct 2025 19:43:33 +0530 Subject: [PATCH 04/19] Integrated latest changes at 10-16-2025 7:30:06 PM --- ej2-react/ai-assistview/speech/speech-to-text.md | 2 +- ej2-react/ai-assistview/speech/text-to-speech.md | 2 +- .../ai-assistview/speech/stt/app/index.jsx | 11 +++++++++++ .../ai-assistview/speech/stt/app/index.tsx | 11 +++++++++++ .../ai-assistview/speech/tts/app/index.jsx | 6 ++++++ .../ai-assistview/speech/tts/app/index.tsx | 6 ++++++ .../code-snippet/kanban/additional-cs1/app/index.jsx | 4 +--- .../code-snippet/kanban/additional-cs1/app/index.tsx | 7 ------- .../code-snippet/kanban/additional-cs2/app/index.jsx | 4 +--- .../code-snippet/kanban/additional-cs2/app/index.tsx | 7 ------- ej2-react/code-snippet/kanban/ajax-cs1/app/index.jsx | 4 +--- ej2-react/code-snippet/kanban/ajax-cs1/app/index.tsx | 7 ------- ej2-react/code-snippet/kanban/ajax-cs2/app/index.jsx | 4 +--- ej2-react/code-snippet/kanban/ajax-cs2/app/index.tsx | 7 ------- ej2-react/code-snippet/kanban/auto-cs1/app/index.jsx | 4 +--- ej2-react/code-snippet/kanban/auto-cs1/app/index.tsx | 7 ------- ej2-react/code-snippet/kanban/auto-cs10/app/index.jsx | 4 +--- ej2-react/code-snippet/kanban/auto-cs10/app/index.tsx | 7 ------- ej2-react/code-snippet/kanban/auto-cs2/app/index.jsx | 4 +--- ej2-react/code-snippet/kanban/auto-cs2/app/index.tsx | 7 ------- ej2-react/code-snippet/kanban/auto-cs3/app/index.jsx | 4 +--- ej2-react/code-snippet/kanban/auto-cs3/app/index.tsx | 7 ------- ej2-react/code-snippet/kanban/auto-cs4/app/index.jsx | 4 +--- ej2-react/code-snippet/kanban/auto-cs4/app/index.tsx | 7 ------- ej2-react/code-snippet/kanban/auto-cs5/app/index.jsx | 4 +--- ej2-react/code-snippet/kanban/auto-cs5/app/index.tsx | 7 ------- ej2-react/code-snippet/kanban/auto-cs6/app/index.jsx | 4 +--- ej2-react/code-snippet/kanban/auto-cs6/app/index.tsx | 7 ------- ej2-react/code-snippet/kanban/auto-cs7/app/index.jsx | 4 +--- ej2-react/code-snippet/kanban/auto-cs7/app/index.tsx | 7 ------- ej2-react/code-snippet/kanban/auto-cs8/app/index.jsx | 4 +--- ej2-react/code-snippet/kanban/auto-cs8/app/index.tsx | 7 ------- ej2-react/code-snippet/kanban/auto-cs9/app/index.jsx | 4 +--- ej2-react/code-snippet/kanban/auto-cs9/app/index.tsx | 7 ------- .../code-snippet/kanban/card-header-cs1/app/index.jsx | 4 +--- .../code-snippet/kanban/card-header-cs1/app/index.tsx | 7 ------- .../code-snippet/kanban/card-header-cs2/app/index.jsx | 4 +--- .../code-snippet/kanban/card-header-cs2/app/index.tsx | 7 ------- .../kanban/card-template-cs1/app/index.jsx | 4 +--- .../kanban/card-template-cs1/app/index.tsx | 7 ------- .../kanban/card-template-cs2/app/index.jsx | 4 +--- .../kanban/card-template-cs2/app/index.tsx | 7 ------- .../kanban/column-drag-and-drop-cs1/app/index.jsx | 4 +--- .../kanban/column-drag-and-drop-cs1/app/index.tsx | 7 ------- .../kanban/column-drag-and-drop-cs2/app/index.jsx | 4 +--- .../kanban/column-drag-and-drop-cs2/app/index.tsx | 7 ------- .../kanban/column-validation-cs1/app/index.jsx | 4 +--- .../kanban/column-validation-cs1/app/index.tsx | 7 ------- .../kanban/column-validation-cs2/app/index.jsx | 4 +--- .../kanban/column-validation-cs2/app/index.tsx | 7 ------- .../code-snippet/kanban/custom-cs1/app/index.tsx | 7 +------ .../code-snippet/kanban/custom-cs2/app/index.tsx | 7 +------ .../kanban/custom-dialog-cs1/app/index.jsx | 4 +--- .../kanban/custom-dialog-cs1/app/index.tsx | 7 ------- .../kanban/custom-dialog-cs2/app/index.jsx | 4 +--- .../kanban/custom-dialog-cs2/app/index.tsx | 7 ------- .../kanban/custom-mapping-cs1/app/index.jsx | 4 +--- .../kanban/custom-mapping-cs1/app/index.tsx | 7 ------- .../kanban/custom-mapping-cs2/app/index.jsx | 4 +--- .../kanban/custom-mapping-cs2/app/index.tsx | 7 ------- .../kanban/data-source-order-cs1/app/index.jsx | 4 +--- .../kanban/data-source-order-cs1/app/index.tsx | 7 ------- .../kanban/data-source-order-cs2/app/index.jsx | 4 +--- .../kanban/data-source-order-cs2/app/index.tsx | 7 ------- .../kanban/dialog-template-cs1/app/index.jsx | 4 +--- .../kanban/dialog-template-cs1/app/index.tsx | 7 ------- .../kanban/dialog-template-cs2/app/index.jsx | 4 +--- .../kanban/dialog-template-cs2/app/index.tsx | 7 ------- .../kanban/drag-and-drop-cs1/app/index.jsx | 4 +--- .../kanban/drag-and-drop-cs1/app/index.tsx | 7 ------- .../kanban/drag-and-drop-cs2/app/index.jsx | 4 +--- .../kanban/drag-and-drop-cs2/app/index.tsx | 7 ------- ej2-react/code-snippet/kanban/error-cs1/app/index.jsx | 4 +--- ej2-react/code-snippet/kanban/error-cs1/app/index.tsx | 7 ------- ej2-react/code-snippet/kanban/error-cs2/app/index.jsx | 4 +--- ej2-react/code-snippet/kanban/error-cs2/app/index.tsx | 4 ---- .../code-snippet/kanban/expanded-cs1/app/index.jsx | 4 +--- .../code-snippet/kanban/expanded-cs1/app/index.tsx | 7 ------- .../code-snippet/kanban/expanded-cs2/app/index.jsx | 4 +--- .../code-snippet/kanban/expanded-cs2/app/index.tsx | 7 ------- .../kanban/fields-validation-cs1/app/index.jsx | 4 +--- .../kanban/fields-validation-cs1/app/index.tsx | 7 ------- .../kanban/fields-validation-cs2/app/index.jsx | 4 +--- .../kanban/fields-validation-cs2/app/index.tsx | 7 ------- .../kanban/getting-started-empty-cs1/app/index.tsx | 7 +------ .../kanban/getting-started-empty-cs2/app/index.tsx | 7 +------ .../kanban/getting-started-empty-cs3/app/index.tsx | 7 +------ .../getting-started-key-field-cs1/app/index.jsx | 4 +--- .../getting-started-key-field-cs1/app/index.tsx | 7 ------- .../getting-started-key-field-cs2/app/index.jsx | 4 +--- .../getting-started-key-field-cs2/app/index.tsx | 7 ------- .../getting-started-key-field-cs3/app/index.jsx | 4 +--- .../getting-started-key-field-cs3/app/index.tsx | 7 ------- .../getting-started-key-field-cs4/app/index.jsx | 4 +--- .../getting-started-key-field-cs4/app/index.tsx | 7 ------- .../getting-started-key-field-cs5/app/index.jsx | 4 +--- .../getting-started-key-field-cs5/app/index.tsx | 7 ------- .../kanban/getting-started-swimlane-cs1/app/index.jsx | 4 +--- .../kanban/getting-started-swimlane-cs1/app/index.tsx | 7 ------- .../kanban/getting-started-swimlane-cs2/app/index.jsx | 4 +--- .../kanban/getting-started-swimlane-cs2/app/index.tsx | 7 ------- .../kanban/getting-started-swimlane-cs3/app/index.jsx | 4 +--- .../kanban/getting-started-swimlane-cs3/app/index.tsx | 7 ------- .../kanban/header-template-cs1/app/index.jsx | 4 +--- .../kanban/header-template-cs1/app/index.tsx | 7 ------- .../kanban/header-template-cs2/app/index.jsx | 4 +--- .../kanban/header-template-cs2/app/index.tsx | 7 ------- ej2-react/code-snippet/kanban/index-cs1/app/index.jsx | 4 +--- ej2-react/code-snippet/kanban/index-cs1/app/index.tsx | 7 ------- ej2-react/code-snippet/kanban/index-cs2/app/index.jsx | 4 +--- ej2-react/code-snippet/kanban/index-cs2/app/index.tsx | 7 ------- .../code-snippet/kanban/index-field-cs1/app/index.jsx | 4 +--- .../code-snippet/kanban/index-field-cs1/app/index.tsx | 7 ------- .../code-snippet/kanban/index-field-cs2/app/index.jsx | 4 +--- .../code-snippet/kanban/index-field-cs2/app/index.tsx | 7 ------- .../kanban/kanban-to-kanban-cs1/app/index.jsx | 4 +--- .../kanban/kanban-to-kanban-cs1/app/index.tsx | 7 ------- .../kanban/kanban-to-kanban-cs2/app/index.jsx | 4 +--- .../kanban/kanban-to-kanban-cs2/app/index.tsx | 7 ------- .../kanban/kanban-to-schedule-cs1/app/index.jsx | 4 +--- .../kanban/kanban-to-schedule-cs1/app/index.tsx | 7 ------- .../kanban/kanban-to-schedule-cs2/app/index.jsx | 4 +--- .../kanban/kanban-to-schedule-cs2/app/index.tsx | 7 ------- .../kanban/kanban-to-treeview-cs1/app/index.jsx | 4 +--- .../kanban/kanban-to-treeview-cs1/app/index.tsx | 7 ------- .../kanban/kanban-to-treeview-cs2/app/index.jsx | 4 +--- .../kanban/kanban-to-treeview-cs2/app/index.tsx | 7 ------- ej2-react/code-snippet/kanban/label-cs1/app/index.jsx | 4 +--- ej2-react/code-snippet/kanban/label-cs1/app/index.tsx | 7 ------- ej2-react/code-snippet/kanban/label-cs2/app/index.jsx | 4 +--- ej2-react/code-snippet/kanban/label-cs2/app/index.tsx | 7 ------- .../code-snippet/kanban/local-data-cs1/app/index.jsx | 4 +--- .../code-snippet/kanban/local-data-cs1/app/index.tsx | 7 ------- .../code-snippet/kanban/local-data-cs2/app/index.jsx | 4 +--- .../code-snippet/kanban/local-data-cs2/app/index.tsx | 7 ------- .../code-snippet/kanban/locale-cs1/app/index.jsx | 4 +--- .../code-snippet/kanban/locale-cs1/app/index.tsx | 7 ------- .../code-snippet/kanban/locale-cs2/app/index.jsx | 4 +--- .../code-snippet/kanban/locale-cs2/app/index.tsx | 7 ------- .../kanban/multiple-keys-cs1/app/index.jsx | 4 +--- .../kanban/multiple-keys-cs1/app/index.tsx | 7 ------- .../kanban/multiple-keys-cs2/app/index.jsx | 4 +--- .../kanban/multiple-keys-cs2/app/index.tsx | 7 ------- .../kanban/multiple-selection-cs1/app/index.jsx | 4 +--- .../kanban/multiple-selection-cs1/app/index.tsx | 7 ------- .../kanban/multiple-selection-cs2/app/index.jsx | 4 +--- .../kanban/multiple-selection-cs2/app/index.tsx | 7 ------- ej2-react/code-snippet/kanban/odata-cs1/app/index.jsx | 4 +--- ej2-react/code-snippet/kanban/odata-cs1/app/index.tsx | 7 ------- ej2-react/code-snippet/kanban/odata-cs2/app/index.jsx | 4 +--- ej2-react/code-snippet/kanban/odata-cs2/app/index.tsx | 7 ------- .../code-snippet/kanban/odataV4-cs1/app/index.jsx | 4 +--- .../code-snippet/kanban/odataV4-cs1/app/index.tsx | 7 ------- .../code-snippet/kanban/odataV4-cs2/app/index.jsx | 4 +--- .../code-snippet/kanban/odataV4-cs2/app/index.tsx | 7 ------- .../code-snippet/kanban/percentage-cs1/app/index.jsx | 4 +--- .../code-snippet/kanban/percentage-cs1/app/index.tsx | 7 ------- .../code-snippet/kanban/percentage-cs2/app/index.jsx | 4 +--- .../code-snippet/kanban/percentage-cs2/app/index.tsx | 7 ------- .../code-snippet/kanban/persistence-cs1/app/index.jsx | 4 +--- .../code-snippet/kanban/persistence-cs1/app/index.tsx | 7 ------- .../code-snippet/kanban/persistence-cs2/app/index.jsx | 4 +--- .../code-snippet/kanban/persistence-cs2/app/index.tsx | 7 ------- ej2-react/code-snippet/kanban/pixel-cs1/app/index.jsx | 4 +--- ej2-react/code-snippet/kanban/pixel-cs1/app/index.tsx | 7 ------- ej2-react/code-snippet/kanban/pixel-cs2/app/index.jsx | 4 +--- ej2-react/code-snippet/kanban/pixel-cs2/app/index.tsx | 7 ------- .../kanban/prevent-dialog-cs1/app/index.jsx | 4 +--- .../kanban/prevent-dialog-cs1/app/index.tsx | 7 ------- .../kanban/prevent-dialog-cs2/app/index.jsx | 4 +--- .../kanban/prevent-dialog-cs2/app/index.tsx | 7 ------- .../code-snippet/kanban/priority-cs1/app/index.jsx | 4 +--- .../code-snippet/kanban/priority-cs1/app/index.tsx | 7 ------- .../code-snippet/kanban/priority-cs2/app/index.jsx | 4 +--- .../code-snippet/kanban/priority-cs2/app/index.tsx | 7 ------- .../code-snippet/kanban/remote-data-cs1/app/index.jsx | 4 +--- .../code-snippet/kanban/remote-data-cs1/app/index.tsx | 7 ------- .../code-snippet/kanban/remote-data-cs2/app/index.jsx | 4 +--- .../code-snippet/kanban/remote-data-cs2/app/index.tsx | 7 ------- ej2-react/code-snippet/kanban/rtl-cs1/app/index.jsx | 4 +--- ej2-react/code-snippet/kanban/rtl-cs1/app/index.tsx | 7 ------- ej2-react/code-snippet/kanban/rtl-cs2/app/index.jsx | 4 +--- ej2-react/code-snippet/kanban/rtl-cs2/app/index.tsx | 7 ------- .../code-snippet/kanban/single-key-cs1/app/index.jsx | 4 +--- .../code-snippet/kanban/single-key-cs1/app/index.tsx | 7 ------- .../code-snippet/kanban/single-key-cs2/app/index.jsx | 4 +--- .../code-snippet/kanban/single-key-cs2/app/index.tsx | 7 ------- .../kanban/sort-direction-cs1/app/index.jsx | 4 +--- .../kanban/sort-direction-cs1/app/index.tsx | 7 ------- .../kanban/sort-direction-cs2/app/index.jsx | 4 +--- .../kanban/sort-direction-cs2/app/index.tsx | 7 ------- .../kanban/stacked-headers-cs1/app/index.jsx | 4 +--- .../kanban/stacked-headers-cs1/app/index.tsx | 7 ------- .../kanban/stacked-headers-cs2/app/index.jsx | 4 +--- .../kanban/stacked-headers-cs2/app/index.tsx | 7 ------- .../kanban/swimlane-drag-and-drop-cs1/app/index.jsx | 4 +--- .../kanban/swimlane-drag-and-drop-cs1/app/index.tsx | 7 ------- .../kanban/swimlane-drag-and-drop-cs2/app/index.jsx | 4 +--- .../kanban/swimlane-drag-and-drop-cs2/app/index.tsx | 7 ------- .../kanban/swimlane-drag-cs1/app/index.jsx | 4 +--- .../kanban/swimlane-drag-cs1/app/index.tsx | 7 ------- .../kanban/swimlane-drag-cs2/app/index.jsx | 4 +--- .../kanban/swimlane-drag-cs2/app/index.tsx | 7 ------- .../kanban/swimlane-empty-cs1/app/index.jsx | 4 +--- .../kanban/swimlane-empty-cs1/app/index.tsx | 7 ------- .../kanban/swimlane-empty-cs2/app/index.jsx | 4 +--- .../kanban/swimlane-empty-cs2/app/index.tsx | 7 ------- .../kanban/swimlane-enable-frozen-cs1/app/index.jsx | 4 +--- .../kanban/swimlane-enable-frozen-cs1/app/index.tsx | 7 ------- .../kanban/swimlane-enable-frozen-cs2/app/index.jsx | 4 +--- .../kanban/swimlane-enable-frozen-cs2/app/index.tsx | 7 ------- .../kanban/swimlane-key-cs1/app/index.jsx | 4 +--- .../kanban/swimlane-key-cs1/app/index.tsx | 7 ------- .../kanban/swimlane-key-cs2/app/index.jsx | 4 +--- .../kanban/swimlane-key-cs2/app/index.tsx | 7 ------- .../kanban/swimlane-sort-cs1/app/index.jsx | 4 +--- .../kanban/swimlane-sort-cs1/app/index.tsx | 7 ------- .../kanban/swimlane-sort-cs2/app/index.jsx | 4 +--- .../kanban/swimlane-sort-cs2/app/index.tsx | 7 ------- .../kanban/swimlane-template-cs1/app/index.jsx | 4 +--- .../kanban/swimlane-template-cs1/app/index.tsx | 7 ------- .../kanban/swimlane-template-cs2/app/index.jsx | 4 +--- .../kanban/swimlane-template-cs2/app/index.tsx | 7 ------- .../kanban/swimlane-text-cs1/app/index.jsx | 4 +--- .../kanban/swimlane-text-cs1/app/index.tsx | 7 ------- .../kanban/swimlane-text-cs2/app/index.jsx | 4 +--- .../kanban/swimlane-text-cs2/app/index.tsx | 7 ------- .../kanban/swimlane-total-cs1/app/index.jsx | 4 +--- .../kanban/swimlane-total-cs1/app/index.tsx | 7 ------- .../kanban/swimlane-total-cs2/app/index.jsx | 4 +--- .../kanban/swimlane-total-cs2/app/index.tsx | 7 ------- .../code-snippet/kanban/toggle-cs1/app/index.jsx | 4 +--- .../code-snippet/kanban/toggle-cs1/app/index.tsx | 7 ------- .../code-snippet/kanban/toggle-cs2/app/index.jsx | 4 +--- .../code-snippet/kanban/toggle-cs2/app/index.tsx | 7 ------- .../kanban/tooltip-template-cs1/app/index.jsx | 4 +--- .../kanban/tooltip-template-cs1/app/index.tsx | 7 ------- .../kanban/tooltip-template-cs2/app/index.jsx | 4 +--- .../kanban/tooltip-template-cs2/app/index.tsx | 7 ------- .../kanban/virtual-scrolling-cs1/app/index.jsx | 4 +--- .../kanban/virtual-scrolling-cs1/app/index.tsx | 7 ------- .../kanban/virtual-scrolling-cs2/app/index.jsx | 4 +--- .../kanban/virtual-scrolling-cs2/app/index.tsx | 7 ------- 243 files changed, 157 insertions(+), 1189 deletions(-) diff --git a/ej2-react/ai-assistview/speech/speech-to-text.md b/ej2-react/ai-assistview/speech/speech-to-text.md index a26a0b39f..6e09e3bda 100644 --- a/ej2-react/ai-assistview/speech/speech-to-text.md +++ b/ej2-react/ai-assistview/speech/speech-to-text.md @@ -10,7 +10,7 @@ domainurl: ##DomainURL## # Speech-to-Text in React AI AssistView -The Syncfusion React AI AssistView component supports `Speech-to-Text` functionality through the browser's [Web Speech API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API), enabling conversion of spoken words into text using the device's microphone. +The Syncfusion React AI AssistView component integrates `Speech-to-Text` functionality through the browser's [Web Speech API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API). This enables the conversion of spoken words into text using the device's microphone, allowing users to interact with the AI AssistView through voice input ## Prerequisites diff --git a/ej2-react/ai-assistview/speech/text-to-speech.md b/ej2-react/ai-assistview/speech/text-to-speech.md index 002829f42..c1bde7897 100644 --- a/ej2-react/ai-assistview/speech/text-to-speech.md +++ b/ej2-react/ai-assistview/speech/text-to-speech.md @@ -10,7 +10,7 @@ domainurl: ##DomainURL## # Text-to-Speech in React AI AssistView -The Syncfusion React AI AssistView component supports `Text-to-Speech` (TTS) functionality using the browser's Web Speech API specifically using the [SpeechSynthesisUtterance](https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisUtterance) interface to convert AI-generated response into spoken audio. +The Syncfusion React AI AssistView component integrates `Text-to-Speech` (TTS) functionality using the browser's Web Speech API, specifically the [SpeechSynthesisUtterance](https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisUtterance) interface. This allows AI-generated responses to be converted into spoken audio, enhancing accessibility and user interaction. ## Prerequisites diff --git a/ej2-react/code-snippet/ai-assistview/speech/stt/app/index.jsx b/ej2-react/code-snippet/ai-assistview/speech/stt/app/index.jsx index 951068a4a..2abc9cf48 100644 --- a/ej2-react/code-snippet/ai-assistview/speech/stt/app/index.jsx +++ b/ej2-react/code-snippet/ai-assistview/speech/stt/app/index.jsx @@ -31,6 +31,7 @@ function App() { } }; + // Renders the banner template with instructions for voice input const bannerTemplate = () => { return (
    @@ -40,6 +41,7 @@ function App() { ); }; + // Renders the footer template including editable input, speech-to-text component, and send button const footerTemplate = () => { return (
    @@ -52,6 +54,7 @@ function App() { ); }; + // Streams the AI response character by character to create a typing effect const streamResponse = async (response) => { let lastResponse = ""; const responseUpdateRate = 10; @@ -70,6 +73,7 @@ function App() { toggleButtons(); }; + // Handles prompt requests by sending them to the Azure OpenAI API and streaming the response const onPromptRequest = (args) => { const url = azureOpenAIEndpoint.replace(/\/$/, '') + @@ -101,31 +105,37 @@ function App() { }); }; + // Handles toolbar item clicks, such as clearing the conversation on refresh const toolbarItemClicked = (args) => { if (args.item.iconCss === 'e-icons e-refresh') { assistInstance.current.prompts = []; } }; + // Executes the current prompt from the footer input and clears it const sendIconClicked = () => { assistInstance.current.executePrompt(assistviewFooter.current.innerText); assistviewFooter.current.innerText = ''; }; + // Updates the footer input with the latest speech transcript const onTranscriptChange = (args) => { if (assistviewFooter.current) { assistviewFooter.current.innerText = args.transcript; } }; + // Toggles button visibility when speech-to-text listening stops const onListeningStop = () => { toggleButtons(); }; + // Initializes button visibility when the speech-to-text component is created const onCreated = () => { toggleButtons(); }; + // Toggles visibility of send and speech buttons based on whether the input has text const toggleButtons = () => { const assistviewFooterEle = assistviewFooter.current; const sendButtonEle = assistviewSendButton.current?.element; @@ -148,6 +158,7 @@ function App() { } }; + // Stops the ongoing streaming response const handleStopResponse = () => { stopStreaming = true; toggleButtons(); diff --git a/ej2-react/code-snippet/ai-assistview/speech/stt/app/index.tsx b/ej2-react/code-snippet/ai-assistview/speech/stt/app/index.tsx index dc1bccdd5..589d8fe51 100644 --- a/ej2-react/code-snippet/ai-assistview/speech/stt/app/index.tsx +++ b/ej2-react/code-snippet/ai-assistview/speech/stt/app/index.tsx @@ -31,6 +31,7 @@ function App() { } }; + // Renders the banner template with instructions for voice input const bannerTemplate = () => { return (
    @@ -40,6 +41,7 @@ function App() { ); }; + // Renders the footer template including editable input, speech-to-text component, and send button const footerTemplate = () => { return (
    @@ -52,6 +54,7 @@ function App() { ); }; + // Streams the AI response character by character to create a typing effect const streamResponse = async (response: string) => { let lastResponse = ""; const responseUpdateRate = 10; @@ -70,6 +73,7 @@ function App() { toggleButtons(); }; + // Handles prompt requests by sending them to the Azure OpenAI API and streaming the response const onPromptRequest = (args: PromptRequestEventArgs) => { const url = azureOpenAIEndpoint.replace(/\/$/, '') + @@ -101,31 +105,37 @@ function App() { }); }; + // Handles toolbar item clicks, such as clearing the conversation on refresh const toolbarItemClicked = (args: ToolbarItemClickedEventArgs) => { if (args.item.iconCss === 'e-icons e-refresh') { assistInstance.current.prompts = []; } }; + // Executes the current prompt from the footer input and clears it const sendIconClicked = () => { assistInstance.current.executePrompt(assistviewFooter.current.innerText); assistviewFooter.current.innerText = ''; }; + // Updates the footer input with the latest speech transcript const onTranscriptChange = (args: any) => { if (assistviewFooter.current) { assistviewFooter.current.innerText = args.transcript; } }; + // Toggles button visibility when speech-to-text listening stops const onListeningStop = () => { toggleButtons(); }; + // Initializes button visibility when the speech-to-text component is created const onCreated = () => { toggleButtons(); }; + // Toggles visibility of send and speech buttons based on whether the input has text const toggleButtons = () => { const assistviewFooterEle = assistviewFooter.current; const sendButtonEle = assistviewSendButton.current?.element; @@ -148,6 +158,7 @@ function App() { } }; + // Stops the ongoing streaming response const handleStopResponse = () => { stopStreaming = true; toggleButtons(); diff --git a/ej2-react/code-snippet/ai-assistview/speech/tts/app/index.jsx b/ej2-react/code-snippet/ai-assistview/speech/tts/app/index.jsx index 21d9f3560..44666b972 100644 --- a/ej2-react/code-snippet/ai-assistview/speech/tts/app/index.jsx +++ b/ej2-react/code-snippet/ai-assistview/speech/tts/app/index.jsx @@ -28,6 +28,7 @@ function App() { itemClicked: (args) => onResponseToolbarItemClicked(args) }; + // Renders the banner template indicating voice-enabled assistance const bannerTemplate = () => { return (
    @@ -37,6 +38,7 @@ function App() { ); }; + // Streams the AI response character by character to create a typing effect const streamResponse = async (response) => { let lastResponse = ""; const responseUpdateRate = 10; @@ -54,6 +56,7 @@ function App() { } }; + // Handles prompt requests by sending them to the Azure OpenAI API and streaming the response const onPromptRequest = (args) => { const url = azureOpenAIEndpoint.replace(/\/$/, '') + @@ -84,12 +87,14 @@ function App() { }); }; + // Handles toolbar item clicks, such as clearing the conversation on refresh const toolbarItemClicked = (args) => { if (args.item.iconCss === 'e-icons e-refresh') { assistInstance.current.prompts = []; } }; + // Handles clicks on response toolbar items, such as copying, reading aloud, liking, or disliking the response const onResponseToolbarItemClicked = (args) => { const responseHtml = assistInstance.current?.prompts[args.dataIndex].response; if (responseHtml) { @@ -118,6 +123,7 @@ function App() { } }; + // Stops the ongoing streaming response const handleStopResponse = () => { stopStreaming = true; }; diff --git a/ej2-react/code-snippet/ai-assistview/speech/tts/app/index.tsx b/ej2-react/code-snippet/ai-assistview/speech/tts/app/index.tsx index 90e308049..ef3f39a9d 100644 --- a/ej2-react/code-snippet/ai-assistview/speech/tts/app/index.tsx +++ b/ej2-react/code-snippet/ai-assistview/speech/tts/app/index.tsx @@ -28,6 +28,7 @@ function App() { itemClicked: (args) => onResponseToolbarItemClicked(args) }; + // Renders the banner template indicating voice-enabled assistance const bannerTemplate = () => { return (
    @@ -37,6 +38,7 @@ function App() { ); }; + // Streams the AI response character by character to create a typing effect const streamResponse = async (response: string) => { let lastResponse = ""; const responseUpdateRate = 10; @@ -54,6 +56,7 @@ function App() { } }; + // Handles prompt requests by sending them to the Azure OpenAI API and streaming the response const onPromptRequest = (args: PromptRequestEventArgs) => { const url = azureOpenAIEndpoint.replace(/\/$/, '') + @@ -84,12 +87,14 @@ function App() { }); }; + // Handles toolbar item clicks, such as clearing the conversation on refresh const toolbarItemClicked = (args: ToolbarItemClickedEventArgs) => { if (args.item.iconCss === 'e-icons e-refresh') { assistInstance.current.prompts = []; } }; + // Handles clicks on response toolbar items, such as copying, reading aloud, liking, or disliking the response const onResponseToolbarItemClicked = (args: ToolbarItemClickedEventArgs) => { const responseHtml = assistInstance.current?.prompts[args.dataIndex].response; if (responseHtml) { @@ -118,6 +123,7 @@ function App() { } }; + // Stops the ongoing streaming response const handleStopResponse = () => { stopStreaming = true; }; diff --git a/ej2-react/code-snippet/kanban/additional-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/additional-cs1/app/index.jsx index abbb5dcec..a8801e8d0 100644 --- a/ej2-react/code-snippet/kanban/additional-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/additional-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { DataManager, ODataAdaptor, Query } from '@syncfusion/ej2-data'; @@ -24,5 +23,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/additional-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/additional-cs1/app/index.tsx index 940c7db94..e4295f414 100644 --- a/ej2-react/code-snippet/kanban/additional-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/additional-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { DataManager, ODataAdaptor, Query } from '@syncfusion/ej2-data'; @@ -27,7 +24,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/additional-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/additional-cs2/app/index.jsx index bfeb81b51..23c6427d1 100644 --- a/ej2-react/code-snippet/kanban/additional-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/additional-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { DataManager, ODataAdaptor, Query } from '@syncfusion/ej2-data'; @@ -21,5 +20,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/additional-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/additional-cs2/app/index.tsx index 6cd5ac5c9..7fffc3691 100644 --- a/ej2-react/code-snippet/kanban/additional-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/additional-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { DataManager, ODataAdaptor, Query } from '@syncfusion/ej2-data'; @@ -27,7 +24,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/ajax-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/ajax-cs1/app/index.jsx index f0affa88a..ec9697d77 100644 --- a/ej2-react/code-snippet/kanban/ajax-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/ajax-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { Ajax } from '@syncfusion/ej2-base'; @@ -26,5 +25,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/ajax-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/ajax-cs1/app/index.tsx index 389d782b8..e86e24810 100644 --- a/ej2-react/code-snippet/kanban/ajax-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/ajax-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { Ajax } from '@syncfusion/ej2-base'; @@ -29,7 +26,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/ajax-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/ajax-cs2/app/index.jsx index 60baf179f..b4e8e184a 100644 --- a/ej2-react/code-snippet/kanban/ajax-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/ajax-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { Ajax } from '@syncfusion/ej2-base'; @@ -25,5 +24,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/ajax-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/ajax-cs2/app/index.tsx index c7c093046..c0e9a8c03 100644 --- a/ej2-react/code-snippet/kanban/ajax-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/ajax-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { Ajax } from '@syncfusion/ej2-base'; @@ -30,7 +27,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/auto-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/auto-cs1/app/index.jsx index 5f25a2a58..23bb1dd71 100644 --- a/ej2-react/code-snippet/kanban/auto-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/auto-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/auto-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/auto-cs1/app/index.tsx index b8400738d..a3827eed4 100644 --- a/ej2-react/code-snippet/kanban/auto-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/auto-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/auto-cs10/app/index.jsx b/ej2-react/code-snippet/kanban/auto-cs10/app/index.jsx index 2a2333293..e8d9391d0 100644 --- a/ej2-react/code-snippet/kanban/auto-cs10/app/index.jsx +++ b/ej2-react/code-snippet/kanban/auto-cs10/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -45,5 +44,4 @@ function App() {
    ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/auto-cs10/app/index.tsx b/ej2-react/code-snippet/kanban/auto-cs10/app/index.tsx index 9505d561c..8ce033eb7 100644 --- a/ej2-react/code-snippet/kanban/auto-cs10/app/index.tsx +++ b/ej2-react/code-snippet/kanban/auto-cs10/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -50,7 +47,3 @@ import { kanbanData } from './datasource'; ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/auto-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/auto-cs2/app/index.jsx index 314bd6ac4..026ea38f9 100644 --- a/ej2-react/code-snippet/kanban/auto-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/auto-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/auto-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/auto-cs2/app/index.tsx index aeabff64e..fe2d53225 100644 --- a/ej2-react/code-snippet/kanban/auto-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/auto-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/auto-cs3/app/index.jsx b/ej2-react/code-snippet/kanban/auto-cs3/app/index.jsx index 65abbe1d5..87c22cf8b 100644 --- a/ej2-react/code-snippet/kanban/auto-cs3/app/index.jsx +++ b/ej2-react/code-snippet/kanban/auto-cs3/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -36,5 +35,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/auto-cs3/app/index.tsx b/ej2-react/code-snippet/kanban/auto-cs3/app/index.tsx index 87cd984d3..d119a595e 100644 --- a/ej2-react/code-snippet/kanban/auto-cs3/app/index.tsx +++ b/ej2-react/code-snippet/kanban/auto-cs3/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -39,7 +36,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/auto-cs4/app/index.jsx b/ej2-react/code-snippet/kanban/auto-cs4/app/index.jsx index 97e8cc665..8feaf4e57 100644 --- a/ej2-react/code-snippet/kanban/auto-cs4/app/index.jsx +++ b/ej2-react/code-snippet/kanban/auto-cs4/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -30,5 +29,4 @@ function App() {
    ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/auto-cs4/app/index.tsx b/ej2-react/code-snippet/kanban/auto-cs4/app/index.tsx index d1c9e690f..320442dce 100644 --- a/ej2-react/code-snippet/kanban/auto-cs4/app/index.tsx +++ b/ej2-react/code-snippet/kanban/auto-cs4/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -36,7 +33,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/auto-cs5/app/index.jsx b/ej2-react/code-snippet/kanban/auto-cs5/app/index.jsx index 97480f40f..4aa223ec9 100644 --- a/ej2-react/code-snippet/kanban/auto-cs5/app/index.jsx +++ b/ej2-react/code-snippet/kanban/auto-cs5/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -40,5 +39,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/auto-cs5/app/index.tsx b/ej2-react/code-snippet/kanban/auto-cs5/app/index.tsx index 4bc51a83d..48f2b134e 100644 --- a/ej2-react/code-snippet/kanban/auto-cs5/app/index.tsx +++ b/ej2-react/code-snippet/kanban/auto-cs5/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -42,7 +39,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/auto-cs6/app/index.jsx b/ej2-react/code-snippet/kanban/auto-cs6/app/index.jsx index 9868f31bd..9b0b181a6 100644 --- a/ej2-react/code-snippet/kanban/auto-cs6/app/index.jsx +++ b/ej2-react/code-snippet/kanban/auto-cs6/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -34,5 +33,4 @@ function App() {
    ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/auto-cs6/app/index.tsx b/ej2-react/code-snippet/kanban/auto-cs6/app/index.tsx index 7c6f0545d..18696a07b 100644 --- a/ej2-react/code-snippet/kanban/auto-cs6/app/index.tsx +++ b/ej2-react/code-snippet/kanban/auto-cs6/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -39,7 +36,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/auto-cs7/app/index.jsx b/ej2-react/code-snippet/kanban/auto-cs7/app/index.jsx index 7b87e33a6..e18141122 100644 --- a/ej2-react/code-snippet/kanban/auto-cs7/app/index.jsx +++ b/ej2-react/code-snippet/kanban/auto-cs7/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -35,5 +34,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/auto-cs7/app/index.tsx b/ej2-react/code-snippet/kanban/auto-cs7/app/index.tsx index a38dd945b..eeb5d43b6 100644 --- a/ej2-react/code-snippet/kanban/auto-cs7/app/index.tsx +++ b/ej2-react/code-snippet/kanban/auto-cs7/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -38,7 +35,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/auto-cs8/app/index.jsx b/ej2-react/code-snippet/kanban/auto-cs8/app/index.jsx index f1c41461e..12eb15cdd 100644 --- a/ej2-react/code-snippet/kanban/auto-cs8/app/index.jsx +++ b/ej2-react/code-snippet/kanban/auto-cs8/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -29,5 +28,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/auto-cs8/app/index.tsx b/ej2-react/code-snippet/kanban/auto-cs8/app/index.tsx index 0ff00eed8..aa389dd54 100644 --- a/ej2-react/code-snippet/kanban/auto-cs8/app/index.tsx +++ b/ej2-react/code-snippet/kanban/auto-cs8/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -35,7 +32,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/auto-cs9/app/index.jsx b/ej2-react/code-snippet/kanban/auto-cs9/app/index.jsx index 8c0503d54..6cd946957 100644 --- a/ej2-react/code-snippet/kanban/auto-cs9/app/index.jsx +++ b/ej2-react/code-snippet/kanban/auto-cs9/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -51,5 +50,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/auto-cs9/app/index.tsx b/ej2-react/code-snippet/kanban/auto-cs9/app/index.tsx index 9b2621790..4d434b7a9 100644 --- a/ej2-react/code-snippet/kanban/auto-cs9/app/index.tsx +++ b/ej2-react/code-snippet/kanban/auto-cs9/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -52,7 +49,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/card-header-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/card-header-cs1/app/index.jsx index efca960a0..a6b926e77 100644 --- a/ej2-react/code-snippet/kanban/card-header-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/card-header-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/card-header-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/card-header-cs1/app/index.tsx index 427c38d54..3f2dd8312 100644 --- a/ej2-react/code-snippet/kanban/card-header-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/card-header-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/card-header-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/card-header-cs2/app/index.jsx index 83123ec06..e63c722dc 100644 --- a/ej2-react/code-snippet/kanban/card-header-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/card-header-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/card-header-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/card-header-cs2/app/index.tsx index 8c684bc81..7c27235ea 100644 --- a/ej2-react/code-snippet/kanban/card-header-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/card-header-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/card-template-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/card-template-cs1/app/index.jsx index 33030573c..5d9f060a4 100644 --- a/ej2-react/code-snippet/kanban/card-template-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/card-template-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -46,5 +45,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/card-template-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/card-template-cs1/app/index.tsx index 2e315bd81..342e665d8 100644 --- a/ej2-react/code-snippet/kanban/card-template-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/card-template-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -50,7 +47,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/card-template-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/card-template-cs2/app/index.jsx index d448e9eff..bbcee4bba 100644 --- a/ej2-react/code-snippet/kanban/card-template-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/card-template-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -40,5 +39,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/card-template-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/card-template-cs2/app/index.tsx index 8bf240e38..11df64f3f 100644 --- a/ej2-react/code-snippet/kanban/card-template-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/card-template-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -48,7 +45,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/column-drag-and-drop-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/column-drag-and-drop-cs1/app/index.jsx index 8828bc2f4..e2656acbf 100644 --- a/ej2-react/code-snippet/kanban/column-drag-and-drop-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/column-drag-and-drop-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/column-drag-and-drop-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/column-drag-and-drop-cs1/app/index.tsx index 698c04d3e..910ffe983 100644 --- a/ej2-react/code-snippet/kanban/column-drag-and-drop-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/column-drag-and-drop-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/column-drag-and-drop-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/column-drag-and-drop-cs2/app/index.jsx index 20683c767..65253ea33 100644 --- a/ej2-react/code-snippet/kanban/column-drag-and-drop-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/column-drag-and-drop-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/column-drag-and-drop-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/column-drag-and-drop-cs2/app/index.tsx index cbb972f55..0b59f6ebc 100644 --- a/ej2-react/code-snippet/kanban/column-drag-and-drop-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/column-drag-and-drop-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/column-validation-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/column-validation-cs1/app/index.jsx index f9a16b0f8..6cb8a7b40 100644 --- a/ej2-react/code-snippet/kanban/column-validation-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/column-validation-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/column-validation-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/column-validation-cs1/app/index.tsx index 39ef3c36c..bcc81ccde 100644 --- a/ej2-react/code-snippet/kanban/column-validation-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/column-validation-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/column-validation-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/column-validation-cs2/app/index.jsx index a40816799..e2735c324 100644 --- a/ej2-react/code-snippet/kanban/column-validation-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/column-validation-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -16,5 +15,4 @@ function App() { ); } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/column-validation-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/column-validation-cs2/app/index.tsx index 640b9e1bb..bd3e06a5b 100644 --- a/ej2-react/code-snippet/kanban/column-validation-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/column-validation-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/custom-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/custom-cs1/app/index.tsx index 3a9699e27..f066b93b4 100644 --- a/ej2-react/code-snippet/kanban/custom-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/custom-cs1/app/index.tsx @@ -1,5 +1,3 @@ - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { DataManager } from '@syncfusion/ej2-data'; @@ -25,7 +23,4 @@ class App extends React.Component<{}, {}>{ } }; -ReactDOM.render(, document.getElementById('kanban')); - - - +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/custom-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/custom-cs2/app/index.tsx index 98219f870..af432c3c1 100644 --- a/ej2-react/code-snippet/kanban/custom-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/custom-cs2/app/index.tsx @@ -1,5 +1,3 @@ - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { DataManager } from '@syncfusion/ej2-data'; @@ -25,7 +23,4 @@ function App(){ ); } -ReactDOM.render(, document.getElementById('kanban')); - - - +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/custom-dialog-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/custom-dialog-cs1/app/index.jsx index 4651b411a..b4d248af3 100644 --- a/ej2-react/code-snippet/kanban/custom-dialog-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/custom-dialog-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -27,5 +26,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/custom-dialog-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/custom-dialog-cs1/app/index.tsx index dbeb3dc80..e0538203d 100644 --- a/ej2-react/code-snippet/kanban/custom-dialog-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/custom-dialog-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -30,7 +27,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/custom-dialog-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/custom-dialog-cs2/app/index.jsx index d167f826f..dfd43d20d 100644 --- a/ej2-react/code-snippet/kanban/custom-dialog-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/custom-dialog-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/custom-dialog-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/custom-dialog-cs2/app/index.tsx index aa95e5013..532ab895c 100644 --- a/ej2-react/code-snippet/kanban/custom-dialog-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/custom-dialog-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -27,7 +24,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/custom-mapping-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/custom-mapping-cs1/app/index.jsx index 1bdeb5e42..3201bc782 100644 --- a/ej2-react/code-snippet/kanban/custom-mapping-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/custom-mapping-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/custom-mapping-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/custom-mapping-cs1/app/index.tsx index 5048adce0..75a30264e 100644 --- a/ej2-react/code-snippet/kanban/custom-mapping-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/custom-mapping-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/custom-mapping-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/custom-mapping-cs2/app/index.jsx index 9dde88d4d..ca2c1f187 100644 --- a/ej2-react/code-snippet/kanban/custom-mapping-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/custom-mapping-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/custom-mapping-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/custom-mapping-cs2/app/index.tsx index 8addfcc6f..626722d88 100644 --- a/ej2-react/code-snippet/kanban/custom-mapping-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/custom-mapping-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/data-source-order-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/data-source-order-cs1/app/index.jsx index ed732d606..7cb931241 100644 --- a/ej2-react/code-snippet/kanban/data-source-order-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/data-source-order-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/data-source-order-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/data-source-order-cs1/app/index.tsx index e3e36a456..8c3a0b4df 100644 --- a/ej2-react/code-snippet/kanban/data-source-order-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/data-source-order-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/data-source-order-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/data-source-order-cs2/app/index.jsx index 4c068ab63..9998c3418 100644 --- a/ej2-react/code-snippet/kanban/data-source-order-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/data-source-order-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/data-source-order-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/data-source-order-cs2/app/index.tsx index 36200c1d2..3e7a0a330 100644 --- a/ej2-react/code-snippet/kanban/data-source-order-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/data-source-order-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/dialog-template-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/dialog-template-cs1/app/index.jsx index 4cced8b73..eef675b26 100644 --- a/ej2-react/code-snippet/kanban/dialog-template-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/dialog-template-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -85,5 +84,4 @@ export class KanbanDialogFormTemplate extends React.Component {
    ); } -} -{% endraw %} \ No newline at end of file +} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/dialog-template-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/dialog-template-cs1/app/index.tsx index f27ee9f07..174deeb59 100644 --- a/ej2-react/code-snippet/kanban/dialog-template-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/dialog-template-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -104,7 +101,3 @@ export interface KanbanDataModel { RankId?: number; Color?: string; } - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/dialog-template-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/dialog-template-cs2/app/index.jsx index 1e6694b28..bc619d721 100644 --- a/ej2-react/code-snippet/kanban/dialog-template-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/dialog-template-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -76,5 +75,4 @@ function KanbanDialogFormTemplate(props) {
    ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/dialog-template-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/dialog-template-cs2/app/index.tsx index 2efd9aa2f..c2ef6bb42 100644 --- a/ej2-react/code-snippet/kanban/dialog-template-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/dialog-template-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -100,7 +97,3 @@ export interface KanbanDataModel { Color?: string; } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/drag-and-drop-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/drag-and-drop-cs1/app/index.jsx index ae82f89d5..72f3fa8cd 100644 --- a/ej2-react/code-snippet/kanban/drag-and-drop-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/drag-and-drop-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/drag-and-drop-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/drag-and-drop-cs1/app/index.tsx index af82e48e1..74156b4c2 100644 --- a/ej2-react/code-snippet/kanban/drag-and-drop-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/drag-and-drop-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/drag-and-drop-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/drag-and-drop-cs2/app/index.jsx index 5c62f2872..65c88aa27 100644 --- a/ej2-react/code-snippet/kanban/drag-and-drop-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/drag-and-drop-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/drag-and-drop-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/drag-and-drop-cs2/app/index.tsx index 899687f70..c4106ccb2 100644 --- a/ej2-react/code-snippet/kanban/drag-and-drop-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/drag-and-drop-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/error-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/error-cs1/app/index.jsx index a16e409a6..aeb801efe 100644 --- a/ej2-react/code-snippet/kanban/error-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/error-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { DataManager } from '@syncfusion/ej2-data'; @@ -29,5 +28,4 @@ class App extends React.Component { }; } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/error-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/error-cs1/app/index.tsx index e6381f08d..3fbc2b590 100644 --- a/ej2-react/code-snippet/kanban/error-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/error-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { DataManager } from '@syncfusion/ej2-data'; @@ -32,7 +29,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/error-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/error-cs2/app/index.jsx index 668119e63..180d2806c 100644 --- a/ej2-react/code-snippet/kanban/error-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/error-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { DataManager } from '@syncfusion/ej2-data'; @@ -28,5 +27,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/error-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/error-cs2/app/index.tsx index 2e34e0b18..15ea38b5f 100644 --- a/ej2-react/code-snippet/kanban/error-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/error-cs2/app/index.tsx @@ -1,5 +1,3 @@ -{% raw %} - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { DataManager } from '@syncfusion/ej2-data'; @@ -35,5 +33,3 @@ function App() { } ReactDOM.render(, document.getElementById('kanban')); - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/expanded-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/expanded-cs1/app/index.jsx index 30a1a6c0a..32f3a12a8 100644 --- a/ej2-react/code-snippet/kanban/expanded-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/expanded-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/expanded-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/expanded-cs1/app/index.tsx index 1f09d9a42..1de18e976 100644 --- a/ej2-react/code-snippet/kanban/expanded-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/expanded-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/expanded-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/expanded-cs2/app/index.jsx index fdd721c23..c70bbea2d 100644 --- a/ej2-react/code-snippet/kanban/expanded-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/expanded-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/expanded-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/expanded-cs2/app/index.tsx index 4b36abf82..fb7a3de2e 100644 --- a/ej2-react/code-snippet/kanban/expanded-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/expanded-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/fields-validation-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/fields-validation-cs1/app/index.jsx index f0d198827..e06045ce2 100644 --- a/ej2-react/code-snippet/kanban/fields-validation-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/fields-validation-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -27,5 +26,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/fields-validation-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/fields-validation-cs1/app/index.tsx index 22218d1a9..e2678b183 100644 --- a/ej2-react/code-snippet/kanban/fields-validation-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/fields-validation-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -30,7 +27,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/fields-validation-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/fields-validation-cs2/app/index.jsx index e4627d992..22a818b9f 100644 --- a/ej2-react/code-snippet/kanban/fields-validation-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/fields-validation-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/fields-validation-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/fields-validation-cs2/app/index.tsx index 85b157213..b78cea796 100644 --- a/ej2-react/code-snippet/kanban/fields-validation-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/fields-validation-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -27,7 +24,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/getting-started-empty-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/getting-started-empty-cs1/app/index.tsx index 1bab4d8fc..2de0918a0 100644 --- a/ej2-react/code-snippet/kanban/getting-started-empty-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/getting-started-empty-cs1/app/index.tsx @@ -1,5 +1,3 @@ - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { KanbanComponent, ColumnsDirective, ColumnDirective } from "@syncfusion/ej2-react-kanban"; @@ -18,7 +16,4 @@ function App() { } export default App; -ReactDOM.render(, document.getElementById('kanban')); - - - +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/getting-started-empty-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/getting-started-empty-cs2/app/index.tsx index db1039728..c0df27825 100644 --- a/ej2-react/code-snippet/kanban/getting-started-empty-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/getting-started-empty-cs2/app/index.tsx @@ -1,5 +1,3 @@ - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { KanbanComponent, ColumnsDirective, ColumnDirective } from "@syncfusion/ej2-react-kanban"; @@ -16,7 +14,4 @@ class App extends React.Component<{}, {}>{ } }; -ReactDOM.render(, document.getElementById('kanban')); - - - +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/getting-started-empty-cs3/app/index.tsx b/ej2-react/code-snippet/kanban/getting-started-empty-cs3/app/index.tsx index cb561c03f..50e49699f 100644 --- a/ej2-react/code-snippet/kanban/getting-started-empty-cs3/app/index.tsx +++ b/ej2-react/code-snippet/kanban/getting-started-empty-cs3/app/index.tsx @@ -1,5 +1,3 @@ - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { KanbanComponent, ColumnsDirective, ColumnDirective } from "@syncfusion/ej2-react-kanban"; @@ -16,7 +14,4 @@ function App(){ ); } -ReactDOM.render(, document.getElementById('kanban')); - - - +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/getting-started-key-field-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/getting-started-key-field-cs1/app/index.jsx index 28dacf99f..d4d0607db 100644 --- a/ej2-react/code-snippet/kanban/getting-started-key-field-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/getting-started-key-field-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/getting-started-key-field-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/getting-started-key-field-cs1/app/index.tsx index 5fc5818ec..a369415c8 100644 --- a/ej2-react/code-snippet/kanban/getting-started-key-field-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/getting-started-key-field-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/getting-started-key-field-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/getting-started-key-field-cs2/app/index.jsx index cc04a03fa..1752f9b46 100644 --- a/ej2-react/code-snippet/kanban/getting-started-key-field-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/getting-started-key-field-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/getting-started-key-field-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/getting-started-key-field-cs2/app/index.tsx index e50a1d547..97a3e9b24 100644 --- a/ej2-react/code-snippet/kanban/getting-started-key-field-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/getting-started-key-field-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/getting-started-key-field-cs3/app/index.jsx b/ej2-react/code-snippet/kanban/getting-started-key-field-cs3/app/index.jsx index 783a7cdad..c25a62a84 100644 --- a/ej2-react/code-snippet/kanban/getting-started-key-field-cs3/app/index.jsx +++ b/ej2-react/code-snippet/kanban/getting-started-key-field-cs3/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -16,5 +15,4 @@ function App() { ); } export default App; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/getting-started-key-field-cs3/app/index.tsx b/ej2-react/code-snippet/kanban/getting-started-key-field-cs3/app/index.tsx index c1bf4ed54..057bc4018 100644 --- a/ej2-react/code-snippet/kanban/getting-started-key-field-cs3/app/index.tsx +++ b/ej2-react/code-snippet/kanban/getting-started-key-field-cs3/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -25,7 +22,3 @@ function App() { export default App; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/getting-started-key-field-cs4/app/index.jsx b/ej2-react/code-snippet/kanban/getting-started-key-field-cs4/app/index.jsx index 28dacf99f..d4d0607db 100644 --- a/ej2-react/code-snippet/kanban/getting-started-key-field-cs4/app/index.jsx +++ b/ej2-react/code-snippet/kanban/getting-started-key-field-cs4/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/getting-started-key-field-cs4/app/index.tsx b/ej2-react/code-snippet/kanban/getting-started-key-field-cs4/app/index.tsx index b463a7eb8..2e4a7bae0 100644 --- a/ej2-react/code-snippet/kanban/getting-started-key-field-cs4/app/index.tsx +++ b/ej2-react/code-snippet/kanban/getting-started-key-field-cs4/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/getting-started-key-field-cs5/app/index.jsx b/ej2-react/code-snippet/kanban/getting-started-key-field-cs5/app/index.jsx index 4ac106f41..184333a2c 100644 --- a/ej2-react/code-snippet/kanban/getting-started-key-field-cs5/app/index.jsx +++ b/ej2-react/code-snippet/kanban/getting-started-key-field-cs5/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/getting-started-key-field-cs5/app/index.tsx b/ej2-react/code-snippet/kanban/getting-started-key-field-cs5/app/index.tsx index ba43af876..24743cb84 100644 --- a/ej2-react/code-snippet/kanban/getting-started-key-field-cs5/app/index.tsx +++ b/ej2-react/code-snippet/kanban/getting-started-key-field-cs5/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/getting-started-swimlane-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/getting-started-swimlane-cs1/app/index.jsx index 993c7ad21..e22b72d61 100644 --- a/ej2-react/code-snippet/kanban/getting-started-swimlane-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/getting-started-swimlane-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -16,5 +15,4 @@ function App() { ); } export default App; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/getting-started-swimlane-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/getting-started-swimlane-cs1/app/index.tsx index b17dd2975..acd27cbe0 100644 --- a/ej2-react/code-snippet/kanban/getting-started-swimlane-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/getting-started-swimlane-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -25,7 +22,3 @@ function App() { export default App; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/getting-started-swimlane-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/getting-started-swimlane-cs2/app/index.jsx index e406e0c0f..057a899be 100644 --- a/ej2-react/code-snippet/kanban/getting-started-swimlane-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/getting-started-swimlane-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/getting-started-swimlane-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/getting-started-swimlane-cs2/app/index.tsx index 5cec3bc9c..ebc1ea0b7 100644 --- a/ej2-react/code-snippet/kanban/getting-started-swimlane-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/getting-started-swimlane-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/getting-started-swimlane-cs3/app/index.jsx b/ej2-react/code-snippet/kanban/getting-started-swimlane-cs3/app/index.jsx index 67fa602eb..948f9cdcb 100644 --- a/ej2-react/code-snippet/kanban/getting-started-swimlane-cs3/app/index.jsx +++ b/ej2-react/code-snippet/kanban/getting-started-swimlane-cs3/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/getting-started-swimlane-cs3/app/index.tsx b/ej2-react/code-snippet/kanban/getting-started-swimlane-cs3/app/index.tsx index 0d391574a..613ddac48 100644 --- a/ej2-react/code-snippet/kanban/getting-started-swimlane-cs3/app/index.tsx +++ b/ej2-react/code-snippet/kanban/getting-started-swimlane-cs3/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/header-template-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/header-template-cs1/app/index.jsx index b8f7d0285..7b405c7de 100644 --- a/ej2-react/code-snippet/kanban/header-template-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/header-template-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -27,5 +26,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/header-template-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/header-template-cs1/app/index.tsx index cbb8ef09a..0aba796b5 100644 --- a/ej2-react/code-snippet/kanban/header-template-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/header-template-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -32,7 +29,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/header-template-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/header-template-cs2/app/index.jsx index d61cd46bf..1c1cb3afc 100644 --- a/ej2-react/code-snippet/kanban/header-template-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/header-template-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/header-template-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/header-template-cs2/app/index.tsx index 4797ba192..d31f707ca 100644 --- a/ej2-react/code-snippet/kanban/header-template-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/header-template-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -29,7 +26,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/index-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/index-cs1/app/index.jsx index 28dacf99f..d4d0607db 100644 --- a/ej2-react/code-snippet/kanban/index-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/index-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/index-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/index-cs1/app/index.tsx index b463a7eb8..2e4a7bae0 100644 --- a/ej2-react/code-snippet/kanban/index-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/index-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/index-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/index-cs2/app/index.jsx index 4ac106f41..184333a2c 100644 --- a/ej2-react/code-snippet/kanban/index-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/index-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/index-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/index-cs2/app/index.tsx index ba43af876..24743cb84 100644 --- a/ej2-react/code-snippet/kanban/index-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/index-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/index-field-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/index-field-cs1/app/index.jsx index 2561c3ac8..d385346db 100644 --- a/ej2-react/code-snippet/kanban/index-field-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/index-field-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/index-field-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/index-field-cs1/app/index.tsx index 13abaa17e..f56b3c41f 100644 --- a/ej2-react/code-snippet/kanban/index-field-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/index-field-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/index-field-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/index-field-cs2/app/index.jsx index 94b213c5e..41665b037 100644 --- a/ej2-react/code-snippet/kanban/index-field-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/index-field-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/index-field-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/index-field-cs2/app/index.tsx index c3bb0730c..fe6e3e130 100644 --- a/ej2-react/code-snippet/kanban/index-field-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/index-field-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/kanban-to-kanban-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/kanban-to-kanban-cs1/app/index.jsx index 21463a863..0d069d984 100644 --- a/ej2-react/code-snippet/kanban/kanban-to-kanban-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/kanban-to-kanban-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend, closest } from '@syncfusion/ej2-base'; @@ -70,5 +69,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/kanban-to-kanban-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/kanban-to-kanban-cs1/app/index.tsx index b2d86003c..c103726db 100644 --- a/ej2-react/code-snippet/kanban/kanban-to-kanban-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/kanban-to-kanban-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; @@ -78,7 +75,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/kanban-to-kanban-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/kanban-to-kanban-cs2/app/index.jsx index 814cbc455..9c9b4189c 100644 --- a/ej2-react/code-snippet/kanban/kanban-to-kanban-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/kanban-to-kanban-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend, closest } from '@syncfusion/ej2-base'; @@ -64,5 +63,4 @@ function App() {
    ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/kanban-to-kanban-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/kanban-to-kanban-cs2/app/index.tsx index 3304e793e..4f842cd68 100644 --- a/ej2-react/code-snippet/kanban/kanban-to-kanban-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/kanban-to-kanban-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; @@ -75,7 +72,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/kanban-to-schedule-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/kanban-to-schedule-cs1/app/index.jsx index 7e4f450f8..174489d25 100644 --- a/ej2-react/code-snippet/kanban/kanban-to-schedule-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/kanban-to-schedule-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend, closest, removeClass } from '@syncfusion/ej2-base'; @@ -95,5 +94,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/kanban-to-schedule-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/kanban-to-schedule-cs1/app/index.tsx index a3702e2d9..c162674a0 100644 --- a/ej2-react/code-snippet/kanban/kanban-to-schedule-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/kanban-to-schedule-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend, closest, removeClass } from '@syncfusion/ej2-base'; @@ -110,7 +107,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/kanban-to-schedule-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/kanban-to-schedule-cs2/app/index.jsx index 28815bdd2..402560185 100644 --- a/ej2-react/code-snippet/kanban/kanban-to-schedule-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/kanban-to-schedule-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend, closest, removeClass } from '@syncfusion/ej2-base'; @@ -89,5 +88,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/kanban-to-schedule-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/kanban-to-schedule-cs2/app/index.tsx index 874994a2c..a7d034a7c 100644 --- a/ej2-react/code-snippet/kanban/kanban-to-schedule-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/kanban-to-schedule-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend, closest, removeClass } from '@syncfusion/ej2-base'; @@ -106,7 +103,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/kanban-to-treeview-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/kanban-to-treeview-cs1/app/index.jsx index 83544feb6..079c5e2fe 100644 --- a/ej2-react/code-snippet/kanban/kanban-to-treeview-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/kanban-to-treeview-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend, closest } from '@syncfusion/ej2-base'; @@ -61,5 +60,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/kanban-to-treeview-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/kanban-to-treeview-cs1/app/index.tsx index c1de07512..85c3868ab 100644 --- a/ej2-react/code-snippet/kanban/kanban-to-treeview-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/kanban-to-treeview-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend, closest } from '@syncfusion/ej2-base'; @@ -66,7 +63,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/kanban-to-treeview-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/kanban-to-treeview-cs2/app/index.jsx index a3d18e357..553d97d65 100644 --- a/ej2-react/code-snippet/kanban/kanban-to-treeview-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/kanban-to-treeview-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend, closest } from '@syncfusion/ej2-base'; @@ -54,5 +53,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/kanban-to-treeview-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/kanban-to-treeview-cs2/app/index.tsx index b10a45315..258377c1c 100644 --- a/ej2-react/code-snippet/kanban/kanban-to-treeview-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/kanban-to-treeview-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend, closest } from '@syncfusion/ej2-base'; @@ -63,7 +60,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/label-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/label-cs1/app/index.jsx index 547ca49bd..fcab47a57 100644 --- a/ej2-react/code-snippet/kanban/label-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/label-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -27,5 +26,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/label-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/label-cs1/app/index.tsx index fc365a429..6b21d0507 100644 --- a/ej2-react/code-snippet/kanban/label-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/label-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -30,7 +27,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/label-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/label-cs2/app/index.jsx index 70fa15b37..7f71500d0 100644 --- a/ej2-react/code-snippet/kanban/label-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/label-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/label-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/label-cs2/app/index.tsx index 7f4065163..55bba8869 100644 --- a/ej2-react/code-snippet/kanban/label-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/label-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -27,7 +24,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/local-data-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/local-data-cs1/app/index.jsx index 28dacf99f..d4d0607db 100644 --- a/ej2-react/code-snippet/kanban/local-data-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/local-data-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/local-data-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/local-data-cs1/app/index.tsx index b463a7eb8..2e4a7bae0 100644 --- a/ej2-react/code-snippet/kanban/local-data-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/local-data-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/local-data-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/local-data-cs2/app/index.jsx index 4ac106f41..184333a2c 100644 --- a/ej2-react/code-snippet/kanban/local-data-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/local-data-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/local-data-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/local-data-cs2/app/index.tsx index ba43af876..24743cb84 100644 --- a/ej2-react/code-snippet/kanban/local-data-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/local-data-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/locale-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/locale-cs1/app/index.jsx index cf7b21e03..d26e26228 100644 --- a/ej2-react/code-snippet/kanban/locale-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/locale-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend, L10n } from '@syncfusion/ej2-base'; @@ -42,5 +41,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/locale-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/locale-cs1/app/index.tsx index 3bd03e0b3..ccfc551a7 100644 --- a/ej2-react/code-snippet/kanban/locale-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/locale-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend, L10n } from '@syncfusion/ej2-base'; @@ -46,7 +43,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/locale-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/locale-cs2/app/index.jsx index 5a3bd29fe..c7efb06be 100644 --- a/ej2-react/code-snippet/kanban/locale-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/locale-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend, L10n } from '@syncfusion/ej2-base'; @@ -36,5 +35,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/locale-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/locale-cs2/app/index.tsx index d07d22118..b53e264d6 100644 --- a/ej2-react/code-snippet/kanban/locale-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/locale-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend, L10n } from '@syncfusion/ej2-base'; @@ -43,7 +40,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/multiple-keys-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/multiple-keys-cs1/app/index.jsx index c27041d45..3dc61c0a4 100644 --- a/ej2-react/code-snippet/kanban/multiple-keys-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/multiple-keys-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/multiple-keys-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/multiple-keys-cs1/app/index.tsx index 0ef105433..006f268c5 100644 --- a/ej2-react/code-snippet/kanban/multiple-keys-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/multiple-keys-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/multiple-keys-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/multiple-keys-cs2/app/index.jsx index bc045a150..21b2952d6 100644 --- a/ej2-react/code-snippet/kanban/multiple-keys-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/multiple-keys-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/multiple-keys-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/multiple-keys-cs2/app/index.tsx index 6a900937c..e527dde40 100644 --- a/ej2-react/code-snippet/kanban/multiple-keys-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/multiple-keys-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/multiple-selection-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/multiple-selection-cs1/app/index.jsx index f9a8dfc30..305c26d59 100644 --- a/ej2-react/code-snippet/kanban/multiple-selection-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/multiple-selection-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/multiple-selection-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/multiple-selection-cs1/app/index.tsx index cf6867373..f8dbd4993 100644 --- a/ej2-react/code-snippet/kanban/multiple-selection-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/multiple-selection-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/multiple-selection-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/multiple-selection-cs2/app/index.jsx index 46a428979..c365c010e 100644 --- a/ej2-react/code-snippet/kanban/multiple-selection-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/multiple-selection-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/multiple-selection-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/multiple-selection-cs2/app/index.tsx index 1cbd42a23..bf8caa39e 100644 --- a/ej2-react/code-snippet/kanban/multiple-selection-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/multiple-selection-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/odata-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/odata-cs1/app/index.jsx index 3a3ddcf3a..a061cffbc 100644 --- a/ej2-react/code-snippet/kanban/odata-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/odata-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { DataManager, ODataAdaptor } from '@syncfusion/ej2-data'; @@ -24,5 +23,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/odata-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/odata-cs1/app/index.tsx index a0691ceb7..99159fdef 100644 --- a/ej2-react/code-snippet/kanban/odata-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/odata-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { DataManager, ODataAdaptor } from '@syncfusion/ej2-data'; @@ -27,7 +24,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/odata-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/odata-cs2/app/index.jsx index 3ee2690c3..060a59529 100644 --- a/ej2-react/code-snippet/kanban/odata-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/odata-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { DataManager, ODataAdaptor } from '@syncfusion/ej2-data'; @@ -21,5 +20,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/odata-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/odata-cs2/app/index.tsx index 92a93cba9..325c1fdce 100644 --- a/ej2-react/code-snippet/kanban/odata-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/odata-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { DataManager, ODataAdaptor } from '@syncfusion/ej2-data'; @@ -27,7 +24,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/odataV4-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/odataV4-cs1/app/index.jsx index dd0accb43..5e0f225c5 100644 --- a/ej2-react/code-snippet/kanban/odataV4-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/odataV4-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { DataManager, ODataV4Adaptor } from '@syncfusion/ej2-data'; @@ -22,5 +21,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/odataV4-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/odataV4-cs1/app/index.tsx index bf274ae4f..ce76745c5 100644 --- a/ej2-react/code-snippet/kanban/odataV4-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/odataV4-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { DataManager, ODataV4Adaptor } from '@syncfusion/ej2-data'; @@ -25,7 +22,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/odataV4-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/odataV4-cs2/app/index.jsx index d6f36ecf4..3eada21c9 100644 --- a/ej2-react/code-snippet/kanban/odataV4-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/odataV4-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { DataManager, ODataV4Adaptor } from '@syncfusion/ej2-data'; @@ -19,5 +18,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/odataV4-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/odataV4-cs2/app/index.tsx index d1dd41238..6afa748a9 100644 --- a/ej2-react/code-snippet/kanban/odataV4-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/odataV4-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { DataManager, ODataV4Adaptor } from '@syncfusion/ej2-data'; @@ -25,7 +22,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/percentage-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/percentage-cs1/app/index.jsx index cf7afb03a..0fc4a70cd 100644 --- a/ej2-react/code-snippet/kanban/percentage-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/percentage-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/percentage-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/percentage-cs1/app/index.tsx index 0617b0c75..5fa161bb4 100644 --- a/ej2-react/code-snippet/kanban/percentage-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/percentage-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/percentage-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/percentage-cs2/app/index.jsx index e88e3eafd..286d8ffe6 100644 --- a/ej2-react/code-snippet/kanban/percentage-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/percentage-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/percentage-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/percentage-cs2/app/index.tsx index 448fca7eb..f10944ad2 100644 --- a/ej2-react/code-snippet/kanban/percentage-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/percentage-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/persistence-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/persistence-cs1/app/index.jsx index e92c998b3..a97481cdf 100644 --- a/ej2-react/code-snippet/kanban/persistence-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/persistence-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/persistence-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/persistence-cs1/app/index.tsx index 5eb938826..949832c5a 100644 --- a/ej2-react/code-snippet/kanban/persistence-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/persistence-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/persistence-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/persistence-cs2/app/index.jsx index 83bc558de..876611cfe 100644 --- a/ej2-react/code-snippet/kanban/persistence-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/persistence-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/persistence-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/persistence-cs2/app/index.tsx index 38b908875..659e42e13 100644 --- a/ej2-react/code-snippet/kanban/persistence-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/persistence-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/pixel-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/pixel-cs1/app/index.jsx index 8c38270ca..48d956cad 100644 --- a/ej2-react/code-snippet/kanban/pixel-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/pixel-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/pixel-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/pixel-cs1/app/index.tsx index bc9b6e429..0e46174ce 100644 --- a/ej2-react/code-snippet/kanban/pixel-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/pixel-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/pixel-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/pixel-cs2/app/index.jsx index c405e8421..8a00b87c5 100644 --- a/ej2-react/code-snippet/kanban/pixel-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/pixel-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/pixel-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/pixel-cs2/app/index.tsx index 84a9698ca..feb482615 100644 --- a/ej2-react/code-snippet/kanban/pixel-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/pixel-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/prevent-dialog-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/prevent-dialog-cs1/app/index.jsx index 65858f678..70f4f8ee4 100644 --- a/ej2-react/code-snippet/kanban/prevent-dialog-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/prevent-dialog-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,5 +23,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/prevent-dialog-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/prevent-dialog-cs1/app/index.tsx index 5b483ca9d..87527c408 100644 --- a/ej2-react/code-snippet/kanban/prevent-dialog-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/prevent-dialog-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -27,7 +24,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/prevent-dialog-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/prevent-dialog-cs2/app/index.jsx index f9d0d6fb2..09180c923 100644 --- a/ej2-react/code-snippet/kanban/prevent-dialog-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/prevent-dialog-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -18,5 +17,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/prevent-dialog-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/prevent-dialog-cs2/app/index.tsx index 9e5df0d17..f60e0cbd1 100644 --- a/ej2-react/code-snippet/kanban/prevent-dialog-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/prevent-dialog-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/priority-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/priority-cs1/app/index.jsx index 7e2a21b4a..c42f41672 100644 --- a/ej2-react/code-snippet/kanban/priority-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/priority-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/priority-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/priority-cs1/app/index.tsx index ae66045a8..2bc9bf853 100644 --- a/ej2-react/code-snippet/kanban/priority-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/priority-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/priority-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/priority-cs2/app/index.jsx index 201d01f28..5c640fb80 100644 --- a/ej2-react/code-snippet/kanban/priority-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/priority-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/priority-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/priority-cs2/app/index.tsx index b0ee0a014..5093f23d9 100644 --- a/ej2-react/code-snippet/kanban/priority-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/priority-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/remote-data-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/remote-data-cs1/app/index.jsx index 08b95dc5a..0b15257b1 100644 --- a/ej2-react/code-snippet/kanban/remote-data-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/remote-data-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { DataManager, ODataAdaptor } from '@syncfusion/ej2-data'; @@ -23,5 +22,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/remote-data-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/remote-data-cs1/app/index.tsx index 62e18f0ae..8fb084023 100644 --- a/ej2-react/code-snippet/kanban/remote-data-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/remote-data-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { DataManager, ODataAdaptor } from '@syncfusion/ej2-data'; @@ -26,7 +23,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/remote-data-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/remote-data-cs2/app/index.jsx index 4da70b0ae..2662ac34d 100644 --- a/ej2-react/code-snippet/kanban/remote-data-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/remote-data-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { DataManager, ODataAdaptor } from '@syncfusion/ej2-data'; @@ -20,5 +19,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/remote-data-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/remote-data-cs2/app/index.tsx index 664888a02..dfcae4ab8 100644 --- a/ej2-react/code-snippet/kanban/remote-data-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/remote-data-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { DataManager, ODataAdaptor } from '@syncfusion/ej2-data'; @@ -26,7 +23,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/rtl-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/rtl-cs1/app/index.jsx index d1821887f..9cae0dea5 100644 --- a/ej2-react/code-snippet/kanban/rtl-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/rtl-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend, L10n } from '@syncfusion/ej2-base'; @@ -42,5 +41,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/rtl-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/rtl-cs1/app/index.tsx index cad3f686e..71efc2588 100644 --- a/ej2-react/code-snippet/kanban/rtl-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/rtl-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend, L10n } from '@syncfusion/ej2-base'; @@ -46,7 +43,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/rtl-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/rtl-cs2/app/index.jsx index 8cfa3f80c..fede488ed 100644 --- a/ej2-react/code-snippet/kanban/rtl-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/rtl-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend, L10n } from '@syncfusion/ej2-base'; @@ -36,5 +35,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/rtl-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/rtl-cs2/app/index.tsx index 5a9125cbb..ec55ef303 100644 --- a/ej2-react/code-snippet/kanban/rtl-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/rtl-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend, L10n } from '@syncfusion/ej2-base'; @@ -43,7 +40,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/single-key-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/single-key-cs1/app/index.jsx index 28dacf99f..d4d0607db 100644 --- a/ej2-react/code-snippet/kanban/single-key-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/single-key-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/single-key-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/single-key-cs1/app/index.tsx index b463a7eb8..2e4a7bae0 100644 --- a/ej2-react/code-snippet/kanban/single-key-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/single-key-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/single-key-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/single-key-cs2/app/index.jsx index 4ac106f41..184333a2c 100644 --- a/ej2-react/code-snippet/kanban/single-key-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/single-key-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/single-key-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/single-key-cs2/app/index.tsx index ba43af876..24743cb84 100644 --- a/ej2-react/code-snippet/kanban/single-key-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/single-key-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/sort-direction-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/sort-direction-cs1/app/index.jsx index e2eae386e..45f48848a 100644 --- a/ej2-react/code-snippet/kanban/sort-direction-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/sort-direction-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/sort-direction-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/sort-direction-cs1/app/index.tsx index ad9032e0c..50f7b793d 100644 --- a/ej2-react/code-snippet/kanban/sort-direction-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/sort-direction-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/sort-direction-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/sort-direction-cs2/app/index.jsx index 61682617b..f6fdc5176 100644 --- a/ej2-react/code-snippet/kanban/sort-direction-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/sort-direction-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/sort-direction-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/sort-direction-cs2/app/index.tsx index fc8790acc..73f4dba66 100644 --- a/ej2-react/code-snippet/kanban/sort-direction-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/sort-direction-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/stacked-headers-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/stacked-headers-cs1/app/index.jsx index 68cafdf78..7d26d64d6 100644 --- a/ej2-react/code-snippet/kanban/stacked-headers-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/stacked-headers-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -26,5 +25,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/stacked-headers-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/stacked-headers-cs1/app/index.tsx index 830128aeb..bef6e8826 100644 --- a/ej2-react/code-snippet/kanban/stacked-headers-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/stacked-headers-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -29,7 +26,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/stacked-headers-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/stacked-headers-cs2/app/index.jsx index 21fc72789..2491689d7 100644 --- a/ej2-react/code-snippet/kanban/stacked-headers-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/stacked-headers-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -20,5 +19,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/stacked-headers-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/stacked-headers-cs2/app/index.tsx index 1564d62fb..6ada858d2 100644 --- a/ej2-react/code-snippet/kanban/stacked-headers-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/stacked-headers-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -26,7 +23,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-drag-and-drop-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/swimlane-drag-and-drop-cs1/app/index.jsx index c362a4a85..3362864cf 100644 --- a/ej2-react/code-snippet/kanban/swimlane-drag-and-drop-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/swimlane-drag-and-drop-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-drag-and-drop-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/swimlane-drag-and-drop-cs1/app/index.tsx index 7113dfc5c..3b08e31ff 100644 --- a/ej2-react/code-snippet/kanban/swimlane-drag-and-drop-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/swimlane-drag-and-drop-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-drag-and-drop-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/swimlane-drag-and-drop-cs2/app/index.jsx index 8aa681c34..0486bb62a 100644 --- a/ej2-react/code-snippet/kanban/swimlane-drag-and-drop-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/swimlane-drag-and-drop-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-drag-and-drop-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/swimlane-drag-and-drop-cs2/app/index.tsx index 0ea21a33c..415e0aea1 100644 --- a/ej2-react/code-snippet/kanban/swimlane-drag-and-drop-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/swimlane-drag-and-drop-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-drag-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/swimlane-drag-cs1/app/index.jsx index c362a4a85..3362864cf 100644 --- a/ej2-react/code-snippet/kanban/swimlane-drag-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/swimlane-drag-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-drag-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/swimlane-drag-cs1/app/index.tsx index 7113dfc5c..3b08e31ff 100644 --- a/ej2-react/code-snippet/kanban/swimlane-drag-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/swimlane-drag-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-drag-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/swimlane-drag-cs2/app/index.jsx index 83d9f4dc1..dec7de609 100644 --- a/ej2-react/code-snippet/kanban/swimlane-drag-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/swimlane-drag-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -16,5 +15,4 @@ function App() { ); } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-drag-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/swimlane-drag-cs2/app/index.tsx index 21dba7f78..bb3c71eb9 100644 --- a/ej2-react/code-snippet/kanban/swimlane-drag-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/swimlane-drag-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ) }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-empty-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/swimlane-empty-cs1/app/index.jsx index f1bc50f7a..c9ccfca66 100644 --- a/ej2-react/code-snippet/kanban/swimlane-empty-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/swimlane-empty-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-empty-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/swimlane-empty-cs1/app/index.tsx index 0ba2c52b7..1d6297c64 100644 --- a/ej2-react/code-snippet/kanban/swimlane-empty-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/swimlane-empty-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-empty-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/swimlane-empty-cs2/app/index.jsx index 659875d5a..192d1e986 100644 --- a/ej2-react/code-snippet/kanban/swimlane-empty-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/swimlane-empty-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-empty-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/swimlane-empty-cs2/app/index.tsx index 23db748d6..470ea710b 100644 --- a/ej2-react/code-snippet/kanban/swimlane-empty-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/swimlane-empty-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-enable-frozen-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/swimlane-enable-frozen-cs1/app/index.jsx index e3604f139..45b285928 100644 --- a/ej2-react/code-snippet/kanban/swimlane-enable-frozen-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/swimlane-enable-frozen-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-enable-frozen-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/swimlane-enable-frozen-cs1/app/index.tsx index 2d1e3bdfc..16646ed8d 100644 --- a/ej2-react/code-snippet/kanban/swimlane-enable-frozen-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/swimlane-enable-frozen-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-enable-frozen-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/swimlane-enable-frozen-cs2/app/index.jsx index b6c6b1b44..2e4ce1dfa 100644 --- a/ej2-react/code-snippet/kanban/swimlane-enable-frozen-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/swimlane-enable-frozen-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-enable-frozen-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/swimlane-enable-frozen-cs2/app/index.tsx index 5b397f3cc..ba3e72509 100644 --- a/ej2-react/code-snippet/kanban/swimlane-enable-frozen-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/swimlane-enable-frozen-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-key-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/swimlane-key-cs1/app/index.jsx index e406e0c0f..057a899be 100644 --- a/ej2-react/code-snippet/kanban/swimlane-key-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/swimlane-key-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-key-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/swimlane-key-cs1/app/index.tsx index 5cec3bc9c..ebc1ea0b7 100644 --- a/ej2-react/code-snippet/kanban/swimlane-key-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/swimlane-key-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-key-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/swimlane-key-cs2/app/index.jsx index a8f50c28b..1550f3c89 100644 --- a/ej2-react/code-snippet/kanban/swimlane-key-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/swimlane-key-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-key-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/swimlane-key-cs2/app/index.tsx index 6a3fb74c9..a461c7565 100644 --- a/ej2-react/code-snippet/kanban/swimlane-key-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/swimlane-key-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-sort-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/swimlane-sort-cs1/app/index.jsx index f9208218c..736f94972 100644 --- a/ej2-react/code-snippet/kanban/swimlane-sort-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/swimlane-sort-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-sort-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/swimlane-sort-cs1/app/index.tsx index a833e7904..5f1043e7a 100644 --- a/ej2-react/code-snippet/kanban/swimlane-sort-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/swimlane-sort-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-sort-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/swimlane-sort-cs2/app/index.jsx index 10d9e6899..be3df0a36 100644 --- a/ej2-react/code-snippet/kanban/swimlane-sort-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/swimlane-sort-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-sort-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/swimlane-sort-cs2/app/index.tsx index 11ed4195b..70ccba6e1 100644 --- a/ej2-react/code-snippet/kanban/swimlane-sort-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/swimlane-sort-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-template-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/swimlane-template-cs1/app/index.jsx index 1a670a373..9409bfc4c 100644 --- a/ej2-react/code-snippet/kanban/swimlane-template-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/swimlane-template-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -29,5 +28,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-template-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/swimlane-template-cs1/app/index.tsx index aa17cc513..5d624d9c1 100644 --- a/ej2-react/code-snippet/kanban/swimlane-template-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/swimlane-template-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -34,7 +31,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-template-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/swimlane-template-cs2/app/index.jsx index a66906246..f637e8184 100644 --- a/ej2-react/code-snippet/kanban/swimlane-template-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/swimlane-template-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -23,5 +22,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-template-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/swimlane-template-cs2/app/index.tsx index 6026e3c6f..0f97c82b2 100644 --- a/ej2-react/code-snippet/kanban/swimlane-template-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/swimlane-template-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -31,7 +28,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-text-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/swimlane-text-cs1/app/index.jsx index b936a7dd8..f13adf4fe 100644 --- a/ej2-react/code-snippet/kanban/swimlane-text-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/swimlane-text-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-text-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/swimlane-text-cs1/app/index.tsx index 5833faffa..f16245e26 100644 --- a/ej2-react/code-snippet/kanban/swimlane-text-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/swimlane-text-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-text-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/swimlane-text-cs2/app/index.jsx index 4d812618a..f9c508270 100644 --- a/ej2-react/code-snippet/kanban/swimlane-text-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/swimlane-text-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-text-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/swimlane-text-cs2/app/index.tsx index 37f3d7f5a..69191d5db 100644 --- a/ej2-react/code-snippet/kanban/swimlane-text-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/swimlane-text-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-total-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/swimlane-total-cs1/app/index.jsx index 1168e35ae..1a5f955cf 100644 --- a/ej2-react/code-snippet/kanban/swimlane-total-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/swimlane-total-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-total-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/swimlane-total-cs1/app/index.tsx index ff1b82963..a4d575249 100644 --- a/ej2-react/code-snippet/kanban/swimlane-total-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/swimlane-total-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-total-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/swimlane-total-cs2/app/index.jsx index 999bd2987..67fd2c04b 100644 --- a/ej2-react/code-snippet/kanban/swimlane-total-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/swimlane-total-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/swimlane-total-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/swimlane-total-cs2/app/index.tsx index 714ff96f3..c2a527f9d 100644 --- a/ej2-react/code-snippet/kanban/swimlane-total-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/swimlane-total-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/toggle-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/toggle-cs1/app/index.jsx index a368fba45..2bf25c96d 100644 --- a/ej2-react/code-snippet/kanban/toggle-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/toggle-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,5 +20,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/toggle-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/toggle-cs1/app/index.tsx index efd8eacfb..6bacb9148 100644 --- a/ej2-react/code-snippet/kanban/toggle-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/toggle-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -24,7 +21,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/toggle-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/toggle-cs2/app/index.jsx index 333ce244f..bf7f383b8 100644 --- a/ej2-react/code-snippet/kanban/toggle-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/toggle-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -15,5 +14,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/toggle-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/toggle-cs2/app/index.tsx index 75391bdba..00d2fa3ef 100644 --- a/ej2-react/code-snippet/kanban/toggle-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/toggle-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -21,7 +18,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/tooltip-template-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/tooltip-template-cs1/app/index.jsx index 394430727..4ed29e452 100644 --- a/ej2-react/code-snippet/kanban/tooltip-template-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/tooltip-template-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -40,5 +39,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/tooltip-template-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/tooltip-template-cs1/app/index.tsx index 731944c58..426d3ada6 100644 --- a/ej2-react/code-snippet/kanban/tooltip-template-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/tooltip-template-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -43,7 +40,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/tooltip-template-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/tooltip-template-cs2/app/index.jsx index a5c123c4f..d97c2451b 100644 --- a/ej2-react/code-snippet/kanban/tooltip-template-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/tooltip-template-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -34,5 +33,4 @@ function App() { ); } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/tooltip-template-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/tooltip-template-cs2/app/index.tsx index 8e12713f7..4f26670bb 100644 --- a/ej2-react/code-snippet/kanban/tooltip-template-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/tooltip-template-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { extend } from '@syncfusion/ej2-base'; @@ -41,7 +38,3 @@ function App(){ ); } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/virtual-scrolling-cs1/app/index.jsx b/ej2-react/code-snippet/kanban/virtual-scrolling-cs1/app/index.jsx index 37b3cd2df..b4deffb3d 100644 --- a/ej2-react/code-snippet/kanban/virtual-scrolling-cs1/app/index.jsx +++ b/ej2-react/code-snippet/kanban/virtual-scrolling-cs1/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { KanbanComponent, ColumnsDirective, ColumnDirective } from "@syncfusion/ej2-react-kanban"; @@ -92,5 +91,4 @@ class App extends React.Component { } } ; -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/virtual-scrolling-cs1/app/index.tsx b/ej2-react/code-snippet/kanban/virtual-scrolling-cs1/app/index.tsx index 92a9e4542..5878b68a7 100644 --- a/ej2-react/code-snippet/kanban/virtual-scrolling-cs1/app/index.tsx +++ b/ej2-react/code-snippet/kanban/virtual-scrolling-cs1/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { KanbanComponent, ColumnsDirective, ColumnDirective } from "@syncfusion/ej2-react-kanban"; @@ -96,7 +93,3 @@ class App extends React.Component<{}, {}>{ } }; ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/virtual-scrolling-cs2/app/index.jsx b/ej2-react/code-snippet/kanban/virtual-scrolling-cs2/app/index.jsx index 0c6d06558..d95c75cd9 100644 --- a/ej2-react/code-snippet/kanban/virtual-scrolling-cs2/app/index.jsx +++ b/ej2-react/code-snippet/kanban/virtual-scrolling-cs2/app/index.jsx @@ -1,4 +1,3 @@ -{% raw %} import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { KanbanComponent, ColumnsDirective, ColumnDirective } from "@syncfusion/ej2-react-kanban"; @@ -87,5 +86,4 @@ function App() { return kanbanData; } } -ReactDOM.render(, document.getElementById('kanban')); -{% endraw %} \ No newline at end of file +ReactDOM.render(, document.getElementById('kanban')); \ No newline at end of file diff --git a/ej2-react/code-snippet/kanban/virtual-scrolling-cs2/app/index.tsx b/ej2-react/code-snippet/kanban/virtual-scrolling-cs2/app/index.tsx index db93145fd..e7b65db06 100644 --- a/ej2-react/code-snippet/kanban/virtual-scrolling-cs2/app/index.tsx +++ b/ej2-react/code-snippet/kanban/virtual-scrolling-cs2/app/index.tsx @@ -1,6 +1,3 @@ -{% raw %} - - import * as React from 'react'; import * as ReactDOM from 'react-dom'; import { KanbanComponent, ColumnsDirective, ColumnDirective } from "@syncfusion/ej2-react-kanban"; @@ -94,7 +91,3 @@ function App() { } } ReactDOM.render(, document.getElementById('kanban')); - - - -{% endraw %} \ No newline at end of file From f45baec61e0317ebb2694b5f6c78f8a05fc2b172 Mon Sep 17 00:00:00 2001 From: Build Automaion Date: Fri, 24 Oct 2025 20:43:24 +0530 Subject: [PATCH 05/19] Integrated latest changes at 10-24-2025 7:30:30 PM --- ej2-react-toc.html | 2 +- .../ai-integrations/gemini-integration.md | 7 +- .../ai-integrations/ollama-llm-integration.md | 44 +- .../ai-integrations/openai-integration.md | 1 - ej2-react/ai-coding-assistants/mcp-server.md | 47 +- ej2-react/ai-coding-assistants/overview.md | 5 +- .../ai-coding-assistants/prompt-library.md | 410 ++++++++++++++++++ .../chart/series/column-cs20/app/index.tsx | 6 +- 8 files changed, 466 insertions(+), 56 deletions(-) create mode 100644 ej2-react/ai-coding-assistants/prompt-library.md diff --git a/ej2-react-toc.html b/ej2-react-toc.html index 39ea9fe2d..75905f270 100644 --- a/ej2-react-toc.html +++ b/ej2-react-toc.html @@ -24,7 +24,7 @@
  • diff --git a/ej2-react/ai-assistview/ai-integrations/gemini-integration.md b/ej2-react/ai-assistview/ai-integrations/gemini-integration.md index 0fe2fe57a..f3a2f525f 100644 --- a/ej2-react/ai-assistview/ai-integrations/gemini-integration.md +++ b/ej2-react/ai-assistview/ai-integrations/gemini-integration.md @@ -8,7 +8,6 @@ documentation: ug domainurl: ##DomainURL## --- - # Integrate Gemini AI with React AI AssistView component The AI AssistView component integrates with Google’s [Gemini](https://ai.google.dev/gemini-api/docs) API to deliver intelligent conversational interfaces. It leverages advanced natural language understanding to interpret user input, maintain context throughout interactions, and provide accurate, relevant responses. By configuring secure authentication and data handling, developers can unlock powerful AI-driven communication features that elevate user engagement and streamline support experiences. @@ -33,7 +32,7 @@ Follow the Syncfusion AI AssistView [Getting Started](../getting-started) guide Install the required packages: -1. Google Generative AI SDK: +* Google Generative AI SDK: ```bash @@ -41,7 +40,7 @@ npm install @google/generative-ai ``` -2. Marked Library: +* Marked Library: ```bash @@ -63,7 +62,7 @@ npm install marked --save ## Configure Gemini AI with AI AssistView -To integrate Gemini AI with the Syncfusion AI AssistView component in your Angular application: +To integrate Gemini AI with the Syncfusion AI AssistView component in your application: * Modify the `src/App.js` file to host the integration logic. diff --git a/ej2-react/ai-assistview/ai-integrations/ollama-llm-integration.md b/ej2-react/ai-assistview/ai-integrations/ollama-llm-integration.md index 0a4bec792..ce5652115 100644 --- a/ej2-react/ai-assistview/ai-integrations/ollama-llm-integration.md +++ b/ej2-react/ai-assistview/ai-integrations/ollama-llm-integration.md @@ -36,39 +36,39 @@ To install the marked library, run `npm install marked --save` in your project d Install Ollama for your operating system: - {% tabs %} - {% highlight ts tabtitle="Windows" %} +{% tabs %} +{% highlight ts tabtitle="Windows" %} - 1. Visit [Windows](https://ollama.com/download) - 2. Click `Download for Windows` to get the `.exe installer`. - 3. Run `OllamaSetup.exe` and follow the wizard to install. +1. Visit [Windows](https://ollama.com/download) +2. Click `Download for Windows` to get the `.exe installer`. +3. Run `OllamaSetup.exe` and follow the wizard to install. - {% endhighlight %} +{% endhighlight %} - {% highlight ts tabtitle="macOS" %} +{% highlight ts tabtitle="macOS" %} - 1. Visit [macOS](https://ollama.com/download/mac) - 2. Click `Download for macOS` to get `.dmg file` - 3. Install it by following the wizard. +1. Visit [macOS](https://ollama.com/download/mac) +2. Click `Download for macOS` to get `.dmg file` +3. Install it by following the wizard. - {% endhighlight %} +{% endhighlight %} - {% highlight ts tabtitle="Linux" %} +{% highlight ts tabtitle="Linux" %} - 1. Visit [Linux](https://ollama.com/download/linux) - 2. Run the below command to install Ollama in your system +1. Visit [Linux](https://ollama.com/download/linux) +2. Run the below command to install Ollama in your system - ```bash - - curl -fsSL https://ollama.com/install.sh | sh +```bash + +curl -fsSL https://ollama.com/install.sh | sh - ``` - {% endhighlight %} - {% endtabs %} +``` +{% endhighlight %} +{% endtabs %} ## Download and run an Ollama model -1. Download and run a model using the following command. Replace `deepseek-r1` with your preferred model (e.g., `llama3`, `phi4`). See the [Ollama model](https://ollama.com/search) library for available models. +* Download and run a model using the following command. Replace `deepseek-r1` with your preferred model (e.g., `llama3`, `phi4`). See the [Ollama model](https://ollama.com/search) library for available models. ```bash @@ -76,7 +76,7 @@ ollama run deepseek-r1 ``` -2. After the model download completes, start the Ollama server to make the model accessible: +* After the model download completes, start the Ollama server to make the model accessible: ```bash diff --git a/ej2-react/ai-assistview/ai-integrations/openai-integration.md b/ej2-react/ai-assistview/ai-integrations/openai-integration.md index 7790032c0..b2e4c0f1e 100644 --- a/ej2-react/ai-assistview/ai-integrations/openai-integration.md +++ b/ej2-react/ai-assistview/ai-integrations/openai-integration.md @@ -8,7 +8,6 @@ documentation: ug domainurl: ##DomainURL## --- - # Integrate Azure OpenAI with React AI AssistView Component The AI AssistView component integrates with [Azure OpenAI](https://microsoft.github.io/PartnerResources/skilling/ai-ml-academy/resources/openai) to enable advanced conversational AI features in your React applications. The component acts as a user interface, where user prompts are sent to the Azure OpenAI service via API calls, providing natural language understanding and context-aware responses. diff --git a/ej2-react/ai-coding-assistants/mcp-server.md b/ej2-react/ai-coding-assistants/mcp-server.md index bd190fadb..317a02b00 100644 --- a/ej2-react/ai-coding-assistants/mcp-server.md +++ b/ej2-react/ai-coding-assistants/mcp-server.md @@ -12,7 +12,7 @@ domainurl: ##DomainURL## ## Overview -The [SyncfusionReactAssistant](https://www.npmjs.com/package/@syncfusion/react-assistant) is a specialized [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction) server that provides intelligent assistance for developers using Syncfusion's React component libraries. This tool seamlessly integrates with compatible [MCP clients](https://modelcontextprotocol.io/clients) to enhance your development workflow when building React applications with Syncfusion® components. +The [SyncfusionReactAssistant](https://www.npmjs.com/package/@syncfusion/react-assistant) is a specialized [Model Context Protocol (MCP)](https://modelcontextprotocol.io/docs/getting-started/intro) server that provides intelligent assistance for developers using Syncfusion's React component libraries. This tool seamlessly integrates with compatible [MCP clients](https://modelcontextprotocol.io/clients) to enhance your development workflow when building React applications with Syncfusion® components. ### Key Benefits @@ -38,7 +38,7 @@ Syncfusion® offers unlimited access to this * Number of requests * Components usage -* Query types +* Query caps * Usage duration This ensures users can fully leverage Syncfusion® components to enhance their development experience without limitations. @@ -63,7 +63,7 @@ You need to add your [Syncfusion API key](https://syncfusion.com/account/api-key } ``` -[SyncfusionReactAssistant](https://www.npmjs.com/package/@syncfusion/react-assistant) can be configured in various MCP clients. Below are setup instructions for popular environment: +Below are setup instructions for popular MCP clients: ### Syncfusion® Code Studio @@ -71,11 +71,11 @@ You need to add your [Syncfusion API key](https://syncfusion.com/account/api-key * Enter the Server Name as `react-mcp`, choose Server Type as npm package, and set the NPM Package name to `@syncfusion/react-assistant`. * Add an environment variable as `Syncfusion_API_Key` and value as your [Syncfusion API key](https://syncfusion.com/account/api-key), then click **Install Server**. * Once installed, the server will appear in the User Installed Server list, and will be added to the **config.yaml** file. -* The server is now ready for use in Code Studio. For more details, refer to the Code Studio [documentation](https://help.syncfusion.com/code-studio/reference/configure-properties/mcp/customservers#npm-server). +* The server is now ready for use in Code Studio. For more details, refer to the [Code Studio documentation](https://help.syncfusion.com/code-studio/reference/configure-properties/mcp/customservers#npm-server). ### VS Code (GitHub Copilot MCP) -1. To configure an MCP server for a specific workspace, you can create a `.vscode/mcp.json` file in your workspace folder. +* To configure an MCP server for a specific workspace, you can create a `.vscode/mcp.json` file in your workspace folder. ```json { @@ -95,14 +95,15 @@ You need to add your [Syncfusion API key](https://syncfusion.com/account/api-key } ``` -2. After updating the configuration in settings.json, you'll notice a "Start" option at the top of the config. This allows you to easily start the [SyncfusionReactAssistant](https://www.npmjs.com/package/@syncfusion/react-assistant) server directly from the settings interface without additional commands. +* After updating the configuration in settings.json, you'll notice a "Start" option at the top of the config. This allows you to easily start the [SyncfusionReactAssistant](https://www.npmjs.com/package/@syncfusion/react-assistant) server directly from the settings interface without additional commands. -3. Confirm that [SyncfusionReactAssistant](https://www.npmjs.com/package/@syncfusion/react-assistant) is being used (this does not happen automatically). Look for a statement in the output, which is similar to: - * `SyncfusionReactAssistant is running...` (in VS Code) +* Confirm the server is active by checking for a message like: `SyncfusionReactAssistant is running...` in the output. + +* For additional guidance, refer to the [VS Code documentation](https://code.visualstudio.com/docs/copilot/customization/mcp-servers#_add-an-mcp-server). ### Cursor -To configure an MCP server for a specific workspace, you can create a .cursor/mcp.json file in your workspace folder. +To configure an MCP server for a specific workspace, you can create a `.cursor/mcp.json` file in your workspace folder. ```json { @@ -122,17 +123,19 @@ To configure an MCP server for a specific workspace, you can create a .cursor/mc } ``` +For more details, refer to the [Cursor documentation](https://cursor.com/docs/context/mcp#using-mcp-json). + ### JetBrains IDEs -1. Go to Settings -> Tools -> AI Assistant -> Model Context Protocol (MCP). -2. Click + Add to add a new MCP server configuration. -3. In the New MCP Server dialog, switch the dropdown as `As JSON` and add the following config: +* Go to Settings -> Tools -> AI Assistant -> Model Context Protocol (MCP). +* Click + Add to add a new MCP server configuration. +* In the New MCP Server dialog, switch the dropdown as `As JSON` and add the following config: ```json { "mcpServers": { "syncfusion-react-assistant": { - "command": "npx", + "command": "npx.cmd", "args": [ "-y", "@syncfusion/react-assistant@latest" @@ -145,13 +148,11 @@ To configure an MCP server for a specific workspace, you can create a .cursor/mc } ``` -4. Click OK and Apply. +* Click OK and Apply. + +For further assistance, see the [JetBrains documentation](https://www.jetbrains.com/help/ai-assistant/mcp.html#connect-to-an-mcp-server). -> For more detailed information about configuring MCP servers in various clients, refer to the official documentations. - * [VS Code](https://code.visualstudio.com/docs/copilot/chat/mcp-servers#_add-an-mcp-server) - * [Cursor](https://docs.cursor.com/en/context/mcp#using-mcp-json) - * [JetBrains](https://www.jetbrains.com/help/ai-assistant/mcp.html#connect-to-an-mcp-server) - * [Windsurf](https://docs.windsurf.com/windsurf/cascade/mcp#mcp-config-json) +> For more detailed information about configuring MCP servers in various clients, refer to the official documentations, e.g., [Windsurf](https://docs.windsurf.com/windsurf/cascade/mcp#mcp-config-json) ## Usage @@ -165,9 +166,9 @@ To activate the SyncfusionReactAssistant MCP server: * '@ask_syncfusion_react' * 'ej2-react' - In VS Code, you can also use #SyncfusionReactAssistant to explicitly invoke the MCP server. + In VS Code, use `#SyncfusionReactAssistant` for direct invocation. -2. Grant the SyncfusionReactAssistant MCP server a permission to run for this session, workspace, or always. +2. Grant permission for the server to run (for the session, workspace, or always). 3. For best results, start a new chat for each new topic to maintain clean context. ### Mode availability @@ -185,9 +186,9 @@ Syncfusion® MCP Servers provide full access Here are some effective ways to use [SyncfusionReactAssistant](https://www.npmjs.com/package/@syncfusion/react-assistant): - * "Create a Syncfusion React Grid component with paging, sorting and filtering" + * "Create a Syncfusion React Grid component with paging, sorting and filtering." * "How do I implement data binding with Syncfusion React scheduler?" - * "Show me how to create a dashboard with multiple Syncfusion components" + * "Show me how to create a dashboard with multiple Syncfusion components." ## Troubleshooting diff --git a/ej2-react/ai-coding-assistants/overview.md b/ej2-react/ai-coding-assistants/overview.md index 0c589a39c..ead49e392 100644 --- a/ej2-react/ai-coding-assistants/overview.md +++ b/ej2-react/ai-coding-assistants/overview.md @@ -16,8 +16,6 @@ AI Coding Assistant: * **The SyncfusionReactAssistant MCP Server** Processes advanced prompts and returns tailored code suggestions via [MCP-compatible clients](https://modelcontextprotocol.io/clients). -* **SyncfusionReact GitHub Copilot Extension** - Augments GitHub Copilot with Syncfusion-specific support for rapid component setup and contextual guidance in the IDE. ## Getting Started @@ -37,7 +35,7 @@ Syncfusion® offers unlimited access to the * Number of requests * Components usage -* Query types +* Query caps * Usage duration This ensures users can fully leverage Syncfusion® components to enhance their development experience without limitations. @@ -69,5 +67,4 @@ The Syncfusion® AI Coding Assistant is desi ## See also * Add the [SyncfusionReactAssistant MCP Server](https://ej2.syncfusion.com/react/documentation/ai-coding-assistants/mcp-server) to an MCP-enabled client -* Install the [SyncfusionReact GitHub Copilot Extension](https://ej2.syncfusion.com/react/documentation/ai-coding-assistants/copilot-extension) * [Syncfusion® React Documentation](https://ej2.syncfusion.com/react/documentation) diff --git a/ej2-react/ai-coding-assistants/prompt-library.md b/ej2-react/ai-coding-assistants/prompt-library.md new file mode 100644 index 000000000..9350834ef --- /dev/null +++ b/ej2-react/ai-coding-assistants/prompt-library.md @@ -0,0 +1,410 @@ +--- +layout: post +title: Syncfusion AI Coding Assistant Prompt Library | Syncfusion +description: Explore the Syncfusion AI Coding Assistant Prompt Library to enhance React development productivity with intelligent code generation, configuration examples, and contextual guidance. +control: Syncfusion AI Coding Assistant Prompt Library +platform: ej2-react +documentation: ug +domainurl: ##DomainURL## +--- + +# Prompt Library + +Speed up your React projects using these ready-made prompts for popular Syncfusion components. Each prompt is short, easy to understand, and focused on real tasks—like quick setups, tweaks, and fixes. + +## How to Use + +Before starting, make sure your MCP Server is set up and running. + +* Choose a prompt that fits your need. +* Copy the full prompt with the #SyncfusionReactAssistant handle. +* Customize the prompt for your specific use case. +* Execute via the MCP Server. +* Always check and test the code before adding it to your project. + +## Component-Specific Prompts + +### Grid + +The Syncfusion React Grid delivers flexible, performant data tables for handling extensive records with built-in interactivity. + +Paging and Sorting +``` +#SyncfusionReactAssistant How do I enable paging and sorting in the Syncfusion React Grid? +``` + +Grouping and Filtering +``` +#SyncfusionReactAssistant Show me an example of grouping and filtering data in the Grid component. +``` + +CRUD Operations +``` +#SyncfusionReactAssistant What’s the code to implement full CRUD operations in Syncfusion React Grid? +``` + +Grid Export to PDF and Excel +``` +#SyncfusionReactAssistant How can I add PDF and Excel export options to the Grid toolbar? +``` + +Virtual Scrolling +``` +#SyncfusionReactAssistant How do I configure virtual scrolling for large datasets in the Grid? +``` + +Multicolumn Grid Setup +``` +#SyncfusionReactAssistant Create a multicolumn Grid to display product details with sorting and filtering. +``` + +Chat Integration +``` +#SyncfusionReactAssistant How can I integrate a chat widget inside each row of the Syncfusion Grid? +``` + +Advanced Grid Features +``` +#SyncfusionReactAssistant +Show me a Grid with paging, sorting, grouping, filtering, and virtual scrolling +``` + +Troubleshooting Grid Export +``` +#SyncfusionReactAssistant Why isn’t my Grid exporting to PDF and Excel correctly? +``` + +Inline Editing +``` +#SyncfusionReactAssistant How do I enable inline editing for CRUD operations in the Grid? +``` + +Custom Toolbar +``` +#SyncfusionReactAssistant Add custom toolbar buttons for PDF and Excel export in the Grid. +``` + +Dynamic Column Configuration +``` +#SyncfusionReactAssistant How can I dynamically configure multicolumn layout with filtering and sorting? +``` + +### Chart + +The Syncfusion React Chart suite offers versatile visualization tools across various series types for insightful data representation. + +Local and Remote Data +``` +#SyncfusionReactAssistant How do I bind both local and remote data sources to a Syncfusion Chart? +``` + +Range Selection +``` +#SyncfusionReactAssistant Show me how to enable range selection in a Syncfusion React Chart. +``` + +Chart Types Overview +``` +#SyncfusionReactAssistant What chart types are available in Syncfusion React Chart and how to configure them? +``` + +Markers and Data Labels +``` +#SyncfusionReactAssistant How can I display markers and data labels on a line chart? +``` + +Annotations +``` +#SyncfusionReactAssistant Add custom annotations to highlight specific data points in a chart. +``` + +Chart Export to Image or PDF +``` +#SyncfusionReactAssistant How do I export a Syncfusion Chart to PDF or image format? +``` + +Print Support +``` +#SyncfusionReactAssistant Enable print functionality for a Syncfusion React Chart component. +``` + +Dynamic Chart with Remote Data +``` +#SyncfusionReactAssistant Create a chart that updates dynamically with remote API data. +``` + +Multiple Series Types +``` +#SyncfusionReactAssistant How do I combine bar and line chart types in a single Syncfusion Chart? +``` + +Troubleshooting Chart Data Binding +``` +#SyncfusionReactAssistant Why isn’t my remote data showing up in the Syncfusion Chart? +``` + +Interactive Range Selector +``` +#SyncfusionReactAssistant Configure a range selector for zooming and filtering in a time-series chart. +``` + +Custom Markers and Labels +``` +#SyncfusionReactAssistant Show me an example of customizing chart markers and data label styles. +``` + +### Schedule + +The Syncfusion React Schedule component helps manage events, resources, and timelines with powerful views and customization. + +Module Injection +``` +#SyncfusionReactAssistant How do I inject required modules into the Syncfusion React Schedule component? +``` + +Remote Data Binding +``` +#SyncfusionReactAssistant Bind the Schedule component to a remote API for dynamic event loading. +``` + +CRUD Actions +``` +#SyncfusionReactAssistant Show me how to implement full CRUD operations in the Schedule component. +``` + +Virtual Scrolling +``` +#SyncfusionReactAssistant Enable virtual scrolling for large event datasets in the Schedule view. +``` + +Timezone Support +``` +#SyncfusionReactAssistant How can I configure timezone support in the Syncfusion React Schedule? +``` + +Export Schedule to PDF or Excel +``` +#SyncfusionReactAssistant Add export functionality to download the Schedule view as PDF or Excel. +``` + +Timeline Header Rows +``` +#SyncfusionReactAssistant How do I customize timeline header rows in the Schedule component? +``` + +Multiple Module Injection +``` +#SyncfusionReactAssistant Inject multiple modules like Day, Week, and Timeline views into Schedule. +``` + +Troubleshooting Schedule CRUD +``` +#SyncfusionReactAssistant Why aren’t my CRUD actions working correctly in the Schedule component? +``` + +Local and Remote Data +``` +#SyncfusionReactAssistant Bind both local and remote event data to the Schedule component. +``` + +Export and Timezone +``` +#SyncfusionReactAssistant Configure timezone-aware exporting for the Schedule view. +``` + +Advanced Schedule Setup +``` +#SyncfusionReactAssistant Create a Schedule with module injection, CRUD, virtual scrolling, and exporting. +``` + +### Kanban + +The Syncfusion React Kanban organizes tasks in columns with drag-and-drop, swimlanes, and templating for agile workflows. + +Data Binding +``` +#SyncfusionReactAssistant How do I bind local or remote data to the Syncfusion React Kanban board? +``` + +Sorting +``` +#SyncfusionReactAssistant Enable sorting of cards within columns in the Kanban component. +``` + +Swimlane View +``` +#SyncfusionReactAssistant Show me how to group Kanban cards using swimlane headers. +``` + +Kanban Card Editing +``` +#SyncfusionReactAssistant How can I enable inline editing of Kanban cards? +``` + +Virtualization +``` +#SyncfusionReactAssistant Configure virtualization for performance with large Kanban datasets. +``` + +Localization +``` +#SyncfusionReactAssistant How do I localize labels and messages in the Kanban component? +``` + +Drag and Drop +``` +#SyncfusionReactAssistant Enable drag-and-drop functionality for moving cards between columns. +``` + +Sorting and Swimlane +``` +#SyncfusionReactAssistant Create a Kanban board with swimlane grouping and sortable cards. +``` + +Editable Cards and Localization +``` +#SyncfusionReactAssistant Show me how to edit cards and apply localization in Kanban. +``` + +Troubleshooting Kanban Drag and Drop +``` +#SyncfusionReactAssistant Why isn’t drag-and-drop working correctly in my Kanban board? +``` + +Remote Data and Virtualization +``` +#SyncfusionReactAssistant Bind remote data to Kanban and enable virtualization for performance. +``` + +Advanced Kanban Setup +``` +#SyncfusionReactAssistant Create a Kanban board with data binding, swimlane, card editing, and drag-and-drop. +``` + +### RichTextEditor + +The Syncfusion React RichTextEditor offers a modern WYSIWYG editor with extensive formatting, media, and integration features. + +Toolbar Configuration +``` +#SyncfusionReactAssistant How do I customize the toolbar options in the Syncfusion RichTextEditor? +``` + +Link Manipulation +``` +#SyncfusionReactAssistant Show me how to add, edit, and remove hyperlinks in RichTextEditor content. +``` + +Iframe Mode +``` +#SyncfusionReactAssistant How can I render the RichTextEditor inside an iframe for isolated styling? +``` + +Module Injection +``` +#SyncfusionReactAssistant Inject feature modules like toolbar, link, and image into RichTextEditor. +``` + +Undo and Redo +``` +#SyncfusionReactAssistant Enable undo and redo functionality in the RichTextEditor toolbar. +``` + +Forms Integration +``` +#SyncfusionReactAssistant How do I integrate a React form and validate input? +``` + +Content Import and Export +``` +#SyncfusionReactAssistant Export RichTextEditor content to HTML or import existing HTML content. +``` + +Advanced Toolbar +``` +#SyncfusionReactAssistant Create a RichTextEditor with toolbar options for formatting, links, and undo/redo. +``` + +Iframe and Forms Support +``` +#SyncfusionReactAssistant Use RichTextEditor in iframe mode and bind it to a form for submission. +``` + +Undo/Redo and Export +``` +#SyncfusionReactAssistant Enable undo/redo and export content to HTML in RichTextEditor. +``` + +Module Injection and Link Editing +``` +#SyncfusionReactAssistant Inject toolbar and link modules to enable rich link editing in the editor. +``` + +### Calendar + +The Syncfusion React Calendar supports flexible date selection, localization, and custom rendering. + +Date Range Selection +``` +#SyncfusionReactAssistant How do I enable date range selection in the Syncfusion React Calendar? +``` + +Globalization Support +``` +#SyncfusionReactAssistant Configure the Calendar to support multiple cultures and languages. +``` + +Multi-Date Selection +``` +#SyncfusionReactAssistant Show me how to allow users to select multiple dates in the Calendar. +``` + +Islamic Calendar Support +``` +#SyncfusionReactAssistant How can I switch the Calendar to use the Islamic calendar system? +``` + +Skip Months Feature +``` +#SyncfusionReactAssistant Enable skipping months in the Calendar navigation for faster browsing. +``` + +Calendar Showing Other Month Days +``` +#SyncfusionReactAssistant How do I show days from adjacent months in the current Calendar view? +``` + +Custom Day Cell Format +``` +#SyncfusionReactAssistant Customize the day cell format in the Calendar to show short weekday names. +``` + +Calendar Highlighting Weekends +``` +#SyncfusionReactAssistant Highlight weekends in the Calendar with a different background color. +``` + +Globalization and Islamic Calendar +``` +#SyncfusionReactAssistant Configure the Calendar for Arabic culture using Islamic calendar and localization. +``` + +Multi-Selection and Range +``` +#SyncfusionReactAssistant Enable both multi-date selection and range selection in the Calendar. +``` + +Troubleshooting Calendar Date Range +``` +#SyncfusionReactAssistant Why isn’t my Calendar selecting the correct date range? +``` + +Advanced Calendar Setup +``` +#SyncfusionReactAssistant Create a Calendar with date range, multi-selection, globalization, and weekend highlights. +``` + +## See also + +* [AI Coding Assistant Overview](https://ej2.syncfusion.com/react/documentation/ai-coding-assistants/overview) +* [SyncfusionReactAssistant MCP Server](https://ej2.syncfusion.com/react/documentation/ai-coding-assistants/mcp-server) diff --git a/ej2-react/code-snippet/chart/series/column-cs20/app/index.tsx b/ej2-react/code-snippet/chart/series/column-cs20/app/index.tsx index f09613abd..9e95f4597 100644 --- a/ej2-react/code-snippet/chart/series/column-cs20/app/index.tsx +++ b/ej2-react/code-snippet/chart/series/column-cs20/app/index.tsx @@ -1,3 +1,4 @@ +{% raw %} import * as React from "react"; @@ -123,4 +124,7 @@ function App() { ); }; export default App; -ReactDOM.render(, document.getElementById("charts")); \ No newline at end of file +ReactDOM.render(, document.getElementById("charts")); + + +{% endraw %} \ No newline at end of file From 9474719323c85d7559777ebc8b830733d93b6aea Mon Sep 17 00:00:00 2001 From: Build Automaion Date: Sun, 26 Oct 2025 20:41:49 +0530 Subject: [PATCH 06/19] Integrated latest changes at 10-26-2025 7:30:14 PM --- ej2-react-toc.html | 1 + .../ai-assistview/speech/speech-to-text.md | 21 +++- ej2-react/chat-ui/speech-to-text.md | 51 ++++++++ .../code-snippet/chat-ui/stt/app/index.jsx | 112 ++++++++++++++++++ .../code-snippet/chat-ui/stt/app/index.tsx | 112 ++++++++++++++++++ ej2-react/code-snippet/chat-ui/stt/index.css | 9 ++ ej2-react/code-snippet/chat-ui/stt/index.html | 89 ++++++++++++++ .../chat-ui/stt/systemjs.config.js | 48 ++++++++ 8 files changed, 442 insertions(+), 1 deletion(-) create mode 100644 ej2-react/chat-ui/speech-to-text.md create mode 100644 ej2-react/code-snippet/chat-ui/stt/app/index.jsx create mode 100644 ej2-react/code-snippet/chat-ui/stt/app/index.tsx create mode 100644 ej2-react/code-snippet/chat-ui/stt/index.css create mode 100644 ej2-react/code-snippet/chat-ui/stt/index.html create mode 100644 ej2-react/code-snippet/chat-ui/stt/systemjs.config.js diff --git a/ej2-react-toc.html b/ej2-react-toc.html index 75905f270..4aebe0739 100644 --- a/ej2-react-toc.html +++ b/ej2-react-toc.html @@ -618,6 +618,7 @@
  • Header
  • Footer
  • Templates
  • +
  • Speech to Text
  • Appearance
  • Globalization
  • Accessibility
  • diff --git a/ej2-react/ai-assistview/speech/speech-to-text.md b/ej2-react/ai-assistview/speech/speech-to-text.md index 6e09e3bda..091534266 100644 --- a/ej2-react/ai-assistview/speech/speech-to-text.md +++ b/ej2-react/ai-assistview/speech/speech-to-text.md @@ -24,7 +24,18 @@ Before integrating `Speech-to-Text`, ensure the following: ## Configure Speech-to-Text -To enable Speech-to-Text functionality, modify the `src/App.jsx` or `src/App.tsx` file to incorporate the Web Speech API. The [SpeechToText](https://ej2.syncfusion.com/react/documentation/speech-to-text/getting-started) component listens for microphone input, transcribes spoken words, and updates the AI AssistView's editable footer with the transcribed text. The transcribed text is then sent as a prompt to the Azure OpenAI service via the AI AssistView component. +To enable Speech-to-Text functionality in the React AI AssistView component, update the `src/App.jsx` or `src/App.tsx` file to incorporate the Web Speech API. + +The [SpeechToText](https://ej2.syncfusion.com/react/documentation/speech-to-text/getting-started) component listens to audio input from the device’s microphone, transcribes spoken words into text, and updates the AI AssistView’s editable footer using the [footerTemplate](https://ej2.syncfusion.com/react/documentation/api/ai-assistview/#footertemplate) property to display the transcribed text. The transcribed text is then sent as a prompt to the Azure OpenAI service via the AI AssistView component. + +### Configuration Options + +* **[`lang`](https://ej2.syncfusion.com/react/documentation/api/speech-to-text/#lang)**: Specifies the language for speech recognition. For example: + + * `en-US` for American English + * `fr-FR` for French + +* **[`allowInterimResults`](https://ej2.syncfusion.com/react/documentation/api/speech-to-text/#allowInterimResults)**: Set to `true` to receive real-time (interim) recognition results, or `false` to receive only final results. {% tabs %} {% highlight js tabtitle="app.jsx" %} @@ -37,6 +48,14 @@ To enable Speech-to-Text functionality, modify the `src/App.jsx` or `src/App.tsx {% previewsample "page.domainurl/code-snippet/ai-assistview/speech/stt" %} +## Error Handling + +The `SpeechToText` component provides events to handle errors that may occur during speech recognition. For more information, refer to the [Error Handling](https://ej2.syncfusion.com/react/documentation/speech-to-text/speech-recognition#error-handling) section in the documentation. + +## Browser Compatibility + +The `SpeechToText` component relies on the [Speech Recognition API](https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition), which has limited browser support. Refer to the [Browser Compatibility](https://ej2.syncfusion.com/react/documentation/speech-to-text/speech-recognition#browser-support) section for detailed information. + ## See Also * [Text-to-Speech](./text-to-speech.md) diff --git a/ej2-react/chat-ui/speech-to-text.md b/ej2-react/chat-ui/speech-to-text.md new file mode 100644 index 000000000..a6b7af4ae --- /dev/null +++ b/ej2-react/chat-ui/speech-to-text.md @@ -0,0 +1,51 @@ +--- +layout: post +title: Speech-to-Text With React Chat UI component | Syncfusion +description: Checkout and learn about configuration of Speech-to-Text With React Chat UI component of Syncfusion Essential JS 2 and more details. +platform: ej2-react +control: Chat UI +documentation: ug +domainurl: ##DomainURL## +--- + +# Speech-to-Text in React Chat UI + +The Syncfusion React Chat UI component integrates `Speech-to-Text` functionality through the browser's [Web Speech API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API). This enables the conversion of spoken words into text using the device's microphone, allowing users to interact with the Chat UI through voice input. + +## Configure Speech-to-Text + +To enable Speech-to-Text functionality in the React Chat UI component, update the `src/App.jsx` or `src/App.tsx` file to incorporate the Web Speech API. + +The [SpeechToText](https://ej2.syncfusion.com/react/documentation/speech-to-text/getting-started) component listens to audio input from the device’s microphone, transcribes spoken words into text, and updates the Chat UI’s editable footer using the [footerTemplate](https://ej2.syncfusion.com/react/documentation/api/chat-ui/#footertemplate) property to display the transcribed text. Once the transcription appears in the footer, users can send it as a message to others. + +### Configuration Options + +* **[`lang`](https://ej2.syncfusion.com/react/documentation/api/speech-to-text/#lang)**: Specifies the language for speech recognition. For example: + + * `en-US` for American English + * `fr-FR` for French + +* **[`allowInterimResults`](https://ej2.syncfusion.com/react/documentation/api/speech-to-text/#allowInterimResults)**: Set to `true` to receive real-time (interim) recognition results, or `false` to receive only final results. + +{% tabs %} +{% highlight js tabtitle="app.jsx" %} +{% include code-snippet/chat-ui/stt/app/index.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="app.tsx" %} +{% include code-snippet/chat-ui/stt/app/index.tsx %} +{% endhighlight %} +{% endtabs %} + +{% previewsample "page.domainurl/code-snippet/chat-ui/stt" %} + +## Error Handling + +The `SpeechToText` component provides events to handle errors that may occur during speech recognition. For more information, refer to the [Error Handling](https://ej2.syncfusion.com/react/documentation/speech-to-text/speech-recognition#error-handling) section in the documentation. + +## Browser Compatibility + +The `SpeechToText` component relies on the [Speech Recognition API](https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition), which has limited browser support. Refer to the [Browser Compatibility](https://ej2.syncfusion.com/react/documentation/speech-to-text/speech-recognition#browser-support) section for detailed information. + +## See Also + +* [Messages](./messages) diff --git a/ej2-react/code-snippet/chat-ui/stt/app/index.jsx b/ej2-react/code-snippet/chat-ui/stt/app/index.jsx new file mode 100644 index 000000000..cfc7c6d2d --- /dev/null +++ b/ej2-react/code-snippet/chat-ui/stt/app/index.jsx @@ -0,0 +1,112 @@ +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; +import { ChatUIComponent, MessagesDirective, MessageDirective } from '@syncfusion/ej2-react-interactive-chat'; +import { ButtonComponent } from '@syncfusion/ej2-react-buttons'; +import { SpeechToTextComponent } from '@syncfusion/ej2-react-inputs'; + +function App() { + const chatInstance = React.useRef(null); + const speechToTextObj = React.useRef(null); + const chatuiFooter = React.useRef(null); + const chatuiSendButton = React.useRef(null); + + const currentUserModel = { + id: 'user1', + user: 'Albert', + }; + + const michaleUserModel = { + id: 'user2', + user: 'Michale Suyama', + }; + + // Renders the footer template including editable input, speech-to-text component, and send button + const footerTemplate = () => { + return ( +
    + +
    + + +
    +
    + ); + }; + + // Executes the current prompt from the footer input and clears it + const sendIconClicked = () => { + const editor = chatuiFooter.current; // Use .current for React refs + const messageContent = editor?.innerText || ''; + if (messageContent.trim()) { + chatInstance.current?.addMessage({ + author: currentUserModel, + text: messageContent, + }); + editor.innerText = ''; + toggleButtons(); // Update button visibility + } + }; + + // Updates the footer input with the latest speech transcript + const onTranscriptChange = (args) => { + if (chatuiFooter.current) { + chatuiFooter.current.innerText = args.transcript; + } + }; + + // Toggles button visibility when speech-to-text listening stops + const onListeningStop = () => { + toggleButtons(); + }; + + // Initializes button visibility when the speech-to-text component is created + const onCreated = () => { + toggleButtons(); + }; + + // Toggles visibility of send and speech buttons based on whether the input has text + const toggleButtons = () => { + const chatuiFooterEle = chatuiFooter.current; + const sendButtonEle = chatuiSendButton.current?.element; + const speechButtonEle = speechToTextObj.current?.element; + if (!chatuiFooterEle || !sendButtonEle || !speechButtonEle) { + return; + } + const hasText = chatuiFooterEle.innerText.trim() !== ''; + sendButtonEle.classList.toggle('visible', hasText); + speechButtonEle.classList.toggle('visible', !hasText); + if ( + !hasText && + (chatuiFooterEle.innerHTML.trim() === '' || + chatuiFooterEle.innerHTML === '
    ') + ) { + chatuiFooterEle.innerHTML = ''; + } + }; + + const handleKeyDown = (event) => { + if (event.key === 'Enter' && !event.shiftKey) { + sendIconClicked(); + event.preventDefault(); + } + }; + + React.useEffect(() => { + // Defer toggleButtons until after mount to ensure refs are ready + toggleButtons(); + }, []); + + return ( +
    + + + + + + + +
    + ); +} + +ReactDOM.render(, document.getElementById('container')); \ No newline at end of file diff --git a/ej2-react/code-snippet/chat-ui/stt/app/index.tsx b/ej2-react/code-snippet/chat-ui/stt/app/index.tsx new file mode 100644 index 000000000..df9f20042 --- /dev/null +++ b/ej2-react/code-snippet/chat-ui/stt/app/index.tsx @@ -0,0 +1,112 @@ +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; +import { ChatUIComponent, MessagesDirective, MessageDirective, UserModel } from '@syncfusion/ej2-react-interactive-chat'; +import { ButtonComponent } from '@syncfusion/ej2-react-buttons'; +import { SpeechToTextComponent } from '@syncfusion/ej2-react-inputs'; + +function App() { + const chatInstance = React.useRef(null); + const speechToTextObj = React.useRef(null); + const chatuiFooter = React.useRef(null); + const chatuiSendButton = React.useRef(null); + + const currentUserModel: UserModel = { + id: 'user1', + user: 'Albert', + }; + + const michaleUserModel: UserModel = { + id: 'user2', + user: 'Michale Suyama', + }; + + // Renders the footer template including editable input, speech-to-text component, and send button + const footerTemplate = () => { + return ( +
    + +
    + + +
    +
    + ); + }; + + // Executes the current prompt from the footer input and clears it + const sendIconClicked = () => { + const editor = chatuiFooter.current; // Use .current for React refs + const messageContent = editor?.innerText || ''; + if (messageContent.trim()) { + chatInstance.current?.addMessage({ + author: currentUserModel, + text: messageContent, + }); + editor.innerText = ''; + toggleButtons(); // Update button visibility + } + }; + + // Updates the footer input with the latest speech transcript + const onTranscriptChange = (args: any) => { + if (chatuiFooter.current) { + chatuiFooter.current.innerText = args.transcript; + } + }; + + // Toggles button visibility when speech-to-text listening stops + const onListeningStop = () => { + toggleButtons(); + }; + + // Initializes button visibility when the speech-to-text component is created + const onCreated = () => { + toggleButtons(); + }; + + // Toggles visibility of send and speech buttons based on whether the input has text + const toggleButtons = () => { + const chatuiFooterEle = chatuiFooter.current; + const sendButtonEle = chatuiSendButton.current?.element; + const speechButtonEle = speechToTextObj.current?.element; + if (!chatuiFooterEle || !sendButtonEle || !speechButtonEle) { + return; + } + const hasText = chatuiFooterEle.innerText.trim() !== ''; + sendButtonEle.classList.toggle('visible', hasText); + speechButtonEle.classList.toggle('visible', !hasText); + if ( + !hasText && + (chatuiFooterEle.innerHTML.trim() === '' || + chatuiFooterEle.innerHTML === '
    ') + ) { + chatuiFooterEle.innerHTML = ''; + } + }; + + const handleKeyDown = (event: any) => { + if (event.key === 'Enter' && !event.shiftKey) { + sendIconClicked(); + event.preventDefault(); + } + }; + + React.useEffect(() => { + // Defer toggleButtons until after mount to ensure refs are ready + toggleButtons(); + }, []); + + return ( +
    + + + + + + + +
    + ); +} + +ReactDOM.render(, document.getElementById('container')); \ No newline at end of file diff --git a/ej2-react/code-snippet/chat-ui/stt/index.css b/ej2-react/code-snippet/chat-ui/stt/index.css new file mode 100644 index 000000000..a0d4bfcdf --- /dev/null +++ b/ej2-react/code-snippet/chat-ui/stt/index.css @@ -0,0 +1,9 @@ +/* Represents the styles for loader */ +#loader { + color: #008cff; + height: 40px; + left: 45%; + position: absolute; + top: 45%; + width: 30%; +} diff --git a/ej2-react/code-snippet/chat-ui/stt/index.html b/ej2-react/code-snippet/chat-ui/stt/index.html new file mode 100644 index 000000000..43aab3f7c --- /dev/null +++ b/ej2-react/code-snippet/chat-ui/stt/index.html @@ -0,0 +1,89 @@ + + + + + Syncfusion React AI AssistView + + + + + + + + + + + + + + + + + + + +
    +
    Loading....
    +
    + + + + \ No newline at end of file diff --git a/ej2-react/code-snippet/chat-ui/stt/systemjs.config.js b/ej2-react/code-snippet/chat-ui/stt/systemjs.config.js new file mode 100644 index 000000000..a407cba76 --- /dev/null +++ b/ej2-react/code-snippet/chat-ui/stt/systemjs.config.js @@ -0,0 +1,48 @@ +System.config({ + transpiler: "ts", + typescriptOptions: { + target: "es5", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true, + "jsx": "react" + }, + meta: { + 'typescript': { + "exports": "ts" + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/20.3.56/" + }, + map: { + app: 'app', + ts: "https://unpkg.com/plugin-typescript@4.0.10/lib/plugin.js", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-interactive-chat": "syncfusion:ej2-interactive-chat/dist/ej2-interactive-chat.umd.min.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-notifications": "syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-react-base": "syncfusion:ej2-react-base/dist/ej2-react-base.umd.min.js", + "@syncfusion/ej2-react-interactive-chat": "syncfusion:ej2-react-interactive-chat/dist/ej2-react-interactive-chat.umd.min.js", + "@syncfusion/ej2-react-inputs": "syncfusion:ej2-react-inputs/dist/ej2-react-inputs.umd.min.js", + "@syncfusion/ej2-react-navigations": "syncfusion:ej2-react-navigations/dist/ej2-react-navigations.umd.min.js", + "@syncfusion/ej2-react-notifications": "syncfusion:ej2-react-notifications/dist/ej2-react-notifications.umd.min.js", + "react-dom": "https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js", + "react": "https://unpkg.com/react@18.2.0/umd/react.production.min.js", + "marked": "https://cdn.jsdelivr.net/npm/marked/marked.min.js" + }, + packages: { + 'app': { main: 'index', defaultExtension: 'tsx' }, + } +}); + +System.import('app'); \ No newline at end of file From 756a98c61da8440f3ca3ceee6fa3285b25727ab4 Mon Sep 17 00:00:00 2001 From: vignesh <120713139+vigneshsivaji@users.noreply.github.com> Date: Mon, 27 Oct 2025 10:49:52 +0530 Subject: [PATCH 07/19] 988680: codestudio config updated --- ej2-react/ai-coding-assistants/mcp-server.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/ej2-react/ai-coding-assistants/mcp-server.md b/ej2-react/ai-coding-assistants/mcp-server.md index 317a02b00..c37757fe8 100644 --- a/ej2-react/ai-coding-assistants/mcp-server.md +++ b/ej2-react/ai-coding-assistants/mcp-server.md @@ -67,11 +67,10 @@ Below are setup instructions for popular MCP clients: ### Syncfusion® Code Studio -* In [Code Studio](https://www.syncfusion.com/code-studio/), open MCP Marketplace and navigate to the `Custom Servers` tab. -* Enter the Server Name as `react-mcp`, choose Server Type as npm package, and set the NPM Package name to `@syncfusion/react-assistant`. -* Add an environment variable as `Syncfusion_API_Key` and value as your [Syncfusion API key](https://syncfusion.com/account/api-key), then click **Install Server**. -* Once installed, the server will appear in the User Installed Server list, and will be added to the **config.yaml** file. -* The server is now ready for use in Code Studio. For more details, refer to the [Code Studio documentation](https://help.syncfusion.com/code-studio/reference/configure-properties/mcp/customservers#npm-server). +* In [Code Studio](https://www.syncfusion.com/code-studio/), open MCP Marketplace, find `SyncfusionReactAssistant`, and click Install. +* When prompted, enter your [Syncfusion API key](https://syncfusion.com/account/api-key) and click Submit to register. +* It installs locally on your machine and appears in the Installed list. +* The server is now ready for use in Code Studio. For more details, refer to the [Code Studio documentation](https://help.syncfusion.com/code-studio/reference/configure-properties/mcp/marketplace). ### VS Code (GitHub Copilot MCP) From 78254df784f541e2128f42c5af9767c99b322d3b Mon Sep 17 00:00:00 2001 From: Build Automaion Date: Mon, 27 Oct 2025 19:45:24 +0530 Subject: [PATCH 08/19] Integrated latest changes at 10-27-2025 7:30:04 PM --- ej2-react-toc.html | 1 + ej2-react/ai-coding-assistants/mcp-server.md | 9 +- ej2-react/code-snippet/chat-ui/stt/index.html | 2 +- ...d-appearance-for-file-manager-component.md | 206 ++++++++++++++++++ .../file-manager/images/customize_dialog.png | Bin 0 -> 42531 bytes .../file-manager/images/customize_layout.png | Bin 0 -> 47268 bytes .../images/customize_navigation_pane.png | Bin 0 -> 48557 bytes .../images/customize_selected_file.png | Bin 0 -> 37233 bytes .../images/customize_thumbnail.png | Bin 0 -> 19278 bytes .../file-manager/images/customize_toolbar.png | Bin 0 -> 37776 bytes 10 files changed, 213 insertions(+), 5 deletions(-) create mode 100644 ej2-react/file-manager/add-style-and-appearance-for-file-manager-component.md create mode 100644 ej2-react/file-manager/images/customize_dialog.png create mode 100644 ej2-react/file-manager/images/customize_layout.png create mode 100644 ej2-react/file-manager/images/customize_navigation_pane.png create mode 100644 ej2-react/file-manager/images/customize_selected_file.png create mode 100644 ej2-react/file-manager/images/customize_thumbnail.png create mode 100644 ej2-react/file-manager/images/customize_toolbar.png diff --git a/ej2-react-toc.html b/ej2-react-toc.html index 4aebe0739..d4bf70aba 100644 --- a/ej2-react-toc.html +++ b/ej2-react-toc.html @@ -1129,6 +1129,7 @@
  • Virtualization
  • Access Control
  • Upload
  • +
  • Style and Appearance
  • Localization
  • Accessibility
  • How To diff --git a/ej2-react/ai-coding-assistants/mcp-server.md b/ej2-react/ai-coding-assistants/mcp-server.md index c37757fe8..317a02b00 100644 --- a/ej2-react/ai-coding-assistants/mcp-server.md +++ b/ej2-react/ai-coding-assistants/mcp-server.md @@ -67,10 +67,11 @@ Below are setup instructions for popular MCP clients: ### Syncfusion® Code Studio -* In [Code Studio](https://www.syncfusion.com/code-studio/), open MCP Marketplace, find `SyncfusionReactAssistant`, and click Install. -* When prompted, enter your [Syncfusion API key](https://syncfusion.com/account/api-key) and click Submit to register. -* It installs locally on your machine and appears in the Installed list. -* The server is now ready for use in Code Studio. For more details, refer to the [Code Studio documentation](https://help.syncfusion.com/code-studio/reference/configure-properties/mcp/marketplace). +* In [Code Studio](https://www.syncfusion.com/code-studio/), open MCP Marketplace and navigate to the `Custom Servers` tab. +* Enter the Server Name as `react-mcp`, choose Server Type as npm package, and set the NPM Package name to `@syncfusion/react-assistant`. +* Add an environment variable as `Syncfusion_API_Key` and value as your [Syncfusion API key](https://syncfusion.com/account/api-key), then click **Install Server**. +* Once installed, the server will appear in the User Installed Server list, and will be added to the **config.yaml** file. +* The server is now ready for use in Code Studio. For more details, refer to the [Code Studio documentation](https://help.syncfusion.com/code-studio/reference/configure-properties/mcp/customservers#npm-server). ### VS Code (GitHub Copilot MCP) diff --git a/ej2-react/code-snippet/chat-ui/stt/index.html b/ej2-react/code-snippet/chat-ui/stt/index.html index 43aab3f7c..49072f77b 100644 --- a/ej2-react/code-snippet/chat-ui/stt/index.html +++ b/ej2-react/code-snippet/chat-ui/stt/index.html @@ -2,7 +2,7 @@ - Syncfusion React AI AssistView + Syncfusion React Chat UI diff --git a/ej2-react/file-manager/add-style-and-appearance-for-file-manager-component.md b/ej2-react/file-manager/add-style-and-appearance-for-file-manager-component.md new file mode 100644 index 000000000..3cc928dc7 --- /dev/null +++ b/ej2-react/file-manager/add-style-and-appearance-for-file-manager-component.md @@ -0,0 +1,206 @@ +--- +layout: post +title: Style Customize in React File Manager control | Syncfusion +description: Learn here all about How to add style and appearance in React File Manager control of Syncfusion Essential JS 2 and more. +platform: ej2-react +control: File Manager +documentation: ug +domainurl: ##DomainURL## +--- + +# How to customize style and appearance in React File Manager + +The following content provides the exact CSS structure that can be used to modify the control's appearance based on the user preference. + +## Customizing the File Manager navigation pane + +To customize the File Manager navigation pane, use the `.e-navigation` selector and apply styles. + +The following example shows customize the navigation pane for these sections. + +```css +.sample-container { + margin: 10px 10px 10px 10px; +} + +/* + Set background color for the File Manager navigation pane */ +.e-filemanager .e-navigation { + background: #3a0647; +} + +/* Highlight the active item in the TreeView inside the navigation pane */ +.e-filemanager .e-treeview .e-list-item.e-active > .e-fullrow { + background: #c3d3f9a1; +} + +/* Set text color for TreeView items in the navigation pane */ +.e-filemanager .e-treeview .e-list-text { + color: #fff; +} +``` + +![React File Manager Customization Navigation Pane](./images/customize_navigation_pane.png) + +## Customizing the File Manager layout + +To customize the File Manager layout, use the `.e-layout-content` selector and apply styles. + +```css + +.sample-container { + margin: 10px 10px 10px 10px; +} + +/* Style for breadcrumb (address bar) */ +.e-filemanager .e-layout-content .e-address { + background: #dee2e6; +} + +/* Customize the background for the Large Icons view */ +.e-filemanager .e-layout-content .e-large-icons { + background: #f8f9fa; +} + +/* Customize the background for the Details view table and content area */ +.e-filemanager .e-layout-content .e-grid .e-table, +.e-filemanager .e-grid .e-gridcontent .e-content { + background: #f8f9fa; +} + +``` + +![React File Manager Customization Layout](./images/customize_layout.png) + +## Customizing the File Manager thumbnail + +To customize the thumbnails in the File Manager, you can apply background-image styles to specific CSS selectors that represent different file types, as listed in the table below. + +|File Type|CSS Selector| +|----|----| +|Image|.e-fe-image| +|Music|.e-fe-music| +|Excel|.e-fe-xlsx| +|Video|.e-fe-video| +|PowerPoint|.e-fe-pptx| +|RAR|.e-fe-rar| +|ZIP|.e-fe-zip| +|Text|.e-fe-txt| +|JavaScript|.e-fe-js| +|CSS|.e-fe-css| +|HTML|.e-fe-html| +|Unknown|.e-fe-unknown| +|Executable|.e-fe-exe| +|MSI|.e-fe-msi| +|PHP|.e-fe-php| +|Word|.e-fe-doc| +|Word(docx)|.e-fe-docx| +|XML|.e-fe-xml| +|Folder|.e-fe-folder| + +The following example demonstrates how to customize the File Manager's thumbnail icon for folders: + +```css + +/* Applies to both Large Icons view and Details view in the File Manager */ + +.e-filemanager .e-large-icons .e-fe-folder, .e-filemanager .e-grid .e-fe-folder { + background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4uc3Qwe2ZpbGw6I0ZGOTI5Mjt9LnN0MXtmaWxsOiNFODdFN0U7fS5zdDJ7ZmlsbDojRkZDM0MzO30uc3Qze2ZpbGw6IzkxRDRGRTt9LnN0NHtmaWxsOiM2M0E3RDM7fS5zdDV7ZmlsbDojQzFFN0ZGO30uc3Q2e2ZpbGw6I0ZGRkZGRjt9LnN0N3tmaWxsOiM4M0Q2Qjk7fS5zdDh7ZmlsbDojNDZDNjhDO30uc3Q5e2ZpbGw6I0JCRThEODt9LnN0MTB7ZmlsbDojRkVCMTdEO30uc3QxMXtmaWxsOiNERDk2NjY7fS5zdDEye2ZpbGw6I0ZFRDRCNzt9LnN0MTN7ZmlsbDojRjJBMkEyO30uc3QxNHtmaWxsOiNGMUM1QzU7fS5zdDE1e2ZpbGw6I0RCQjY2Mzt9LnN0MTZ7ZmlsbDojQ0VBMTUxO30uc3QxN3tmaWxsOiNFQkQ3QTk7fS5zdDE4e2ZpbGw6I0NFQ0VDRTt9LnN0MTl7ZmlsbDojQjdCN0I3O30uc3QyMHtmaWxsOiNFNEU0RTQ7fS5zdDIxe2ZpbGw6IzY1QUFEMTt9LnN0MjJ7ZmlsbDojRTU3QTdBO30uc3QyM3tmaWxsOiNFNkE2RTg7fS5zdDI0e2ZpbGw6I0Q2OEFENjt9LnN0MjV7ZmlsbDojRkZDQ0ZFO30uc3QyNntmaWxsOiM5OENFNUY7fS5zdDI3e2ZpbGw6IzhDQUYyQzt9LnN0Mjh7ZmlsbDojQzZFM0E3O30uc3QyOXtmaWxsOiNGRkI1Nzg7fS5zdDMwe2ZpbGw6I0VEOUY2NDt9LnN0MzF7ZmlsbDojRkZENkI1O30uc3QzMntmaWxsOiNGNEExRUY7fS5zdDMze2ZpbGw6I0REODdERDt9LnN0MzR7ZmlsbDojRjlDQkY2O30uc3QzNXtmaWxsOiNBOEEyRjQ7fS5zdDM2e2ZpbGw6Izg4ODVFODt9LnN0Mzd7ZmlsbDojQ0ZDQ0Y4O30uc3QzOHtmaWxsOiNCQ0JDQkM7fS5zdDM5e2ZpbGw6I0E4QThBODt9LnN0NDB7ZmlsbDojREFEQURBO30uc3Q0MXtmaWxsOiM3N0NDREI7fS5zdDQye2ZpbGw6IzREQkNDMTt9LnN0NDN7ZmlsbDojQjRFM0VCO30uc3Q0NHtmaWxsOiNGRkI3QTQ7fS5zdDQ1e2ZpbGw6I0Y2OUE3Qjt9LnN0NDZ7ZmlsbDojRkZEN0NEO30uc3Q0N3tmaWxsOiM3MUM4RjQ7fS5zdDQ4e2ZpbGw6IzhEQzk3Nzt9LnN0NDl7ZmlsbDojN0NBODUxO30uc3Q1MHtvcGFjaXR5OjAuNDU7ZmlsbDojRkZGRkZGO308L3N0eWxlPjxnPjxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0yOS41LDI3LjVoLTI3Yy0xLjEsMC0yLTAuOS0yLTJ2LTE5YzAtMS4xLDAuOS0yLDItMmgxMC40bDMuNSwzLjFoMTMuMmMxLjEsMCwyLDAuOSwyLDJ2MTUuOUMzMS41LDI2LjYsMzAuNiwyNy41LDI5LjUsMjcuNXoiLz48cGF0aCBjbGFzcz0ic3Q0IiBkPSJNMjkuNSwyOGgtMjdDMS4xLDI4LDAsMjYuOSwwLDI1LjV2LTE5QzAsNS4xLDEuMSw0LDIuNSw0aDEwLjZsMy41LDMuMWgxM2MxLjQsMCwyLjUsMS4xLDIuNSwyLjV2MTUuOUMzMiwyNi45LDMwLjksMjgsMjkuNSwyOHogTTIuNSw1QzEuNyw1LDEsNS43LDEsNi41djE5QzEsMjYuMywxLjcsMjcsMi41LDI3aDI3YzAuOCwwLDEuNS0wLjcsMS41LTEuNVY5LjZjMC0wLjgtMC43LTEuNS0xLjUtMS41SDE2LjJMMTIuNyw1SDIuNXoiLz48L2c+PC9zdmc+"); +} + +``` + +![React File Manager Customization Thumbnail](./images/customize_thumbnail.png) + +## Customizing the File Manager Toolbar + +To customize the File Manager toolbar items, use the `.e-toolbar` selector and apply styles. + +```css + +.sample-container { + margin: 10px 10px 10px 10px; +} + +/* Style for individual toolbar buttons */ +.e-filemanager .e-toolbar .e-tbar-btn { + background: #0d9cf6; + border: 1px solid #000000; +} + +/* Style for toolbar icons */ +.e-filemanager .e-toolbar .e-tbar-btn .e-icons { + color: #ffffff; +} + +/* Style for toolbar button text */ +.e-filemanager .e-toolbar .e-toolbar-item .e-tbar-btn .e-tbar-btn-text { + color: #ffffff; +} + +``` + +![React File Manager Customization Toolbar](./images/customize_toolbar.png) + +## Customizing the File Manager selected files/folders + +To customize the File Manager selected files/folders, use the below selectors and apply styles. + +```css + +.sample-container { + margin: 10px 10px 10px 10px; +} + +/* Highlight for active and hover item in Large Icons view */ +.e-filemanager li.e-list-item.e-large-icon.e-active, +.e-filemanager li.e-list-item.e-large-icon.e-active:hover { + background: #dee2e6; + border: 2px solid #000000; + border-radius: 10%; +} + +/* Color for text */ +.e-filemanager .e-large-icons .e-active { + color: #212529; +} + +/* Highlight for active row in Details view */ +.e-filemanager .e-grid td.e-active { + background: #dee2e6; +} + +``` + +![React File Manager Customization Selected File](./images/customize_selected_file.png) + +## Customizing the File Manager Dialog + +To customize the dialog popup in the File Manager, you can apply styles to specific CSS selectors, as listed below. + +|Element|CSS Selector| +|---------|------------| +|Header|`.e-dlg-header-content`| +|Content|`.e-dlg-content`| +|Overlay|`.e-dlg-overlay`| +|Footer|`.e-footer-content`| + +```css + +.sample-container { + margin: 10px 10px 10px 10px; +} + +/* For File Manager Dialog header */ +.e-filemanager .e-dialog .e-dlg-header-content { + background-color: #0d6efd; +} +/* For File Manager Dialog header close icon and text*/ +.e-filemanager .e-dialog .e-icon-dlg-close, +.e-filemanager .e-dialog .e-dlg-header { + color: #fff; +} + + +``` +![React File Manager Customization dialog](./images/customize_dialog.png) \ No newline at end of file diff --git a/ej2-react/file-manager/images/customize_dialog.png b/ej2-react/file-manager/images/customize_dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..fe94635f266331b4b647e925baa4655624f9f7c5 GIT binary patch literal 42531 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

    ~FNS&U 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 Gp$P!jKx$Y3 literal 0 HcmV?d00001 diff --git a/ej2-react/file-manager/images/customize_selected_file.png b/ej2-react/file-manager/images/customize_selected_file.png new file mode 100644 index 0000000000000000000000000000000000000000..2e575f90e66278f61607f298cc81c49965e2262a GIT binary patch literal 37233 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�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 literal 0 HcmV?d00001 From e0a39ec9a387cbafeb060c34b3b148ea414c96c2 Mon Sep 17 00:00:00 2001 From: Build Automaion Date: Tue, 28 Oct 2025 20:02:45 +0530 Subject: [PATCH 09/19] Integrated latest changes at 10-28-2025 7:30:09 PM --- ej2-react-toc.html | 6 +-- .../ai-integrations/gemini-integration.md | 2 +- .../ai-integrations/ollama-llm-integration.md | 2 +- .../ai-integrations/openai-integration.md | 4 +- .../copilot-extension.md | 0 .../mcp-server.md | 9 ++-- .../overview.md | 2 +- .../prompt-library.md | 4 +- ej2-react/chart/getting-started.md | 2 +- .../integration-with-bot-framework.md | 4 +- .../integration-with-dialogflow.md | 6 +-- .../ai-integrations/llm-model/app/index.jsx | 2 +- .../ai-integrations/llm-model/app/index.tsx | 2 +- .../ai-assistview/speech/stt/app/index.jsx | 39 ++++++++++-------- .../ai-assistview/speech/stt/app/index.tsx | 41 +++++++++++-------- .../ai-assistview/speech/stt/index.html | 14 +++---- .../speech/stt/systemjs.config.js | 1 + .../ai-assistview/speech/tts/app/index.jsx | 6 +-- .../ai-assistview/speech/tts/app/index.tsx | 6 +-- ej2-react/diagram/getting-started.md | 2 +- ej2-react/grid/getting-started.md | 2 +- ej2-react/introduction.md | 2 +- ej2-react/kanban/getting-started.md | 2 +- ej2-react/pivotview/getting-started.md | 2 +- ej2-react/rich-text-editor/getting-started.md | 2 +- ej2-react/schedule/getting-started.md | 2 +- 26 files changed, 91 insertions(+), 75 deletions(-) rename ej2-react/{ai-coding-assistants => ai-coding-assistant}/copilot-extension.md (100%) rename ej2-react/{ai-coding-assistants => ai-coding-assistant}/mcp-server.md (93%) rename ej2-react/{ai-coding-assistants => ai-coding-assistant}/overview.md (97%) rename ej2-react/{ai-coding-assistants => ai-coding-assistant}/prompt-library.md (99%) diff --git a/ej2-react-toc.html b/ej2-react-toc.html index d4bf70aba..619aa1c9b 100644 --- a/ej2-react-toc.html +++ b/ej2-react-toc.html @@ -22,9 +22,9 @@

  • AI Coding Assistant
  • diff --git a/ej2-react/ai-assistview/ai-integrations/gemini-integration.md b/ej2-react/ai-assistview/ai-integrations/gemini-integration.md index f3a2f525f..3fe392e34 100644 --- a/ej2-react/ai-assistview/ai-integrations/gemini-integration.md +++ b/ej2-react/ai-assistview/ai-integrations/gemini-integration.md @@ -26,7 +26,7 @@ Before starting, ensure you have the following: ## Set Up the React Environment -Follow the Syncfusion AI AssistView [Getting Started](../getting-started) guide to configure and render the AI AssistView component in your React application. +Follow the [Getting Started](../getting-started) guide to configure and render the AI AssistView component in your React application. ## Install Dependencies diff --git a/ej2-react/ai-assistview/ai-integrations/ollama-llm-integration.md b/ej2-react/ai-assistview/ai-integrations/ollama-llm-integration.md index ce5652115..fc391b985 100644 --- a/ej2-react/ai-assistview/ai-integrations/ollama-llm-integration.md +++ b/ej2-react/ai-assistview/ai-integrations/ollama-llm-integration.md @@ -26,7 +26,7 @@ Before starting, ensure you have the following: ## Set Up the React Environment -Follow the Syncfusion AI AssistView [Getting Started](../getting-started) guide to configure and render the AI AssistView component in your React application. +Follow the [Getting Started](../getting-started) guide to configure and render the AI AssistView component in your React application. ## Install Dependency diff --git a/ej2-react/ai-assistview/ai-integrations/openai-integration.md b/ej2-react/ai-assistview/ai-integrations/openai-integration.md index b2e4c0f1e..d7e38d518 100644 --- a/ej2-react/ai-assistview/ai-integrations/openai-integration.md +++ b/ej2-react/ai-assistview/ai-integrations/openai-integration.md @@ -26,7 +26,7 @@ Before starting, ensure you have the following: ## Set Up the React Environment -Follow the Syncfusion AI AssistView [Getting Started](../getting-started) guide to configure and render the AI AssistView component in your React application. +Follow the [Getting Started](../getting-started) guide to configure and render the AI AssistView component in your React application. ## Install Dependency @@ -48,7 +48,7 @@ To install the marked library, run `npm install marked --save` in your project d > `Security Note`: Never expose your API key in client-side code for production applications. Use a server-side proxy or environment variables to manage sensitive information securely. -## Configure Azure OpenAI with AI AssistView +## Configure AI AssistView with Azure OpenAI Modify the `src/App.js` file to integrate Azure OpenAI with the Syncfusion AI AssistView component. diff --git a/ej2-react/ai-coding-assistants/copilot-extension.md b/ej2-react/ai-coding-assistant/copilot-extension.md similarity index 100% rename from ej2-react/ai-coding-assistants/copilot-extension.md rename to ej2-react/ai-coding-assistant/copilot-extension.md diff --git a/ej2-react/ai-coding-assistants/mcp-server.md b/ej2-react/ai-coding-assistant/mcp-server.md similarity index 93% rename from ej2-react/ai-coding-assistants/mcp-server.md rename to ej2-react/ai-coding-assistant/mcp-server.md index 317a02b00..c37757fe8 100644 --- a/ej2-react/ai-coding-assistants/mcp-server.md +++ b/ej2-react/ai-coding-assistant/mcp-server.md @@ -67,11 +67,10 @@ Below are setup instructions for popular MCP clients: ### Syncfusion® Code Studio -* In [Code Studio](https://www.syncfusion.com/code-studio/), open MCP Marketplace and navigate to the `Custom Servers` tab. -* Enter the Server Name as `react-mcp`, choose Server Type as npm package, and set the NPM Package name to `@syncfusion/react-assistant`. -* Add an environment variable as `Syncfusion_API_Key` and value as your [Syncfusion API key](https://syncfusion.com/account/api-key), then click **Install Server**. -* Once installed, the server will appear in the User Installed Server list, and will be added to the **config.yaml** file. -* The server is now ready for use in Code Studio. For more details, refer to the [Code Studio documentation](https://help.syncfusion.com/code-studio/reference/configure-properties/mcp/customservers#npm-server). +* In [Code Studio](https://www.syncfusion.com/code-studio/), open MCP Marketplace, find `SyncfusionReactAssistant`, and click Install. +* When prompted, enter your [Syncfusion API key](https://syncfusion.com/account/api-key) and click Submit to register. +* It installs locally on your machine and appears in the Installed list. +* The server is now ready for use in Code Studio. For more details, refer to the [Code Studio documentation](https://help.syncfusion.com/code-studio/reference/configure-properties/mcp/marketplace). ### VS Code (GitHub Copilot MCP) diff --git a/ej2-react/ai-coding-assistants/overview.md b/ej2-react/ai-coding-assistant/overview.md similarity index 97% rename from ej2-react/ai-coding-assistants/overview.md rename to ej2-react/ai-coding-assistant/overview.md index ead49e392..c7632e11d 100644 --- a/ej2-react/ai-coding-assistants/overview.md +++ b/ej2-react/ai-coding-assistant/overview.md @@ -66,5 +66,5 @@ The Syncfusion® AI Coding Assistant is desi ## See also -* Add the [SyncfusionReactAssistant MCP Server](https://ej2.syncfusion.com/react/documentation/ai-coding-assistants/mcp-server) to an MCP-enabled client +* Add the [SyncfusionReactAssistant MCP Server](https://ej2.syncfusion.com/react/documentation/ai-coding-assistant/mcp-server) to an MCP-enabled client * [Syncfusion® React Documentation](https://ej2.syncfusion.com/react/documentation) diff --git a/ej2-react/ai-coding-assistants/prompt-library.md b/ej2-react/ai-coding-assistant/prompt-library.md similarity index 99% rename from ej2-react/ai-coding-assistants/prompt-library.md rename to ej2-react/ai-coding-assistant/prompt-library.md index 9350834ef..8b45f8da6 100644 --- a/ej2-react/ai-coding-assistants/prompt-library.md +++ b/ej2-react/ai-coding-assistant/prompt-library.md @@ -406,5 +406,5 @@ Advanced Calendar Setup ## See also -* [AI Coding Assistant Overview](https://ej2.syncfusion.com/react/documentation/ai-coding-assistants/overview) -* [SyncfusionReactAssistant MCP Server](https://ej2.syncfusion.com/react/documentation/ai-coding-assistants/mcp-server) +* [AI Coding Assistant Overview](https://ej2.syncfusion.com/react/documentation/ai-coding-assistant/overview) +* [SyncfusionReactAssistant MCP Server](https://ej2.syncfusion.com/react/documentation/ai-coding-assistant/mcp-server) diff --git a/ej2-react/chart/getting-started.md b/ej2-react/chart/getting-started.md index 4791a6c98..ccff36fd6 100644 --- a/ej2-react/chart/getting-started.md +++ b/ej2-react/chart/getting-started.md @@ -13,7 +13,7 @@ domainurl: ##DomainURL## This section explains you the steps required to create a simple chart and demonstrate the basic usage of the chart control. -> **Ready to streamline your Syncfusion® React development?** Discover the full potential of Syncfusion® React components with Syncfusion® AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like VS Code, Cursor, Syncfusion® CodeStudio and more. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/react/documentation/ai-coding-assistants/overview) +> **Ready to streamline your Syncfusion® React development?** Discover the full potential of Syncfusion® React components with Syncfusion® AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like VS Code, Cursor, Syncfusion® CodeStudio and more. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/react/documentation/ai-coding-assistant/overview) To get start quickly with React Charts, you can check on this video: diff --git a/ej2-react/chat-ui/bot-integrations/integration-with-bot-framework.md b/ej2-react/chat-ui/bot-integrations/integration-with-bot-framework.md index 1ce68bd00..4ab784fe0 100644 --- a/ej2-react/chat-ui/bot-integrations/integration-with-bot-framework.md +++ b/ej2-react/chat-ui/bot-integrations/integration-with-bot-framework.md @@ -26,7 +26,7 @@ Before starting, ensure you have the following: ## Set Up the React Environment -Follow the Syncfusion Chat UI [Getting Started](../getting-started) guide to configure and render the Chat UI component in your React application. +Follow the [Getting Started](../getting-started) guide to configure and render the Chat UI component in your React application. ## Install Dependencies @@ -110,7 +110,7 @@ app.listen(port, () => console.log(`Token server running on http://localhost:${p ## Configure ChatUI -Modify the `src/App.js` file to connect the Syncfusion Chat UI to the bot via the direct line API: +Modify the `src/App.js` file to connect the Chat UI to the bot via the direct line API: {% tabs %} {% highlight js tabtitle="App.js" %} diff --git a/ej2-react/chat-ui/bot-integrations/integration-with-dialogflow.md b/ej2-react/chat-ui/bot-integrations/integration-with-dialogflow.md index 498f161e8..2c07699d8 100644 --- a/ej2-react/chat-ui/bot-integrations/integration-with-dialogflow.md +++ b/ej2-react/chat-ui/bot-integrations/integration-with-dialogflow.md @@ -26,7 +26,7 @@ Before starting, ensure you have the following: ## Set Up the React Environment -Follow the Syncfusion Chat UI [Getting Started](../getting-started) guide to configure and render the Chat UI component in your React application. +Follow the [Getting Started](../getting-started) guide to configure and render the Chat UI component in your React application. ## Install Dependency @@ -116,7 +116,7 @@ app.listen(5000, () => console.log('Backend running on http://localhost:5000')); ## Configure message send -Use the Chat UI `messageSend` event to exchanges message. Each time a user sends a message, this event will be invoked with details of the sent message. +Use the Chat UI [messageSend](../api/chat-ui/#messagesend) event to exchanges message. Each time a user sends a message, this event will be invoked with details of the sent message. ### Forward Message to backend: @@ -124,7 +124,7 @@ Upon message submission, a POST request is sent to your backend API endpoint (`/ ### Displaying Bot response: -Modify the `src/App.js` file to integrate the Syncfusion Chat UI with the dialogflow backend: +Modify the `src/App.js` file to integrate the Chat UI with the dialogflow backend: {% tabs %} {% highlight js tabtitle="App.js" %} diff --git a/ej2-react/code-snippet/ai-assistview/ai-integrations/llm-model/app/index.jsx b/ej2-react/code-snippet/ai-assistview/ai-integrations/llm-model/app/index.jsx index ecd7eb2ee..d247d250d 100644 --- a/ej2-react/code-snippet/ai-assistview/ai-integrations/llm-model/app/index.jsx +++ b/ej2-react/code-snippet/ai-assistview/ai-integrations/llm-model/app/index.jsx @@ -61,7 +61,7 @@ function App() { return response.json(); }) .then(reply => { - const responseText = reply.response?.trim() || 'No response received.'; + const responseText = reply.response.trim() || 'No response received.'; stopStreaming = false; streamResponse(responseText); }) diff --git a/ej2-react/code-snippet/ai-assistview/ai-integrations/llm-model/app/index.tsx b/ej2-react/code-snippet/ai-assistview/ai-integrations/llm-model/app/index.tsx index 3df8566c5..d39900b0c 100644 --- a/ej2-react/code-snippet/ai-assistview/ai-integrations/llm-model/app/index.tsx +++ b/ej2-react/code-snippet/ai-assistview/ai-integrations/llm-model/app/index.tsx @@ -65,7 +65,7 @@ function App() { return response.json(); }) .then(reply => { - const responseText = reply.response?.trim() || 'No response received.'; + const responseText = reply.response.trim() || 'No response received.'; stopStreaming = false; streamResponse(responseText); }) diff --git a/ej2-react/code-snippet/ai-assistview/speech/stt/app/index.jsx b/ej2-react/code-snippet/ai-assistview/speech/stt/app/index.jsx index 2abc9cf48..fb23a97fc 100644 --- a/ej2-react/code-snippet/ai-assistview/speech/stt/app/index.jsx +++ b/ej2-react/code-snippet/ai-assistview/speech/stt/app/index.jsx @@ -25,8 +25,10 @@ function App() { const promptToolbarSettings = { itemClicked: (args) => { if (args.item.iconCss === "e-icons e-assist-edit") { - assistviewFooter.current.innerHTML = assistInstance.current.prompts[args.dataIndex].prompt; - toggleButtons(); + if (assistInstance.current && assistviewFooter.current) { + assistviewFooter.current.innerHTML = assistInstance.current.prompts[args.dataIndex].prompt; + toggleButtons(); + } } } }; @@ -65,8 +67,10 @@ function App() { i++; if (i % responseUpdateRate === 0 || i === responseLength) { const htmlResponse = marked.parse(lastResponse); - assistInstance.current?.addPromptResponse(htmlResponse, i === responseLength); - assistInstance.current?.scrollToBottom(); + if (assistInstance.current) { + assistInstance.current.addPromptResponse(htmlResponse, i === responseLength); + assistInstance.current.scrollToBottom(); + } } await new Promise(resolve => setTimeout(resolve, 15)); // Delay for streaming effect } @@ -99,7 +103,9 @@ function App() { streamResponse(responseText); }) .catch((error) => { - assistInstance.current.addPromptResponse('⚠️ Something went wrong while connecting to the AI service. Please check your API key, Deployment model, endpoint or try again later.', true); + if (assistInstance.current) { + assistInstance.current.addPromptResponse('⚠️ Something went wrong while connecting to the AI service. Please check your API key, Deployment model, endpoint or try again later.', true); + } stopStreaming = true; toggleButtons(); }); @@ -108,14 +114,18 @@ function App() { // Handles toolbar item clicks, such as clearing the conversation on refresh const toolbarItemClicked = (args) => { if (args.item.iconCss === 'e-icons e-refresh') { - assistInstance.current.prompts = []; + if (assistInstance.current) { + assistInstance.current.prompts = []; + } } }; // Executes the current prompt from the footer input and clears it const sendIconClicked = () => { - assistInstance.current.executePrompt(assistviewFooter.current.innerText); - assistviewFooter.current.innerText = ''; + if (assistInstance.current && assistviewFooter.current) { + assistInstance.current.executePrompt(assistviewFooter.current.innerText); + assistviewFooter.current.innerText = ''; + } }; // Updates the footer input with the latest speech transcript @@ -138,11 +148,13 @@ function App() { // Toggles visibility of send and speech buttons based on whether the input has text const toggleButtons = () => { const assistviewFooterEle = assistviewFooter.current; - const sendButtonEle = assistviewSendButton.current?.element; - const speechButtonEle = speechToTextObj.current?.element; - if (!assistviewFooterEle || !sendButtonEle || !speechButtonEle) { + const sendButtonComp = assistviewSendButton.current; // Get the component instance + const speechButtonComp = speechToTextObj.current; // Get the component instance + if (!assistviewFooterEle || !sendButtonComp || !sendButtonComp.element || !speechButtonComp || !speechButtonComp.element) { return; } + const sendButtonEle = sendButtonComp.element; + const speechButtonEle = speechButtonComp.element; const hasText = assistviewFooterEle.innerText.trim() !== ''; sendButtonEle.classList.toggle('visible', hasText); speechButtonEle.classList.toggle('visible', !hasText); @@ -164,11 +176,6 @@ function App() { toggleButtons(); }; - React.useEffect(() => { - // Defer toggleButtons until after mount to ensure refs are ready - toggleButtons(); - }, []); - return (
    { if (args.item.iconCss === "e-icons e-assist-edit") { - assistviewFooter.current.innerHTML = assistInstance.current.prompts[args.dataIndex].prompt; - toggleButtons(); + if (assistInstance.current && assistviewFooter.current) { // Added null check + assistviewFooter.current.innerHTML = assistInstance.current.prompts[args.dataIndex].prompt; + toggleButtons(); + } } } }; @@ -65,8 +67,11 @@ function App() { i++; if (i % responseUpdateRate === 0 || i === responseLength) { const htmlResponse = marked.parse(lastResponse); - assistInstance.current?.addPromptResponse(htmlResponse, i === responseLength); - assistInstance.current?.scrollToBottom(); + // Ensure assistInstance.current exists before using it + if (assistInstance.current) { + assistInstance.current.addPromptResponse(htmlResponse, i === responseLength); + assistInstance.current.scrollToBottom(); + } } await new Promise(resolve => setTimeout(resolve, 15)); // Delay for streaming effect } @@ -99,7 +104,10 @@ function App() { streamResponse(responseText); }) .catch((error: unknown) => { - assistInstance.current.addPromptResponse('⚠️ Something went wrong while connecting to the AI service. Please check your API key, Deployment model, endpoint or try again later.', true); + // Ensure assistInstance.current exists before using it + if (assistInstance.current) { + assistInstance.current.addPromptResponse('⚠️ Something went wrong while connecting to the AI service. Please check your API key, Deployment model, endpoint or try again later.', true); + } stopStreaming = true; toggleButtons(); }); @@ -108,14 +116,18 @@ function App() { // Handles toolbar item clicks, such as clearing the conversation on refresh const toolbarItemClicked = (args: ToolbarItemClickedEventArgs) => { if (args.item.iconCss === 'e-icons e-refresh') { - assistInstance.current.prompts = []; + if (assistInstance.current) { // Added null check + assistInstance.current.prompts = []; + } } }; // Executes the current prompt from the footer input and clears it const sendIconClicked = () => { - assistInstance.current.executePrompt(assistviewFooter.current.innerText); - assistviewFooter.current.innerText = ''; + if (assistInstance.current && assistviewFooter.current) { // Added null check + assistInstance.current.executePrompt(assistviewFooter.current.innerText); + assistviewFooter.current.innerText = ''; + } }; // Updates the footer input with the latest speech transcript @@ -138,11 +150,13 @@ function App() { // Toggles visibility of send and speech buttons based on whether the input has text const toggleButtons = () => { const assistviewFooterEle = assistviewFooter.current; - const sendButtonEle = assistviewSendButton.current?.element; - const speechButtonEle = speechToTextObj.current?.element; - if (!assistviewFooterEle || !sendButtonEle || !speechButtonEle) { + const sendButtonComp = assistviewSendButton.current; // Get the component instance + const speechButtonComp = speechToTextObj.current; // Get the component instance + if (!assistviewFooterEle || !sendButtonComp || !sendButtonComp.element || !speechButtonComp || !speechButtonComp.element) { return; } + const sendButtonEle = sendButtonComp.element; + const speechButtonEle = speechButtonComp.element; const hasText = assistviewFooterEle.innerText.trim() !== ''; sendButtonEle.classList.toggle('visible', hasText); speechButtonEle.classList.toggle('visible', !hasText); @@ -164,11 +178,6 @@ function App() { toggleButtons(); }; - React.useEffect(() => { - // Defer toggleButtons until after mount to ensure refs are ready - toggleButtons(); - }, []); - return (
    - - - - - - - + + + + + + + diff --git a/ej2-react/code-snippet/ai-assistview/speech/stt/systemjs.config.js b/ej2-react/code-snippet/ai-assistview/speech/stt/systemjs.config.js index a407cba76..cedfcdc13 100644 --- a/ej2-react/code-snippet/ai-assistview/speech/stt/systemjs.config.js +++ b/ej2-react/code-snippet/ai-assistview/speech/stt/systemjs.config.js @@ -36,6 +36,7 @@ System.config({ "@syncfusion/ej2-react-inputs": "syncfusion:ej2-react-inputs/dist/ej2-react-inputs.umd.min.js", "@syncfusion/ej2-react-navigations": "syncfusion:ej2-react-navigations/dist/ej2-react-navigations.umd.min.js", "@syncfusion/ej2-react-notifications": "syncfusion:ej2-react-notifications/dist/ej2-react-notifications.umd.min.js", + "@syncfusion/ej2-react-buttons": "syncfusion:ej2-react-buttons/dist/ej2-react-buttons.umd.min.js", "react-dom": "https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js", "react": "https://unpkg.com/react@18.2.0/umd/react.production.min.js", "marked": "https://cdn.jsdelivr.net/npm/marked/marked.min.js" diff --git a/ej2-react/code-snippet/ai-assistview/speech/tts/app/index.jsx b/ej2-react/code-snippet/ai-assistview/speech/tts/app/index.jsx index 44666b972..3eeb4af50 100644 --- a/ej2-react/code-snippet/ai-assistview/speech/tts/app/index.jsx +++ b/ej2-react/code-snippet/ai-assistview/speech/tts/app/index.jsx @@ -49,8 +49,8 @@ function App() { i++; if (i % responseUpdateRate === 0 || i === responseLength) { const htmlResponse = marked.parse(lastResponse); - assistInstance.current?.addPromptResponse(htmlResponse, i === responseLength); - assistInstance.current?.scrollToBottom(); + assistInstance.current.addPromptResponse(htmlResponse, i === responseLength); + assistInstance.current.scrollToBottom(); } await new Promise(resolve => setTimeout(resolve, 15)); // Delay for streaming effect } @@ -96,7 +96,7 @@ function App() { // Handles clicks on response toolbar items, such as copying, reading aloud, liking, or disliking the response const onResponseToolbarItemClicked = (args) => { - const responseHtml = assistInstance.current?.prompts[args.dataIndex].response; + const responseHtml = assistInstance.current.prompts[args.dataIndex].response; if (responseHtml) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = responseHtml; diff --git a/ej2-react/code-snippet/ai-assistview/speech/tts/app/index.tsx b/ej2-react/code-snippet/ai-assistview/speech/tts/app/index.tsx index ef3f39a9d..60b2eae3b 100644 --- a/ej2-react/code-snippet/ai-assistview/speech/tts/app/index.tsx +++ b/ej2-react/code-snippet/ai-assistview/speech/tts/app/index.tsx @@ -49,8 +49,8 @@ function App() { i++; if (i % responseUpdateRate === 0 || i === responseLength) { const htmlResponse = marked.parse(lastResponse); - assistInstance.current?.addPromptResponse(htmlResponse, i === responseLength); - assistInstance.current?.scrollToBottom(); + assistInstance.current.addPromptResponse(htmlResponse, i === responseLength); + assistInstance.current.scrollToBottom(); } await new Promise(resolve => setTimeout(resolve, 15)); // Delay for streaming effect } @@ -96,7 +96,7 @@ function App() { // Handles clicks on response toolbar items, such as copying, reading aloud, liking, or disliking the response const onResponseToolbarItemClicked = (args: ToolbarItemClickedEventArgs) => { - const responseHtml = assistInstance.current?.prompts[args.dataIndex].response; + const responseHtml = assistInstance.current.prompts[args.dataIndex].response; if (responseHtml) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = responseHtml; diff --git a/ej2-react/diagram/getting-started.md b/ej2-react/diagram/getting-started.md index ca185a91f..463a56a6f 100644 --- a/ej2-react/diagram/getting-started.md +++ b/ej2-react/diagram/getting-started.md @@ -12,7 +12,7 @@ domainurl: ##DomainURL## This section explains the steps required to create a simple diagram and demonstrates the basic usage of the diagram control in React applications. -> **Ready to streamline your Syncfusion® React development?** Discover the full potential of Syncfusion® React components with Syncfusion® AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like VS Code, Cursor, Syncfusion® CodeStudio and more. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/react/documentation/ai-coding-assistants/overview) +> **Ready to streamline your Syncfusion® React development?** Discover the full potential of Syncfusion® React components with Syncfusion® AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like VS Code, Cursor, Syncfusion® CodeStudio and more. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/react/documentation/ai-coding-assistant/overview) ## Prerequisites diff --git a/ej2-react/grid/getting-started.md b/ej2-react/grid/getting-started.md index 9d8ac6cdb..3a347891c 100644 --- a/ej2-react/grid/getting-started.md +++ b/ej2-react/grid/getting-started.md @@ -12,7 +12,7 @@ domainurl: ##DomainURL## This section explains you the steps required to create a simple Grid and demonstrate the basic usage of the Grid component in React environment. -> **Ready to streamline your Syncfusion® React development?** Discover the full potential of Syncfusion® React components with Syncfusion® AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like VS Code, Cursor, Syncfusion® CodeStudio and more. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/react/documentation/ai-coding-assistants/overview) +> **Ready to streamline your Syncfusion® React development?** Discover the full potential of Syncfusion® React components with Syncfusion® AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like VS Code, Cursor, Syncfusion® CodeStudio and more. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/react/documentation/ai-coding-assistant/overview) To get start quickly with React Grid, you can check on this video: diff --git a/ej2-react/introduction.md b/ej2-react/introduction.md index 34243a335..eecebc710 100644 --- a/ej2-react/introduction.md +++ b/ej2-react/introduction.md @@ -12,7 +12,7 @@ domainurl: ##DomainURL## Syncfusion® React (Essential® JS 2) is a modern UI components library built from the ground up to be lightweight, responsive, modular, and touch friendly. -> **Ready to streamline your Syncfusion® React development?** Discover the full potential of Syncfusion® React components with Syncfusion® AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like VS Code, Cursor, Syncfusion® CodeStudio and more. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/react/documentation/ai-coding-assistants/overview) +> **Ready to streamline your Syncfusion® React development?** Discover the full potential of Syncfusion® React components with Syncfusion® AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like VS Code, Cursor, Syncfusion® CodeStudio and more. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/react/documentation/ai-coding-assistant/overview) ## Components list diff --git a/ej2-react/kanban/getting-started.md b/ej2-react/kanban/getting-started.md index fb3c533bd..db8db58de 100644 --- a/ej2-react/kanban/getting-started.md +++ b/ej2-react/kanban/getting-started.md @@ -12,7 +12,7 @@ domainurl: ##DomainURL## This article provides a step-by-step introduction to get started with the Syncfusion® React Kanban component. -> **Ready to streamline your Syncfusion® React development?** Discover the full potential of Syncfusion® React components with Syncfusion® AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like VS Code, Cursor, Syncfusion® CodeStudio and more. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/react/documentation/ai-coding-assistants/overview) +> **Ready to streamline your Syncfusion® React development?** Discover the full potential of Syncfusion® React components with Syncfusion® AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like VS Code, Cursor, Syncfusion® CodeStudio and more. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/react/documentation/ai-coding-assistant/overview) ## Overview diff --git a/ej2-react/pivotview/getting-started.md b/ej2-react/pivotview/getting-started.md index 7028b6d81..47f48e3de 100644 --- a/ej2-react/pivotview/getting-started.md +++ b/ej2-react/pivotview/getting-started.md @@ -12,7 +12,7 @@ domainurl: ##DomainURL## This section guides you through the steps to create a simple [Pivot Table](https://www.syncfusion.com/react-components/react-pivot-table) in a React application. It demonstrates how to set up and use the Pivot Table component to display and analyze data effectively. -> **Ready to streamline your Syncfusion® React development?** Discover the full potential of Syncfusion® React components with Syncfusion® AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like VS Code, Cursor, Syncfusion® CodeStudio and more. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/react/documentation/ai-coding-assistants/overview) +> **Ready to streamline your Syncfusion® React development?** Discover the full potential of Syncfusion® React components with Syncfusion® AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like VS Code, Cursor, Syncfusion® CodeStudio and more. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/react/documentation/ai-coding-assistant/overview) To get started quickly with the React [Pivot Table](https://www.syncfusion.com/react-components/react-pivot-table), watch this video: diff --git a/ej2-react/rich-text-editor/getting-started.md b/ej2-react/rich-text-editor/getting-started.md index 387405953..6b47ad315 100644 --- a/ej2-react/rich-text-editor/getting-started.md +++ b/ej2-react/rich-text-editor/getting-started.md @@ -12,7 +12,7 @@ domainurl: ##DomainURL## The Syncfusion React Rich Text Editor is a WYSIWYG (What You See Is What You Get) editor that enables users to create, edit, and format rich text content with features like multimedia insertion, lists, and links. This section explains the steps to create a simple React Rich Text Editor component and configure its core functionalities. -> **Ready to streamline your Syncfusion® React development?** Discover the full potential of Syncfusion® React components with Syncfusion® AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like VS Code, Cursor, Syncfusion® CodeStudio and more. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/react/documentation/ai-coding-assistants/overview) +> **Ready to streamline your Syncfusion® React development?** Discover the full potential of Syncfusion® React components with Syncfusion® AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like VS Code, Cursor, Syncfusion® CodeStudio and more. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/react/documentation/ai-coding-assistant/overview) To get started quickly with the React Rich Text Editor, refer to this video tutorial: diff --git a/ej2-react/schedule/getting-started.md b/ej2-react/schedule/getting-started.md index ef9a42b64..05615c984 100644 --- a/ej2-react/schedule/getting-started.md +++ b/ej2-react/schedule/getting-started.md @@ -12,7 +12,7 @@ domainurl: ##DomainURL## This section briefly explains how to create [**React Scheduler**](https://www.syncfusion.com/react-components/react-scheduler) component and configure its available functionalities in React environment, using Essential® JS 2 [quickstart](https://github.com/syncfusion/ej2-quickstart.git) seed repository. -> **Ready to streamline your Syncfusion® React development?** Discover the full potential of Syncfusion® React components with Syncfusion® AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like VS Code, Cursor, Syncfusion® CodeStudio and more. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/react/documentation/ai-coding-assistants/overview) +> **Ready to streamline your Syncfusion® React development?** Discover the full potential of Syncfusion® React components with Syncfusion® AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like VS Code, Cursor, Syncfusion® CodeStudio and more. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/react/documentation/ai-coding-assistant/overview) To get start quickly with React Scheduler using the Create React App, you can check on this video: From 01329f62218c5160ea9c11902077078e333869c7 Mon Sep 17 00:00:00 2001 From: Build Automaion Date: Wed, 29 Oct 2025 19:42:22 +0530 Subject: [PATCH 10/19] Integrated latest changes at 10-29-2025 7:30:04 PM --- ej2-react/code-snippet/grid/filter-cs6/app/App.jsx | 2 +- ej2-react/code-snippet/grid/filter-cs6/app/App.tsx | 6 +++--- ej2-react/gantt/getting-started.md | 2 +- ej2-react/grid/columns/column-resizing.md | 14 +++++++------- ej2-react/grid/filtering/filter-bar.md | 2 +- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/ej2-react/code-snippet/grid/filter-cs6/app/App.jsx b/ej2-react/code-snippet/grid/filter-cs6/app/App.jsx index 603dcadc8..3851b98d7 100644 --- a/ej2-react/code-snippet/grid/filter-cs6/app/App.jsx +++ b/ej2-react/code-snippet/grid/filter-cs6/app/App.jsx @@ -9,7 +9,7 @@ function App() { const filterSettings = { type: 'Menu' }; const formatOptions = { type: 'dateTime', format: 'M/d/y HH:mm' }; const actionComplete = (args) => { - if (args.requestType === 'filterafteropen') { + if (args.requestType === 'filterAfterOpen') { const columnObj = grid.getColumnByField(args.columnName); if (columnObj.type === 'datetime') { const dateObj = document.getElementById('dateui-' + columnObj.uid)['ej2_instances'][0]; diff --git a/ej2-react/code-snippet/grid/filter-cs6/app/App.tsx b/ej2-react/code-snippet/grid/filter-cs6/app/App.tsx index 004f4f67b..4e7915be5 100644 --- a/ej2-react/code-snippet/grid/filter-cs6/app/App.tsx +++ b/ej2-react/code-snippet/grid/filter-cs6/app/App.tsx @@ -1,4 +1,4 @@ -import { ColumnDirective, ColumnsDirective, FilterEventArgs, FilterSettingsModel, Page, PageSettingsModel } from '@syncfusion/ej2-react-grids'; +import { ColumnDirective, ColumnsDirective, FilterMenuRendererArgs, FilterSettingsModel, Page, PageSettingsModel } from '@syncfusion/ej2-react-grids'; import { Filter, GridComponent, Inject } from '@syncfusion/ej2-react-grids' import * as React from 'react'; import { data } from './datasource'; @@ -8,8 +8,8 @@ function App() { const pageSettings: PageSettingsModel = { pageCount: 5 }; const filterSettings: FilterSettingsModel = { type: 'Menu' }; const formatOptions: Object = { type: 'dateTime', format: 'M/d/y HH:mm' }; - const actionComplete = (args: FilterEventArgs) => { - if (args.requestType === 'filterafteropen') { + const actionComplete = (args: FilterMenuRendererArgs) => { + if (args.requestType === 'filterAfterOpen') { const columnObj = (grid as GridComponent).getColumnByField(args.columnName); if (columnObj.type === 'datetime') { const dateObj = (document.getElementById('dateui-' + columnObj.uid)as Element)['ej2_instances'][0]; diff --git a/ej2-react/gantt/getting-started.md b/ej2-react/gantt/getting-started.md index c8284f80f..b021bcb31 100644 --- a/ej2-react/gantt/getting-started.md +++ b/ej2-react/gantt/getting-started.md @@ -12,7 +12,7 @@ domainurl: ##DomainURL## This section explains you the steps required to create a simple Essential® JS 2 Gantt in a React application and demonstrates its basic features. -> **Ready to streamline your Syncfusion® React development?** Discover the full potential of Syncfusion® React components with Syncfusion® AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like VS Code, Cursor, Syncfusion® CodeStudio and more. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/react/documentation/ai-coding-assistants/overview) +> **Ready to streamline your Syncfusion® React development?** Discover the full potential of Syncfusion® React components with Syncfusion® AI Coding Assistant. Effortlessly integrate, configure, and enhance your projects with intelligent, context-aware code suggestions, streamlined setups, and real-time insights—all seamlessly integrated into your preferred AI-powered IDEs like VS Code, Cursor, Syncfusion® CodeStudio and more. [Explore Syncfusion® AI Coding Assistant](https://ej2.syncfusion.com/react/documentation/ai-coding-assistant/overview) To get started quickly with React Gantt Chart the following video explains the project configuration and basic Gantt chart features behaviors: diff --git a/ej2-react/grid/columns/column-resizing.md b/ej2-react/grid/columns/column-resizing.md index dfe6f10bf..e2d904851 100644 --- a/ej2-react/grid/columns/column-resizing.md +++ b/ej2-react/grid/columns/column-resizing.md @@ -33,7 +33,7 @@ To use the column resize, inject **Resize** module in the grid. {% previewsample "page.domainurl/code-snippet/grid/column-cs15" %} ->* You can disable Resizing for a particular column, by specifying [allowResizing](https://ej2.syncfusion.com/react/documentation/api/grid/columnDirective/#allowresizing) to **false**. +>* You can disable Resizing for a particular column, by specifying [allowResizing](https://ej2.syncfusion.com/react/documentation/api/grid/column/#allowresizing) to **false**. >* In RTL mode, you can click and drag the left edge of header cell to resize the column. >* The `width` property of the column can be set initially to define the default width of the column. However, when column resizing is enabled, you can override the default width by manually resizing the columns. @@ -41,7 +41,7 @@ To use the column resize, inject **Resize** module in the grid. The Grid component allows you to restrict the column width resizing between a minimum and maximum width. This can be useful when you want to ensure that your grid's columns stay within a certain range of sizes. -To enable this feature, you can define the [minWidth](https://ej2.syncfusion.com/react/documentation/api/grid/columnDirective/#minwidth) and [maxWidth](https://ej2.syncfusion.com/react/documentation/api/grid/columnDirective/#maxwidth) properties of the columns directive for the respective column. +To enable this feature, you can define the [minWidth](https://ej2.syncfusion.com/react/documentation/api/grid/column/#minwidth) and [maxWidth](https://ej2.syncfusion.com/react/documentation/api/grid/column/#maxwidth) properties of the columns directive for the respective column. In the below code, **OrderID**, **Ship Name** and **Ship Country** columns are defined with minimum and maximum width. The **OrderID** column is set to have a minimum width of 100 pixels and a maximum width of 250 pixels. Similarly, the **ShipName** column is set to have a minimum width of 150 pixels and a maximum width of 300 pixels. The **ShipCountry** column is set to have a minimum width of 120 pixels and a maximum width of 280 pixels. @@ -70,7 +70,7 @@ In the below code, **OrderID**, **Ship Name** and **Ship Country** columns are d The Grid component provides the ability to prevent resizing for a particular column. This can be useful if you want to maintain a consistent column width or prevent users from changing the width of a column. -You can disable resizing for a particular column by setting the [allowResizing](https://ej2.syncfusion.com/react/documentation/api/grid/columnDirective/#allowresizing) property of the column to **false**. The following example demonstrates, how to disabled resize for **Customer ID** column. +You can disable resizing for a particular column by setting the [allowResizing](https://ej2.syncfusion.com/react/documentation/api/grid/column/#allowresizing) property of the column to **false**. The following example demonstrates, how to disabled resize for **Customer ID** column. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -93,7 +93,7 @@ You can disable resizing for a particular column by setting the [allowResizing]( ## Resize stacked header column -Grid component allows to resize stacked columns by clicking and dragging the right edge of the stacked column header. During the resizing action, the width of the child columns is resized at the same time. You can disable resize for any particular stacked column by setting [allowResizing](https://ej2.syncfusion.com/react/documentation/api/grid/columnDirective/#allowresizing) as **false** to its columns. +Grid component allows to resize stacked columns by clicking and dragging the right edge of the stacked column header. During the resizing action, the width of the child columns is resized at the same time. You can disable resize for any particular stacked column by setting [allowResizing](https://ej2.syncfusion.com/react/documentation/api/grid/column/#allowresizing) as **false** to its columns. In this below code, we have disabled resize for **Ship City** column. @@ -116,7 +116,7 @@ In this below code, we have disabled resize for **Ship City** column. ## Resizing modes -The Syncfusion® Grid component provides a [ResizeSettingsModel](https://ej2.syncfusion.com/react/documentation/api/grid/resizeSettingsModel/#resizesettingsmodel) interface for configuring the resizing behavior of grid columns. The interface includes a property named [mode](https://ej2.syncfusion.com/react/documentation/api/grid/resizeSettings/#mode) which is of the type [ResizeMode](https://ej2.syncfusion.com/react/documentation/api/grid/resizeMode). The `ResizeMode` is an enum that determines the available resizing modes for the grid columns. There are two resizing modes available for grid columns in Grid: +The Syncfusion® Grid component provides a [ResizeSettingsModel](https://ej2.syncfusion.com/react/documentation/api/grid/resizeSettingsModel/#resizesettingsmodel/) interface for configuring the resizing behavior of grid columns. The interface includes a property named [mode](https://ej2.syncfusion.com/react/documentation/api/grid/resizeSettings/#mode/) which is of the type [ResizeMode](https://ej2.syncfusion.com/react/documentation/api/grid/resizeMode/). The `ResizeMode` is an enum that determines the available resizing modes for the grid columns. There are two resizing modes available for grid columns in Grid: 1. `Normal Mode`: This mode does not adjust the columns to fit the remaining space. When the sum of column width is less than the grid's width, empty space will be present to the right of the last column. When the sum of column width is greater than the grid's width, columns will overflow, and a horizontal scrollbar will appear. @@ -225,9 +225,9 @@ The following screenshot represents the column resizing on the touch device. ## Resizing column externally -Grid provides the ability to resize columns using an external button click. This can be achieved by changing the [width](https://ej2.syncfusion.com/react/documentation/api/grid/columnDirective/#width) property of the column and refreshing the grid using the [refreshColumns](https://ej2.syncfusion.com/react/documentation/api/grid/#refreshcolumns) method in the external button click function. +Grid provides the ability to resize columns using an external button click. This can be achieved by changing the [width](https://ej2.syncfusion.com/react/documentation/api/grid/column/#width) property of the column and refreshing the grid using the [refreshColumns](https://ej2.syncfusion.com/react/documentation/api/grid/#refreshcolumns) method in the external button click function. -The following example demonstrates how to resize the columns in a grid. This is done by using the [change](https://ej2.syncfusion.com/react/documentation/api/drop-down-list/#change) event of the DropDownList component by change the [width](https://ej2.syncfusion.com/react/documentation/api/grid/columnDirective/#width) property of the selected column. This is accomplished using the [getColumnByField](https://ej2.syncfusion.com/react/documentation/api/grid/#getcolumnbyfield) on external button click. Then, the [refreshColumns](https://ej2.syncfusion.com/react/documentation/api/grid/#refreshcolumns) method is called on the grid component to update the displayed columns based on user interaction. +The following example demonstrates how to resize the columns in a grid. This is done by using the [change](https://ej2.syncfusion.com/react/documentation/api/drop-down-list/#change) event of the DropDownList component by change the [width](https://ej2.syncfusion.com/react/documentation/api/grid/column/#width) property of the selected column. This is accomplished using the [getColumnByField](https://ej2.syncfusion.com/react/documentation/api/grid/#getcolumnbyfield) on external button click. Then, the [refreshColumns](https://ej2.syncfusion.com/react/documentation/api/grid/#refreshcolumns) method is called on the grid component to update the displayed columns based on user interaction. {% tabs %} {% highlight js tabtitle="App.jsx" %} diff --git a/ej2-react/grid/filtering/filter-bar.md b/ej2-react/grid/filtering/filter-bar.md index 5ce83af99..165c67f24 100644 --- a/ej2-react/grid/filtering/filter-bar.md +++ b/ej2-react/grid/filtering/filter-bar.md @@ -49,7 +49,7 @@ The following example demonstrates how to activate default filtering in the grid {% previewsample "page.domainurl/code-snippet/grid/filter-cs2" %} -> To enable or dynamically switch the filter type, you must set the [filterSettings.type](https://ej2.syncfusion.com/react/documentation/api/grid/filtersettings/#type) as **FilterBar**. +> If the [filterSettings.type](https://ej2.syncfusion.com/react/documentation/api/grid/filtersettings/#type) is not explicitly specified, it defaults to **FilterBar**. ## Filter bar modes From b7bb7144545f9afcf32c0a38db1a007d40186b0a Mon Sep 17 00:00:00 2001 From: Build Automaion Date: Thu, 30 Oct 2025 19:50:35 +0530 Subject: [PATCH 11/19] Integrated latest changes at 10-30-2025 7:30:07 PM --- ej2-react-toc.html | 3 + .../code-snippet/grid/column-cs38/app/App.jsx | 7 +- .../code-snippet/grid/column-cs38/app/App.tsx | 7 +- .../grid/customizedialog-cs3/app/App.jsx | 1 - .../grid/customizedialog-cs3/app/App.tsx | 1 - .../grid/edit-single-click/app/App.jsx | 10 +- .../grid/edit-single-click/app/App.tsx | 13 +- .../fullscreen-tool-cs1/app/App.jsx | 15 + .../fullscreen-tool-cs1/app/App.tsx | 18 ++ .../fullscreen-tool-cs1/app/index.tsx | 5 + .../fullscreen-tool-cs1/index.html | 40 +++ .../fullscreen-tool-cs1/systemjs.config.js | 56 ++++ .../fullscreen-tool-cs2/app/App.jsx | 12 + .../fullscreen-tool-cs2/app/App.tsx | 16 ++ .../fullscreen-tool-cs2/app/index.tsx | 5 + .../fullscreen-tool-cs2/index.html | 40 +++ .../fullscreen-tool-cs2/systemjs.config.js | 56 ++++ .../mail-merge-cs1/app/App.jsx | 260 ++++++++++++++++++ .../mail-merge-cs1/app/App.tsx | 211 ++++++++++++++ .../mail-merge-cs1/app/index.tsx | 5 + .../mail-merge-cs1/index.html | 40 +++ .../mail-merge-cs1/systemjs.config.js | 56 ++++ .../mail-merge-cs2/app/App.jsx | 148 ++++++++++ .../mail-merge-cs2/app/App.tsx | 179 ++++++++++++ .../mail-merge-cs2/app/index.tsx | 5 + .../mail-merge-cs2/index.html | 40 +++ .../mail-merge-cs2/systemjs.config.js | 56 ++++ .../mention-min-length-cs1/app/App.jsx | 31 +++ .../mention-min-length-cs1/app/App.tsx | 38 +++ .../mention-min-length-cs1/app/index.tsx | 5 + .../mention-min-length-cs1/index.html | 87 ++++++ .../mention-min-length-cs1/systemjs.config.js | 57 ++++ .../mention-min-length-cs2/app/App.jsx | 27 ++ .../mention-min-length-cs2/app/App.tsx | 31 +++ .../mention-min-length-cs2/app/index.tsx | 5 + .../mention-min-length-cs2/index.html | 87 ++++++ .../mention-min-length-cs2/systemjs.config.js | 57 ++++ .../nested-blockquote-cs1/app/App.jsx | 29 ++ .../nested-blockquote-cs1/app/App.tsx | 31 +++ .../nested-blockquote-cs1/app/index.tsx | 5 + .../nested-blockquote-cs1/index.html | 40 +++ .../nested-blockquote-cs1/systemjs.config.js | 56 ++++ .../nested-blockquote-cs2/app/App.jsx | 28 ++ .../nested-blockquote-cs2/app/App.tsx | 31 +++ .../nested-blockquote-cs2/app/index.tsx | 5 + .../nested-blockquote-cs2/index.html | 40 +++ .../nested-blockquote-cs2/systemjs.config.js | 56 ++++ .../nesting-table-cs1/app/App.jsx | 49 ++++ .../nesting-table-cs1/app/App.tsx | 51 ++++ .../nesting-table-cs1/app/index.tsx | 5 + .../nesting-table-cs1/index.html | 40 +++ .../nesting-table-cs1/systemjs.config.js | 56 ++++ .../nesting-table-cs2/app/App.jsx | 48 ++++ .../nesting-table-cs2/app/App.tsx | 51 ++++ .../nesting-table-cs2/app/index.tsx | 5 + .../nesting-table-cs2/index.html | 40 +++ .../nesting-table-cs2/systemjs.config.js | 56 ++++ .../selection-cs1/app/App.jsx | 80 ++++++ .../selection-cs1/app/App.tsx | 86 ++++++ .../selection-cs1/app/index.tsx | 5 + .../rich-text-editor/selection-cs1/index.html | 40 +++ .../selection-cs1/systemjs.config.js | 56 ++++ .../selection-cs2/app/App.jsx | 68 +++++ .../selection-cs2/app/App.tsx | 80 ++++++ .../selection-cs2/app/index.tsx | 5 + .../rich-text-editor/selection-cs2/index.html | 40 +++ .../selection-cs2/systemjs.config.js | 56 ++++ .../suggestion-count-cs1/app/App.jsx | 37 +++ .../suggestion-count-cs1/app/App.tsx | 44 +++ .../suggestion-count-cs1/app/index.tsx | 5 + .../suggestion-count-cs1/index.html | 87 ++++++ .../suggestion-count-cs1/systemjs.config.js | 57 ++++ .../suggestion-count-cs2/app/App.jsx | 33 +++ .../suggestion-count-cs2/app/App.tsx | 37 +++ .../suggestion-count-cs2/app/index.tsx | 5 + .../suggestion-count-cs2/index.html | 87 ++++++ .../suggestion-count-cs2/systemjs.config.js | 57 ++++ ej2-react/grid/module.md | 2 +- ej2-react/markdown-editor/getting-started.md | 10 +- ej2-react/rich-text-editor/getting-started.md | 10 +- .../rich-text-editor/images/list-editing.gif | Bin 0 -> 4533811 bytes ej2-react/rich-text-editor/selection.md | 43 +++ .../smart-editing/mail-merge.md | 41 +++ .../smart-editing/mentions.md | 101 ++++++- ej2-react/rich-text-editor/style.md | 12 +- ej2-react/rich-text-editor/table.md | 36 +++ .../rich-text-editor/tools/fullscreen-tool.md | 49 ++++ .../rich-text-editor/tools/text-formatting.md | 44 +++ 88 files changed, 3739 insertions(+), 26 deletions(-) create mode 100644 ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs1/app/App.jsx create mode 100644 ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs1/app/App.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs1/app/index.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs1/index.html create mode 100644 ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs1/systemjs.config.js create mode 100644 ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs2/app/App.jsx create mode 100644 ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs2/app/App.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs2/app/index.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs2/index.html create mode 100644 ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs2/systemjs.config.js create mode 100644 ej2-react/code-snippet/rich-text-editor/mail-merge-cs1/app/App.jsx create mode 100644 ej2-react/code-snippet/rich-text-editor/mail-merge-cs1/app/App.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/mail-merge-cs1/app/index.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/mail-merge-cs1/index.html create mode 100644 ej2-react/code-snippet/rich-text-editor/mail-merge-cs1/systemjs.config.js create mode 100644 ej2-react/code-snippet/rich-text-editor/mail-merge-cs2/app/App.jsx create mode 100644 ej2-react/code-snippet/rich-text-editor/mail-merge-cs2/app/App.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/mail-merge-cs2/app/index.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/mail-merge-cs2/index.html create mode 100644 ej2-react/code-snippet/rich-text-editor/mail-merge-cs2/systemjs.config.js create mode 100644 ej2-react/code-snippet/rich-text-editor/mention-min-length-cs1/app/App.jsx create mode 100644 ej2-react/code-snippet/rich-text-editor/mention-min-length-cs1/app/App.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/mention-min-length-cs1/app/index.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/mention-min-length-cs1/index.html create mode 100644 ej2-react/code-snippet/rich-text-editor/mention-min-length-cs1/systemjs.config.js create mode 100644 ej2-react/code-snippet/rich-text-editor/mention-min-length-cs2/app/App.jsx create mode 100644 ej2-react/code-snippet/rich-text-editor/mention-min-length-cs2/app/App.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/mention-min-length-cs2/app/index.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/mention-min-length-cs2/index.html create mode 100644 ej2-react/code-snippet/rich-text-editor/mention-min-length-cs2/systemjs.config.js create mode 100644 ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs1/app/App.jsx create mode 100644 ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs1/app/App.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs1/app/index.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs1/index.html create mode 100644 ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs1/systemjs.config.js create mode 100644 ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs2/app/App.jsx create mode 100644 ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs2/app/App.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs2/app/index.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs2/index.html create mode 100644 ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs2/systemjs.config.js create mode 100644 ej2-react/code-snippet/rich-text-editor/nesting-table-cs1/app/App.jsx create mode 100644 ej2-react/code-snippet/rich-text-editor/nesting-table-cs1/app/App.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/nesting-table-cs1/app/index.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/nesting-table-cs1/index.html create mode 100644 ej2-react/code-snippet/rich-text-editor/nesting-table-cs1/systemjs.config.js create mode 100644 ej2-react/code-snippet/rich-text-editor/nesting-table-cs2/app/App.jsx create mode 100644 ej2-react/code-snippet/rich-text-editor/nesting-table-cs2/app/App.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/nesting-table-cs2/app/index.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/nesting-table-cs2/index.html create mode 100644 ej2-react/code-snippet/rich-text-editor/nesting-table-cs2/systemjs.config.js create mode 100644 ej2-react/code-snippet/rich-text-editor/selection-cs1/app/App.jsx create mode 100644 ej2-react/code-snippet/rich-text-editor/selection-cs1/app/App.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/selection-cs1/app/index.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/selection-cs1/index.html create mode 100644 ej2-react/code-snippet/rich-text-editor/selection-cs1/systemjs.config.js create mode 100644 ej2-react/code-snippet/rich-text-editor/selection-cs2/app/App.jsx create mode 100644 ej2-react/code-snippet/rich-text-editor/selection-cs2/app/App.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/selection-cs2/app/index.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/selection-cs2/index.html create mode 100644 ej2-react/code-snippet/rich-text-editor/selection-cs2/systemjs.config.js create mode 100644 ej2-react/code-snippet/rich-text-editor/suggestion-count-cs1/app/App.jsx create mode 100644 ej2-react/code-snippet/rich-text-editor/suggestion-count-cs1/app/App.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/suggestion-count-cs1/app/index.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/suggestion-count-cs1/index.html create mode 100644 ej2-react/code-snippet/rich-text-editor/suggestion-count-cs1/systemjs.config.js create mode 100644 ej2-react/code-snippet/rich-text-editor/suggestion-count-cs2/app/App.jsx create mode 100644 ej2-react/code-snippet/rich-text-editor/suggestion-count-cs2/app/App.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/suggestion-count-cs2/app/index.tsx create mode 100644 ej2-react/code-snippet/rich-text-editor/suggestion-count-cs2/index.html create mode 100644 ej2-react/code-snippet/rich-text-editor/suggestion-count-cs2/systemjs.config.js create mode 100644 ej2-react/rich-text-editor/images/list-editing.gif create mode 100644 ej2-react/rich-text-editor/selection.md create mode 100644 ej2-react/rich-text-editor/smart-editing/mail-merge.md create mode 100644 ej2-react/rich-text-editor/tools/fullscreen-tool.md diff --git a/ej2-react-toc.html b/ej2-react-toc.html index 619aa1c9b..1c8e9d07a 100644 --- a/ej2-react-toc.html +++ b/ej2-react-toc.html @@ -2190,6 +2190,7 @@
  • Custom Tools
  • Text formatting and structural
  • Styling Tools
  • +
  • Expanding Editor to Fullscreen View
  • Editor Types @@ -2213,6 +2214,7 @@
  • Emoji Picker
  • Mention Integration
  • Slash Commands
  • +
  • Mail Merge Integration
  • Validation and Security @@ -2225,6 +2227,7 @@
  • Link Manipulation
  • Table Manipulation
  • Code Block
  • +
  • Selection
  • Paste Clean-up
  • Enter Key Configuration
  • Undo and Redo
  • diff --git a/ej2-react/code-snippet/grid/column-cs38/app/App.jsx b/ej2-react/code-snippet/grid/column-cs38/app/App.jsx index d7757a17c..a5dad0828 100644 --- a/ej2-react/code-snippet/grid/column-cs38/app/App.jsx +++ b/ej2-react/code-snippet/grid/column-cs38/app/App.jsx @@ -1,11 +1,10 @@ -import { ColumnDirective, ColumnsDirective, Grid, GridComponent, Toolbar, Inject, Page, Edit, PageSettingsModel, EditSettingsModel, RowDataBoundEventArgs } from '@syncfusion/ej2-react-grids'; +import { ColumnDirective, ColumnsDirective, Grid, GridComponent, Toolbar, Inject, Page, } from '@syncfusion/ej2-react-grids'; import * as React from 'react'; import { data } from './datasource'; function App() { let grid; var pageSettings = { pageSize: 8 }; - var editSettings = { allowAdding: true, allowDeleting: true, allowEditing: true }; var rowDataBound = ((args) => { var rowIndex = parseInt(args.row.getAttribute('aria-rowIndex')); var currentPageNumber = grid.pageSettings.currentPage; @@ -15,7 +14,7 @@ function App() { }) return (
    - grid = g} allowPaging={true} pageSettings={pageSettings} editSettings={editSettings} rowDataBound={rowDataBound}> + grid = g} allowPaging={true} pageSettings={pageSettings} rowDataBound={rowDataBound}> @@ -23,7 +22,7 @@ function App() { - +
    ) } diff --git a/ej2-react/code-snippet/grid/column-cs38/app/App.tsx b/ej2-react/code-snippet/grid/column-cs38/app/App.tsx index b27fe298f..3439f4b36 100644 --- a/ej2-react/code-snippet/grid/column-cs38/app/App.tsx +++ b/ej2-react/code-snippet/grid/column-cs38/app/App.tsx @@ -1,11 +1,10 @@ -import { ColumnDirective, ColumnsDirective, Grid, GridComponent, Toolbar, Inject, Page, Edit, PageSettingsModel, EditSettingsModel, RowDataBoundEventArgs } from '@syncfusion/ej2-react-grids'; +import { ColumnDirective, ColumnsDirective, Grid, GridComponent, Toolbar, Inject, Page, PageSettingsModel, RowDataBoundEventArgs } from '@syncfusion/ej2-react-grids'; import * as React from 'react'; import { data } from './datasource'; function App() { let grid: Grid | null; const pageSettings: PageSettingsModel = { pageSize: 8 }; - const editSettings: EditSettingsModel = { allowAdding: true, allowDeleting: true, allowEditing: true }; const rowDataBound = ((args: RowDataBoundEventArgs) => { const rowIndex: any = parseInt((args as any).row.getAttribute('aria-rowIndex')); const currentPageNumber: any = (grid as GridComponent).pageSettings.currentPage; @@ -15,7 +14,7 @@ function App() { }) return (
    - grid = g} allowPaging={true} pageSettings={pageSettings} editSettings={editSettings} rowDataBound={rowDataBound}> + grid = g} allowPaging={true} pageSettings={pageSettings} rowDataBound={rowDataBound}> @@ -23,7 +22,7 @@ function App() { - +
    ) } diff --git a/ej2-react/code-snippet/grid/customizedialog-cs3/app/App.jsx b/ej2-react/code-snippet/grid/customizedialog-cs3/app/App.jsx index f55c20401..5ea34581c 100644 --- a/ej2-react/code-snippet/grid/customizedialog-cs3/app/App.jsx +++ b/ej2-react/code-snippet/grid/customizedialog-cs3/app/App.jsx @@ -27,7 +27,6 @@ function App() { } } ]; - dialogInstance.refresh(); } } return grid = g} dataSource={data} actionComplete={actionComplete} diff --git a/ej2-react/code-snippet/grid/customizedialog-cs3/app/App.tsx b/ej2-react/code-snippet/grid/customizedialog-cs3/app/App.tsx index b1f5991c0..f4a85704e 100644 --- a/ej2-react/code-snippet/grid/customizedialog-cs3/app/App.tsx +++ b/ej2-react/code-snippet/grid/customizedialog-cs3/app/App.tsx @@ -27,7 +27,6 @@ function App() { } } ]; - dialogInstance.refresh(); } } return grid = g} dataSource={data} actionComplete={actionComplete} diff --git a/ej2-react/code-snippet/grid/edit-single-click/app/App.jsx b/ej2-react/code-snippet/grid/edit-single-click/app/App.jsx index deced731b..77b1fb9ad 100644 --- a/ej2-react/code-snippet/grid/edit-single-click/app/App.jsx +++ b/ej2-react/code-snippet/grid/edit-single-click/app/App.jsx @@ -5,6 +5,7 @@ import * as React from 'react'; import { data } from './datasource'; function App() { + let grid; const editOptions = { allowEditing: true, allowAdding: true, allowDeleting: true }; const toolbarOptions = ['Add', 'Edit', 'Delete', 'Update', 'Cancel']; const orderIDRules = { required: true, number: true }; @@ -12,14 +13,19 @@ function App() { const freightRules = { required: true, min: 1, max: 1000 }; const verifiedRules = { required: true }; const dateRules = { required: true }; + + const onVerifiedChange = (args, rowData) => { + const rowIndex = grid.getRowIndexByPrimaryKey(rowData.OrderID); + grid.updateRow(rowIndex, { ...rowData, Verified: args.checked }); + }; const template = (props) => { return (
    - + onVerifiedChange(args, props)}>
    ) } return (
    - (grid = g)} dataSource={data} editSettings={editOptions} toolbar={toolbarOptions} height={315}> diff --git a/ej2-react/code-snippet/grid/edit-single-click/app/App.tsx b/ej2-react/code-snippet/grid/edit-single-click/app/App.tsx index 457c9e6ce..38ed65d6d 100644 --- a/ej2-react/code-snippet/grid/edit-single-click/app/App.tsx +++ b/ej2-react/code-snippet/grid/edit-single-click/app/App.tsx @@ -1,10 +1,11 @@ -import { CheckBoxComponent } from '@syncfusion/ej2-react-buttons'; +import { CheckBoxComponent,ChangeEventArgs } from '@syncfusion/ej2-react-buttons'; import { ColumnDirective, ColumnsDirective, GridComponent } from '@syncfusion/ej2-react-grids'; import { Edit, EditSettingsModel, Inject, Toolbar, ToolbarItems } from '@syncfusion/ej2-react-grids'; import * as React from 'react'; import { data } from './datasource'; function App() { + let grid: GridComponent | null; const editOptions: EditSettingsModel = { allowEditing: true, allowAdding: true, allowDeleting: true }; const toolbarOptions: ToolbarItems[] = ['Add', 'Edit', 'Delete', 'Update', 'Cancel']; const orderIDRules: object = { required: true, number: true }; @@ -12,14 +13,20 @@ function App() { const freightRules: object = { required: true, min: 1, max: 1000 }; const verifiedRules: object = { required: true }; const dateRules: object = { required: true }; + + const onVerifiedChange = (args: ChangeEventArgs, rowData: object | any) => { + const rowIndex = (grid as GridComponent).getRowIndexByPrimaryKey(rowData.OrderID); + (grid as GridComponent).updateRow(rowIndex, { ...rowData, Verified: args.checked }); + }; + const template = (props) => { return (
    - + onVerifiedChange(args, props)}>
    ) } return (
    - (grid = g)} dataSource={data} editSettings={editOptions} toolbar={toolbarOptions} height={315}> diff --git a/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs1/app/App.jsx b/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs1/app/App.jsx new file mode 100644 index 000000000..12a49625e --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs1/app/App.jsx @@ -0,0 +1,15 @@ +import { HtmlEditor, Image, Inject, Link, QuickToolbar, RichTextEditorComponent, Toolbar } from '@syncfusion/ej2-react-richtexteditor'; +import * as React from 'react'; +class App extends React.Component { + toolbarSettings = { + items: ['FullScreen'] + }; + render() { + return ( + +

    The Rich Text Editor component is the WYSIWYG ('what you see is what you get') editor that provides the best user experience to create and update content. Users can format their content using standard toolbar commands.

    + +
    ); + } +} +export default App; diff --git a/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs1/app/App.tsx b/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs1/app/App.tsx new file mode 100644 index 000000000..b619b3cb1 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs1/app/App.tsx @@ -0,0 +1,18 @@ +import { HtmlEditor, Image, Inject, Link, QuickToolbar, RichTextEditorComponent, Toolbar } from '@syncfusion/ej2-react-richtexteditor'; +import * as React from 'react'; + +class App extends React.Component<{},{}> { + private toolbarSettings: object = { + items: ['FullScreen'] +} +public render() { + return ( + +

    The Rich Text Editor component is the WYSIWYG ('what you see is what you get') editor that provides the best user experience to create and update content. Users can format their content using standard toolbar commands.

    + +
    + ); +} +} + +export default App; \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs1/app/index.tsx b/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs1/app/index.tsx new file mode 100644 index 000000000..4b54648bc --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs1/app/index.tsx @@ -0,0 +1,5 @@ +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; +import App from './App'; + +ReactDOM.render(, document.getElementById('sample')); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs1/index.html b/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs1/index.html new file mode 100644 index 000000000..577f52a5e --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs1/index.html @@ -0,0 +1,40 @@ + + + + + Syncfusion React Rich Text Editor + + + + + + + + + + + + + + + + + + + + +
    +
    Loading....
    +
    + + + \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs1/systemjs.config.js b/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs1/systemjs.config.js new file mode 100644 index 000000000..3b166944c --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs1/systemjs.config.js @@ -0,0 +1,56 @@ +System.config({ + transpiler: "ts", + typescriptOptions: { + target: "es5", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true, + "jsx": "react" + }, + meta: { + 'typescript': { + "exports": "ts" + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/20.3.56/" + }, + map: { + app: 'app', + ts: "https://unpkg.com/plugin-typescript@8.0.0/lib/plugin.js", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-layouts": "syncfusion:ej2-layouts/dist/ej2-layouts.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-filemanager": "syncfusion:ej2-filemanager/dist/ej2-filemanager.umd.min.js", + "@syncfusion/ej2-richtexteditor": "syncfusion:ej2-richtexteditor/dist/ej2-richtexteditor.umd.min.js", + + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + "@syncfusion/ej2-react-base": "syncfusion:ej2-react-base/dist/ej2-react-base.umd.min.js", + "@syncfusion/ej2-react-popups": "syncfusion:ej2-react-popups/dist/ej2-react-popups.umd.min.js", + "@syncfusion/ej2-react-buttons": "syncfusion:ej2-react-buttons/dist/ej2-react-buttons.umd.min.js", + "@syncfusion/ej2-react-richtexteditor": "syncfusion:ej2-react-richtexteditor/dist/ej2-react-richtexteditor.umd.min.js", +"react-dom":"https://unpkg.com/react-dom@16.3.1/umd/react-dom.development.js", +"react":"https://unpkg.com/react@16.3.1/umd/react.development.js", + }, + packages: { + 'app': { main: 'index', defaultExtension: 'tsx' }, + } + +}); + +System.import('app'); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs2/app/App.jsx b/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs2/app/App.jsx new file mode 100644 index 000000000..08f5fe190 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs2/app/App.jsx @@ -0,0 +1,12 @@ +import { HtmlEditor, Image, Inject, Link, QuickToolbar, RichTextEditorComponent, Toolbar } from '@syncfusion/ej2-react-richtexteditor'; +import * as React from 'react'; +function App() { + let toolbarSettings = { + items: ['FullScreen'] + }; + return ( +

    The Rich Text Editor component is the WYSIWYG ('what you see is what you get') editor that provides the best user experience to create and update content. Users can format their content using standard toolbar commands.

    + +
    ); +} +export default App; diff --git a/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs2/app/App.tsx b/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs2/app/App.tsx new file mode 100644 index 000000000..f1a08fd50 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs2/app/App.tsx @@ -0,0 +1,16 @@ +import { HtmlEditor, Image, Inject, Link, QuickToolbar, RichTextEditorComponent, Toolbar } from '@syncfusion/ej2-react-richtexteditor'; +import * as React from 'react'; + +function App() { + let toolbarSettings: object = { + items: ['FullScreen'] + } + return ( + +

    The Rich Text Editor component is the WYSIWYG ('what you see is what you get') editor that provides the best user experience to create and update content. Users can format their content using standard toolbar commands.

    + +
    + ); +} + +export default App; diff --git a/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs2/app/index.tsx b/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs2/app/index.tsx new file mode 100644 index 000000000..4b54648bc --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs2/app/index.tsx @@ -0,0 +1,5 @@ +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; +import App from './App'; + +ReactDOM.render(, document.getElementById('sample')); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs2/index.html b/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs2/index.html new file mode 100644 index 000000000..577f52a5e --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs2/index.html @@ -0,0 +1,40 @@ + + + + + Syncfusion React Rich Text Editor + + + + + + + + + + + + + + + + + + + + +
    +
    Loading....
    +
    + + + \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs2/systemjs.config.js b/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs2/systemjs.config.js new file mode 100644 index 000000000..474c63bc8 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/fullscreen-tool-cs2/systemjs.config.js @@ -0,0 +1,56 @@ +System.config({ + transpiler: "ts", + typescriptOptions: { + target: "es5", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true, + "jsx": "react" + }, + meta: { + 'typescript': { + "exports": "ts" + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/20.3.56/" + }, + map: { + app: 'app', + ts: "https://unpkg.com/plugin-typescript@8.0.0/lib/plugin.js", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-layouts": "syncfusion:ej2-layouts/dist/ej2-layouts.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-filemanager": "syncfusion:ej2-filemanager/dist/ej2-filemanager.umd.min.js", + "@syncfusion/ej2-richtexteditor": "syncfusion:ej2-richtexteditor/dist/ej2-richtexteditor.umd.min.js", + + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + "@syncfusion/ej2-react-base": "syncfusion:ej2-react-base/dist/ej2-react-base.umd.min.js", + "@syncfusion/ej2-react-popups": "syncfusion:ej2-react-popups/dist/ej2-react-popups.umd.min.js", + "@syncfusion/ej2-react-buttons": "syncfusion:ej2-react-buttons/dist/ej2-react-buttons.umd.min.js", + "@syncfusion/ej2-react-richtexteditor": "syncfusion:ej2-react-richtexteditor/dist/ej2-react-richtexteditor.umd.min.js", + "react-dom": "https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js", + "react": "https://unpkg.com/react@18.2.0/umd/react.production.min.js", + }, + packages: { + 'app': { main: 'index', defaultExtension: 'tsx' }, + } + +}); + +System.import('app'); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/mail-merge-cs1/app/App.jsx b/ej2-react/code-snippet/rich-text-editor/mail-merge-cs1/app/App.jsx new file mode 100644 index 000000000..fbc28d379 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/mail-merge-cs1/app/App.jsx @@ -0,0 +1,260 @@ +import React from 'react'; +import { + RichTextEditorComponent, + HtmlEditor, + Toolbar, + Image, + Link, + QuickToolbar, + Table, + PasteCleanup, + Inject, +} from '@syncfusion/ej2-react-richtexteditor'; +import { DropDownButtonComponent } from '@syncfusion/ej2-react-splitbuttons'; +import { MentionComponent } from '@syncfusion/ej2-react-dropdowns'; +import { NodeSelection } from '@syncfusion/ej2-richtexteditor'; + +class App extends React.Component { + constructor(props) { + super(props); + this.rteObj = null; + this.mentionObj = null; + this.range = new Range(); + this.selection = new NodeSelection(); + this.saveSelection = null; + + this.value = `

    Dear {{FirstName}} {{LastName}},

    +

    We are thrilled to have you with us! Your unique promotional code for this month is: {{PromoCode}}.

    +

    Your current subscription plan is: {{SubscriptionPlan}}.

    +

    Your customer ID is: {{CustomerID}}.

    +

    Your promotional code expires on: {{ExpirationDate}}.

    +

    Feel free to browse our latest offerings and updates. If you need any assistance, don't hesitate to contact us at {{SupportEmail}} or call us at {{SupportPhoneNumber}}.

    +

    Best regards,
    The {{CompanyName}} Team

    `; + + this.items = [ + 'Bold', + 'Italic', + 'Underline', + '|', + 'Formats', + 'Alignments', + 'OrderedList', + 'UnorderedList', + '|', + 'CreateLink', + 'Image', + 'CreateTable', + '|', + { tooltipText: 'Merge Data', template: '#merge_data', command: 'Custom' }, + { + tooltipText: 'Insert Field', + template: '#insertField', + command: 'Custom', + }, + 'SourceCode', + '|', + 'Undo', + 'Redo', + ]; + + this.toolbarSettings = { + items: this.items, + }; + + this.mentionChar = '{{'; + + this.itemsName = [ + { text: 'First Name' }, + { text: 'Last Name' }, + { text: 'Support Email' }, + { text: 'Company Name' }, + { text: 'Promo Code' }, + { text: 'Support Phone Number' }, + { text: 'Customer ID' }, + { text: 'Expiration Date' }, + { text: 'Subscription Plan' }, + ]; + + this.placeholderData = { + FirstName: 'John', + LastName: 'Doe', + PromoCode: 'ABC123', + SubscriptionPlan: 'Premium', + CustomerID: '123456', + ExpirationDate: '2024-12-31', + SupportEmail: 'support@example.com', + SupportPhoneNumber: '+1-800-555-5555', + CompanyName: 'Example Inc.', + }; + + this.textToValueMap = { + 'First Name': 'FirstName', + 'Last Name': 'LastName', + 'Support Email': 'SupportEmail', + 'Company Name': 'CompanyName', + 'Promo Code': 'PromoCode', + 'Support Phone Number': 'SupportPhoneNumber', + 'Customer ID': 'CustomerID', + 'Expiration Date': 'ExpirationDate', + 'Subscription Plan': 'SubscriptionPlan', + }; + + this.data = this.itemsName.map((item) => ({ + text: item.text, + value: this.textToValueMap[item.text], + })); + + this.fieldsData = { text: 'text', value: 'value' }; + } + + actionBegin = (args) => { + if ( + args.requestType === 'EnterAction' && + this.mentionObj?.element.classList.contains('e-popup-open') + ) { + args.cancel = true; + } + }; + + actionComplete = (e) => { + const toolbar = this.rteObj?.getToolbar(); + if (!toolbar) return; + + const mergeBtn = toolbar.querySelector('#merge_data')?.parentElement; + const insertBtn = toolbar.querySelector('#insertField')?.parentElement; + + if (e.requestType === 'SourceCode') { + mergeBtn?.classList.add('e-overlay'); + insertBtn?.classList.add('e-overlay'); + } else if (e.requestType === 'Preview') { + mergeBtn?.classList.remove('e-overlay'); + insertBtn?.classList.remove('e-overlay'); + } + }; + + blur = () => { + this.range = this.selection.getRange(document); + this.saveSelection = this.selection.save(this.range, document); + }; + + onDropDownClose = () => { + if (this.rteObj) { + this.rteObj.focusIn(); + } + }; + + onItemSelect = (args) => { + if (args.item.text) { + const value = this.textToValueMap[args.item.text]; + const trimmedValue = value.trim(); + this.rteObj.formatter.editorManager.nodeSelection.restore(); + this.rteObj.executeCommand( + 'insertHTML', + `{{${trimmedValue}}} `, + { undo: true } + ); + } + }; + + displayTemplate = (data) => { + return <>{`${data.value}}}`}; + }; + onClickHandler = () => { + if (this.rteObj) { + const editorContent = this.rteObj.value; + const mergedContent = this.replacePlaceholders( + editorContent, + this.placeholderData + ); + if (this.rteObj.formatter.getUndoRedoStack().length === 0) { + this.rteObj.formatter.saveData(); + } + this.rteObj.value = mergedContent; + this.rteObj.formatter.saveData(); + } else { + console.log('MailMergeEditor is not initialized.'); + } + }; + + replacePlaceholders = (template, data) => { + return template.replace(/{{\s*(\w+)\s*}}/g, (match, key) => { + const value = data[key.trim()]; + return value !== undefined ? value : match; + }); + }; + + render() { + return ( +
    + { + this.rteObj = richtexteditor; + }} + value={this.value} + id="mailMergeEditor" + toolbarSettings={this.toolbarSettings} + placeholder="Type @ and tag the name" + blur={this.blur} + actionComplete={this.actionComplete} + actionBegin={this.actionBegin} + saveInterval={1} + > + + + + + + + Insert Field + + } + select={this.onItemSelect} + close={this.onDropDownClose} + id="insertField" + /> + + { + this.mentionObj = scope; + }} + id="mentionEditor" + target="#mailMergeEditor" + mentionChar={this.mentionChar} + showMentionChar={true} + allowSpaces={true} + dataSource={this.data} + fields={this.fieldsData} + popupWidth="250px" + popupHeight="200px" + displayTemplate={this.displayTemplate} + /> +
    + ); + } +} + +export default App; diff --git a/ej2-react/code-snippet/rich-text-editor/mail-merge-cs1/app/App.tsx b/ej2-react/code-snippet/rich-text-editor/mail-merge-cs1/app/App.tsx new file mode 100644 index 000000000..7cdb4aaeb --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/mail-merge-cs1/app/App.tsx @@ -0,0 +1,211 @@ +import { RichTextEditorComponent, Inject, IToolbarItems, HtmlEditor, Toolbar, ToolbarSettingsModel, Image, Link, NodeSelection, QuickToolbar, ActionCompleteEventArgs, ActionBeginEventArgs, Table, PasteCleanup } from '@syncfusion/ej2-react-richtexteditor'; +import { DropDownButtonComponent } from '@syncfusion/ej2-react-splitbuttons'; +import { MentionComponent } from '@syncfusion/ej2-react-dropdowns'; +import * as ReactDOM from 'react-dom'; +import * as React from 'react'; + +class App extends React.Component<{},{}> { + + private rteObj: RichTextEditorComponent | null = null; + private mentionObj: MentionComponent | null = null; + private range: Range = new Range(); + private selection: NodeSelection = new NodeSelection(); + private saveSelection: any = null; + private value: string = `

    Dear {{FirstName}} {{LastName}},

    +

    We are thrilled to have you with us! Your unique promotional code for this month is: {{PromoCode}}.

    +

    Your current subscription plan is: {{SubscriptionPlan}}.

    +

    Your customer ID is: {{CustomerID}}.

    +

    Your promotional code expires on: {{ExpirationDate}}.

    +

    Feel free to browse our latest offerings and updates. If you need any assistance, don't hesitate to contact us at {{SupportEmail}} or call us at {{SupportPhoneNumber}}.

    +

    Best regards,
    The {{CompanyName}} Team

    ` + + private items: (string | IToolbarItems)[] = ['Bold', 'Italic', 'Underline', '|', 'Formats', 'Alignments', 'OrderedList', 'UnorderedList', '|', + 'CreateLink', 'Image', 'CreateTable', '|', + { tooltipText: 'Merge Data', template: '#merge_data', command: 'Custom' }, + { tooltipText: 'Insert Field', template: '#insertField', command: 'Custom' }, + 'SourceCode', '|', 'Undo', 'Redo' + ] + + //Rich Text Editor ToolbarSettings + private toolbarSettings: ToolbarSettingsModel = { + items: this.items + }; + + private mentionChar: "{{"; + + private itemsName: [ + { text: 'First Name' }, + { text: 'Last Name' }, + { text: 'Support Email' }, + { text: 'Company Name' }, + { text: 'Promo Code' }, + { text: 'Support Phone Number' }, + { text: 'Customer ID' }, + { text: 'Expiration Date' }, + { text: 'Subscription Plan' }, + ] + + private placeholderData: { + FirstName: 'John', + LastName: 'Doe', + PromoCode: 'ABC123', + SubscriptionPlan: 'Premium', + CustomerID: '123456', + ExpirationDate: '2024-12-31', + SupportEmail: 'support@example.com', + SupportPhoneNumber: '+1-800-555-5555', + CompanyName: 'Example Inc.' + } + + private textToValueMap: { + 'First Name': 'FirstName', + 'Last Name': 'LastName', + 'Support Email': 'SupportEmail', + 'Company Name': 'CompanyName', + 'Promo Code': 'PromoCode', + 'Support Phone Number': 'SupportPhoneNumber', + 'Customer ID': 'CustomerID', + 'Expiration Date': 'ExpirationDate', + 'Subscription Plan': 'SubscriptionPlan' + } + + private data: [ + { text: 'First Name', value: 'FirstName' }, + { text: 'Last Name', value: 'LastName' }, + { text: 'Support Email', value: 'SupportEmail' }, + { text: 'Company Name', value: 'CompanyName' }, + { text: 'Promo Code', value: 'PromoCode' }, + { text: 'Support Phone Number', value: 'SupportPhoneNumber' }, + { text: 'Customer ID', value: 'CustomerID' }, + { text: 'Expiration Date', value: 'ExpirationDate' }, + { text: 'Subscription Plan', value: 'SubscriptionPlan' }, + ] + + private fieldsData: { text: 'text', value: 'value' } + + actionBegin(args: ActionBeginEventArgs) { + if ( + args.requestType === 'EnterAction' && + this.mentionObj.element.classList.contains('e-popup-open') + ) { + args.cancel = true; + } + } + + actionComplete(e: ActionCompleteEventArgs) { + if (e.requestType === 'SourceCode') { + this.rteObj.getToolbar().querySelector('#merge_data').parentElement.classList.add('e-overlay'); + this.rteObj.getToolbar().querySelector('#insertField').parentElement.classList.add('e-overlay'); + } else if (e.requestType === 'Preview') { + this.rteObj.getToolbar().querySelector('#merge_data').parentElement.classList.remove('e-overlay'); + this.rteObj.getToolbar().querySelector('#insertField').parentElement.classList.remove('e-overlay'); + } + } + + + blur() { + this.range = this.selection.getRange(document); + this.saveSelection = this.selection.save(this.range, document); + } + + onDropDownClose() { + if (this.rteObj) { + this.rteObj.focusIn(); + } + } + + onItemSelect(args: { item: { text: string; }; }) { + if (args.item.text != null) { + const value = this.textToValueMap[args.item.text]; + const trimmedValue = value.trim(); + this.rteObj.formatter.editorManager.nodeSelection.restore(); + this.rteObj!.executeCommand( + 'insertHTML', + `{{${trimmedValue}}} `, + { undo: true } + ); + } + } + + displayTemplate(data: { value: string; }) { + return ( + + {data.value}}} + + ); + } + + onClickHandler() { + if (this.rteObj) { + let editorContent = this.rteObj.value; + let mergedContent = this.replacePlaceholders(editorContent, this.placeholderData); + if (this.rteObj.formatter.getUndoRedoStack().length === 0) { + this.rteObj.formatter.saveData(); + } + this.rteObj.value = mergedContent; + this.rteObj.formatter.saveData(); + } else { + console.log('MailMergeEditor is not initialized.'); + } + } + + replacePlaceholders(template: string, data: { [key: string]: string; }) { + return template.replace(/{{\s*(\w+)\s*}}/g, (match, key) => { + const value = data[key.trim()]; + return value !== undefined ? value : match; + }); + } + + public render() { + return ( +
    + { this.rteObj = richtexteditor; }} + value={this.value} + id="mailMergeEditor" + toolbarSettings={this.toolbarSettings} + placeholder="Type @ and tag the name" + blur={this.blur} + actionComplete={this.actionComplete} + actionBegin={this.actionBegin} + saveInterval={1} + > + + + + + { this.mentionObj = scope; }} + id="mentionEditor" + target="#mailMergeEditor" + mentionChar={this.mentionChar} + showMentionChar={true} + allowSpaces={true} + dataSource={this.data} + fields={this.fieldsData} + popupWidth="250px" + popupHeight="200px" + displayTemplate={this.displayTemplate} + /> +
    + ); + } +} + +export default App; \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/mail-merge-cs1/app/index.tsx b/ej2-react/code-snippet/rich-text-editor/mail-merge-cs1/app/index.tsx new file mode 100644 index 000000000..4b54648bc --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/mail-merge-cs1/app/index.tsx @@ -0,0 +1,5 @@ +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; +import App from './App'; + +ReactDOM.render(, document.getElementById('sample')); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/mail-merge-cs1/index.html b/ej2-react/code-snippet/rich-text-editor/mail-merge-cs1/index.html new file mode 100644 index 000000000..577f52a5e --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/mail-merge-cs1/index.html @@ -0,0 +1,40 @@ + + + + + Syncfusion React Rich Text Editor + + + + + + + + + + + + + + + + + + + + +
    +
    Loading....
    +
    + + + \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/mail-merge-cs1/systemjs.config.js b/ej2-react/code-snippet/rich-text-editor/mail-merge-cs1/systemjs.config.js new file mode 100644 index 000000000..3b166944c --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/mail-merge-cs1/systemjs.config.js @@ -0,0 +1,56 @@ +System.config({ + transpiler: "ts", + typescriptOptions: { + target: "es5", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true, + "jsx": "react" + }, + meta: { + 'typescript': { + "exports": "ts" + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/20.3.56/" + }, + map: { + app: 'app', + ts: "https://unpkg.com/plugin-typescript@8.0.0/lib/plugin.js", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-layouts": "syncfusion:ej2-layouts/dist/ej2-layouts.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-filemanager": "syncfusion:ej2-filemanager/dist/ej2-filemanager.umd.min.js", + "@syncfusion/ej2-richtexteditor": "syncfusion:ej2-richtexteditor/dist/ej2-richtexteditor.umd.min.js", + + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + "@syncfusion/ej2-react-base": "syncfusion:ej2-react-base/dist/ej2-react-base.umd.min.js", + "@syncfusion/ej2-react-popups": "syncfusion:ej2-react-popups/dist/ej2-react-popups.umd.min.js", + "@syncfusion/ej2-react-buttons": "syncfusion:ej2-react-buttons/dist/ej2-react-buttons.umd.min.js", + "@syncfusion/ej2-react-richtexteditor": "syncfusion:ej2-react-richtexteditor/dist/ej2-react-richtexteditor.umd.min.js", +"react-dom":"https://unpkg.com/react-dom@16.3.1/umd/react-dom.development.js", +"react":"https://unpkg.com/react@16.3.1/umd/react.development.js", + }, + packages: { + 'app': { main: 'index', defaultExtension: 'tsx' }, + } + +}); + +System.import('app'); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/mail-merge-cs2/app/App.jsx b/ej2-react/code-snippet/rich-text-editor/mail-merge-cs2/app/App.jsx new file mode 100644 index 000000000..8f639e236 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/mail-merge-cs2/app/App.jsx @@ -0,0 +1,148 @@ +import { HtmlEditor, Image, Inject, IToolbarItems, Link, QuickToolbar, RichTextEditorComponent, ToolbarSettingsModel, Toolbar, NodeSelection, ActionCompleteEventArgs, ActionBeginEventArgs, Table, PasteCleanup } from '@syncfusion/ej2-react-richtexteditor'; +import * as React from 'react'; +import { DropDownButtonComponent, MenuEventArgs } from '@syncfusion/ej2-react-splitbuttons'; +import { MentionComponent } from '@syncfusion/ej2-react-dropdowns'; + +function App() { + let value = `

    Dear {{FirstName}} {{LastName}},

    +

    We are thrilled to have you with us! Your unique promotional code for this month is: {{PromoCode}}.

    +

    Your current subscription plan is: {{SubscriptionPlan}}.

    +

    Your customer ID is: {{CustomerID}}.

    +

    Your promotional code expires on: {{ExpirationDate}}.

    +

    Feel free to browse our latest offerings and updates. If you need any assistance, don't hesitate to contact us at {{SupportEmail}} or call us at {{SupportPhoneNumber}}.

    +

    Best regards,
    The {{CompanyName}} Team

    `; + const items = ['Bold', 'Italic', 'Underline', '|', 'Formats', 'Alignments', 'OrderedList', 'UnorderedList', '|', + 'CreateLink', 'Image', 'CreateTable', '|', + { tooltipText: 'Merge Data', template: '#merge_data', command: 'Custom' }, + { tooltipText: 'Insert Field', template: '#insertField', command: 'Custom' }, + 'SourceCode', '|', 'Undo', 'Redo' + ]; + //Rich Text Editor ToolbarSettings + const toolbarSettings = { + items: items + }; + let mentionChar = "{{"; + let rteObj; + let mentionObj; + let range = new Range(); + let selection = new NodeSelection(); + let saveSelection; + let itemsName = [ + { text: 'First Name' }, + { text: 'Last Name' }, + { text: 'Support Email' }, + { text: 'Company Name' }, + { text: 'Promo Code' }, + { text: 'Support Phone Number' }, + { text: 'Customer ID' }, + { text: 'Expiration Date' }, + { text: 'Subscription Plan' }, + ]; + const placeholderData = { + FirstName: 'John', + LastName: 'Doe', + PromoCode: 'ABC123', + SubscriptionPlan: 'Premium', + CustomerID: '123456', + ExpirationDate: '2024-12-31', + SupportEmail: 'support@example.com', + SupportPhoneNumber: '+1-800-555-5555', + CompanyName: 'Example Inc.' + }; + let textToValueMap = { + 'First Name': 'FirstName', + 'Last Name': 'LastName', + 'Support Email': 'SupportEmail', + 'Company Name': 'CompanyName', + 'Promo Code': 'PromoCode', + 'Support Phone Number': 'SupportPhoneNumber', + 'Customer ID': 'CustomerID', + 'Expiration Date': 'ExpirationDate', + 'Subscription Plan': 'SubscriptionPlan' + }; + let data = [ + { text: 'First Name', value: 'FirstName' }, + { text: 'Last Name', value: 'LastName' }, + { text: 'Support Email', value: 'SupportEmail' }, + { text: 'Company Name', value: 'CompanyName' }, + { text: 'Promo Code', value: 'PromoCode' }, + { text: 'Support Phone Number', value: 'SupportPhoneNumber' }, + { text: 'Customer ID', value: 'CustomerID' }, + { text: 'Expiration Date', value: 'ExpirationDate' }, + { text: 'Subscription Plan', value: 'SubscriptionPlan' }, + ]; + const fieldsData = { text: 'text', value: 'value' }; + function displayTemplate(data) { + return ( + {data.value}}} + ); + } + function actionBegin(args) { + if (args.requestType === 'EnterAction' && + mentionObj.element.classList.contains('e-popup-open')) { + args.cancel = true; + } + } + function actionComplete(e) { + if (e.requestType === 'SourceCode') { + rteObj.getToolbar().querySelector('#merge_data').parentElement.classList.add('e-overlay'); + rteObj.getToolbar().querySelector('#insertField').parentElement.classList.add('e-overlay'); + } + else if (e.requestType === 'Preview') { + rteObj.getToolbar().querySelector('#merge_data').parentElement.classList.remove('e-overlay'); + rteObj.getToolbar().querySelector('#insertField').parentElement.classList.remove('e-overlay'); + } + } + function blur() { + const range = selection.getRange(document); + const saveSelection = selection.save(range, document); + } + function onDropDownClose() { + if (rteObj) { + rteObj.focusIn(); + } + } + function onItemSelect(args) { + if (args.item.text != null) { + const value = textToValueMap[args.item.text]; + const trimmedValue = value.trim(); + rteObj.formatter.editorManager.nodeSelection.restore(); + rteObj.executeCommand('insertHTML', `{{${trimmedValue}}} `, { undo: true }); + } + } + function onClickHandler(args) { + if (rteObj) { + let editorContent = rteObj.value; + let mergedContent = replacePlaceholders(editorContent, placeholderData); + if (rteObj.formatter.getUndoRedoStack().length === 0) { + rteObj.formatter.saveData(); + } + rteObj.value = mergedContent; + rteObj.formatter.saveData(); + } + else { + console.log('MailMergeEditor is not initialized.'); + } + } + ; + function replacePlaceholders(template, data) { + return template.replace(/{{\s*(\w+)\s*}}/g, (match, key) => { + const value = data[key.trim()]; + return value !== undefined ? value : match; + }); + } + + return (
    + { rteObj = richtexteditor; }} value={value} id="mailMergeEditor" toolbarSettings={toolbarSettings} placeholder="Type @ and tag the name" blur={blur} actionBegin={actionBegin} actionComplete={actionComplete} saveInterval={1}> + + + + + { mentionObj = scope; }} id="mentionEditor" target="#mailMergeEditor" mentionChar={mentionChar} showMentionChar={true} allowSpaces={true} dataSource={data} fields={fieldsData} popupWidth="250px" popupHeight="200px" displayTemplate={displayTemplate}> +
    ); +} +export default App; diff --git a/ej2-react/code-snippet/rich-text-editor/mail-merge-cs2/app/App.tsx b/ej2-react/code-snippet/rich-text-editor/mail-merge-cs2/app/App.tsx new file mode 100644 index 000000000..7ac98b976 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/mail-merge-cs2/app/App.tsx @@ -0,0 +1,179 @@ +import { HtmlEditor, Image, Inject, IToolbarItems, Link, QuickToolbar, RichTextEditorComponent, ToolbarSettingsModel, Toolbar, NodeSelection, ActionCompleteEventArgs, ActionBeginEventArgs, Table, PasteCleanup } from '@syncfusion/ej2-react-richtexteditor'; +import * as React from 'react'; +import { DropDownButtonComponent, MenuEventArgs } from '@syncfusion/ej2-react-splitbuttons'; +import { MentionComponent } from '@syncfusion/ej2-react-dropdowns'; + +function App() { + let value: string = `

    Dear {{FirstName}} {{LastName}},

    +

    We are thrilled to have you with us! Your unique promotional code for this month is: {{PromoCode}}.

    +

    Your current subscription plan is: {{SubscriptionPlan}}.

    +

    Your customer ID is: {{CustomerID}}.

    +

    Your promotional code expires on: {{ExpirationDate}}.

    +

    Feel free to browse our latest offerings and updates. If you need any assistance, don't hesitate to contact us at {{SupportEmail}} or call us at {{SupportPhoneNumber}}.

    +

    Best regards,
    The {{CompanyName}} Team

    `; + + const items: (string | IToolbarItems)[] = ['Bold', 'Italic', 'Underline', '|', 'Formats', 'Alignments', 'OrderedList', 'UnorderedList', '|', + 'CreateLink', 'Image', 'CreateTable', '|', + { tooltipText: 'Merge Data', template: '#merge_data', command: 'Custom' }, + { tooltipText: 'Insert Field', template: '#insertField', command: 'Custom' }, + 'SourceCode', '|', 'Undo', 'Redo' + ] + //Rich Text Editor ToolbarSettings + const toolbarSettings: ToolbarSettingsModel = { + items: items + }; + let mentionChar: string = "{{"; + let rteObj: RichTextEditorComponent | undefined; + let mentionObj: MentionComponent | undefined; + let range: Range = new Range(); + let selection: NodeSelection = new NodeSelection(); + let saveSelection: any; + + let itemsName: { text: string }[] = [ + { text: 'First Name' }, + { text: 'Last Name' }, + { text: 'Support Email' }, + { text: 'Company Name' }, + { text: 'Promo Code' }, + { text: 'Support Phone Number' }, + { text: 'Customer ID' }, + { text: 'Expiration Date' }, + { text: 'Subscription Plan' }, + ]; + + const placeholderData: { [key: string]: string } = { + FirstName: 'John', + LastName: 'Doe', + PromoCode: 'ABC123', + SubscriptionPlan: 'Premium', + CustomerID: '123456', + ExpirationDate: '2024-12-31', + SupportEmail: 'support@example.com', + SupportPhoneNumber: '+1-800-555-5555', + CompanyName: 'Example Inc.' + }; + + let textToValueMap: { [key: string]: string } = { + 'First Name': 'FirstName', + 'Last Name': 'LastName', + 'Support Email': 'SupportEmail', + 'Company Name': 'CompanyName', + 'Promo Code': 'PromoCode', + 'Support Phone Number': 'SupportPhoneNumber', + 'Customer ID': 'CustomerID', + 'Expiration Date': 'ExpirationDate', + 'Subscription Plan': 'SubscriptionPlan' + }; + + let data: { text: string; value: string }[] = [ + { text: 'First Name', value: 'FirstName' }, + { text: 'Last Name', value: 'LastName' }, + { text: 'Support Email', value: 'SupportEmail' }, + { text: 'Company Name', value: 'CompanyName' }, + { text: 'Promo Code', value: 'PromoCode' }, + { text: 'Support Phone Number', value: 'SupportPhoneNumber' }, + { text: 'Customer ID', value: 'CustomerID' }, + { text: 'Expiration Date', value: 'ExpirationDate' }, + { text: 'Subscription Plan', value: 'SubscriptionPlan' }, + ]; + + const fieldsData: { text: string; value: string } = { text: 'text', value: 'value' }; + + function displayTemplate(data: { value: string }) { + return ( + {data.value}}} + ); + } + + function actionBegin(args: ActionBeginEventArgs) { + if ( + args.requestType === 'EnterAction' && + mentionObj.element.classList.contains('e-popup-open') + ) { + args.cancel = true; + } + } + + function actionComplete(e: ActionCompleteEventArgs) { + if (e.requestType === 'SourceCode') { + rteObj.getToolbar().querySelector('#merge_data').parentElement.classList.add('e-overlay'); + rteObj.getToolbar().querySelector('#insertField').parentElement.classList.add('e-overlay'); + } else if (e.requestType === 'Preview') { + rteObj.getToolbar().querySelector('#merge_data').parentElement.classList.remove('e-overlay'); + rteObj.getToolbar().querySelector('#insertField').parentElement.classList.remove('e-overlay'); + } + } + function blur() { + const range = selection.getRange(document); + const saveSelection = selection.save(range, document); + } + + function onDropDownClose() { + if (rteObj) { + rteObj.focusIn(); + } + } + + function onItemSelect(args: { item: { text: string } }) { + if (args.item.text != null) { + const value = textToValueMap[args.item.text]; + const trimmedValue = value.trim(); + rteObj.formatter.editorManager.nodeSelection.restore(); + rteObj.executeCommand( + 'insertHTML', + `{{${trimmedValue}}} `, + { undo: true } + ); + } + } + + function onClickHandler(args: any): void { + if (rteObj) { + let editorContent: string = rteObj.value; + let mergedContent: string = replacePlaceholders(editorContent, placeholderData); + if (rteObj.formatter.getUndoRedoStack().length === 0) { + rteObj.formatter.saveData(); + } + rteObj.value = mergedContent; + rteObj.formatter.saveData(); + } else { + console.log('MailMergeEditor is not initialized.'); + } + }; + + function replacePlaceholders(template: string, data: { [key: string]: string }): string { + return template.replace(/{{\s*(\w+)\s*}}/g, (match, key) => { + const value = data[key.trim()]; + return value !== undefined ? value : match; + }); + }; + + return ( +
    + { rteObj = richtexteditor; }} value={value} id="mailMergeEditor" toolbarSettings={toolbarSettings} placeholder="Type @ and tag the name" blur={blur} actionBegin={actionBegin} actionComplete={actionComplete} saveInterval={1}> + + + + + { mentionObj = scope; }} id="mentionEditor" target="#mailMergeEditor" mentionChar={mentionChar} showMentionChar={true} allowSpaces={true} dataSource={data} fields={fieldsData} popupWidth="250px" popupHeight="200px" displayTemplate={displayTemplate}> +
    + ); +} + +export default App; \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/mail-merge-cs2/app/index.tsx b/ej2-react/code-snippet/rich-text-editor/mail-merge-cs2/app/index.tsx new file mode 100644 index 000000000..4b54648bc --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/mail-merge-cs2/app/index.tsx @@ -0,0 +1,5 @@ +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; +import App from './App'; + +ReactDOM.render(, document.getElementById('sample')); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/mail-merge-cs2/index.html b/ej2-react/code-snippet/rich-text-editor/mail-merge-cs2/index.html new file mode 100644 index 000000000..577f52a5e --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/mail-merge-cs2/index.html @@ -0,0 +1,40 @@ + + + + + Syncfusion React Rich Text Editor + + + + + + + + + + + + + + + + + + + + +
    +
    Loading....
    +
    + + + \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/mail-merge-cs2/systemjs.config.js b/ej2-react/code-snippet/rich-text-editor/mail-merge-cs2/systemjs.config.js new file mode 100644 index 000000000..474c63bc8 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/mail-merge-cs2/systemjs.config.js @@ -0,0 +1,56 @@ +System.config({ + transpiler: "ts", + typescriptOptions: { + target: "es5", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true, + "jsx": "react" + }, + meta: { + 'typescript': { + "exports": "ts" + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/20.3.56/" + }, + map: { + app: 'app', + ts: "https://unpkg.com/plugin-typescript@8.0.0/lib/plugin.js", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-layouts": "syncfusion:ej2-layouts/dist/ej2-layouts.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-filemanager": "syncfusion:ej2-filemanager/dist/ej2-filemanager.umd.min.js", + "@syncfusion/ej2-richtexteditor": "syncfusion:ej2-richtexteditor/dist/ej2-richtexteditor.umd.min.js", + + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + "@syncfusion/ej2-react-base": "syncfusion:ej2-react-base/dist/ej2-react-base.umd.min.js", + "@syncfusion/ej2-react-popups": "syncfusion:ej2-react-popups/dist/ej2-react-popups.umd.min.js", + "@syncfusion/ej2-react-buttons": "syncfusion:ej2-react-buttons/dist/ej2-react-buttons.umd.min.js", + "@syncfusion/ej2-react-richtexteditor": "syncfusion:ej2-react-richtexteditor/dist/ej2-react-richtexteditor.umd.min.js", + "react-dom": "https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js", + "react": "https://unpkg.com/react@18.2.0/umd/react.production.min.js", + }, + packages: { + 'app': { main: 'index', defaultExtension: 'tsx' }, + } + +}); + +System.import('app'); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs1/app/App.jsx b/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs1/app/App.jsx new file mode 100644 index 000000000..51b00c319 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs1/app/App.jsx @@ -0,0 +1,31 @@ +import { HtmlEditor, Image, Inject, Link, QuickToolbar, RichTextEditorComponent, Toolbar } from '@syncfusion/ej2-react-richtexteditor'; +import { MentionComponent } from '@syncfusion/ej2-react-dropdowns'; +import * as React from 'react'; + +class App extends React.Component { + data = [ + { Name: 'Selma Rose', EmailId: 'selma@gmail.com' }, + { Name: 'Maria', EmailId: 'maria@gmail.com' }, + { Name: 'Russo Kay', EmailId: 'russo@gmail.com' }, + { Name: 'Robert', EmailId: 'robert@gmail.com' }, + { Name: 'Camden Kate', EmailId: 'camden@gmail.com' }, + ]; + fieldsData = { text: 'Name' }; + + rteValue = "

    Hello @Maria

    Welcome to the mention integration with rich text editor demo. Type @ character and tag user from the suggestion list.

    "; + + render() { + return (
    +
    +
    + + + +
    +
    + + +
    ); + } +} +export default App; diff --git a/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs1/app/App.tsx b/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs1/app/App.tsx new file mode 100644 index 000000000..83ecbf5f2 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs1/app/App.tsx @@ -0,0 +1,38 @@ +import { HtmlEditor, Image, Inject, Link, QuickToolbar, RichTextEditorComponent, Toolbar } from '@syncfusion/ej2-react-richtexteditor'; +import { MentionComponent } from '@syncfusion/ej2-react-dropdowns'; +import * as React from 'react'; + +class App extends React.Component<{},{}> { + public mentionObj : MentionComponent; + private data: { [key: string]: Object }[] = [ + { Name: 'Selma Rose', EmailId: 'selma@gmail.com' }, + { Name: 'Maria', EmailId: 'maria@gmail.com' }, + { Name: 'Russo Kay', EmailId: 'russo@gmail.com' }, + { Name: 'Robert', EmailId: 'robert@gmail.com' }, + { Name: 'Camden Kate', EmailId: 'camden@gmail.com' }, + ]; + private fieldsData: { [key: string]: string }={ text: 'Name' }; + + private rteValue:string = "

    Hello @Maria

    Welcome to the mention integration with rich text editor demo. Type @ character and tag user from the suggestion list.

    "; + + render() { + return ( +
    +
    +
    + + + +
    +
    + + { this.mentionObj = scope; }} id="mentionEditor" target="#mention_integration_rte-edit-view" dataSource={this.data} fields={this.fieldsData} minLength={3}> +
    + ); + } +} + +export default App; + + + diff --git a/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs1/app/index.tsx b/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs1/app/index.tsx new file mode 100644 index 000000000..4b54648bc --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs1/app/index.tsx @@ -0,0 +1,5 @@ +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; +import App from './App'; + +ReactDOM.render(, document.getElementById('sample')); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs1/index.html b/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs1/index.html new file mode 100644 index 000000000..ae8d303f5 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs1/index.html @@ -0,0 +1,87 @@ + + + + + Syncfusion React Rich Text Editor + + + + + + + + + + + + + + + + + + + +
    +
    Loading....
    +
    + + + diff --git a/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs1/systemjs.config.js b/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs1/systemjs.config.js new file mode 100644 index 000000000..e24695880 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs1/systemjs.config.js @@ -0,0 +1,57 @@ +System.config({ + transpiler: "ts", + typescriptOptions: { + target: "es5", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true, + "jsx": "react" + }, + meta: { + 'typescript': { + "exports": "ts" + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/20.3.56/" + }, + map: { + app: 'app', + ts: "https://unpkg.com/plugin-typescript@8.0.0/lib/plugin.js", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-layouts": "syncfusion:ej2-layouts/dist/ej2-layouts.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-filemanager": "syncfusion:ej2-filemanager/dist/ej2-filemanager.umd.min.js", + "@syncfusion/ej2-richtexteditor": "syncfusion:ej2-richtexteditor/dist/ej2-richtexteditor.umd.min.js", + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + + "@syncfusion/ej2-react-base": "syncfusion:ej2-react-base/dist/ej2-react-base.umd.min.js", + "@syncfusion/ej2-react-popups": "syncfusion:ej2-react-popups/dist/ej2-react-popups.umd.min.js", + "@syncfusion/ej2-react-buttons": "syncfusion:ej2-react-buttons/dist/ej2-react-buttons.umd.min.js", + "@syncfusion/ej2-react-dropdowns": "syncfusion:ej2-react-dropdowns/dist/ej2-react-dropdowns.umd.min.js", + "@syncfusion/ej2-react-richtexteditor": "syncfusion:ej2-react-richtexteditor/dist/ej2-react-richtexteditor.umd.min.js", +"react-dom":"https://unpkg.com/react-dom@16.3.1/umd/react-dom.development.js", +"react":"https://unpkg.com/react@16.3.1/umd/react.development.js", + }, + packages: { + 'app': { main: 'index', defaultExtension: 'tsx' }, + } + +}); + +System.import('app'); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs2/app/App.jsx b/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs2/app/App.jsx new file mode 100644 index 000000000..541ea1e4d --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs2/app/App.jsx @@ -0,0 +1,27 @@ +import { HtmlEditor, Image, Inject, Link, QuickToolbar, RichTextEditorComponent, Toolbar } from '@syncfusion/ej2-react-richtexteditor'; +import { MentionComponent } from '@syncfusion/ej2-react-dropdowns'; +import * as React from 'react'; + +function App() { + let rteValue = "

    Hello @Maria

    Welcome to the mention integration with rich text editor demo. Type @ character and tag user from the suggestion list.

    "; + + let data = [ + { Name: 'Selma Rose', EmailId: 'selma@gmail.com' }, + { Name: 'Maria', EmailId: 'maria@gmail.com' }, + { Name: 'Russo Kay', EmailId: 'russo@gmail.com' }, + { Name: 'Robert', EmailId: 'robert@gmail.com' }, + { Name: 'Camden Kate', EmailId: 'camden@gmail.com' }, + ]; + let fieldsData = { text: 'Name' }; + return (
    +
    +
    + + + +
    +
    + +
    ); +} +export default App; diff --git a/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs2/app/App.tsx b/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs2/app/App.tsx new file mode 100644 index 000000000..908fc7ddb --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs2/app/App.tsx @@ -0,0 +1,31 @@ +import { HtmlEditor, Image, Inject, Link, QuickToolbar, RichTextEditorComponent, Toolbar } from '@syncfusion/ej2-react-richtexteditor'; +import { MentionComponent } from '@syncfusion/ej2-react-dropdowns'; +import * as React from 'react'; + +function App() { + let rteValue:string = "

    Hello @Maria

    Welcome to the mention integration with rich text editor demo. Type @ character and tag user from the suggestion list.

    "; + + let data: { [key: string]: Object }[] = [ + { Name: 'Selma Rose', EmailId: 'selma@gmail.com' }, + { Name: 'Maria', EmailId: 'maria@gmail.com' }, + { Name: 'Russo Kay', EmailId: 'russo@gmail.com' }, + { Name: 'Robert', EmailId: 'robert@gmail.com' }, + { Name: 'Camden Kate', EmailId: 'camden@gmail.com' }, + ]; + let fieldsData: { [key: string]: string }={ text: 'Name' }; + + return ( +
    +
    +
    + + + +
    +
    + +
    + ); +} + +export default App; diff --git a/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs2/app/index.tsx b/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs2/app/index.tsx new file mode 100644 index 000000000..4b54648bc --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs2/app/index.tsx @@ -0,0 +1,5 @@ +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; +import App from './App'; + +ReactDOM.render(, document.getElementById('sample')); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs2/index.html b/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs2/index.html new file mode 100644 index 000000000..ae8d303f5 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs2/index.html @@ -0,0 +1,87 @@ + + + + + Syncfusion React Rich Text Editor + + + + + + + + + + + + + + + + + + + +
    +
    Loading....
    +
    + + + diff --git a/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs2/systemjs.config.js b/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs2/systemjs.config.js new file mode 100644 index 000000000..79266524e --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/mention-min-length-cs2/systemjs.config.js @@ -0,0 +1,57 @@ +System.config({ + transpiler: "ts", + typescriptOptions: { + target: "es5", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true, + "jsx": "react" + }, + meta: { + 'typescript': { + "exports": "ts" + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/20.3.56/" + }, + map: { + app: 'app', + ts: "https://unpkg.com/plugin-typescript@8.0.0/lib/plugin.js", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-layouts": "syncfusion:ej2-layouts/dist/ej2-layouts.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-filemanager": "syncfusion:ej2-filemanager/dist/ej2-filemanager.umd.min.js", + "@syncfusion/ej2-richtexteditor": "syncfusion:ej2-richtexteditor/dist/ej2-richtexteditor.umd.min.js", + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + + "@syncfusion/ej2-react-base": "syncfusion:ej2-react-base/dist/ej2-react-base.umd.min.js", + "@syncfusion/ej2-react-popups": "syncfusion:ej2-react-popups/dist/ej2-react-popups.umd.min.js", + "@syncfusion/ej2-react-buttons": "syncfusion:ej2-react-buttons/dist/ej2-react-buttons.umd.min.js", + "@syncfusion/ej2-react-dropdowns": "syncfusion:ej2-react-dropdowns/dist/ej2-react-dropdowns.umd.min.js", + "@syncfusion/ej2-react-richtexteditor": "syncfusion:ej2-react-richtexteditor/dist/ej2-react-richtexteditor.umd.min.js", + "react-dom": "https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js", + "react": "https://unpkg.com/react@18.2.0/umd/react.production.min.js", + }, + packages: { + 'app': { main: 'index', defaultExtension: 'tsx' }, + } + +}); + +System.import('app'); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs1/app/App.jsx b/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs1/app/App.jsx new file mode 100644 index 000000000..214eedc68 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs1/app/App.jsx @@ -0,0 +1,29 @@ +import { HtmlEditor, Image, Inject, Link, QuickToolbar, RichTextEditorComponent, Toolbar } from '@syncfusion/ej2-react-richtexteditor'; +import * as React from 'react'; +class App extends React.Component { + + rteValue = `
    +

    Outer Quote: The Rich Text Editor provides a flexible way to format quotations.

    +
    +

    Inner Quote: You can even nest blockquotes to represent quoted replies or layered citations.

    +
    +

    Deep Quote: This is useful in forums, emails, or academic writing where multiple levels of quoting are needed.

    +
    +
    +
    `; + + toolbarSettings = { + items: ['Blockquote', 'Bold', 'Italic', 'Underline', 'StrikeThrough', + 'FontName', 'FontSize', + 'LowerCase', 'UpperCase', '|', + 'Formats', 'Alignments', 'OrderedList', 'UnorderedList', + 'Outdent', 'Indent', '|', 'Undo', 'Redo'] + }; + render() { + return ( + + + ); + } +} +export default App; diff --git a/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs1/app/App.tsx b/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs1/app/App.tsx new file mode 100644 index 000000000..9ba45eacc --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs1/app/App.tsx @@ -0,0 +1,31 @@ +import { HtmlEditor, Image, Inject, Link, QuickToolbar, RichTextEditorComponent, Toolbar } from '@syncfusion/ej2-react-richtexteditor'; +import * as React from 'react'; + +class App extends React.Component<{},{}> { + + private rteValue:string = `
    +

    Outer Quote: The Rich Text Editor provides a flexible way to format quotations.

    +
    +

    Inner Quote: You can even nest blockquotes to represent quoted replies or layered citations.

    +
    +

    Deep Quote: This is useful in forums, emails, or academic writing where multiple levels of quoting are needed.

    +
    +
    +
    ` + private toolbarSettings: object = { + items: ['Blockquote', 'Bold', 'Italic', 'Underline', 'StrikeThrough', + 'FontName', 'FontSize', + 'LowerCase', 'UpperCase', '|', + 'Formats', 'Alignments', 'OrderedList', 'UnorderedList', + 'Outdent', 'Indent', '|', 'Undo', 'Redo'] +} +public render() { + return ( + + + + ); +} +} + +export default App; \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs1/app/index.tsx b/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs1/app/index.tsx new file mode 100644 index 000000000..4b54648bc --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs1/app/index.tsx @@ -0,0 +1,5 @@ +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; +import App from './App'; + +ReactDOM.render(, document.getElementById('sample')); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs1/index.html b/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs1/index.html new file mode 100644 index 000000000..577f52a5e --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs1/index.html @@ -0,0 +1,40 @@ + + + + + Syncfusion React Rich Text Editor + + + + + + + + + + + + + + + + + + + + +
    +
    Loading....
    +
    + + + \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs1/systemjs.config.js b/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs1/systemjs.config.js new file mode 100644 index 000000000..3b166944c --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs1/systemjs.config.js @@ -0,0 +1,56 @@ +System.config({ + transpiler: "ts", + typescriptOptions: { + target: "es5", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true, + "jsx": "react" + }, + meta: { + 'typescript': { + "exports": "ts" + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/20.3.56/" + }, + map: { + app: 'app', + ts: "https://unpkg.com/plugin-typescript@8.0.0/lib/plugin.js", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-layouts": "syncfusion:ej2-layouts/dist/ej2-layouts.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-filemanager": "syncfusion:ej2-filemanager/dist/ej2-filemanager.umd.min.js", + "@syncfusion/ej2-richtexteditor": "syncfusion:ej2-richtexteditor/dist/ej2-richtexteditor.umd.min.js", + + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + "@syncfusion/ej2-react-base": "syncfusion:ej2-react-base/dist/ej2-react-base.umd.min.js", + "@syncfusion/ej2-react-popups": "syncfusion:ej2-react-popups/dist/ej2-react-popups.umd.min.js", + "@syncfusion/ej2-react-buttons": "syncfusion:ej2-react-buttons/dist/ej2-react-buttons.umd.min.js", + "@syncfusion/ej2-react-richtexteditor": "syncfusion:ej2-react-richtexteditor/dist/ej2-react-richtexteditor.umd.min.js", +"react-dom":"https://unpkg.com/react-dom@16.3.1/umd/react-dom.development.js", +"react":"https://unpkg.com/react@16.3.1/umd/react.development.js", + }, + packages: { + 'app': { main: 'index', defaultExtension: 'tsx' }, + } + +}); + +System.import('app'); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs2/app/App.jsx b/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs2/app/App.jsx new file mode 100644 index 000000000..b2babf9dc --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs2/app/App.jsx @@ -0,0 +1,28 @@ +import { HtmlEditor, Image, Inject, Link, QuickToolbar, RichTextEditorComponent, Toolbar } from '@syncfusion/ej2-react-richtexteditor'; +import * as React from 'react'; + +function App() { + + let rteValue = `
    +

    Outer Quote: The Rich Text Editor provides a flexible way to format quotations.

    +
    +

    Inner Quote: You can even nest blockquotes to represent quoted replies or layered citations.

    +
    +

    Deep Quote: This is useful in forums, emails, or academic writing where multiple levels of quoting are needed.

    +
    +
    +
    `; + + let toolbarSettings = { + items: ['Blockquote', 'Bold', 'Italic', 'Underline', 'StrikeThrough', + 'FontName', 'FontSize', + 'LowerCase', 'UpperCase', '|', + 'Formats', 'Alignments', 'OrderedList', 'UnorderedList', + 'Outdent', 'Indent', '|', 'Undo', 'Redo'] + }; + + return ( + + ); +} +export default App; diff --git a/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs2/app/App.tsx b/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs2/app/App.tsx new file mode 100644 index 000000000..b948d2cb9 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs2/app/App.tsx @@ -0,0 +1,31 @@ +import { HtmlEditor, Image, Inject, Link, QuickToolbar, RichTextEditorComponent, Toolbar } from '@syncfusion/ej2-react-richtexteditor'; +import * as React from 'react'; + +function App() { + + let rteValue:string = `
    +

    Outer Quote: The Rich Text Editor provides a flexible way to format quotations.

    +
    +

    Inner Quote: You can even nest blockquotes to represent quoted replies or layered citations.

    +
    +

    Deep Quote: This is useful in forums, emails, or academic writing where multiple levels of quoting are needed.

    +
    +
    +
    `; + + let toolbarSettings: object = { + items: ['Blockquote', 'Bold', 'Italic', 'Underline', 'StrikeThrough', + 'FontName', 'FontSize', + 'LowerCase', 'UpperCase', '|', + 'Formats', 'Alignments', 'OrderedList', 'UnorderedList', + 'Outdent', 'Indent', '|', 'Undo', 'Redo'] + } + + return ( + + + + ); +} + +export default App; diff --git a/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs2/app/index.tsx b/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs2/app/index.tsx new file mode 100644 index 000000000..4b54648bc --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs2/app/index.tsx @@ -0,0 +1,5 @@ +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; +import App from './App'; + +ReactDOM.render(, document.getElementById('sample')); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs2/index.html b/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs2/index.html new file mode 100644 index 000000000..577f52a5e --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs2/index.html @@ -0,0 +1,40 @@ + + + + + Syncfusion React Rich Text Editor + + + + + + + + + + + + + + + + + + + + +
    +
    Loading....
    +
    + + + \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs2/systemjs.config.js b/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs2/systemjs.config.js new file mode 100644 index 000000000..c4dbfa68b --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/nested-blockquote-cs2/systemjs.config.js @@ -0,0 +1,56 @@ +System.config({ + transpiler: "ts", + typescriptOptions: { + target: "es5", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true, + "jsx": "react" + }, + meta: { + 'typescript': { + "exports": "ts" + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/20.3.56/" + }, + map: { + app: 'app', + ts: "https://unpkg.com/plugin-typescript@8.0.0/lib/plugin.js", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-layouts": "syncfusion:ej2-layouts/dist/ej2-layouts.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-filemanager": "syncfusion:ej2-filemanager/dist/ej2-filemanager.umd.min.js", + "@syncfusion/ej2-richtexteditor": "syncfusion:ej2-richtexteditor/dist/ej2-richtexteditor.umd.min.js", + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + + "@syncfusion/ej2-react-base": "syncfusion:ej2-react-base/dist/ej2-react-base.umd.min.js", + "@syncfusion/ej2-react-popups": "syncfusion:ej2-react-popups/dist/ej2-react-popups.umd.min.js", + "@syncfusion/ej2-react-buttons": "syncfusion:ej2-react-buttons/dist/ej2-react-buttons.umd.min.js", + "@syncfusion/ej2-react-richtexteditor": "syncfusion:ej2-react-richtexteditor/dist/ej2-react-richtexteditor.umd.min.js", + "react-dom": "https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js", + "react": "https://unpkg.com/react@18.2.0/umd/react.production.min.js", + }, + packages: { + 'app': { main: 'index', defaultExtension: 'tsx' }, + } + +}); + +System.import('app'); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/nesting-table-cs1/app/App.jsx b/ej2-react/code-snippet/rich-text-editor/nesting-table-cs1/app/App.jsx new file mode 100644 index 000000000..712cd3b19 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/nesting-table-cs1/app/App.jsx @@ -0,0 +1,49 @@ +import { HtmlEditor, Image, Inject, Link, Table, QuickToolbar, RichTextEditorComponent, Toolbar } from '@syncfusion/ej2-react-richtexteditor'; +import * as React from 'react'; +class App extends React.Component { + + rteValue = ` + + + + + + + + + + + + +
    DepartmentDetails
    Sales + + + + + + + + + + + + + +
    EmployeeTarget
    John Doe$50,000
    Jane Smith$60,000
    +
    MarketingCampaign planning in progress
    `; + + toolbarSettings = { + items: ['CreateTable','Bold', 'Italic', 'Underline', 'StrikeThrough', 'Blockquote', + 'FontName', 'FontSize', + 'LowerCase', 'UpperCase', '|', + 'Formats', 'Alignments', 'OrderedList', 'UnorderedList', + 'Outdent', 'Indent', '|', 'Undo', 'Redo'] + }; + render() { + return ( + + + ); + } +} +export default App; diff --git a/ej2-react/code-snippet/rich-text-editor/nesting-table-cs1/app/App.tsx b/ej2-react/code-snippet/rich-text-editor/nesting-table-cs1/app/App.tsx new file mode 100644 index 000000000..a279a05b9 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/nesting-table-cs1/app/App.tsx @@ -0,0 +1,51 @@ +import { HtmlEditor, Image, Inject, Link, QuickToolbar, Table, RichTextEditorComponent, Toolbar } from '@syncfusion/ej2-react-richtexteditor'; +import * as React from 'react'; + +class App extends React.Component<{},{}> { + + private rteValue:string = ` + + + + + + + + + + + + +
    DepartmentDetails
    Sales + + + + + + + + + + + + + +
    EmployeeTarget
    John Doe$50,000
    Jane Smith$60,000
    +
    MarketingCampaign planning in progress
    ` + private toolbarSettings: object = { + items: ['CreateTable','Bold', 'Italic', 'Underline', 'StrikeThrough','Blockquote', + 'FontName', 'FontSize', + 'LowerCase', 'UpperCase', '|', + 'Formats', 'Alignments', 'OrderedList', 'UnorderedList', + 'Outdent', 'Indent', '|', 'Undo', 'Redo'] +} +public render() { + return ( + + + + ); +} +} + +export default App; \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/nesting-table-cs1/app/index.tsx b/ej2-react/code-snippet/rich-text-editor/nesting-table-cs1/app/index.tsx new file mode 100644 index 000000000..4b54648bc --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/nesting-table-cs1/app/index.tsx @@ -0,0 +1,5 @@ +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; +import App from './App'; + +ReactDOM.render(, document.getElementById('sample')); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/nesting-table-cs1/index.html b/ej2-react/code-snippet/rich-text-editor/nesting-table-cs1/index.html new file mode 100644 index 000000000..577f52a5e --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/nesting-table-cs1/index.html @@ -0,0 +1,40 @@ + + + + + Syncfusion React Rich Text Editor + + + + + + + + + + + + + + + + + + + + +
    +
    Loading....
    +
    + + + \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/nesting-table-cs1/systemjs.config.js b/ej2-react/code-snippet/rich-text-editor/nesting-table-cs1/systemjs.config.js new file mode 100644 index 000000000..3b166944c --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/nesting-table-cs1/systemjs.config.js @@ -0,0 +1,56 @@ +System.config({ + transpiler: "ts", + typescriptOptions: { + target: "es5", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true, + "jsx": "react" + }, + meta: { + 'typescript': { + "exports": "ts" + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/20.3.56/" + }, + map: { + app: 'app', + ts: "https://unpkg.com/plugin-typescript@8.0.0/lib/plugin.js", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-layouts": "syncfusion:ej2-layouts/dist/ej2-layouts.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-filemanager": "syncfusion:ej2-filemanager/dist/ej2-filemanager.umd.min.js", + "@syncfusion/ej2-richtexteditor": "syncfusion:ej2-richtexteditor/dist/ej2-richtexteditor.umd.min.js", + + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + "@syncfusion/ej2-react-base": "syncfusion:ej2-react-base/dist/ej2-react-base.umd.min.js", + "@syncfusion/ej2-react-popups": "syncfusion:ej2-react-popups/dist/ej2-react-popups.umd.min.js", + "@syncfusion/ej2-react-buttons": "syncfusion:ej2-react-buttons/dist/ej2-react-buttons.umd.min.js", + "@syncfusion/ej2-react-richtexteditor": "syncfusion:ej2-react-richtexteditor/dist/ej2-react-richtexteditor.umd.min.js", +"react-dom":"https://unpkg.com/react-dom@16.3.1/umd/react-dom.development.js", +"react":"https://unpkg.com/react@16.3.1/umd/react.development.js", + }, + packages: { + 'app': { main: 'index', defaultExtension: 'tsx' }, + } + +}); + +System.import('app'); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/nesting-table-cs2/app/App.jsx b/ej2-react/code-snippet/rich-text-editor/nesting-table-cs2/app/App.jsx new file mode 100644 index 000000000..12dc6ce20 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/nesting-table-cs2/app/App.jsx @@ -0,0 +1,48 @@ +import { HtmlEditor, Image, Inject, Link, Table, QuickToolbar, RichTextEditorComponent, Toolbar } from '@syncfusion/ej2-react-richtexteditor'; +import * as React from 'react'; + +function App() { + + let rteValue = ` + + + + + + + + + + + + +
    DepartmentDetails
    Sales + + + + + + + + + + + + + +
    EmployeeTarget
    John Doe$50,000
    Jane Smith$60,000
    +
    MarketingCampaign planning in progress
    `; + + let toolbarSettings = { + items: ['CreateTable','Blockquote', 'Bold', 'Italic', 'Underline', 'StrikeThrough', + 'FontName', 'FontSize', + 'LowerCase', 'UpperCase', '|', + 'Formats', 'Alignments', 'OrderedList', 'UnorderedList', + 'Outdent', 'Indent', '|', 'Undo', 'Redo'] + }; + + return ( + + ); +} +export default App; diff --git a/ej2-react/code-snippet/rich-text-editor/nesting-table-cs2/app/App.tsx b/ej2-react/code-snippet/rich-text-editor/nesting-table-cs2/app/App.tsx new file mode 100644 index 000000000..1de998925 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/nesting-table-cs2/app/App.tsx @@ -0,0 +1,51 @@ +import { HtmlEditor, Image, Inject, Table, Link, QuickToolbar, RichTextEditorComponent, Toolbar } from '@syncfusion/ej2-react-richtexteditor'; +import * as React from 'react'; + +function App() { + + let rteValue:string = ` + + + + + + + + + + + + +
    DepartmentDetails
    Sales + + + + + + + + + + + + + +
    EmployeeTarget
    John Doe$50,000
    Jane Smith$60,000
    +
    MarketingCampaign planning in progress
    `; + + let toolbarSettings: object = { + items: ['CreateTable','Blockquote', 'Bold', 'Italic', 'Underline', 'StrikeThrough', + 'FontName', 'FontSize', + 'LowerCase', 'UpperCase', '|', + 'Formats', 'Alignments', 'OrderedList', 'UnorderedList', + 'Outdent', 'Indent', '|', 'Undo', 'Redo'] + } + + return ( + + + + ); +} + +export default App; diff --git a/ej2-react/code-snippet/rich-text-editor/nesting-table-cs2/app/index.tsx b/ej2-react/code-snippet/rich-text-editor/nesting-table-cs2/app/index.tsx new file mode 100644 index 000000000..4b54648bc --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/nesting-table-cs2/app/index.tsx @@ -0,0 +1,5 @@ +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; +import App from './App'; + +ReactDOM.render(, document.getElementById('sample')); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/nesting-table-cs2/index.html b/ej2-react/code-snippet/rich-text-editor/nesting-table-cs2/index.html new file mode 100644 index 000000000..577f52a5e --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/nesting-table-cs2/index.html @@ -0,0 +1,40 @@ + + + + + Syncfusion React Rich Text Editor + + + + + + + + + + + + + + + + + + + + +
    +
    Loading....
    +
    + + + \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/nesting-table-cs2/systemjs.config.js b/ej2-react/code-snippet/rich-text-editor/nesting-table-cs2/systemjs.config.js new file mode 100644 index 000000000..c4dbfa68b --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/nesting-table-cs2/systemjs.config.js @@ -0,0 +1,56 @@ +System.config({ + transpiler: "ts", + typescriptOptions: { + target: "es5", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true, + "jsx": "react" + }, + meta: { + 'typescript': { + "exports": "ts" + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/20.3.56/" + }, + map: { + app: 'app', + ts: "https://unpkg.com/plugin-typescript@8.0.0/lib/plugin.js", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-layouts": "syncfusion:ej2-layouts/dist/ej2-layouts.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-filemanager": "syncfusion:ej2-filemanager/dist/ej2-filemanager.umd.min.js", + "@syncfusion/ej2-richtexteditor": "syncfusion:ej2-richtexteditor/dist/ej2-richtexteditor.umd.min.js", + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + + "@syncfusion/ej2-react-base": "syncfusion:ej2-react-base/dist/ej2-react-base.umd.min.js", + "@syncfusion/ej2-react-popups": "syncfusion:ej2-react-popups/dist/ej2-react-popups.umd.min.js", + "@syncfusion/ej2-react-buttons": "syncfusion:ej2-react-buttons/dist/ej2-react-buttons.umd.min.js", + "@syncfusion/ej2-react-richtexteditor": "syncfusion:ej2-react-richtexteditor/dist/ej2-react-richtexteditor.umd.min.js", + "react-dom": "https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js", + "react": "https://unpkg.com/react@18.2.0/umd/react.production.min.js", + }, + packages: { + 'app': { main: 'index', defaultExtension: 'tsx' }, + } + +}); + +System.import('app'); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/selection-cs1/app/App.jsx b/ej2-react/code-snippet/rich-text-editor/selection-cs1/app/App.jsx new file mode 100644 index 000000000..89fa37ac2 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/selection-cs1/app/App.jsx @@ -0,0 +1,80 @@ +import { HtmlEditor, Image, Inject, Link, QuickToolbar, RichTextEditorComponent, Toolbar } from '@syncfusion/ej2-react-richtexteditor'; +import { SliderComponent } from '@syncfusion/ej2-react-inputs'; +import * as React from 'react'; +class App extends React.Component { + + constructor(props) { + super(props); + this.rteRef = createRef(); + + // ✅ Initialize state properly + this.state = { + sliderValue: [0, 50], + maxLength: 400, + }; + + // ✅ RTE content + this.rteContent = `

    The Syncfusion Rich Text Editor, a WYSIWYG (what you see is what you get) editor, is a user interface that allows you to create, edit, and format rich text content. You can try out a demo of this editor here. Key features: Provides IFRAME and DIV modes. Bulleted and numbered lists. Handles images, hyperlinks, videos, hyperlinks, uploads, etc. Contains undo/redo manager.

    `; + } + + componentDidMount() { + const rte = this.rteRef.current; + if (rte) { + const panel = rte.contentModule.getEditPanel(); + const textNode = panel?.firstChild?.firstChild; + if (textNode && textNode.textContent) { + this.setState({ maxLength: textNode.textContent.length }); + } + } + } + + onSliderChange = (args) => { + const value = args.value; + const [start, end] = value; + + const rte = this.rteRef.current; + if (!rte) return; + + const panel = rte.contentModule.getEditPanel(); + const textNode = panel?.firstChild?.firstChild; + if (!textNode || !(textNode instanceof Text)) return; + + const safeStart = Math.min(start, textNode.length); + const safeEnd = Math.min(end, textNode.length); + + const range = document.createRange(); + range.setStart(textNode, safeStart); + range.setEnd(textNode, safeEnd); + + const selection = window.getSelection(); + selection?.removeAllRanges(); + selection?.addRange(range); + + // ✅ Update slider value in state + this.setState({ sliderValue: [safeStart, safeEnd] }); + }; + + render() { + const { sliderValue, maxLength } = this.state; + + return ( +
    +
    + + +
    + + + + +
    + ); + } +} +export default App; diff --git a/ej2-react/code-snippet/rich-text-editor/selection-cs1/app/App.tsx b/ej2-react/code-snippet/rich-text-editor/selection-cs1/app/App.tsx new file mode 100644 index 000000000..4bf28e0bb --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/selection-cs1/app/App.tsx @@ -0,0 +1,86 @@ +import React from 'react'; +import {HtmlEditor,Image,Inject,Link,QuickToolbar,RichTextEditorComponent,Toolbar} from '@syncfusion/ej2-react-richtexteditor'; +import { SliderComponent, ChangeEventArgs } from '@syncfusion/ej2-react-inputs'; + +interface AppState { + sliderValue: [number, number]; + maxLength: number; +} + +class App extends React.Component<{}, AppState> { + private rteRef = React.createRef(); + private rteContent: string = `

    The Syncfusion Rich Text Editor, a WYSIWYG (what you see is what you get) editor, is a user interface that allows you to create, edit, and format rich text content. You can try out a demo of this editor here. Key features: Provides IFRAME and DIV modes. Bulleted and numbered lists. Handles images, hyperlinks, videos, hyperlinks, uploads, etc. Contains undo/redo manager.

    `; + + constructor(props: {}) { + super(props); + this.state = { + sliderValue: [0, 50], + maxLength: 400, + }; + } + + componentDidMount(): void { + const rte = this.rteRef.current; + if (rte) { + const panel = rte.contentModule.getEditPanel(); + const textNode = panel?.firstChild?.firstChild; + if (textNode && textNode.textContent) { + this.setState({ maxLength: textNode.textContent.length }); + } + } + } + + onSliderChange = (args: ChangeEventArgs): void => { + const value = args.value as [number, number]; + const [start, end] = value; + + const rte = this.rteRef.current; + if (!rte) return; + + const panel = rte.contentModule.getEditPanel(); + const textNode = panel?.firstChild?.firstChild; + if (!textNode || !(textNode instanceof Text)) return; + + const safeStart = Math.min(start, textNode.length); + const safeEnd = Math.min(end, textNode.length); + + const range = document.createRange(); + range.setStart(textNode, safeStart); + range.setEnd(textNode, safeEnd); + + const selection = window.getSelection(); + selection?.removeAllRanges(); + selection?.addRange(range); + + this.setState({ sliderValue: [safeStart, safeEnd] }); + }; + + render() { + const { sliderValue, maxLength } = this.state; + + return ( +
    +
    + + +
    + + + + +
    + ); + } +} + +export default App; \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/selection-cs1/app/index.tsx b/ej2-react/code-snippet/rich-text-editor/selection-cs1/app/index.tsx new file mode 100644 index 000000000..4b54648bc --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/selection-cs1/app/index.tsx @@ -0,0 +1,5 @@ +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; +import App from './App'; + +ReactDOM.render(, document.getElementById('sample')); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/selection-cs1/index.html b/ej2-react/code-snippet/rich-text-editor/selection-cs1/index.html new file mode 100644 index 000000000..577f52a5e --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/selection-cs1/index.html @@ -0,0 +1,40 @@ + + + + + Syncfusion React Rich Text Editor + + + + + + + + + + + + + + + + + + + + +
    +
    Loading....
    +
    + + + \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/selection-cs1/systemjs.config.js b/ej2-react/code-snippet/rich-text-editor/selection-cs1/systemjs.config.js new file mode 100644 index 000000000..59685384a --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/selection-cs1/systemjs.config.js @@ -0,0 +1,56 @@ +System.config({ + transpiler: "ts", + typescriptOptions: { + target: "es5", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true, + "jsx": "react" + }, + meta: { + 'typescript': { + "exports": "ts" + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/20.3.56/" + }, + map: { + app: 'app', + ts: "https://unpkg.com/plugin-typescript@8.0.0/lib/plugin.js", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-layouts": "syncfusion:ej2-layouts/dist/ej2-layouts.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-filemanager": "syncfusion:ej2-filemanager/dist/ej2-filemanager.umd.min.js", + "@syncfusion/ej2-richtexteditor": "syncfusion:ej2-richtexteditor/dist/ej2-richtexteditor.umd.min.js", + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + + "@syncfusion/ej2-react-base": "syncfusion:ej2-react-base/dist/ej2-react-base.umd.min.js", + "@syncfusion/ej2-react-popups": "syncfusion:ej2-react-popups/dist/ej2-react-popups.umd.min.js", + "@syncfusion/ej2-react-buttons": "syncfusion:ej2-react-buttons/dist/ej2-react-buttons.umd.min.js", + "@syncfusion/ej2-react-richtexteditor": "syncfusion:ej2-react-richtexteditor/dist/ej2-react-richtexteditor.umd.min.js", +"react-dom":"https://unpkg.com/react-dom@16.3.1/umd/react-dom.development.js", +"react":"https://unpkg.com/react@16.3.1/umd/react.development.js", + }, + packages: { + 'app': { main: 'index', defaultExtension: 'tsx' }, + } + +}); + +System.import('app'); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/selection-cs2/app/App.jsx b/ej2-react/code-snippet/rich-text-editor/selection-cs2/app/App.jsx new file mode 100644 index 000000000..a7dbefe24 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/selection-cs2/app/App.jsx @@ -0,0 +1,68 @@ +import React, { useRef, useEffect, useState } from 'react'; +import {RichTextEditorComponent,HtmlEditor,Toolbar,Image,Link,QuickToolbar,Inject} from '@syncfusion/ej2-react-richtexteditor'; +import { SliderComponent } from '@syncfusion/ej2-react-inputs'; + +function App() { + const rteRef = useRef(null); + const [sliderValue, setSliderValue] = useState([0, 50]); + const [maxLength, setMaxLength] = useState(400); + + const rteContent = `

    The Syncfusion Rich Text Editor, a WYSIWYG (what you see is what you get) editor, is a user interface that allows you to create, edit, and format rich text content. You can try out a demo of this editor here. Key features: Provides IFRAME and DIV modes. Bulleted and numbered lists. Handles images, hyperlinks, videos, hyperlinks, uploads, etc. Contains undo/redo manager.

    `; + + useEffect(() => { + const rte = rteRef.current; + if (rte) { + const panel = rte.contentModule.getEditPanel(); + const textNode = panel?.firstChild?.firstChild; + if (textNode && textNode.textContent) { + setMaxLength(textNode.textContent.length); + } + } + }, []); + + const onSliderChange = (args) => { + const value = args.value; + const [start, end] = value; + + const rte = rteRef.current; + if (!rte) return; + + const panel = rte.contentModule.getEditPanel(); + const textNode = panel?.firstChild?.firstChild; + if (!textNode || !(textNode instanceof Text)) return; + + const safeStart = Math.min(start, textNode.length); + const safeEnd = Math.min(end, textNode.length); + + const range = document.createRange(); + range.setStart(textNode, safeStart); + range.setEnd(textNode, safeEnd); + + const selection = window.getSelection(); + selection?.removeAllRanges(); + selection?.addRange(range); + + setSliderValue([safeStart, safeEnd]); + }; + + return ( +
    +
    + + +
    + + + + +
    + ); +} + +export default App; diff --git a/ej2-react/code-snippet/rich-text-editor/selection-cs2/app/App.tsx b/ej2-react/code-snippet/rich-text-editor/selection-cs2/app/App.tsx new file mode 100644 index 000000000..14e75dd9d --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/selection-cs2/app/App.tsx @@ -0,0 +1,80 @@ +import React, { useRef, useEffect, useState } from 'react'; +import { + RichTextEditorComponent, + HtmlEditor, + Toolbar, + Image, + Link, + QuickToolbar, + Inject, +} from '@syncfusion/ej2-react-richtexteditor'; +import { SliderComponent, ChangeEventArgs } from '@syncfusion/ej2-react-inputs'; + +function App() { + const rteRef = useRef(null); + const [sliderValue, setSliderValue] = useState<[number, number]>([0, 50]); + const [maxLength, setMaxLength] = useState(400); + + const rteContent: string = `

    The Syncfusion Rich Text Editor, a WYSIWYG (what you see is what you get) editor, is a user interface that allows you to create, edit, and format rich text content. You can try out a demo of this editor here. Key features: Provides IFRAME and DIV modes. Bulleted and numbered lists. Handles images, hyperlinks, videos, hyperlinks, uploads, etc. Contains undo/redo manager.

    `; + + useEffect(() => { + const rte = rteRef.current; + if (rte) { + const panel = rte.contentModule.getEditPanel(); + const textNode = panel?.firstChild?.firstChild; + if (textNode && textNode.textContent) { + setMaxLength(textNode.textContent.length); + } + } + }, []); + + function onSliderChange(args: ChangeEventArgs): void { + const value = args.value as [number, number]; + const [start, end] = value; + + const rte = rteRef.current; + if (!rte) return; + + const panel = rte.contentModule.getEditPanel(); + const textNode = panel?.firstChild?.firstChild; + if (!textNode || !(textNode instanceof Text)) return; + + const safeStart = Math.min(start, textNode.length); + const safeEnd = Math.min(end, textNode.length); + + const range = document.createRange(); + range.setStart(textNode, safeStart); + range.setEnd(textNode, safeEnd); + + const selection = window.getSelection(); + selection?.removeAllRanges(); + selection?.addRange(range); + + setSliderValue([safeStart, safeEnd]); + } + + return ( +
    +
    + + +
    + + + + +
    + ); +} + +export default App; \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/selection-cs2/app/index.tsx b/ej2-react/code-snippet/rich-text-editor/selection-cs2/app/index.tsx new file mode 100644 index 000000000..4b54648bc --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/selection-cs2/app/index.tsx @@ -0,0 +1,5 @@ +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; +import App from './App'; + +ReactDOM.render(, document.getElementById('sample')); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/selection-cs2/index.html b/ej2-react/code-snippet/rich-text-editor/selection-cs2/index.html new file mode 100644 index 000000000..577f52a5e --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/selection-cs2/index.html @@ -0,0 +1,40 @@ + + + + + Syncfusion React Rich Text Editor + + + + + + + + + + + + + + + + + + + + +
    +
    Loading....
    +
    + + + \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/selection-cs2/systemjs.config.js b/ej2-react/code-snippet/rich-text-editor/selection-cs2/systemjs.config.js new file mode 100644 index 000000000..c4dbfa68b --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/selection-cs2/systemjs.config.js @@ -0,0 +1,56 @@ +System.config({ + transpiler: "ts", + typescriptOptions: { + target: "es5", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true, + "jsx": "react" + }, + meta: { + 'typescript': { + "exports": "ts" + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/20.3.56/" + }, + map: { + app: 'app', + ts: "https://unpkg.com/plugin-typescript@8.0.0/lib/plugin.js", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-layouts": "syncfusion:ej2-layouts/dist/ej2-layouts.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-filemanager": "syncfusion:ej2-filemanager/dist/ej2-filemanager.umd.min.js", + "@syncfusion/ej2-richtexteditor": "syncfusion:ej2-richtexteditor/dist/ej2-richtexteditor.umd.min.js", + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + + "@syncfusion/ej2-react-base": "syncfusion:ej2-react-base/dist/ej2-react-base.umd.min.js", + "@syncfusion/ej2-react-popups": "syncfusion:ej2-react-popups/dist/ej2-react-popups.umd.min.js", + "@syncfusion/ej2-react-buttons": "syncfusion:ej2-react-buttons/dist/ej2-react-buttons.umd.min.js", + "@syncfusion/ej2-react-richtexteditor": "syncfusion:ej2-react-richtexteditor/dist/ej2-react-richtexteditor.umd.min.js", + "react-dom": "https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js", + "react": "https://unpkg.com/react@18.2.0/umd/react.production.min.js", + }, + packages: { + 'app': { main: 'index', defaultExtension: 'tsx' }, + } + +}); + +System.import('app'); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs1/app/App.jsx b/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs1/app/App.jsx new file mode 100644 index 000000000..b686f34b0 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs1/app/App.jsx @@ -0,0 +1,37 @@ +import { HtmlEditor, Image, Inject, Link, QuickToolbar, RichTextEditorComponent, Toolbar } from '@syncfusion/ej2-react-richtexteditor'; +import { MentionComponent } from '@syncfusion/ej2-react-dropdowns'; +import * as React from 'react'; + +class App extends React.Component { + data = [ + { Name: 'Selma Rose', EmailId: 'selma@gmail.com' }, + { Name: 'Maria', EmailId: 'maria@gmail.com' }, + { Name: 'Russo Kay', EmailId: 'russo@gmail.com' }, + { Name: 'Robert', EmailId: 'robert@gmail.com' }, + { Name: 'Camden Kate', EmailId: 'camden@gmail.com' }, + { Name: 'Sophia', EmailId: 'sophia@gmail.com' }, + { Name: 'Margaret', EmailId: 'margaret@gmail.com' }, + { Name: 'Ursula Ann', EmailId: 'ursula@gmail.com' }, + { Name: 'Laura Grace', EmailId: 'laura@gmail.com' }, + { Name: 'Albert', EmailId: 'albert@gmail.com' }, + { Name: 'William', EmailId: 'william@gmail.com' }, + ]; + fieldsData = { text: 'Name' }; + + rteValue = "

    Hello @Maria

    Welcome to the mention integration with rich text editor demo. Type @ character and tag user from the suggestion list.

    "; + + render() { + return (
    +
    +
    + + + +
    +
    + + +
    ); + } +} +export default App; diff --git a/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs1/app/App.tsx b/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs1/app/App.tsx new file mode 100644 index 000000000..4f45cc5cd --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs1/app/App.tsx @@ -0,0 +1,44 @@ +import { HtmlEditor, Image, Inject, Link, QuickToolbar, RichTextEditorComponent, Toolbar } from '@syncfusion/ej2-react-richtexteditor'; +import { MentionComponent } from '@syncfusion/ej2-react-dropdowns'; +import * as React from 'react'; + +class App extends React.Component<{},{}> { + public mentionObj : MentionComponent; + private data: { [key: string]: Object }[] = [ + { Name: 'Selma Rose', EmailId: 'selma@gmail.com' }, + { Name: 'Maria', EmailId: 'maria@gmail.com' }, + { Name: 'Russo Kay', EmailId: 'russo@gmail.com' }, + { Name: 'Robert', EmailId: 'robert@gmail.com' }, + { Name: 'Camden Kate', EmailId: 'camden@gmail.com' }, + { Name: 'Sophia', EmailId: 'sophia@gmail.com' }, + { Name: 'Margaret', EmailId: 'margaret@gmail.com' }, + { Name: 'Ursula Ann', EmailId: 'ursula@gmail.com' }, + { Name: 'Laura Grace', EmailId: 'laura@gmail.com' }, + { Name: 'Albert', EmailId: 'albert@gmail.com' }, + { Name: 'William', EmailId: 'william@gmail.com' }, + ]; + private fieldsData: { [key: string]: string }={ text: 'Name' }; + + private rteValue:string = "

    Hello @Maria

    Welcome to the mention integration with rich text editor demo. Type @ character and tag user from the suggestion list.

    "; + + render() { + return ( +
    +
    +
    + + + +
    +
    + + { this.mentionObj = scope; }} id="mentionEditor" target="#mention_integration_rte-edit-view" dataSource={this.data} fields={this.fieldsData} suggestionCount={5}> +
    + ); + } +} + +export default App; + + + diff --git a/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs1/app/index.tsx b/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs1/app/index.tsx new file mode 100644 index 000000000..4b54648bc --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs1/app/index.tsx @@ -0,0 +1,5 @@ +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; +import App from './App'; + +ReactDOM.render(, document.getElementById('sample')); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs1/index.html b/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs1/index.html new file mode 100644 index 000000000..ae8d303f5 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs1/index.html @@ -0,0 +1,87 @@ + + + + + Syncfusion React Rich Text Editor + + + + + + + + + + + + + + + + + + + +
    +
    Loading....
    +
    + + + diff --git a/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs1/systemjs.config.js b/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs1/systemjs.config.js new file mode 100644 index 000000000..e24695880 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs1/systemjs.config.js @@ -0,0 +1,57 @@ +System.config({ + transpiler: "ts", + typescriptOptions: { + target: "es5", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true, + "jsx": "react" + }, + meta: { + 'typescript': { + "exports": "ts" + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/20.3.56/" + }, + map: { + app: 'app', + ts: "https://unpkg.com/plugin-typescript@8.0.0/lib/plugin.js", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-layouts": "syncfusion:ej2-layouts/dist/ej2-layouts.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-filemanager": "syncfusion:ej2-filemanager/dist/ej2-filemanager.umd.min.js", + "@syncfusion/ej2-richtexteditor": "syncfusion:ej2-richtexteditor/dist/ej2-richtexteditor.umd.min.js", + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + + "@syncfusion/ej2-react-base": "syncfusion:ej2-react-base/dist/ej2-react-base.umd.min.js", + "@syncfusion/ej2-react-popups": "syncfusion:ej2-react-popups/dist/ej2-react-popups.umd.min.js", + "@syncfusion/ej2-react-buttons": "syncfusion:ej2-react-buttons/dist/ej2-react-buttons.umd.min.js", + "@syncfusion/ej2-react-dropdowns": "syncfusion:ej2-react-dropdowns/dist/ej2-react-dropdowns.umd.min.js", + "@syncfusion/ej2-react-richtexteditor": "syncfusion:ej2-react-richtexteditor/dist/ej2-react-richtexteditor.umd.min.js", +"react-dom":"https://unpkg.com/react-dom@16.3.1/umd/react-dom.development.js", +"react":"https://unpkg.com/react@16.3.1/umd/react.development.js", + }, + packages: { + 'app': { main: 'index', defaultExtension: 'tsx' }, + } + +}); + +System.import('app'); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs2/app/App.jsx b/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs2/app/App.jsx new file mode 100644 index 000000000..3f4508469 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs2/app/App.jsx @@ -0,0 +1,33 @@ +import { HtmlEditor, Image, Inject, Link, QuickToolbar, RichTextEditorComponent, Toolbar } from '@syncfusion/ej2-react-richtexteditor'; +import { MentionComponent } from '@syncfusion/ej2-react-dropdowns'; +import * as React from 'react'; + +function App() { + let rteValue = "

    Hello @Maria

    Welcome to the mention integration with rich text editor demo. Type @ character and tag user from the suggestion list.

    "; + + let data = [ + { Name: 'Selma Rose', EmailId: 'selma@gmail.com' }, + { Name: 'Maria', EmailId: 'maria@gmail.com' }, + { Name: 'Russo Kay', EmailId: 'russo@gmail.com' }, + { Name: 'Robert', EmailId: 'robert@gmail.com' }, + { Name: 'Camden Kate', EmailId: 'camden@gmail.com' }, + { Name: 'Sophia', EmailId: 'sophia@gmail.com' }, + { Name: 'Margaret', EmailId: 'margaret@gmail.com' }, + { Name: 'Ursula Ann', EmailId: 'ursula@gmail.com' }, + { Name: 'Laura Grace', EmailId: 'laura@gmail.com' }, + { Name: 'Albert', EmailId: 'albert@gmail.com' }, + { Name: 'William', EmailId: 'william@gmail.com' }, + ]; + let fieldsData = { text: 'Name' }; + return (
    +
    +
    + + + +
    +
    + +
    ); +} +export default App; diff --git a/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs2/app/App.tsx b/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs2/app/App.tsx new file mode 100644 index 000000000..376976421 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs2/app/App.tsx @@ -0,0 +1,37 @@ +import { HtmlEditor, Image, Inject, Link, QuickToolbar, RichTextEditorComponent, Toolbar } from '@syncfusion/ej2-react-richtexteditor'; +import { MentionComponent } from '@syncfusion/ej2-react-dropdowns'; +import * as React from 'react'; + +function App() { + let rteValue:string = "

    Hello @Maria

    Welcome to the mention integration with rich text editor demo. Type @ character and tag user from the suggestion list.

    "; + + let data: { [key: string]: Object }[] = [ + { Name: 'Selma Rose', EmailId: 'selma@gmail.com' }, + { Name: 'Maria', EmailId: 'maria@gmail.com' }, + { Name: 'Russo Kay', EmailId: 'russo@gmail.com' }, + { Name: 'Robert', EmailId: 'robert@gmail.com' }, + { Name: 'Camden Kate', EmailId: 'camden@gmail.com' }, + { Name: 'Sophia', EmailId: 'sophia@gmail.com' }, + { Name: 'Margaret', EmailId: 'margaret@gmail.com' }, + { Name: 'Ursula Ann', EmailId: 'ursula@gmail.com' }, + { Name: 'Laura Grace', EmailId: 'laura@gmail.com' }, + { Name: 'Albert', EmailId: 'albert@gmail.com' }, + { Name: 'William', EmailId: 'william@gmail.com' }, + ]; + let fieldsData: { [key: string]: string }={ text: 'Name' }; + + return ( +
    +
    +
    + + + +
    +
    + +
    + ); +} + +export default App; diff --git a/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs2/app/index.tsx b/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs2/app/index.tsx new file mode 100644 index 000000000..4b54648bc --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs2/app/index.tsx @@ -0,0 +1,5 @@ +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; +import App from './App'; + +ReactDOM.render(, document.getElementById('sample')); \ No newline at end of file diff --git a/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs2/index.html b/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs2/index.html new file mode 100644 index 000000000..ae8d303f5 --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs2/index.html @@ -0,0 +1,87 @@ + + + + + Syncfusion React Rich Text Editor + + + + + + + + + + + + + + + + + + + +
    +
    Loading....
    +
    + + + diff --git a/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs2/systemjs.config.js b/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs2/systemjs.config.js new file mode 100644 index 000000000..79266524e --- /dev/null +++ b/ej2-react/code-snippet/rich-text-editor/suggestion-count-cs2/systemjs.config.js @@ -0,0 +1,57 @@ +System.config({ + transpiler: "ts", + typescriptOptions: { + target: "es5", + module: "commonjs", + moduleResolution: "node", + emitDecoratorMetadata: true, + experimentalDecorators: true, + "jsx": "react" + }, + meta: { + 'typescript': { + "exports": "ts" + } + }, + paths: { + "syncfusion:": "https://cdn.syncfusion.com/ej2/20.3.56/" + }, + map: { + app: 'app', + ts: "https://unpkg.com/plugin-typescript@8.0.0/lib/plugin.js", + typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js", + "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js", + "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js", + "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js", + "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js", + "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js", + "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js", + "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js", + "@syncfusion/ej2-layouts": "syncfusion:ej2-layouts/dist/ej2-layouts.umd.min.js", + "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js", + "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js", + "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js", + "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js", + "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js", + "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js", + "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js", + "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js", + "@syncfusion/ej2-filemanager": "syncfusion:ej2-filemanager/dist/ej2-filemanager.umd.min.js", + "@syncfusion/ej2-richtexteditor": "syncfusion:ej2-richtexteditor/dist/ej2-richtexteditor.umd.min.js", + "@syncfusion/ej2-notifications":"syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js", + + "@syncfusion/ej2-react-base": "syncfusion:ej2-react-base/dist/ej2-react-base.umd.min.js", + "@syncfusion/ej2-react-popups": "syncfusion:ej2-react-popups/dist/ej2-react-popups.umd.min.js", + "@syncfusion/ej2-react-buttons": "syncfusion:ej2-react-buttons/dist/ej2-react-buttons.umd.min.js", + "@syncfusion/ej2-react-dropdowns": "syncfusion:ej2-react-dropdowns/dist/ej2-react-dropdowns.umd.min.js", + "@syncfusion/ej2-react-richtexteditor": "syncfusion:ej2-react-richtexteditor/dist/ej2-react-richtexteditor.umd.min.js", + "react-dom": "https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js", + "react": "https://unpkg.com/react@18.2.0/umd/react.production.min.js", + }, + packages: { + 'app': { main: 'index', defaultExtension: 'tsx' }, + } + +}); + +System.import('app'); \ No newline at end of file diff --git a/ej2-react/grid/module.md b/ej2-react/grid/module.md index 9102b89a5..cb4429e7e 100644 --- a/ej2-react/grid/module.md +++ b/ej2-react/grid/module.md @@ -18,7 +18,7 @@ The following modules should be injected to extend grid's functionality. | [Sort](https://ej2.syncfusion.com/angular/documentation/api/grid/sort/)| Inject this module to use sorting feature.| | [Filter](https://ej2.syncfusion.com/angular/documentation/api/grid/filter/)| Inject this module to use filtering feature.| | [Group](https://ej2.syncfusion.com/angular/documentation/api/grid/group/)| Inject this module to use grouping feature| -| [Edit](https://ej2.syncfusion.com/angular/documentation/api/grid/edit/)| Inject this module is use editing feature.| +| [Edit](https://ej2.syncfusion.com/angular/documentation/api/grid/edit/)| Inject this module to use editing feature.| | `Aggregate`| Inject this module to use aggregate feature.| | [ColumnChooser](https://ej2.syncfusion.com/angular/documentation/api/grid/columnChooser/)| Inject this module to use column chooser feature.| | `ColumnMenu`| Inject this module to use column menu feature.| diff --git a/ej2-react/markdown-editor/getting-started.md b/ej2-react/markdown-editor/getting-started.md index d4211e11b..7a609ea27 100644 --- a/ej2-react/markdown-editor/getting-started.md +++ b/ej2-react/markdown-editor/getting-started.md @@ -102,7 +102,15 @@ To create Markdown Editor with additional features, inject the required modules. * **Link** - Inject this module to use link feature in Markdown Editor. * **Toolbar** - Inject this module to use Toolbar feature. -These modules should be injected into the **providers** section of root **NgModule** or component class. +These modules should be injected into the `services` section of the component as shown below: + +```ts + + + + + +``` > Additional feature modules are available [here](https://ej2.syncfusion.com/react/documentation/rich-text-editor/module). diff --git a/ej2-react/rich-text-editor/getting-started.md b/ej2-react/rich-text-editor/getting-started.md index 6b47ad315..62dcdbf69 100644 --- a/ej2-react/rich-text-editor/getting-started.md +++ b/ej2-react/rich-text-editor/getting-started.md @@ -124,7 +124,15 @@ To create Rich Text Editor with additional features, inject the required modules * **QuickToolbar** - Inject this module to use quick toolbar feature for the target element. * **Toolbar** - Inject this module to use Toolbar feature. -These modules should be injected into the **providers** section of root **NgModule** or component class. +These modules should be injected into the `services` section of the component as shown below: + +```ts + + + + + +``` > Additional feature modules are available [here](./module.md). diff --git a/ej2-react/rich-text-editor/images/list-editing.gif b/ej2-react/rich-text-editor/images/list-editing.gif new file mode 100644 index 0000000000000000000000000000000000000000..2b004d0e7ba2b809f77a662ca68e80c83b070bd3 GIT binary patch literal 4533811 zcmd4YXH*kW`zZQJgV4eddNn}k9gz|cLnu-NLq|YFK&2>#B7&fX5ISOLf(S^L-h+Uk zp-B~KA|fKai2^q4+`Q+1?)h?VIrn_JYwg)+2c{$o}1~OiRgw1!~v9L5Q8Ca7Y)ZpaBM?AdyHgz>W|g37M~5 zg)8CU0EGz(xS2dxdWdjl9-ZD#&#a}>%hm}5*A)6fSxAT-xH|^!3WK{dpzs*jPY3OA z1ZHOmmfqgfJnzi)12ANLrfl7kS?8r39QNC3bTRww3Z@9#t=rkHWV@B}K zoY^G=5U7!nDa9PLal#tADIvR=yD2jo%#R0`xr-aq=pWnlP635o zcfH4U!7-5eN^b?`E!g#Tr88@gu3?t~+J)?P&DaUs*>%-|!ZV=VjGbMIUBByC%Gen5 zERkclNaT77avhgqx0^YZ;+l!e9K(%`dAp8zkBu>7GLL#AnK7ArGMP0PzzjInm6^G| zn@7mY^RBfMK9Ec~ki;EGdLKxFDRy=TGqnLBc9ym42MdIQGVovlJn&9A@Wy3^2#3_t z5Aq@pyuA;+!CDRB-7@-&hMlDXxZ9O-P_}+RSU(71-XUg#eh@-G0O`B`8R~Yft|6|G z%meGl6##-1GjAyDjzRJ&x(_xK^~QtJmU-rl#r?@bNB!pq8%qZ6VvLi-ESgG(GUV;6 z+=rUVMzYnthx06&%U?Xu4cVR_YJT+cAwGs(+_I%&qQpEy@$7I*<c(4yg8c(Q#~ITKN2v z0_!KOA2XZO)}Ow3@_6?>>bf%@s
  • Release Notes -
  • VVPPm^Au6P#W5*3708%2v-Os6U-e| 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Π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 literal 0 HcmV?d00001 diff --git a/ej2-react/pivotview/images/export-as-pivot.png b/ej2-react/pivotview/images/export-as-pivot.png new file mode 100644 index 0000000000000000000000000000000000000000..ef20f9dce0daf79374732b50199b421b532b6f9d GIT binary patch literal 47067 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