extts
v0.0.12
Published
ExtJS classes written in TypeScript
Downloads
1
Readme
extts
Runtime library creating ExtJS classes from compiled TypeScript modules with classes.
Also contains tools for generating compatible definition files.
Usage
import define, { extend } from 'extts'; // correct path to this module
// needed to override default TypeScript __extends function
// https://github.com/Microsoft/TypeScript/issues/1622
var __extends = extend;
export default define(class extends Ext.button.Button {
// custom implementation of button inherited from Ext.button.Button
});
import Button from './button';
const b = new Button({
text: 'OK'
});
b.render(document.body);
Main concepts
- ES6 modules are embraced (instead of Ext.Loader)
- no Sencha CMD needed to produce release build
- use browserify or webpack
- by default creates anonymous classes
- no global polution (other than Ext itself)
- can't use aliases (other than Ext built-ins)
- Restrictions
- no
alias
includesxtype
(Ext.widget) - avoid
singleton
classes (rather use pure TypeScript construct) - TypeScript constructor and Ext constructor are in conflict (because
super()
andcallParent()
differ)- define
ctor
method that will be used as Ext constructor
- define
- no
Open topics
- static function vs. var
- Ext.EventObject
- Ext.Loader
State of the art
- https://github.com/fabioparra/TypeScript
- Compiling directly from TypeScript to ExtJS class system
- brian428/ext-typescript-generator
- d.ts generator from jsduck metadata
- extjsTypescript
- http://stackoverflow.com/questions/24671996/typescript-definitions-for-extjs-5
- http://blorkfish.wordpress.com/2013/01/28/using-extjs-with-typescript/