Ext JS-Snippets

Eine Snippet-Sammlung für Ext JS von Sencha.

Weblinks:

Cheat Sheet

Ext.util.MixedCollection:

Ext.data.Store:

Ext.container.Container (alias: Ext.Container, xtype: container):

Ext.Component:

Installation der SDK Tools

Nicht benötigte Verzeichnisse

Folgende Dateien und Verzeichnisse des Ext JS SDK werden benötigt (10 MB von 33 MB):

extjs/locale/**
extjs/resources/**
extjs/src/**
extjs/ext-dev.js
extjs/ext.js
extjs/license.txt

Klassen-Deklaration

Ext.define("mynamespace.MyClass", {

  alternateClassName: 'myothernamespace.MyClass',
  // singleton: true,

  extend: "MyBaseClass",
  mixins: [ somekey: "MixinClass" ],

  requires: [ "RequiredClass" ],
  uses: [ "UsedClass" ],

  statics: {
    A_CONSTANT: 5,
    staticField: 0,

    staticMethod: function(param) {
    }
  },

  config: {
    title: "default title"
  }

  constructor: function(config) {
    // the 'self' property of an instance refers to its class
    this.self.staticField ++;
  },

  // Special setter handling
  applyTitle: function(title) {
    return title;
  },

  myMethod: function(param1, param2) {
  }

});

Event-Handling

Klasse mit Event-Support:

Ext.define("mynamespace.MyObervableClass", {

  mixins: {
    observable: 'Ext.util.Observable'
  },

  constructor : function(config) {
    var me = this;

    me.addEvents(
      /**
       * @event someChange
       * Fires when some stuff changed.
       * @param {mynamespace.MyObervableClass} this
       * @param {String} stuff The new stuff
       */
      "someChange"
    );

    me.listeners = config.listeners;
    me.mixins.observable.constructor.call(me);
  },

  someMethod: function() {
    this.fireEvent("someChange", this, "new stuff");
  }

});

Benutzung:

Ext.define("mynamespace.MyClass", {

  constructor : function(config) {
    var obj = Ext.create("mynamespace.MyObervableClass", {
      listeners: {
        someChange: this.onSomeChange,
        scope: this
      }
    });
  },

  onSomeChange: function(src, stuff) {
    console.log("The new stuff is: " + stuff);
  }

});

Component-Events

Beim Anzeigen werden folgende Events in dieser Reihenfolge ausgelöst:

Beim destroy werden folgende Events in dieser Reihenfolge ausgelöst: