extjs Séparations distinctes des corrections de bogues


Exemple

Dans ExtJS, vous pouvez remplacer presque toutes les méthodes du framework et le remplacer par le vôtre. Cela vous permet de modifier les classes existantes sans modifier directement le code source ExtJS.

Parfois, vous pouvez souhaiter améliorer une classe existante ou fournir une propriété par défaut saine pour une classe.

Par exemple, vous pouvez souhaiter que tous les champs de données de votre modèle autorisent les valeurs NULL.

Ext.define('MyApp.override.DataField', {
  override: 'Ext.data.field.Field',
  allowNull: true
});

Dans d'autres cas, vous devrez corriger quelque chose qui est cassé dans le cadre.

Voici un exemple de correction de bogue avec la documentation. Notez que le nom de classe contient "fix" plutôt que "override". Le nom actuel n'est pas important, mais la séparation est.

Ext.define('MyApp.fix.FieldBase', {
  override: 'Ext.form.field.Base',
  /**
   * Add a description of what this fix does.
   * Be sure to add URLs to important reference information!
   *
   * You can also include some of your own tags to help identify
   * when the problem started and what Sencha bug ticket it relates to.
   *
   * @extversion 5.1.1
   * @extbug EXTJS-15302
   */
  publishValue: function () {
    this.publishState('value', this.getValue());
  }
});

Maintenant, quand vient le temps de passer à la prochaine version d'ExtJS, il n'y a qu'un seul endroit où vous devez vérifier quels correctifs peuvent être supprimés.