Sencha Touch - Loja

É basicamente a coleção de instâncias de modelo. As lojas também podem ser estáticas e dinâmicas. Em um armazenamento estático, carregamos os dados embutidos. No armazenamento dinâmico, buscamos dados do servidor usando proxies ajax.

A classe base da loja é Ext.data.Store

Armazém Estático

Ext.create('Ext.data.Store', {
   model: 'User', data: [
      { firstName: 'Greg',    lastName: 'Barry' },
      { firstName: 'Seth', lastName: 'Lemmons' },
      { firstName: 'Mitch', lastName: 'Simoens' },
      { firstName: 'Fred', lastName: 'Mosby' }
   ]
});

Na loja, podemos realizar a classificação, filtragem e agrupamento de dados da loja local e remotamente.

Para realizar a classificação localmente, definimos o classificador e o campo, com base nos quais precisamos classificar os dados.

Filtre no par de valores-chave como propriedade com o nome do campo e o valor com o valor a ser filtrado.

O agrupamento pode ser executado com groupField no qual fornecemos um nome de campo com base no qual o agrupamento deve ser feito.

groupDir é para especificar a direção - crescente ou decrescente.

Ext.create('Ext.data.Store', {
   model: 'User', sorters: ['name', 'id'], filters: {
      property: 'name', value   : 'Ed'
   },
   groupField: 'age', groupDir: 'DESC'
});