Right, that's what I thought it should be like. Still not working, even in a fresh test scenario. Here the steps to follow through:
1. So I generate a new app using sencha app generate...
2. I add the following items to the sample view:
3. Then I add these classes to Application.js
text: 'File Button'
buttonText: 'Select Photo...'
4. Refresh or build
5. That's the result, because "x-form-file-input" is missing.
Adding the class manually corrects the problem and I get this:
Worked ok for me using those steps.
Are you using Cmd 18.104.22.168 or higher?
Maybe re-download 4.2.1? Even reinstall Cmd?
As it turns out it's necessary to load the class Ext.form.field.File and not Ext.form.field.FileButton, even though the css class is used on the FileButton, not the FileField.Seems strange when FileField is not used.
Also Cmd is very buggy and flaky when using the web server with multiple projects on the same machine at the same time. Generating a new app sets some global namespace variables that cannot be reversed by refresh, build or restart the machine.
I had to recreate the entire project to reset that namespace back to the main project. The error is e.g.
"The following classes are not declared even if their files have been loaded: "testproject.Application". Please check the source code of their corresponding files for possible typos: "app/Application".
But there is no reference in the project itself to "testproject".