|
1 | | -# React Sample Configuration |
| 1 | +# Syncfusion React Component Demo Samples |
2 | 2 |
|
3 | | -## Adding your sample folder |
4 | | -Create new folder in 'src' location and name the folder as control name for example "grid” it is control name. |
| 3 | +Welcome to the demo samples repository for Syncfusion React components! This repository contains a collection of sample applications showcasing the usage of various Syncfusion components in a React environment. |
5 | 4 |
|
6 | | -_Note: Do not use whitespace at any cause in folder’s name. Use “-” instead of space._ |
| 5 | +## Prerequisites |
7 | 6 |
|
8 | | -## Adding the sample |
| 7 | +- [Node.js](https://nodejs.org/en) - `v10.24.1` |
9 | 8 |
|
10 | | -Add the sample component tsx file in the sample folder.Below steps are need to be considered on sample creation |
| 9 | +## Run the samples |
11 | 10 |
|
12 | | - * Sample component must extend the "SampleBase" component class from the path "src/common/sample-base" file. |
13 | | - * Sample tag must be enclosed between the "control-section" div. |
14 | | - * In all samples description is need to be added. Add sample description within the div tag with id as **description**. |
| 11 | +To run the sample applications locally, follow these steps |
15 | 12 |
|
16 | | -```javascript |
17 | | -import * as ReactDOM from 'react-dom'; |
18 | | -import * as React from 'react'; |
19 | | -import { SampleBase } from '../common/sample-base'; |
20 | | -export class Default extends SampleBase<{}, {}> { |
21 | | - |
22 | | - render() { |
23 | | - return ( |
24 | | - <div className = 'control-pane'> |
25 | | - <div className='control-section'> |
26 | | - //sample component tags |
27 | | - </div> |
28 | | - <div id="description"> |
29 | | - // sample description |
30 | | - </div> |
31 | | - </div> |
32 | | - ) |
33 | | - } |
34 | | -} |
| 13 | +1. Install the required dependencies using npm |
35 | 14 |
|
36 | | -``` |
37 | | -Refer the [sample](https://github.com/syncfusion/ej2-react-samples/blob/master/src/grid/default.tsx) for example sample component. |
38 | | - |
39 | | -Note: Do not use whitespace at any cause in file’s name. Use “-” instead of space. |
40 | | - |
41 | | -## Adding property section |
42 | | -To add the "propertypane” in the sample use tag `PropertyPane` from "common/property-pane" .Configure your sample properties as like below code snippet. |
43 | | - |
44 | | -``` |
45 | | -<PropertyPane title='Properties'> |
46 | | - <table id="property" title="Properties" className='property-panel-table' style={{ width: '100%' }}> |
47 | | - <tr> |
48 | | - <td style={{ width: '30%' }}> |
49 | | - <div className="col-md-4" style={{ paddingTop: "8px" }}> |
50 | | - GridLines |
51 | | - </div> |
52 | | - </td> |
53 | | - <td style={{ width: '70%', paddingRight: '10px' }}> |
54 | | - <div> |
55 | | - <select id="ddl" name="ddl" onChange={this.change.bind(this)} className="form-control" style={{ padding: "6px" }} ref={d => this.dropElement = d}> |
56 | | - <option value="default">Default</option> |
57 | | - <option value="both">Both</option> |
58 | | - <option value="none">None</option> |
59 | | - <option value="horizontal">Horizontal</option> |
60 | | - <option value="vertical">Vertical</option> |
61 | | - </select> |
62 | | - </div> |
63 | | - </td> |
64 | | - </tr> |
65 | | - </table> |
66 | | - </PropertyPane> |
67 | | -
|
68 | | -``` |
69 | | -Refer the [PropertyPanesample](https://github.com/syncfusion/ej2-react-samples/blob/master/src/grid/adaptive.tsx) for propertyPane example. |
70 | | - |
71 | | -## Add Routing for your sample |
72 | | - |
73 | | -Create the "config.tsx” file inside of your control folder.Configure your "config.tsx file" file as like below code snippet. |
74 | | - |
75 | | -``` |
76 | | -export const GridSampleOrder:Object = [ |
77 | | - { 'path': 'grid/default', 'component':'Default', 'name': 'Default Functionalities', 'order': '01', 'category': 'Grid' }, |
78 | | - { 'path': 'grid/gridlines', 'component':'GridLines', 'name': 'GridLines', 'order': '01', 'category': 'Grid', hideOnDevice: true } |
79 | | -] |
80 | | -
|
81 | | -``` |
82 | | - |
83 | | -**Fields Description:** |
84 | | - |
85 | | - * _path :_ Specifies the sample router path. Path must be same as "sampleFolderName/sampleFileName". |
86 | | - |
87 | | - * _component :_ Specifies the name of the sample component. |
88 | | - |
89 | | - * _name :_ Specifies the sample name to be displayed. |
90 | | - |
91 | | - * _order :_ Specifies the order in which sample to be displayed. |
92 | | - |
93 | | - * _category :_ Specifies the sample category. |
94 | | - |
95 | | -*Note: set **hideOnDevice** as true if you want to hide a sample in devices.* |
96 | | - |
97 | | -## Configure Sample List |
98 | | - |
99 | | -Add your samples in “samplelist.tsx” located in “/src/common” folder |
100 | | -1. Import your sampleOrder array from the component config file. |
101 | | -2. Add your samples in samplesList as Like below |
102 | | - |
103 | | -``` |
104 | | -import * as React from 'react'; |
105 | | -import { GridSampleOrder } from '../grid/config'; |
106 | | -
|
107 | | -export let samplesList: any = [ |
108 | | -
|
109 | | - { |
110 | | - 'name': 'Grid', 'category': 'Grids', 'order': '02', 'path': 'grid', 'samples': GridSampleOrder |
111 | | - } |
112 | | -]; |
113 | | -``` |
114 | | - |
115 | | -## Adding your control dependency |
116 | | - |
117 | | -Add your dependency in “package.json” file inside the dependencies. |
118 | | - |
119 | | -Note: Here, '\*' Specifies that install the latest published package form the online. '\*' is recommended for Syncfusion packages. |
120 | | - |
121 | | -``` |
122 | | -"dependencies": { |
123 | | - "@syncfusion/ej2-react-grids": "*" |
124 | | -}, |
125 | | -``` |
126 | | -# Using the samples |
127 | | - |
128 | | -## Installing |
129 | | - |
130 | | -Before installation check `@syncfusion:registry=http://nexus.syncfusion.com/repository/ej2-production/` is available in npmrc file. Then use the below command to install all dependent packages. |
131 | | - |
132 | | -``` |
| 15 | +```bash |
133 | 16 | npm install |
134 | 17 | ``` |
135 | 18 |
|
136 | | -## Build |
137 | | - |
138 | | -Use `npm run build` command to compile the source files. It calls the following tasks synchronously, |
139 | | - |
140 | | -1. SEO changes |
141 | | -2. Build |
142 | | -3. Styles ship |
143 | | -4. Site-map generate. |
| 19 | +2. Start the development server using gulp |
144 | 20 |
|
145 | | -### SEO changes |
146 | | - |
147 | | -It will set meta data and description for the h1 tag to show our components first in search engine. Use the below command to run it individual. |
148 | | - |
149 | | -``` |
150 | | -gulp SEO-changes |
151 | | -``` |
152 | | - |
153 | | -### Build |
154 | | - |
155 | | -Use the below command to generate scripts, styles, locale and sample lists. |
156 | | - |
157 | | -``` |
158 | | -gulp build |
159 | | -``` |
160 | | -It runs the following tasks synchronously, |
161 | | - |
162 | | -1. Scripts |
163 | | -2. Styles |
164 | | - |
165 | | -#### **Scripts** |
166 | | - |
167 | | - It compiles the Typescript files and use the below command to run this task. |
168 | | - |
169 | | -``` |
170 | | -gulp scripts |
171 | | -``` |
172 | | - |
173 | | -#### **Styles** |
174 | | - |
175 | | -`gulp styles` command is used to compile default themes. It calls the following two tasks synchronously. |
176 | | - |
177 | | -1. Default theme |
178 | | -2. Compile styles |
179 | | - |
180 | | -#### Default theme |
181 | | - |
182 | | -Use the below command to generate default theme files. |
183 | | - |
184 | | -``` |
185 | | -gulp default-theme |
186 | | -``` |
187 | | - |
188 | | -#### Compile Styles |
189 | | -It compiles the scss file to css file. To run this task use the below command, |
190 | | - |
191 | | -``` |
192 | | -gulp compile-styles |
193 | | -``` |
194 | | - |
195 | | -### Styles Shipping |
196 | | - |
197 | | -It copies css files for themes from node_modules. Use the below command to run it individual. |
198 | | - |
199 | | -``` |
200 | | -gulp styles-ship |
201 | | -``` |
202 | | - |
203 | | -### Site map generation |
204 | | - |
205 | | -The below command combines sample of all components and store it in sitemap-demos.xml file to index our components, samples, documents in search engine. |
206 | | - |
207 | | -``` |
208 | | -gulp sitemap-generate |
209 | | -``` |
210 | | - |
211 | | -## Running the Sample Browser |
212 | | - |
213 | | -To run your sample browser you can use any of the following command. |
214 | | - |
215 | | -``` |
| 21 | +```bash |
216 | 22 | gulp serve |
217 | 23 | ``` |
| 24 | + |
| 25 | +3. Open your web browser and navigate to the specified localhost address to view the samples. |
0 commit comments