Configurações

Onde encontrá-las

As configurações estão descritas no arquivo config.js.

restUrls

Nessa propriedade é definido os caminhos para chamadas REST. Os símbolos :url e :id são trocados dinamicamente por seus respectivos valores de acordo com as propriedades do componente. Ela é utilizada nos componentes Grid e GridForm, para definir as URLs das ações padrão de CRUD.

config.js
restUrls: {
    index: ':url',
    show: ':url/:id',
    add: ':url/new',
    create: ':url',
    edit: ':url/:id/edit',
    update: ':url/:id',
    destroy: ':url/:id'
}

restMethods

Propriedade que define os métodos do protocolo HTTP utilizado para cada ação definida na configuração restUrls.

config.js
restMethods: {
    index: 'GET',
    show: 'GET',
    add: 'GET',
    create: 'POST',
    edit: 'GET',
    update: 'PUT',
    destroy: 'DELETE'
}

Grid

Propriedades globais utilizadas pelo componente Grid, para as funcionalidades de paginação e ordenação.

config.js
grid: {
    pagination: {
      param: 'p',
      perPageParam: 'per_page',
      perPage: 20,
      window: 4,
      type: 'default',
      perPageOptions: [
            { name: '10', value: 10 },
            { name: '20', value: 20 },
            { name: '50', value: 50 }
        ]
    },
    sort: {
        param: 's',
        directionParam: 's_dir',
        fieldValueFormat: '%{field}'
    }
}
pagination

Especificação do funcionamento de cada um dos atributos do objeto grid.pagination. Alguns deles podem ser alterados diretamente no componente GridPagination, como pode ser visto no exemplo a seguir. Neste exemplo é criado um componente customizado, o GridPaginationExample. Em seu estado é atribuido as configurações sobrescritas que serão enviadas para o componente GridPagination.

param String

Nome do parâmetro na query string que define em qual página está o Grid para o back-end.

default: 'p'
Exemplo
url?p=1
perPage Number e perPageParam String

perPage é quantidade de itens a serem exibidos por página no Grid, e perPageParam é o nome do parâmetro na query string onde essa informação é enviada para o back-end.

perPage default: 20
perPageParam default: 'per_page'
Exemplo
url?per_page=20
window Number

Tamanho da janela de exibição da paginação.

default: 4
type String

Propriedade utilizada na renderização dos campos de paginação. São aceitos os valores default e input. No caso default, será apresentado os botões com os números (e dependendo da página, ir para primeira página e/ou ir para última página). No caso input, é renderizado um campo para o usuário inserir a página que deseja ir.

default: 'default'
perPageOptions Array

É utilizado para montar o select de opções da quantidade de itens exibidos por página (altera o valor do perPage) dentro do componente GridPagination.

default: [
    { name: '10', value: 10 },
    { name: '20', value: 20 },
    { name: '50', value: 50 }
]
sort

Descrição da funcionalidade dos atributos do objeto grid.sort.

param String

Nome do parâmetro na query string onde será enviado para o back-end qual campo deve ser ordenado no componente Grid. Dependendo da configuração (fieldValueFormat), o valor da direção da ordenação também pode ser enviado por esse parâmetro.

default: 's'
Exemplo
default:
url?s=created_at

sort: {
  param: 'sorting'
}
url?sorting=created_at
directionParam String

Nome do parâmetro na query string que define qual será a direção da ordenação do componente Grid.

default: 's_dir'
Exemplo
default:
url?s_dir=asc

sort: {
  directionParam: 'sorting_direction'
}
url?sorting_direction=asc
fieldValueFormat String

Padrão utilizado para gerar o valor do parâmetro de ordenação enviado para o back-end (definido em param). O código que utiliza este padrão pode ser encontrado em Grid, no método parseSortPostDataValue.

default: %{field}
Exemplo
default:
url?s=created_at&s_dir=desc

sort: {
  fieldValueFormat: '%{field},%{direction}'
}
url?s=created_at,desc

Como alterar essas configurações

O Realize provê a função setConfig para a customização dessas configurações no seu objeto global. A seguir é apresentando um exemplo de uso desta função.

Exemplo
Realize.setConfig(
    {
        restUrls: {
            destroy: ':url/delete/:id'
        },

        restMethods: {
            add: 'PUT'
        },

        grid: {
            pagination: {
                param: 'pagination',
                perPageParam: 'per_table',
                perPage: 10,
                window: 2,
            },
            sort: {
                param: 'sort',
            }
        }
    }
);