Skip to content

Commit 7cd2482

Browse files
authored
Merge pull request #1575 from NishkalankBezawada/Issue-1174
Fixing Issue 1571 & Partial fix for 1174
2 parents 5d87c12 + 2497c82 commit 7cd2482

34 files changed

+66
-1
lines changed

src/controls/dynamicForm/DynamicForm.tsx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,12 @@ export class DynamicForm extends React.Component<
207207
val.fieldDefaultValue = null;
208208
shouldBeReturnBack = true;
209209
}
210+
} else if(val.fieldType === "Number"){
211+
if(!val.showAsPercentage){
212+
if((val.newValue < val.minimumValue) || (val.newValue > val.maximumValue)){
213+
shouldBeReturnBack = true;
214+
}
215+
}
210216
}
211217
});
212218
if (shouldBeReturnBack) {
@@ -709,6 +715,9 @@ export class DynamicForm extends React.Component<
709715
listItemId: listItemId,
710716
principalType: principalType,
711717
description: field.Description,
718+
maximumValue:field.MaximumValue,
719+
minimumValue:field.MinimumValue,
720+
showAsPercentage:field.ShowAsPercentage
712721
});
713722
tempFields.sort((a, b) => a.Order - b.Order);
714723
}

src/controls/dynamicForm/dynamicField/DynamicField.tsx

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
9595

9696
const labelEl = <label className={(required) ? styles.fieldRequired + ' ' + styles.fieldLabel : styles.fieldLabel}>{labelText}</label>;
9797
const errorText = this.getRequiredErrorText();
98+
const errorTextforNumber = this.getnumberErrorText();
9899
const errorTextEl = <text className={styles.errormessage}>{errorText}</text>;
99100
const descriptionEl = <text className={styles.fieldDescription}>{description}</text>;
100101
const hasImage = !!changedValue;
@@ -271,7 +272,7 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
271272
onChange={(e, newText) => { this.onChange(newText); }}
272273
disabled={disabled}
273274
onBlur={this.onBlur}
274-
errorMessage={errorText} />
275+
errorMessage={errorTextforNumber} />
275276
{descriptionEl}
276277
</div>;
277278

@@ -590,6 +591,27 @@ export class DynamicField extends React.Component<IDynamicFieldProps, IDynamicFi
590591
return (changedValue === undefined || changedValue === ''|| changedValue === null || this.isEmptyArray(changedValue)) && this.props.required ? strings.DynamicFormRequiredErrorMessage : null;
591592
}
592593

594+
private getnumberErrorText = (): string => {
595+
const {
596+
changedValue
597+
} = this.state;
598+
const{
599+
maximumValue,
600+
minimumValue,
601+
showAsPercentage
602+
} = this.props;
603+
604+
if((changedValue === undefined || changedValue === ''|| changedValue === null || this.isEmptyArray(changedValue)) && this.props.required){
605+
return strings.DynamicFormRequiredErrorMessage;
606+
} else if((changedValue < minimumValue) || (changedValue > maximumValue)){
607+
if(!showAsPercentage){
608+
return strings.DynamicFormNumberErrorMessage
609+
.replace('{0}', minimumValue.toString())
610+
.replace('{1}', maximumValue.toString());
611+
}
612+
}
613+
}
614+
593615
private isEmptyArray(value): boolean {
594616
return Array.isArray(value) && value.length === 0;
595617
}

src/controls/dynamicForm/dynamicField/IDynamicFieldProps.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,7 @@ export interface IDynamicFieldProps {
3434
additionalData?: FieldChangeAdditionalData;
3535
principalType?:string;
3636
description?: string;
37+
maximumValue?: number;
38+
minimumValue?: number;
39+
showAsPercentage?: boolean;
3740
}

