Articles about European Sharepoint Hosting Service
SharePoint Hosting – Implementation Of Office UI Grid, Accordion, Datepicker, RichText Controls In SPFx
In this article, we will learn about how to leverage the office UI fabric grid in our SPFx component and also the implementation of accordion, Datepicker, and richtext controls in our component.
OfficeUI Grid
As similar to bootstrap grid breakpoint, OfficeUI also has its own breakpoints.
Grid Layout
Breakpoint | Range |
small (SM) | 320px – 479px |
medium (MD) | 480px – 639px |
large (LG) | 1023px |
extra large (XL) | 1365px |
extra extra large (XXL) | 1366px – 1919px |
extra extra extra large (XXXL) | 1920px and so on… |
The screen is divided into 12 columns, here it’s only available via Fabric Core CSS.
Import the below package in your TSX file, to use fabricui layout,
1 |
import <span class="token string">'office-ui-fabric-react/dist/css/fabric.css'</span><span class="token punctuation">;</span> |
To use the grid in your component, you must use the below classes,
class=”ms-Grid” –> this should be in top parent class
class=”ms-Grid-row” –> this should be in adjacent parent class
1 2 3 4 5 6 7 8 9 10 11 |
<div className="ms-Grid-row"> <div className="ms-Grid-col ms-sm12 ms-md6 ms-lg4"> <TextField label="Disabled" disabled defaultValue="I am disabled" /> </div> <div className="ms-Grid-col ms-sm12 ms-md6 ms-lg4"> <TextField label="Standard" /> </div> <div className="ms-Grid-col ms-sm12 ms-md6 ms-lg4"> <TextField label="Required " required /> </div> </div> |
Here the number is the columns, which range from 1 – 12.
Push and pull
This is used to change the order,
Push–> push to right(left to right)
Pull–> pull from the right(right to left)
eg,
1 2 |
div class="ms-Grid-col ms-md4 ms-mdPush8">First in code<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 class<span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>ms-Grid-col ms-md8 ms-mdPull4<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Second in code<span class="token tag"><span class="token punctuation"></</span>div<span class="token punctuation">></span></span> |
Accordion
This control is used to implement a collapsible segment in our SPFx component, this can be done by using @pnp/spfx-controls-react
In npm installation,
1 |
npm install @pnp<span class="token operator">/</span>spfx<span class="token operator">-</span>controls<span class="token operator">-</span>react <span class="token operator">--</span>save <span class="token operator">--</span>save<span class="token operator">-</span>exact |
Import statement,
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">Accordion</span> <span class="token punctuation">}</span></span> <span class="token keyword module keyword-from">from</span> <span class="token string">"@pnp/spfx-controls-react/lib/Accordion"</span><span class="token punctuation">;</span> |
eg,
1 2 3 4 5 6 7 8 9 |
<span class="token tag"><span class="token punctuation"><</span>Accordion title<span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>Section 1<span class="token punctuation">"</span></span> defaultCollapsed<span class="token attr-value"><span class="token punctuation attr-equals">=</span>{false}</span> key<span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">'</span>1<span class="token punctuation">'</span></span><span class="token punctuation">></span></span> <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 className<span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>ms-Grid-row<span class="token punctuation">"</span></span><span class="token punctuation">></span></span> <span class="token tag"><span class="token punctuation"><</span>div className<span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>ms-Grid-col ms-sm12 ms-md6 ms-lg4<span class="token punctuation">"</span></span><span class="token punctuation">></span></span> <span class="token tag"><span class="token punctuation"><</span>TextField label<span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>Disabled<span class="token punctuation">"</span></span> disabled defaultValue<span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>I am disabled<span class="token punctuation">"</span></span> <span class="token punctuation">/></span></span> <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> <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>Accordion<span class="token punctuation">></span></span> |
Properties
title | string |
defaultCollapsed | boolean |
className | string |
Date picker
This control is used to implement datepicker in our SPFx component.
Npm installation,
1 |
npm install @fluentui<span class="token operator">/</span>react |
Import statement,
1 2 3 4 5 6 7 8 |
<span class="token keyword module keyword-import">import</span> <span class="token imports"><span class="token punctuation">{</span> <span class="token maybe-class-name">DatePicker</span><span class="token punctuation">,</span> <span class="token maybe-class-name">DayOfWeek</span><span class="token punctuation">,</span> <span class="token maybe-class-name">Dropdown</span><span class="token punctuation">,</span> <span class="token maybe-class-name">IDropdownOption</span><span class="token punctuation">,</span> mergeStyles<span class="token punctuation">,</span> defaultDatePickerStrings<span class="token punctuation">,</span> <span class="token punctuation">}</span></span> <span class="token keyword module keyword-from">from</span> <span class="token string">'@fluentui/react'</span><span class="token punctuation">;</span> |
eg,
1 2 3 4 5 6 |
<span class="token operator"><</span><span class="token maybe-class-name">DatePicker</span> placeholder<span class="token operator">=</span><span class="token string">"Select a date..."</span> ariaLabel<span class="token operator">=</span><span class="token string">"Select a date"</span> <span class="token comment">// DatePicker uses English strings by default. For localized apps, you must override this prop.</span> strings<span class="token operator">=</span><span class="token punctuation">{</span>defaultDatePickerStrings<span class="token punctuation">}</span> <span class="token operator">/</span><span class="token operator">></span> |
Rich text
Npm installation,
1 |
npm install @pnp<span class="token operator">/</span>spfx<span class="token operator">-</span>controls<span class="token operator">-</span>react <span class="token operator">--</span>save <span class="token operator">--</span>save<span class="token operator">-</span>exact |
Import statements,
1 |
<span class="token keyword keyword-import">import</span> <span class="token punctuation">{</span> <span class="token class-name">RichText</span> <span class="token punctuation">}</span> from <span class="token string">"@pnp/spfx-controls-react/lib/RichText"</span><span class="token punctuation">;</span> |
eg,
1 2 3 |
<span class="token operator"><</span><span class="token maybe-class-name">RichText</span> onChange<span class="token operator">=</span><span class="token punctuation">{</span><span class="token punctuation">(</span><span class="token parameter">text</span><span class="token punctuation">)</span><span class="token arrow operator">=></span><span class="token keyword keyword-this">this</span><span class="token punctuation">.</span><span class="token method function property-access">onTextChange</span><span class="token punctuation">(</span>text<span class="token punctuation">)</span><span class="token punctuation">}</span> <span class="token operator">/</span><span class="token operator">></span> |
Steps
Open a command prompt and create a directory for the SPFx solution.
md spfx-MyAccordian
Navigate to the above-created directory.
cd spfx-MyAccordian
Run the Yeoman SharePoint Generator to create the solution.
yo @microsoft/sharepoint
Solution Name
Hit enter for the default name (spfx-MyAccordian in this case) or type in any other name for your solution.
Selected choice – Hit Enter
Target for the component
Here, we can select the target environment where we are planning to deploy the client web part; i.e., SharePoint Online or SharePoint OnPremise (SharePoint 2016 onwards).
Selected choice – SharePoint Online only (latest).
Place of files
We may choose to use the same folder or create a subfolder for our solution.
Selected choice – same folder.
Deployment option
Selecting Y will allow the app to be deployed instantly to all sites and be accessible everywhere.
Selected choice – N (install on each site explicitly).
Permissions to access web APIs
Choose if the components in the solution require permission to access web APIs that are unique and not shared with other components in the tenant.
Selected choice – N (solution contains unique permissions)
Type of client-side component to create
We can choose to create a client-side web part or an extension. Choose the web part option.
Selected choice – WebPart
Web part name
Hit Enter to select the default name or type in any other name.
Selected choice – MyAccordian
Web part description
Hit Enter to select the default description or type in any other value.
Framework to use
Select any JavaScript framework to develop the component. Available choices are – No JavaScript Framework, React, and Knockout.
Selected choice – React
The Yeoman generator will perform a scaffolding process to generate the solution. The scaffolding process will take a significant amount of time.
Once the scaffolding process is completed, lock down the version of project dependencies by running the below command,
npm shrinkwrap
In the command prompt, type the below command to open the solution in the code editor of your choice.
1 2 |
npm install @pnp<span class="token operator">/</span>spfx<span class="token operator">-</span>controls<span class="token operator">-</span>react <span class="token operator">--</span>save <span class="token operator">--</span>save<span class="token operator">-</span>exact npm install @fluentui<span class="token operator">/</span>react |
In MyAccordian.tsx,
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 keyword module keyword-import">import</span> <span class="token imports"><span class="token operator">*</span> <span class="token keyword module keyword-as">as</span> <span class="token maybe-class-name">React</span></span> <span class="token keyword module keyword-from">from</span> <span class="token string">'react'</span><span class="token punctuation">;</span> <span class="token keyword module keyword-import">import</span> <span class="token imports">styles</span> <span class="token keyword module keyword-from">from</span> <span class="token string">'./MyAccordian.module.scss'</span><span class="token punctuation">;</span> <span class="token keyword module keyword-import">import</span> <span class="token imports"><span class="token punctuation">{</span> <span class="token maybe-class-name">IMyAccordianProps</span> <span class="token punctuation">}</span></span> <span class="token keyword module keyword-from">from</span> <span class="token string">'./IMyAccordianProps'</span><span class="token punctuation">;</span> <span class="token keyword module keyword-import">import</span> <span class="token imports"><span class="token punctuation">{</span> escape <span class="token punctuation">}</span></span> <span class="token keyword module keyword-from">from</span> <span class="token string">'@microsoft/sp-lodash-subset'</span><span class="token punctuation">;</span> <span class="token keyword module keyword-import">import</span> <span class="token string">'office-ui-fabric-react/dist/css/fabric.css'</span><span class="token punctuation">;</span> <span class="token keyword module keyword-import">import</span> <span class="token imports"><span class="token punctuation">{</span> <span class="token maybe-class-name">Checkbox</span><span class="token punctuation">,</span> <span class="token maybe-class-name">Stack</span> <span class="token punctuation">}</span></span> <span class="token keyword module keyword-from">from</span> <span class="token string">'@fluentui/react'</span><span class="token punctuation">;</span> <span class="token keyword module keyword-import">import</span> <span class="token imports"><span class="token punctuation">{</span> <span class="token maybe-class-name">Accordion</span> <span class="token punctuation">}</span></span> <span class="token keyword module keyword-from">from</span> <span class="token string">"@pnp/spfx-controls-react/lib/Accordion"</span><span class="token punctuation">;</span> <span class="token keyword module keyword-import">import</span> <span class="token imports"><span class="token punctuation">{</span> <span class="token maybe-class-name">TextField</span><span class="token punctuation">,</span> <span class="token maybe-class-name">MaskedTextField</span> <span class="token punctuation">}</span></span> <span class="token keyword module keyword-from">from</span> <span class="token string">'@fluentui/react/lib/TextField'</span><span class="token punctuation">;</span> <span class="token keyword module keyword-import">import</span> <span class="token imports"><span class="token punctuation">{</span> <span class="token maybe-class-name">DropdownMenuItemType</span><span class="token punctuation">,</span> <span class="token maybe-class-name">IDropdownStyles</span> <span class="token punctuation">}</span></span> <span class="token keyword module keyword-from">from</span> <span class="token string">'@fluentui/react/lib/Dropdown'</span><span class="token punctuation">;</span> <span class="token keyword module keyword-import">import</span> <span class="token string">"bootstrap/dist/css/bootstrap.min.css"</span><span class="token punctuation">;</span> <span class="token keyword module keyword-import">import</span> <span class="token string">'./mystyle.css'</span> <span class="token keyword module keyword-import">import</span> <span class="token imports"><span class="token punctuation">{</span> <span class="token maybe-class-name">Toggle</span> <span class="token punctuation">}</span></span> <span class="token keyword module keyword-from">from</span> <span class="token string">'@fluentui/react/lib/Toggle'</span><span class="token punctuation">;</span> <span class="token keyword module keyword-import">import</span> <span class="token imports"><span class="token punctuation">{</span> <span class="token maybe-class-name">DatePicker</span><span class="token punctuation">,</span> <span class="token maybe-class-name">DayOfWeek</span><span class="token punctuation">,</span> <span class="token maybe-class-name">Dropdown</span><span class="token punctuation">,</span> <span class="token maybe-class-name">IDropdownOption</span><span class="token punctuation">,</span> mergeStyles<span class="token punctuation">,</span> defaultDatePickerStrings<span class="token punctuation">,</span> <span class="token punctuation">}</span></span> <span class="token keyword module keyword-from">from</span> <span class="token string">'@fluentui/react'</span><span class="token punctuation">;</span> <span class="token keyword module keyword-import">import</span> <span class="token imports"><span class="token punctuation">{</span> <span class="token maybe-class-name">Label</span> <span class="token punctuation">}</span></span> <span class="token keyword module keyword-from">from</span> <span class="token string">'@fluentui/react/lib/Label'</span><span class="token punctuation">;</span> <span class="token keyword keyword-const">const</span> borderimg<span class="token operator">:</span> any <span class="token operator">=</span> <span class="token function">require</span><span class="token punctuation">(</span><span class="token string">'./border.png'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword module keyword-import">import</span> <span class="token imports"><span class="token punctuation">{</span> <span class="token maybe-class-name">DefaultButton</span><span class="token punctuation">,</span> <span class="token maybe-class-name">PrimaryButton</span> <span class="token punctuation">}</span></span> <span class="token keyword module keyword-from">from</span> <span class="token string">'@fluentui/react/lib/Button'</span><span class="token punctuation">;</span> <span class="token keyword keyword-const">const</span> options<span class="token operator">:</span> <span class="token maybe-class-name">IDropdownOption</span><span class="token punctuation">[</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token punctuation">[</span> <span class="token punctuation">{</span> key<span class="token operator">:</span> <span class="token string">'fruitsHeader'</span><span class="token punctuation">,</span> text<span class="token operator">:</span> <span class="token string">'Fruits'</span><span class="token punctuation">,</span> itemType<span class="token operator">:</span> <span class="token maybe-class-name">DropdownMenuItemType</span><span class="token punctuation">.</span><span class="token property-access"><span class="token maybe-class-name">Header</span></span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token punctuation">{</span> key<span class="token operator">:</span> <span class="token string">'apple'</span><span class="token punctuation">,</span> text<span class="token operator">:</span> <span class="token string">'Apple'</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token punctuation">{</span> key<span class="token operator">:</span> <span class="token string">'banana'</span><span class="token punctuation">,</span> text<span class="token operator">:</span> <span class="token string">'Banana'</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token punctuation">{</span> key<span class="token operator">:</span> <span class="token string">'orange'</span><span class="token punctuation">,</span> text<span class="token operator">:</span> <span class="token string">'Orange'</span><span class="token punctuation">,</span> disabled<span class="token operator">:</span> <span class="token boolean">true</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token punctuation">{</span> key<span class="token operator">:</span> <span class="token string">'grape'</span><span class="token punctuation">,</span> text<span class="token operator">:</span> <span class="token string">'Grape'</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token punctuation">{</span> key<span class="token operator">:</span> <span class="token string">'divider_1'</span><span class="token punctuation">,</span> text<span class="token operator">:</span> <span class="token string">'-'</span><span class="token punctuation">,</span> itemType<span class="token operator">:</span> <span class="token maybe-class-name">DropdownMenuItemType</span><span class="token punctuation">.</span><span class="token property-access"><span class="token maybe-class-name">Divider</span></span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token punctuation">{</span> key<span class="token operator">:</span> <span class="token string">'vegetablesHeader'</span><span class="token punctuation">,</span> text<span class="token operator">:</span> <span class="token string">'Vegetables'</span><span class="token punctuation">,</span> itemType<span class="token operator">:</span> <span class="token maybe-class-name">DropdownMenuItemType</span><span class="token punctuation">.</span><span class="token property-access"><span class="token maybe-class-name">Header</span></span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token punctuation">{</span> key<span class="token operator">:</span> <span class="token string">'broccoli'</span><span class="token punctuation">,</span> text<span class="token operator">:</span> <span class="token string">'Broccoli'</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token punctuation">{</span> key<span class="token operator">:</span> <span class="token string">'carrot'</span><span class="token punctuation">,</span> text<span class="token operator">:</span> <span class="token string">'Carrot'</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token punctuation">{</span> key<span class="token operator">:</span> <span class="token string">'lettuce'</span><span class="token punctuation">,</span> text<span class="token operator">:</span> <span class="token string">'Lettuce'</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token keyword module keyword-import">import</span> <span class="token imports"><span class="token punctuation">{</span> <span class="token maybe-class-name">RichText</span> <span class="token punctuation">}</span></span> <span class="token keyword module keyword-from">from</span> <span class="token string">"@pnp/spfx-controls-react/lib/RichText"</span><span class="token punctuation">;</span> <span class="token keyword keyword-var">var</span> styles1 <span class="token operator">=</span> <span class="token punctuation">{</span> <span class="token comment">//border: "2px red solid",</span> <span class="token comment">// padding: 20</span> border<span class="token operator">:</span> <span class="token string">"10px solid transparent"</span><span class="token punctuation">,</span> padding<span class="token operator">:</span> <span class="token string">"15px"</span><span class="token punctuation">,</span> <span class="token string">"border-image"</span><span class="token operator">:</span> <span class="token template-string"><span class="token template-punctuation string">`</span><span class="token string">url(</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>borderimg<span class="token interpolation-punctuation punctuation">}</span></span><span class="token string">) 25% round</span><span class="token template-punctuation string">`</span></span> <span class="token punctuation">}</span> <span class="token keyword module keyword-export">export</span> <span class="token keyword keyword-interface">interface</span> <span class="token class-name">StyleOptions</span> <span class="token punctuation">{</span> showMore<span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>showAlign<span class="token operator">:</span><span class="token boolean">true</span> <span class="token punctuation">}</span> <span class="token keyword module keyword-export">export</span> <span class="token keyword module keyword-default">default</span> <span class="token keyword keyword-class">class</span> <span class="token class-name">MyAccordian</span> <span class="token keyword keyword-extends">extends</span> <span class="token class-name">React<span class="token punctuation">.</span>Component</span><span class="token operator"><</span><span class="token maybe-class-name">IMyAccordianProps</span><span class="token punctuation">,</span> <span class="token punctuation">{</span><span class="token punctuation">}</span><span class="token operator">></span> <span class="token punctuation">{</span> <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">IMyAccordianProps</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 string">"container"</span><span class="token operator">></span> <span class="token operator"><</span>div className<span class="token operator">=</span><span class="token string">"ms-Grid"</span> style<span class="token operator">=</span><span class="token punctuation">{</span> styles1<span class="token punctuation">}</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">Accordion</span> title<span class="token operator">=</span><span class="token string">"Section 1"</span> defaultCollapsed<span class="token operator">=</span><span class="token punctuation">{</span><span class="token boolean">false</span><span class="token punctuation">}</span> key<span class="token operator">=</span><span class="token string">'1'</span><span class="token operator">></span> <span class="token operator"><</span>div<span class="token operator">></span> <span class="token operator"><</span>div className<span class="token operator">=</span><span class="token string">"ms-Grid-row"</span><span class="token operator">></span> <span class="token operator"><</span>div className<span class="token operator">=</span><span class="token string">"ms-Grid-col ms-sm12 ms-md6 ms-lg4"</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">TextField</span> label<span class="token operator">=</span><span class="token string">"Disabled"</span> disabled defaultValue<span class="token operator">=</span><span class="token string">"I am disabled"</span> <span class="token operator">/</span><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>div className<span class="token operator">=</span><span class="token string">"ms-Grid-col ms-sm12 ms-md6 ms-lg4"</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">TextField</span> label<span class="token operator">=</span><span class="token string">"Standard"</span> <span class="token operator">/</span><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>div className<span class="token operator">=</span><span class="token string">"ms-Grid-col ms-sm12 ms-md6 ms-lg4"</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">TextField</span> label<span class="token operator">=</span><span class="token string">"Required "</span> required <span class="token operator">/</span><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 operator"><</span>div className<span class="token operator">=</span><span class="token string">"ms-Grid-row"</span><span class="token operator">></span> <span class="token operator"><</span>div className<span class="token operator">=</span><span class="token string">"ms-Grid-col ms-sm12 ms-md6 ms-lg4"</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">TextField</span> label<span class="token operator">=</span><span class="token string">"Disabled"</span> disabled defaultValue<span class="token operator">=</span><span class="token string">"I am disabled"</span> <span class="token operator">/</span><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>div className<span class="token operator">=</span><span class="token string">"ms-Grid-col ms-sm12 ms-md6 ms-lg4"</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">TextField</span> label<span class="token operator">=</span><span class="token string">"Standard"</span> <span class="token operator">/</span><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>div className<span class="token operator">=</span><span class="token string">"ms-Grid-col ms-sm12 ms-md6 ms-lg4"</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">TextField</span> label<span class="token operator">=</span><span class="token string">"Required "</span> required <span class="token operator">/</span><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 operator"><</span><span class="token operator">/</span>div<span class="token operator">></span> <span class="token operator"><</span><span class="token operator">/</span><span class="token maybe-class-name">Accordion</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">Accordion</span> title<span class="token operator">=</span><span class="token string">"Section 2"</span> defaultCollapsed<span class="token operator">=</span><span class="token punctuation">{</span><span class="token boolean">true</span><span class="token punctuation">}</span> key<span class="token operator">=</span><span class="token string">'2'</span><span class="token operator">></span> <span class="token operator"><</span>div<span class="token operator">></span> <span class="token operator"><</span>div className<span class="token operator">=</span><span class="token string">"ms-Grid-row"</span><span class="token operator">></span> <span class="token operator"><</span>div className<span class="token operator">=</span><span class="token string">"ms-Grid-col ms-sm12 ms-md6 ms-lg4"</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">Checkbox</span> label<span class="token operator">=</span><span class="token string">"Disabled checkbox"</span> disabled <span class="token operator">/</span><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>div className<span class="token operator">=</span><span class="token string">"ms-Grid-col ms-sm12 ms-md6 ms-lg4"</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">Dropdown</span> placeholder<span class="token operator">=</span><span class="token string">"Select an option"</span> options<span class="token operator">=</span><span class="token punctuation">{</span>options<span class="token punctuation">}</span> <span class="token operator">/</span><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>div className<span class="token operator">=</span><span class="token string">"ms-Grid-col ms-sm12 ms-md6 ms-lg4"</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">DatePicker</span> placeholder<span class="token operator">=</span><span class="token string">"Select a date..."</span> ariaLabel<span class="token operator">=</span><span class="token string">"Select a date"</span> <span class="token comment">// DatePicker uses English strings by default. For localized apps, you must override this prop. strings={defaultDatePickerStrings} /></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>div className<span class="token operator">=</span><span class="token string">"ms-Grid-row"</span><span class="token operator">></span> <span class="token operator"><</span>div className<span class="token operator">=</span><span class="token string">"ms-Grid-col ms-sm12 ms-md6 ms-lg4"</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">Checkbox</span> label<span class="token operator">=</span><span class="token string">"checkbox"</span> <span class="token operator">/</span><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>div className<span class="token operator">=</span><span class="token string">"ms-Grid-col ms-sm12 ms-md6 ms-lg4"</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">Dropdown</span> placeholder<span class="token operator">=</span><span class="token string">"Select an option"</span> options<span class="token operator">=</span><span class="token punctuation">{</span>options<span class="token punctuation">}</span> <span class="token operator">/</span><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>div className<span class="token operator">=</span><span class="token string">"ms-Grid-col ms-sm12 ms-md6 ms-lg4"</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">DatePicker</span> formatDate<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">onFormatDate</span><span class="token punctuation">}</span> placeholder<span class="token operator">=</span><span class="token string">"Select a date..."</span> ariaLabel<span class="token operator">=</span><span class="token string">"Select a date"</span> <span class="token comment">// DatePicker uses English strings by default. For localized apps, you must override this prop. strings={defaultDatePickerStrings} /></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 operator"><</span><span class="token operator">/</span><span class="token maybe-class-name">Accordion</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">Accordion</span> title<span class="token operator">=</span><span class="token string">"Section 3"</span> defaultCollapsed<span class="token operator">=</span><span class="token punctuation">{</span><span class="token boolean">true</span><span class="token punctuation">}</span> key<span class="token operator">=</span><span class="token string">'3'</span><span class="token operator">></span> <span class="token operator"><</span>div<span class="token operator">></span> <span class="token operator"><</span>div className<span class="token operator">=</span><span class="token string">"ms-Grid-row"</span><span class="token operator">></span> <span class="token operator"><</span>div className<span class="token operator">=</span><span class="token string">"ms-Grid-col ms-sm12 ms-md6 ms-lg4"</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">Toggle</span> label<span class="token operator">=</span><span class="token string">"Enabled and checked"</span> defaultChecked onText<span class="token operator">=</span><span class="token string">"On"</span> offText<span class="token operator">=</span><span class="token string">"Off"</span> <span class="token operator">/</span><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>div className<span class="token operator">=</span><span class="token string">"ms-Grid-col ms-sm12 ms-md6 ms-lg4"</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">TextField</span> label<span class="token operator">=</span><span class="token string">"Standard"</span> <span class="token operator">/</span><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>div className<span class="token operator">=</span><span class="token string">"ms-Grid-col ms-sm12 ms-md6 ms-lg4"</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">TextField</span> label<span class="token operator">=</span><span class="token string">"Read-only"</span> readOnly defaultValue<span class="token operator">=</span><span class="token string">"I am read-only"</span> <span class="token operator">/</span><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 operator"><</span>div className<span class="token operator">=</span><span class="token string">"ms-Grid-row"</span><span class="token operator">></span> <span class="token operator"><</span>div className<span class="token operator">=</span><span class="token string">"ms-Grid-col ms-sm12 ms-md6 ms-lg4"</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">Toggle</span> label<span class="token operator">=</span><span class="token string">"Enabled and Unchecked"</span> onText<span class="token operator">=</span><span class="token string">"On"</span> offText<span class="token operator">=</span><span class="token string">"Off"</span> <span class="token operator">/</span><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>div className<span class="token operator">=</span><span class="token string">"ms-Grid-col ms-sm12 ms-md6 ms-lg4"</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">TextField</span> label<span class="token operator">=</span><span class="token string">"Standard"</span> <span class="token operator">/</span><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>br<span class="token operator">></span><span class="token operator"><</span><span class="token operator">/</span>br<span class="token operator">></span> <span class="token operator"><</span>br<span class="token operator">></span><span class="token operator"><</span><span class="token operator">/</span>br<span class="token operator">></span> <span class="token operator"><</span>br<span class="token operator">></span><span class="token operator"><</span><span class="token operator">/</span>br<span class="token operator">></span> <span class="token operator"><</span>br<span class="token operator">></span><span class="token operator"><</span><span class="token operator">/</span>br<span class="token operator">></span> <span class="token operator"><</span>div className<span class="token operator">=</span><span class="token string">"ms-Grid-col ms-sm12 ms-md12 ms-lg6"</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">Label</span><span class="token operator">></span><span class="token maybe-class-name">Description</span> <span class="token number">1</span><span class="token operator"><</span><span class="token operator">/</span><span class="token maybe-class-name">Label</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">RichText</span> onChange<span class="token operator">=</span><span class="token punctuation">{</span><span class="token punctuation">(</span><span class="token parameter">text</span><span class="token punctuation">)</span><span class="token arrow operator">=></span><span class="token keyword keyword-this">this</span><span class="token punctuation">.</span><span class="token method function property-access">onTextChange</span><span class="token punctuation">(</span>text<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><span class="token operator">/</span>div<span class="token operator">></span> <span class="token operator"><</span>div className<span class="token operator">=</span><span class="token string">"ms-Grid-col ms-sm12 ms-md12 ms-lg6"</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">Label</span><span class="token operator">></span><span class="token maybe-class-name">Description</span> <span class="token number">2</span><span class="token operator"><</span><span class="token operator">/</span><span class="token maybe-class-name">Label</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">RichText</span> styleOptions<span class="token operator">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span>showAlign<span class="token operator">:</span><span class="token boolean">false</span><span class="token punctuation">,</span>showBold<span class="token operator">:</span><span class="token boolean">false</span><span class="token punctuation">,</span>showItalic<span class="token operator">:</span><span class="token boolean">false</span><span class="token punctuation">,</span>showLink<span class="token operator">:</span><span class="token boolean">false</span> <span class="token punctuation">,</span>showList<span class="token operator">:</span><span class="token boolean">false</span><span class="token punctuation">,</span>showMore<span class="token operator">:</span><span class="token boolean">true</span><span class="token punctuation">,</span>showImage<span class="token operator">:</span><span class="token boolean">true</span><span class="token punctuation">,</span>showStyles<span class="token operator">:</span><span class="token boolean">false</span><span class="token punctuation">,</span>showUnderline<span class="token operator">:</span><span class="token boolean">false</span> <span class="token punctuation">}</span><span class="token punctuation">}</span> onChange<span class="token operator">=</span><span class="token punctuation">{</span><span class="token punctuation">(</span><span class="token parameter">text</span><span class="token punctuation">)</span><span class="token arrow operator">=></span><span class="token keyword keyword-this">this</span><span class="token punctuation">.</span><span class="token method function property-access">onTextChange</span><span class="token punctuation">(</span>text<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><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 operator"><</span><span class="token operator">/</span><span class="token maybe-class-name">Accordion</span><span class="token operator">></span> <span class="token operator"><</span>br<span class="token operator">></span><span class="token operator"><</span><span class="token operator">/</span>br<span class="token operator">></span> <span class="token operator"><</span>div className<span class="token operator">=</span><span class="token string">"ms-Grid-col ms-smPush2 ms-mdPush4 ms-lgPush8"</span><span class="token operator">></span> <span class="token operator"><</span><span class="token maybe-class-name">PrimaryButton</span> text<span class="token operator">=</span><span class="token string">"Submit"</span> onClick<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">_alertClicked</span><span class="token punctuation">}</span> allowDisabledFocus <span class="token operator">/</span><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 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> <span class="token keyword keyword-private">private</span> onFormatDate <span class="token operator">=</span> <span class="token punctuation">(</span>date <span class="token operator">?</span> <span class="token operator">:</span> <span class="token known-class-name class-name">Date</span><span class="token punctuation">)</span><span class="token operator">:</span> <span class="token parameter">string</span> <span class="token arrow operator">=></span> <span class="token punctuation">{</span> <span class="token keyword control-flow keyword-return">return</span> <span class="token operator">!</span>date <span class="token operator">?</span> <span class="token string">''</span> <span class="token operator">:</span> <span class="token punctuation">(</span><span class="token punctuation">(</span>date<span class="token punctuation">.</span><span class="token method function property-access">getMonth</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">></span> <span class="token number">8</span><span class="token punctuation">)</span> <span class="token operator">?</span> <span class="token punctuation">(</span>date<span class="token punctuation">.</span><span class="token method function property-access">getMonth</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">+</span> <span class="token number">1</span><span class="token punctuation">)</span> <span class="token operator">:</span> <span class="token punctuation">(</span><span class="token string">'0'</span> <span class="token operator">+</span> <span class="token punctuation">(</span>date<span class="token punctuation">.</span><span class="token method function property-access">getMonth</span><span class="token punctuation">(</span><span class="token punctuation">)</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 operator">+</span> <span class="token string">'/'</span> <span class="token operator">+</span> <span class="token punctuation">(</span><span class="token punctuation">(</span>date<span class="token punctuation">.</span><span class="token method function property-access">getDate</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">></span> <span class="token number">9</span><span class="token punctuation">)</span> <span class="token operator">?</span> date<span class="token punctuation">.</span><span class="token method function property-access">getDate</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">:</span> <span class="token punctuation">(</span><span class="token string">'0'</span> <span class="token operator">+</span> date<span class="token punctuation">.</span><span class="token method function property-access">getDate</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token operator">+</span> <span class="token string">'/'</span> <span class="token operator">+</span> date<span class="token punctuation">.</span><span class="token method function property-access">getFullYear</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 keyword keyword-private">private</span> <span class="token function-variable function">onTextChange</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token parameter">newText<span class="token operator">:</span> string</span><span class="token punctuation">)</span> <span class="token arrow operator">=></span> <span class="token punctuation">{</span> <span class="token console class-name">console</span><span class="token punctuation">.</span><span class="token method function property-access">log</span><span class="token punctuation">(</span>newText<span class="token punctuation">)</span> <span class="token keyword control-flow keyword-return">return</span> newText<span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword keyword-private">private</span> <span class="token function">_alertClicked</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 function">alert</span><span class="token punctuation">(</span><span class="token string">'Form Submited'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> |
Expected Output
PC view
Mobile view
Datepicker
RichText
Print article | This entry was posted by Peter on July 29, 2021 at 3:01 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. |