Skip to content

Commit 66323b3

Browse files
Daniel StrattonAJIXuMuK
authored andcommitted
Include Description on Dynamic Form
1 parent d6e2422 commit 66323b3

File tree

4 files changed

+38
-2
lines changed

4 files changed

+38
-2
lines changed

src/controls/dynamicForm/DynamicForm.module.scss

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,20 @@
2525
display: block;
2626
}
2727

28+
.fieldDescription {
29+
font-weight: 400;
30+
font-size: 12px;
31+
color: #858585;
32+
margin-top: 4px;
33+
font-family: "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto,
34+
"Helvetica Neue", sans-serif;
35+
-webkit-font-smoothing: antialiased;
36+
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
37+
overflow-wrap: break-word;
38+
display: block;
39+
user-select: none;
40+
}
41+
2842
.fieldIcon {
2943
align-self: center;
3044
font-size: 16px;

src/controls/dynamicForm/DynamicForm.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -464,7 +464,8 @@ export class DynamicForm extends React.Component<IDynamicFormProps, IDynamicForm
464464
isRichText: richText,
465465
dateFormat: dateFormat,
466466
listItemId: listItemId,
467-
principalType: principalType
467+
principalType: principalType,
468+
description: field.Description
468469
});
469470
tempFields.sort((a, b) => a.Order - b.Order);
470471
}

src/controls/dynamicForm/dynamicField/DynamicField.tsx

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,8 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
7575
//bingAPIKey,
7676
dateFormat,
7777
columnInternalName,
78-
principalType
78+
principalType,
79+
description
7980
} = this.props;
8081

8182
const {
@@ -95,6 +96,7 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
9596
const labelEl = <label className={(required) ? styles.fieldRequired + ' ' + styles.fieldLabel : styles.fieldLabel}>{labelText}</label>;
9697
const errorText = this.getRequiredErrorText();
9798
const errorTextEl = <text className={styles.errormessage}>{errorText}</text>;
99+
const descriptionEl = <text className={styles.fieldDescription}>{description}</text>;
98100

99101
switch (fieldType) {
100102
case 'loading':
@@ -119,6 +121,7 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
119121
onBlur={this.onBlur}
120122
errorMessage={errorText}
121123
/>
124+
{descriptionEl}
122125
</div>;
123126

124127
case 'Note':
@@ -135,6 +138,7 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
135138
onChange={(newText) => { this.onChange(newText); return newText; }}
136139
isEditMode={disabled}>
137140
</RichText>
141+
{descriptionEl}
138142
{errorTextEl}
139143
</div>;
140144
}
@@ -154,6 +158,7 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
154158
onBlur={this.onBlur}
155159
errorMessage={errorText}
156160
/>
161+
{descriptionEl}
157162
</div>;
158163
}
159164

@@ -169,6 +174,7 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
169174
onChange={(e, option) => { this.onChange(option); }}
170175
onBlur={this.onBlur}
171176
errorMessage={errorText} />
177+
{descriptionEl}
172178
</div>;
173179

174180
case 'MultiChoice':
@@ -184,6 +190,7 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
184190
multiSelect
185191
onBlur={this.onBlur}
186192
errorMessage={errorText} />
193+
{descriptionEl}
187194
</div>;
188195

189196
case 'Location':
@@ -200,6 +207,7 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
200207
defaultValue={defaultValue}
201208
errorMessage={errorText}
202209
/>
210+
{descriptionEl}
203211
</div>;
204212

205213
case 'Lookup':
@@ -219,6 +227,7 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
219227
onSelectedItem={(newValue) => { this.onChange(newValue); }}
220228
context={context}
221229
/>
230+
{descriptionEl}
222231
{errorTextEl}
223232
</div>;
224233

@@ -239,6 +248,7 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
239248
onSelectedItem={(newValue) => { this.onChange(newValue); }}
240249
context={context}
241250
/>
251+
{descriptionEl}
242252
{errorTextEl}
243253
</div>;
244254

@@ -257,6 +267,7 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
257267
disabled={disabled}
258268
onBlur={this.onBlur}
259269
errorMessage={errorText} />
270+
{descriptionEl}
260271
</div>;
261272

262273
case 'Currency':
@@ -274,6 +285,7 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
274285
disabled={disabled}
275286
onBlur={this.onBlur}
276287
errorMessage={errorText} />
288+
{descriptionEl}
277289
</div>;
278290

279291
case 'DateTime':
@@ -302,6 +314,7 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
302314
onChange={(newDate) => { this.onChange(newDate); }}
303315
disabled={disabled} />
304316
}
317+
{descriptionEl}
305318
{errorTextEl}
306319
</div>;
307320

@@ -319,6 +332,7 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
319332
onChange={(e, checkedvalue) => { this.onChange(checkedvalue); }}
320333
disabled={disabled}
321334
/>
335+
{descriptionEl}
322336
{errorTextEl}
323337
</div>;
324338

@@ -341,6 +355,7 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
341355
onChange={(items) => { this.onChange(items); }}
342356
disabled={disabled}
343357
/>
358+
{descriptionEl}
344359
{errorTextEl}
345360
</div>;
346361

@@ -363,6 +378,7 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
363378
onChange={(items) => { this.onChange(items); }}
364379
disabled={disabled}
365380
/>
381+
{descriptionEl}
366382
{errorTextEl}
367383
</div>;
368384

@@ -388,6 +404,7 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
388404
onChange={(e, newText) => { this.onURLChange(newText, false); }}
389405
disabled={disabled} />
390406
</Stack>
407+
{descriptionEl}
391408
{errorTextEl}
392409
</div>;
393410

@@ -435,6 +452,7 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
435452
/>}
436453
</div>
437454
</Stack>
455+
{descriptionEl}
438456
{errorTextEl}
439457
</div>;
440458

@@ -458,6 +476,7 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
458476
isTermSetSelectable={false}
459477
/>
460478
</div>
479+
{descriptionEl}
461480
{errorTextEl}
462481
</div>;
463482

@@ -480,6 +499,7 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
480499
onChange={(newValue?: IPickerTerms) => { this.onChange(newValue); }}
481500
isTermSetSelectable={false} />
482501
</div>
502+
{descriptionEl}
483503
{errorTextEl}
484504
</div>;
485505
}

src/controls/dynamicForm/dynamicField/IDynamicFieldProps.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,5 @@ export interface IDynamicFieldProps {
3333
dateFormat?: DateFormat;
3434
additionalData?: FieldChangeAdditionalData;
3535
principalType?:string;
36+
description?: string;
3637
}

0 commit comments

Comments
 (0)