src/loc/bg-bg.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -366,6 +366,7 @@ define([], () => {
366366
"DynamicFormEnterDescriptionPlaceholder": "Алтернативен текст",
367367
"DynamicFormDialogValidationErrorTitle": "Validation Error",
368368
"DynamicFormDialogValidationErrorMessage": "There are validation errors, please fix them before saving.",
369+
"DynamicFormNumberErrorMessage": "The value of this field must be between {0} and {1}.",
369370
"customDisplayName": "Използвайте това местоположение:",
370371
"ListItemCommentDIalogDeleteSubText": "Наистина ли искате да изтриете този коментар?",
371372
"ListItemCommentsDialogDeleteTitle": "Потвърдете Изтриване на коментар",

src/loc/ca-es.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -366,6 +366,7 @@ define([], () => {
366366
"DynamicFormEnterDescriptionPlaceholder": "Text alternatiu",
367367
"DynamicFormDialogValidationErrorTitle": "Validation Error",
368368
"DynamicFormDialogValidationErrorMessage": "There are validation errors, please fix them before saving.",
369+
"DynamicFormNumberErrorMessage": "The value of this field must be between {0} and {1}.",
369370
"customDisplayName": "Utilitzeu aquesta ubicació:",
370371
"ListItemCommentDIalogDeleteSubText": "Esteu segur que voleu suprimir aquest comentari?",
371372
"ListItemCommentsDialogDeleteTitle": "Confirmació de la supressió del comentari",

src/loc/da-dk.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -366,6 +366,7 @@ define([], () => {
366366
"DynamicFormEnterDescriptionPlaceholder": "Alternativ tekst",
367367
"DynamicFormDialogValidationErrorTitle": "Validation Error",
368368
"DynamicFormDialogValidationErrorMessage": "There are validation errors, please fix them before saving.",
369+
"DynamicFormNumberErrorMessage": "Værdien af ​​dette felt skal være mellem {0} og {1}.",
369370
"customDisplayName": "Brug denne placering:",
370371
"ListItemCommentDIalogDeleteSubText": "Er du sikker på, at du vil slette denne kommentar?",
371372
"ListItemCommentsDialogDeleteTitle": "Bekræft kommentar til sletning",

src/loc/de-de.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -366,6 +366,7 @@ define([], () => {
366366
"DynamicFormEnterDescriptionPlaceholder": "Alternativtext",
367367
"DynamicFormDialogValidationErrorTitle": "Validation Error",
368368
"DynamicFormDialogValidationErrorMessage": "There are validation errors, please fix them before saving.",
369+
"DynamicFormNumberErrorMessage": "Der Wert dieses Feldes muss zwischen {0} und {1} liegen.",
369370
"customDisplayName": "Verwenden Sie diesen Speicherort:",
370371
"ListItemCommentDIalogDeleteSubText": "Sind Sie sicher, dass Sie diesen Kommentar löschen möchten?",
371372
"ListItemCommentsDialogDeleteTitle": "Kommentar löschen bestätigen",

src/loc/el-gr.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -366,6 +366,7 @@ define([], () => {
366366
"DynamicFormEnterDescriptionPlaceholder": "Εναλλακτικό κείμενο",
367367
"DynamicFormDialogValidationErrorTitle": "Validation Error",
368368
"DynamicFormDialogValidationErrorMessage": "There are validation errors, please fix them before saving.",
369+
"DynamicFormNumberErrorMessage": "Η τιμή αυτού του πεδίου πρέπει να είναι μεταξύ {0} και {1}.",
369370
"customDisplayName": "Χρησιμοποιήστε αυτήν τη θέση:",
370371
"ListItemCommentDIalogDeleteSubText": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το σχόλιο;",
371372
"ListItemCommentsDialogDeleteTitle": "Επιβεβαίωση διαγραφής σχολίου",

src/loc/en-us.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -384,6 +384,7 @@ define([], () => {
384384
DynamicFormEnterDescriptionPlaceholder: "Alternative text",
385385
DynamicFormDialogValidationErrorTitle: "Validation Error",
386386
DynamicFormDialogValidationErrorMessage: "There are validation errors, please fix them before saving.",
387+
DynamicFormNumberErrorMessage: "The value of this field must be between {0} and {1}.",
387388
customDisplayName: "Use this location:",
388389
ListItemCommentDIalogDeleteSubText: "Are you sure that you want to delete this comment?",
389390
ListItemCommentsDialogDeleteTitle: "Confirm Delete Comment",

src/loc/es-es.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -366,6 +366,7 @@ define([], () => {
366366
"DynamicFormEnterDescriptionPlaceholder": "Texto alternativo",
367367
"DynamicFormDialogValidationErrorTitle": "Validation Error",
368368
"DynamicFormDialogValidationErrorMessage": "There are validation errors, please fix them before saving.",
369+
"DynamicFormNumberErrorMessage": "The value of this field must be between {0} and {1}.",
369370
"customDisplayName": "Utilice esta ubicación:",
370371
"ListItemCommentDIalogDeleteSubText": "¿Está seguro de que desea eliminar este comentario?",
371372
"ListItemCommentsDialogDeleteTitle": "Confirmar comentario de eliminación",

0 commit comments

Comments
 (0)