This is an old revision of the document!
Ext JS 6
Setup
- Download and Install Sencha Cmd 6
- Download and unzip the Ext JS 6 SDK (remember the path)
To start a new Ext JS project
Open your terminal or console window and issue these commands
sencha -sdk /path/to/ext6 generate app <APPNAME> <APPNAME> cd <APPNAME> sencha app watch
This will generate a skeleton app, sencha app watch will check for any changes made to css or js.
To take over an existing Ext JS project
Open your terminal or console window and issue these commands *inside* the app folder :
sencha app install --frameworks ~/Downloads/ExtJS/ sencha app watch
This will allow you to work with the ext project, sencha app watch will check for any changes made to css or js.
To update an existing EXTJS project
Open your terminal or console window and issue these commands *inside* the app folder :
sencha app upgrade ~/Downloads/ExtJS/ext-6.6.0/ sencha app watch
Editting an application
Desktop code usually goes into <APPNAME>/classic/src, stylechanges in <APPNAME>/classic/sass
Mobile/Tablet code usually goes into <APPNAME>/modern/src, stylechanges in <APPNAME>/modern/sass
Code which is universal (like models & stores) can be defined in <APPNAME>/app
You can only use “classic” extjs classes in the classic folder, & “modern” (touch) classes in the modern folder.
Multiple builds
in app.json there's a default config for builds :
"builds": {
"classic": {
"toolkit": "classic",
"theme": "theme-triton",
"sass": {
"generated": {
"var": "classic/sass/save.scss",
"src": "classic/sass/save"
}
}
},
"modern": {
"toolkit": "modern",
"theme": "theme-material",
"sass": {
"generated": {
"var": "modern/sass/save.scss",
"src": "modern/sass/save"
}
}
}
},
It's possible to add customer specific builds, just copy modern or classic + add your extra config (pwa overrides for example).
making a build with the newly defined build is then
sencha app build <customer>
Styling an application
Modern global CSS variables : https://docs.sencha.com/extjs/6.6.0/modern/Global_CSS.html
Classic global CSS variables : https://docs.sencha.com/extjs/6.6.0/classic/Global_CSS.html
The simplest styling using variables & mixins. Add a “var” folder under “sass”, make a file called Application.scss.
Overriding $base-color goes a long way
.
To change a button's color it's recommended to make use of the mixins
(example of classic mixins, note usage of different button uis depending on position which is a classic thing) :
@include extjs-button-small-ui( $ui: 'action', $glyph-color: #000, $color: #000, $inner-border-width: 0, $border-color: #F7C000, $background-color: #F7C000 ); @include extjs-button-toolbar-small-ui( $ui: 'mandantselect', $glyph-color: #000, $color: #000, $inner-border-width: 0, $border-color: #eeeeee, $background-color: #eeeeee );