1 Ext.ns('Gilbert.lib.models');
4 Gilbert.lib.models.Model = Ext.extend(Object, {
6 constructor: function (config) {
7 Ext.apply(this, config);
8 this.drag_drop_group = 'Gilbert.lib.models.Model(' + this.app_label + ',' + this.name + ') ';
11 create_reader: function (config) {
12 return new Ext.data.JsonReader(Ext.applyIf(config||{}, {}));
15 create_writer: function (config) {
16 return new Ext.data.JsonWriter(Ext.applyIf(config||{}, {
21 create_proxy: function (config) {
22 return new Ext.data.DirectProxy(Ext.applyIf(config||{},{
25 read: this.api.data_read,
26 create: this.api.data_create,
27 update: this.api.data_update,
28 destroy: this.api.data_destroy,
33 create_store: function (config) {
34 return new Ext.data.Store(Ext.applyIf(config||{},{
35 proxy: this.create_proxy(),
36 reader: this.create_reader(),
37 writer: this.create_writer(),
45 Gilbert.lib.models.ModelInstance = Ext.extend(Object, {
47 constructor: function (model, pk) {
55 Ext.data.Types.GILBERTMODELFOREIGNKEY = {
57 convert: function (v, data) {
59 return new Gilbert.lib.models.ModelInstance(Gilbert.get_model(v.app_label, v.name), v.pk);
65 sortType: Ext.data.SortTypes.none,
67 type: 'gilbertmodelforeignkey',
72 Ext.data.Types.GILBERTMODELFILEFIELD = {
74 convert: function (v, data) {
82 sortType: Ext.data.SortTypes.none,
84 type: 'gilbertmodelfilefield',