Articles about European Sharepoint Hosting Service
SharePoint Hosting – Create Animated Welcome SharePoint Framework Webpart
Everyone thinks about integrating the animations to SharePoint. Today, we are going to unleash the Particle animation effects in the SharePoint Framework with the help of the particles.js.
Create a new Webpart
Let’s create a SharePoint Framework webpart. Navigate to the folder, where you want to store the Webpart project. Then run the below Yeoman SharePoint generator command to create a project.
yo @microsoft/sharepoint
You must answer the questions prompted by the yeoman SharePoint Generator. Let’s create a new SharePoint Solution,
- What is your solution name? animated-welcome
- Only SharePoint Online (latest) is supported. For earlier versions of SharePoint (2016 and 2019) please use the 1.4.1 version of the generator. SharePoint Online only (latest)
- Do you want to allow the tenant admin the choice of being able to deploy the solution to all sites immediately without running any feature deployment or adding apps in sites? No
- Will the components in the solution require permissions to access web APIs that are unique and not shared with other components in the tenant? No
- Which type of client-side component to create? WebPartAdd new Web part to solution animated-welcome.
- What is your Web part name? AnimatedWelcome
- What is your Web part description? Welcome webpart with Animation
- Which framework would you like to use? React
The generator takes some time (at least 2 to 3 minutes) to scaffold the folder and files with dependencies to the project folder.
To add the particle animation to the webpart. We must add the particle npm package as dependency in the webpart. For that, run the below command,
npm install react-tsparticles
The JSON value should be passed to particle js to animate. For that, add editor control in the webpart property panel. Let’s run the below command to add the pnp property controls to the project,
npm install @pnp/spfx-property-controls –save –save-exact
Develop a Webpart
Now we are ready to start developing the project. Open that project in a VS Code or any editor.
Modify Main file
Open the file AnimatedWelcomeWebPart.ts. Then replace the property interface with the below lines,
1 2 3 4 |
<span class="token keyword module keyword-export">export</span> <span class="token keyword keyword-interface">interface</span> <span class="token class-name">IAnimatedWelcomeWebPartProps</span> <span class="token punctuation">{</span> welocomeMessage<span class="token operator">:</span>string<span class="token punctuation">,</span> particleJson<span class="token operator">:</span>string <span class="token punctuation">}</span> |
Import the propertyFieldCodeEditor control from @pnp/spfx-property-controls by adding the line before the IAnimatedWelcomeWebPartProps declaration.
1 |
<span class="token keyword module keyword-import">import</span> <span class="token imports"><span class="token punctuation">{</span> <span class="token maybe-class-name">PropertyFieldCodeEditor</span><span class="token punctuation">,</span> <span class="token maybe-class-name">PropertyFieldCodeEditorLanguages</span> <span class="token punctuation">}</span></span> <span class="token keyword module keyword-from">from</span> <span class="token string">'@pnp/spfx-property-controls/lib/PropertyFieldCodeEditor'</span><span class="token punctuation">;</span> |
Then replace the getPropertyPaneConfiguration method with the below lines,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
<span class="token keyword keyword-protected">protected</span> <span class="token function">getPropertyPaneConfiguration</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">:</span> <span class="token maybe-class-name">IPropertyPaneConfiguration</span> <span class="token punctuation">{</span> <span class="token keyword control-flow keyword-return">return</span> <span class="token punctuation">{</span> pages<span class="token operator">:</span> <span class="token punctuation">[</span> <span class="token punctuation">{</span> header<span class="token operator">:</span> <span class="token punctuation">{</span> description<span class="token operator">:</span> <span class="token string">"Welcome Animated Webpart"</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> groups<span class="token operator">:</span> <span class="token punctuation">[</span> <span class="token punctuation">{</span> groupName<span class="token operator">:</span> strings<span class="token punctuation">.</span><span class="token property-access"><span class="token maybe-class-name">BasicGroupName</span></span><span class="token punctuation">,</span> groupFields<span class="token operator">:</span> <span class="token punctuation">[</span> <span class="token function"><span class="token maybe-class-name">PropertyPaneTextField</span></span><span class="token punctuation">(</span><span class="token string">'welcomeMessage'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span> label<span class="token operator">:</span> <span class="token string">'Welcome Message'</span> <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">,</span> <span class="token function"><span class="token maybe-class-name">PropertyFieldCodeEditor</span></span><span class="token punctuation">(</span><span class="token string">'particleJson'</span><span class="token punctuation">,</span> <span class="token punctuation">{</span> label<span class="token operator">:</span> <span class="token string">'Edit Particle Json Code'</span><span class="token punctuation">,</span> panelTitle<span class="token operator">:</span> <span class="token string">'Edit Particle Json Code'</span><span class="token punctuation">,</span> initialValue<span class="token operator">:</span> <span class="token keyword keyword-this">this</span><span class="token punctuation">.</span><span class="token property-access">properties</span><span class="token punctuation">.</span><span class="token property-access">particleJson</span><span class="token punctuation">,</span> onPropertyChange<span class="token operator">:</span> <span class="token keyword keyword-this">this</span><span class="token punctuation">.</span><span class="token property-access">onPropertyPaneFieldChanged</span><span class="token punctuation">,</span> properties<span class="token operator">:</span> <span class="token keyword keyword-this">this</span><span class="token punctuation">.</span><span class="token property-access">properties</span><span class="token punctuation">,</span> disabled<span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span> key<span class="token operator">:</span> <span class="token string">'codeEditorFieldId'</span><span class="token punctuation">,</span> language<span class="token operator">:</span> <span class="token maybe-class-name">PropertyFieldCodeEditorLanguages</span><span class="token punctuation">.</span><span class="token known-class-name class-name">JSON</span><span class="token punctuation">,</span> options<span class="token operator">:</span> <span class="token punctuation">{</span> wrap<span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> fontSize<span class="token operator">:</span> <span class="token number">20</span><span class="token punctuation">,</span> <span class="token comment">// more options</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span><span class="token punctuation">)</span> <span class="token punctuation">]</span> <span class="token punctuation">}</span> <span class="token punctuation">]</span> <span class="token punctuation">}</span> <span class="token punctuation">]</span> <span class="token punctuation">}</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> |
Modify the properties for the AnimatedWelcome component in the render method by replacing it with below method,
1 2 3 4 5 6 7 8 9 10 |
<span class="token keyword keyword-public">public</span> <span class="token function">render</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">:</span> <span class="token keyword keyword-void">void</span> <span class="token punctuation">{</span> <span class="token keyword keyword-const">const</span> element<span class="token operator">:</span> <span class="token maybe-class-name">React</span><span class="token punctuation">.</span><span class="token property-access"><span class="token maybe-class-name">ReactElement</span></span><span class="token operator"><</span><span class="token maybe-class-name">IAnimatedWelcomeProps</span><span class="token operator">></span> <span class="token operator">=</span> <span class="token maybe-class-name">React</span><span class="token punctuation">.</span><span class="token method function property-access">createElement</span><span class="token punctuation">(</span> <span class="token maybe-class-name">AnimatedWelcome</span><span class="token punctuation">,</span> <span class="token punctuation">{</span> welcomeMessage<span class="token operator">:</span> <span class="token keyword keyword-this">this</span><span class="token punctuation">.</span><span class="token property-access">properties</span><span class="token punctuation">.</span><span class="token property-access">welcomeMessage</span><span class="token punctuation">,</span> particleJson<span class="token operator">:</span> <span class="token keyword keyword-this">this</span><span class="token punctuation">.</span><span class="token property-access">properties</span><span class="token punctuation">.</span><span class="token property-access">particleJson</span> <span class="token punctuation">}</span> <span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token maybe-class-name">ReactDom</span><span class="token punctuation">.</span><span class="token method function property-access">render</span><span class="token punctuation">(</span>element<span class="token punctuation">,</span> <span class="token keyword keyword-this">this</span><span class="token punctuation">.</span><span class="token property-access">domElement</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> |
Modify the syles
Update the classNames in style file AnimatedWelcome.module.scss with the below code snippet,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<span class="token atrule">@import <span class="token string">'~office-ui-fabric-react/dist/sass/References.scss'</span><span class="token punctuation">;</span></span> <span class="token selector"><span class="token class">.animatedWelcome</span></span> <span class="token punctuation">{</span> <span class="token selector"><span class="token class">.container</span></span> <span class="token punctuation">{</span> margin<span class="token punctuation">:</span> <span class="token number">0</span><span class="token unit">px</span> auto<span class="token punctuation">;</span> position<span class="token punctuation">:</span> relative <span class="token important">!important</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token selector"><span class="token class">.contentTopleft</span></span><span class="token punctuation">{</span> position<span class="token punctuation">:</span> absolute<span class="token punctuation">;</span> text-align<span class="token punctuation">:</span> center<span class="token punctuation">;</span> top<span class="token punctuation">:</span><span class="token number">0</span><span class="token punctuation">;</span> height<span class="token punctuation">:</span> <span class="token number">100</span><span class="token unit">%</span><span class="token punctuation">;</span> width<span class="token punctuation">:</span> <span class="token number">100</span><span class="token unit">%</span><span class="token punctuation">;</span> display<span class="token punctuation">:</span> flex<span class="token punctuation">;</span> align-items<span class="token punctuation">:</span> center<span class="token punctuation">;</span> justify-content<span class="token punctuation">:</span> center<span class="token punctuation">;</span> font-weight<span class="token punctuation">:</span> <span class="token number">600</span><span class="token punctuation">;</span> font-size<span class="token punctuation">:</span> <span class="token number">32</span><span class="token unit">px</span><span class="token punctuation">;</span> z-index<span class="token punctuation">:</span> <span class="token number">1</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> |
Modify the Component
To support newly added properties in the main file; Let’s modify the property file to update the properties.
Open IAnimatedWelcomeProps.ts and replace the entire file with below code,
1 2 3 4 |
<span class="token keyword module keyword-export">export</span> <span class="token keyword keyword-interface">interface</span> <span class="token class-name">IAnimatedWelcomeProps</span> <span class="token punctuation">{</span> welcomeMessage<span class="token operator">:</span> string<span class="token punctuation">;</span> particleJson<span class="token operator">:</span> any<span class="token punctuation">;</span> <span class="token punctuation">}</span> |
Open the component file AnimatedWelcome.tsx. Then import the particle components by adding below line on top of the page,
1 |
<span class="token keyword module keyword-import">import</span> <span class="token imports"><span class="token maybe-class-name">Particles</span></span> <span class="token keyword module keyword-from">from</span> <span class="token string">'react-tsparticles'</span><span class="token punctuation">;</span> |
Then replace the render method with below snippet in the same file AnimatedWelcome.tsx,
1 2 3 4 5 6 7 8 9 10 |
<span class="token keyword keyword-public">public</span> <span class="token function">render</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">:</span> <span class="token maybe-class-name">React</span><span class="token punctuation">.</span><span class="token property-access"><span class="token maybe-class-name">ReactElement</span></span><span class="token operator"><</span><span class="token maybe-class-name">IAnimatedWelcomeProps</span><span class="token operator">></span> <span class="token punctuation">{</span> <span class="token keyword control-flow keyword-return">return</span> <span class="token punctuation">(</span> <span class="token operator"><</span>div className<span class="token operator">=</span><span class="token punctuation">{</span> styles<span class="token punctuation">.</span><span class="token property-access">animatedWelcome</span> <span class="token punctuation">}</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">Particles</span> canvasClassName<span class="token operator">=</span><span class="token punctuation">{</span>styles<span class="token punctuation">.</span><span class="token property-access">container</span><span class="token punctuation">}</span> width<span class="token operator">=</span><span class="token string">'200px'</span> height<span class="token operator">=</span><span class="token string">'100%'</span> options<span class="token operator">=</span><span class="token punctuation">{</span><span class="token known-class-name class-name">JSON</span><span class="token punctuation">.</span><span class="token method function property-access">parse</span><span class="token punctuation">(</span><span class="token keyword keyword-this">this</span><span class="token punctuation">.</span><span class="token property-access">props</span><span class="token punctuation">.</span><span class="token property-access">particleJson</span><span class="token punctuation">)</span><span class="token punctuation">}</span> <span class="token operator">/</span><span class="token operator">></span> <span class="token punctuation">{</span><span class="token comment">/* <!-- Insert Welcome Message --> */</span><span class="token punctuation">}</span> <span class="token operator"><</span><span class="token operator">/</span>div<span class="token operator">></span> <span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> |
To add the text content to the webpart, add the below line under the Particles element,
1 2 3 4 5 |
<span class="token tag"><span class="token punctuation"><</span>div className<span class="token attr-value"><span class="token punctuation attr-equals">=</span>{styles.contentTopleft}</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token punctuation"><</span>div<span class="token punctuation">></span></span> {this.props.welcomeMessage} <span class="token tag"><span class="token punctuation"></</span>div<span class="token punctuation">></span></span> <span class="token tag"><span class="token punctuation"></</span>div<span class="token punctuation">></span></span> |
Finally, the render method looks like below,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<span class="token keyword keyword-public">public</span> <span class="token function">render</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">:</span> <span class="token maybe-class-name">React</span><span class="token punctuation">.</span><span class="token property-access"><span class="token maybe-class-name">ReactElement</span></span><span class="token operator"><</span><span class="token maybe-class-name">IAnimatedWelcomeProps</span><span class="token operator">></span> <span class="token punctuation">{</span> <span class="token keyword control-flow keyword-return">return</span> <span class="token punctuation">(</span> <span class="token operator"><</span>div className<span class="token operator">=</span><span class="token punctuation">{</span>styles<span class="token punctuation">.</span><span class="token property-access">animatedWelcome</span><span class="token punctuation">}</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">Particles</span> canvasClassName<span class="token operator">=</span><span class="token punctuation">{</span>styles<span class="token punctuation">.</span><span class="token property-access">container</span><span class="token punctuation">}</span> width<span class="token operator">=</span><span class="token string">'100%'</span> height<span class="token operator">=</span><span class="token string">'200px'</span> options<span class="token operator">=</span><span class="token punctuation">{</span><span class="token known-class-name class-name">JSON</span><span class="token punctuation">.</span><span class="token method function property-access">parse</span><span class="token punctuation">(</span><span class="token keyword keyword-this">this</span><span class="token punctuation">.</span><span class="token property-access">props</span><span class="token punctuation">.</span><span class="token property-access">particleJson</span><span class="token punctuation">)</span><span class="token punctuation">}</span> <span class="token operator">/</span><span class="token operator">></span> <span class="token operator"><</span>div className<span class="token operator">=</span><span class="token punctuation">{</span>styles<span class="token punctuation">.</span><span class="token property-access">contentTopleft</span><span class="token punctuation">}</span><span class="token operator">></span> <span class="token operator"><</span>div<span class="token operator">></span> <span class="token punctuation">{</span><span class="token keyword keyword-this">this</span><span class="token punctuation">.</span><span class="token property-access">props</span><span class="token punctuation">.</span><span class="token property-access">welcomeMessage</span><span class="token punctuation">}</span> <span class="token operator"><</span><span class="token operator">/</span>div<span class="token operator">></span> <span class="token operator"><</span><span class="token operator">/</span>div<span class="token operator">></span> <span class="token operator"><</span><span class="token operator">/</span>div<span class="token operator">></span> <span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> |
Webpart is ready. Then edit the webpart and add any JSON that supports particle js to the Edit Particle JSON code textbox.
For example, add the below JSON,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 |
<span class="token punctuation">{</span> <span class="token string">"fpsLimit"</span><span class="token operator">:</span> <span class="token number">60</span><span class="token punctuation">,</span> <span class="token string">"particles"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"number"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"value"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span> <span class="token string">"density"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"enable"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span> <span class="token string">"value_area"</span><span class="token operator">:</span> <span class="token number">800</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string">"color"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"value"</span><span class="token operator">:</span> <span class="token string">"#000"</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string">"shape"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"type"</span><span class="token operator">:</span> <span class="token string">"circle"</span><span class="token punctuation">,</span> <span class="token string">"stroke"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"width"</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span> <span class="token string">"color"</span><span class="token operator">:</span> <span class="token string">"#000000"</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string">"polygon"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"nb_sides"</span><span class="token operator">:</span> <span class="token number">5</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string">"opacity"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"value"</span><span class="token operator">:</span> <span class="token number">0.5</span><span class="token punctuation">,</span> <span class="token string">"random"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span> <span class="token string">"anim"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"enable"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span> <span class="token string">"speed"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span> <span class="token string">"opacity_min"</span><span class="token operator">:</span> <span class="token number">0.1</span><span class="token punctuation">,</span> <span class="token string">"sync"</span><span class="token operator">:</span> <span class="token boolean">false</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string">"size"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"value"</span><span class="token operator">:</span> <span class="token number">5</span><span class="token punctuation">,</span> <span class="token string">"random"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> <span class="token string">"anim"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"enable"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span> <span class="token string">"speed"</span><span class="token operator">:</span> <span class="token number">40</span><span class="token punctuation">,</span> <span class="token string">"size_min"</span><span class="token operator">:</span> <span class="token number">0.1</span><span class="token punctuation">,</span> <span class="token string">"sync"</span><span class="token operator">:</span> <span class="token boolean">false</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string">"line_linked"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"enable"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> <span class="token string">"distance"</span><span class="token operator">:</span> <span class="token number">150</span><span class="token punctuation">,</span> <span class="token string">"color"</span><span class="token operator">:</span> <span class="token string">"#000"</span><span class="token punctuation">,</span> <span class="token string">"opacity"</span><span class="token operator">:</span> <span class="token number">0.4</span><span class="token punctuation">,</span> <span class="token string">"width"</span><span class="token operator">:</span> <span class="token number">1</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string">"move"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"enable"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> <span class="token string">"speed"</span><span class="token operator">:</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token string">"direction"</span><span class="token operator">:</span> <span class="token string">"none"</span><span class="token punctuation">,</span> <span class="token string">"random"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span> <span class="token string">"straight"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span> <span class="token string">"out_mode"</span><span class="token operator">:</span> <span class="token string">"out"</span><span class="token punctuation">,</span> <span class="token string">"attract"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"enable"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span> <span class="token string">"rotateX"</span><span class="token operator">:</span> <span class="token number">600</span><span class="token punctuation">,</span> <span class="token string">"rotateY"</span><span class="token operator">:</span> <span class="token number">1200</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string">"interactivity"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"detect_on"</span><span class="token operator">:</span> <span class="token string">"canvas"</span><span class="token punctuation">,</span> <span class="token string">"events"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"onhover"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"enable"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span> <span class="token string">"mode"</span><span class="token operator">:</span> <span class="token string">"repulse"</span><span class="token punctuation">,</span> <span class="token string">"parallax"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"enable"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span> <span class="token string">"force"</span><span class="token operator">:</span> <span class="token number">60</span><span class="token punctuation">,</span> <span class="token string">"smooth"</span><span class="token operator">:</span> <span class="token number">10</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string">"onclick"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"enable"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> <span class="token string">"mode"</span><span class="token operator">:</span> <span class="token string">"emitter"</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string">"resize"</span><span class="token operator">:</span> <span class="token boolean">true</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string">"modes"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"grab"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"distance"</span><span class="token operator">:</span> <span class="token number">400</span><span class="token punctuation">,</span> <span class="token string">"line_linked"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"opacity"</span><span class="token operator">:</span> <span class="token number">1</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string">"bubble"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"distance"</span><span class="token operator">:</span> <span class="token number">400</span><span class="token punctuation">,</span> <span class="token string">"size"</span><span class="token operator">:</span> <span class="token number">40</span><span class="token punctuation">,</span> <span class="token string">"duration"</span><span class="token operator">:</span> <span class="token number">2</span><span class="token punctuation">,</span> <span class="token string">"opacity"</span><span class="token operator">:</span> <span class="token number">0.8</span><span class="token punctuation">,</span> <span class="token string">"mix"</span><span class="token operator">:</span> <span class="token boolean">false</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string">"repulse"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"distance"</span><span class="token operator">:</span> <span class="token number">50</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string">"push"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"particles_nb"</span><span class="token operator">:</span> <span class="token number">4</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string">"remove"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"particles_nb"</span><span class="token operator">:</span> <span class="token number">2</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string">"retina_detect"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> <span class="token string">"background"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"color"</span><span class="token operator">:</span> <span class="token string">"#fff"</span><span class="token punctuation">,</span> <span class="token string">"image"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span> <span class="token string">"position"</span><span class="token operator">:</span> <span class="token string">"50% 50%"</span><span class="token punctuation">,</span> <span class="token string">"repeat"</span><span class="token operator">:</span> <span class="token string">"no-repeat"</span><span class="token punctuation">,</span> <span class="token string">"size"</span><span class="token operator">:</span> <span class="token string">"cover"</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string">"emitters"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"direction"</span><span class="token operator">:</span> <span class="token string">"top"</span><span class="token punctuation">,</span> <span class="token string">"position"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"x"</span><span class="token operator">:</span> <span class="token number">50</span><span class="token punctuation">,</span> <span class="token string">"y"</span><span class="token operator">:</span> <span class="token number">130</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string">"rate"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"delay"</span><span class="token operator">:</span> <span class="token number">0.1</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string">"size"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"width"</span><span class="token operator">:</span> <span class="token number">50</span><span class="token punctuation">,</span> <span class="token string">"height"</span><span class="token operator">:</span> <span class="token number">0</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string">"particles"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"color"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"value"</span><span class="token operator">:</span> <span class="token punctuation">[</span> <span class="token string">"#5bc0eb"</span><span class="token punctuation">,</span> <span class="token string">"#fde74c"</span><span class="token punctuation">,</span> <span class="token string">"#9bc53d"</span><span class="token punctuation">,</span> <span class="token string">"#e55934"</span><span class="token punctuation">,</span> <span class="token string">"#fa7921"</span> <span class="token punctuation">]</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string">"lineLinked"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"enable"</span><span class="token operator">:</span> <span class="token boolean">false</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string">"opacity"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"value"</span><span class="token operator">:</span> <span class="token number">0.5</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string">"size"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"value"</span><span class="token operator">:</span> <span class="token number">400</span><span class="token punctuation">,</span> <span class="token string">"random"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"enable"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> <span class="token string">"minimumValue"</span><span class="token operator">:</span> <span class="token number">50</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string">"move"</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token string">"speed"</span><span class="token operator">:</span> <span class="token number">10</span><span class="token punctuation">,</span> <span class="token string">"random"</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span> <span class="token string">"outMode"</span><span class="token operator">:</span> <span class="token string">"destroy"</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> |
The output of above JSON looks like below,
For more particle JSON, check out the demo page of particle site. Stay tuned for more interesting webparts.
Print article | This entry was posted by Peter on December 16, 2021 at 2:11 am, and is filed under European SharePoint 2013 Hosting. Follow any responses to this post through RSS 2.0. Both comments and pings are currently closed. |