Skip to content

Commit c494d4b

Browse files
fix(file): display error message for multiple files and code robustness
ref: MANAGER-15044 Signed-off-by: Jacques Larique <[email protected]>
1 parent d5e240b commit c494d4b

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

packages/components/file/src/js/file.controller.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,11 @@ export default class {
3939
const hasTypeError = !acceptedTypes.some((acceptedType) => {
4040
const [type, extension] = acceptedType.split('/');
4141
if (extension) {
42-
const isTypeValid = type === '*' || type.toLowerCase() === fileType.toLowerCase();
43-
const isExtensionValid = extension === '*' || extension.toLowerCase() === fileExtension.toLowerCase();
42+
const isTypeValid = type === '*' || type.toLowerCase() === fileType?.toLowerCase();
43+
const isExtensionValid = extension === '*' || extension.toLowerCase() === fileExtension?.toLowerCase();
4444
return isTypeValid && isExtensionValid;
4545
}
46-
return type === '*' || type.replace('.', '').toLowerCase() === fileExtension.toLowerCase();
46+
return type === '*' || type.replace('.', '').toLowerCase() === fileExtension?.toLowerCase();
4747
});
4848
if (hasTypeError) {
4949
file.errors.type = true;

packages/components/file/src/js/file.html

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,9 +141,13 @@
141141
<span class="oui-file-ellipsis__size" ng-bind="file.infos.size"></span>
142142
</span>
143143
<span class="oui-file-attachments__error"
144-
ng-if="file.errors && file.errors.maxsize"
144+
ng-if="file.errors.maxsizeError"
145145
ng-bind="::$ctrl.translations.maxsizeError">
146146
</span>
147+
<span class="oui-file-attachments__error"
148+
ng-if="file.errors.type"
149+
ng-bind="::$ctrl.translations.typeError">
150+
</span>
147151
</span>
148152
<button class="oui-file-attachments__remove oui-icon oui-icon-close"
149153
type="button"

packages/components/file/src/js/file.provider.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ export default class {
1212
filesSelector: 'Select file(s)...',
1313
maxsizeError: 'This file exceeds the size limit',
1414
removeFile: 'Remove file from selector',
15+
typeError: 'This file extension is not supported',
1516
};
1617

1718
this.units = [

0 commit comments

Comments
 (0)