j-Grid
- O sistema de rede
bootstrap
__Data-Source_ precisa de conter:
{
items: [{ name: 'Row 1' }, { name: 'Row 2' }, ...] // items
page: 1, // current pages
pages: 30, // count of pages
limit: 5, // items limit per page
count: 150 // count of items in DB
}Configuração:
filter{Boolean} mostra um filtro (opcional, padrão:true)filterlabel{String} um alojamento padrão para todos os filtros (opcional)external{Boolean} é uma fonte de dados externa (carregamento de dados dinâmico) (optinal, padrão:false)pluralizepages{String} pluralização para páginas (opcional, padrão:# pages,# page,# pages,# pages)pluralizeitems{String} pluralização para itens (opcional, padrão:# items,# item,# items,# items)exec{String} um link parafunction(type, filter, sort, page), é avaliado se a rede realiza algumas operaçõespadding{Número} de altura (opcional, padrão:0)autosize{Boolean} permite o tamanho automático completo (opcional, padrãotrue)boolean{String} um valor para a filtragem de valores booleanos (opcional, padrão:true|on|yes)pagination{Boolean} mostra o painel de página (opcional, padrão:false)init{Função} uma função de init para, por exemplo, colunas personalizadaschecked{Função} se as linhas contêm<input type="checkboxentão esta função será avaliada quando a caixa de verificação é verificada
Propriedades da coluna:
name{String} um nome de campo no objetotext{String} um rótulotitle{String} uma coluna ferramenta (opcional)size{Número} uma coluna de largura:1Pequeno e2O meio,3grande em4muito grande (opcional, padrão)1)size{String} uma largura de coluna em pixels, o valor precisa conterpxetc.20pxfilter{String/Boolean} um locatário para o filtro oubooleanpode desativar o filtragem para esta coluna (opcional)format{String/Number} para valores de formatação (stringpara data,numberpara números)background{String} uma cor de fundo (opcional)align{String} pode sercenterouright(opcional, padrão:left)template{String} pode ser um modelo Tangular e o modelo é todo o objeto da linharender{String/Function(valor, coluna, linha)} uma renderização personalizada,stringé avaliado como uma função de arcoheader{String/Function(coluna)} uma renderização personalizada do cabeçalho,stringé avaliado como uma função de arcosort{Boolean} permite a classificação (opcional, padrão:true)class{String} classes adicionais para a coluna, por exemplo,hidden-xssearch{Boolean/String}trueirá filtrar um valor de acordo com o resultadotemplateouStringpode ser um modelo Tangular que será usado como um valor para pesquisa
Filtração:
numbers: (1)numberbusca um número exato, (2)number / numberé um intervalo entre os númerosstrings: (1)stringbusca uma linha exata, (2)string1, string2, string3é um critério de pesquisa múltiplodates: (1) ano2017pesquisa todas as datas neste ano, (2)2017-02-12 / 2017-03-13é um intervalo entre datas, (3)20.12 / 31.12um interval entre datos no ano atual
Use-o com <ui-component name="grid">Quando o componente ainda não está carregado, jComponent Descarrega-o no primeiro uso do endereço DEF.fallback (a partir do Componentator CDN por padrão). autor: Peter Širka. fonte: o Componentator Reserva de componentes, licença MIT.
<style>
body{padding:50px;margin:0;background-color:#F0F0F0;font-family:Arial;height:100%;}
html{height:100%;}
</style>
<ui-component name="grid" path="griddata" config="exec:filtering">
<script type="text/plain">
[
{ name: 'name', text: 'Name', size: 2, render: 'n => n.toUpperCase()', filter: 'Search in name' },
{ name: 'price', text: 'Price', size: 1, format: 2, filter: 'Search in prices', align: 'right' },
{ name: 'description', text: 'Description', size: 3, filter: 'Search in description' },
{ name: 'created', text: 'Created', size: 1, filter: 'Search in dates', format: 'dd.MM.yyyy', align: 'center' }
]
</script>
</ui-component>
<script>
var griddata = { page: 1, count: 18, pages: 3, limit: 6, items: [] };
var items = griddata.items;
items.push({ name: '1 Lorem ipsum dolor.', description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consectetur, mollitia!', price: 233, created: new Date().add('-5 days') });
items.push({ name: '2 Lorem ipsum dolor.', description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consectetur, mollitia!', price: 122, created: new Date().add('-1 year') });
items.push({ name: '3 Lorem ipsum dolor.', description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consectetur, mollitia!', price: 119, created: new Date().add('-1 month') });
items.push({ name: '4 Lorem ipsum dolor.', description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consectetur, mollitia!', price: 35.34, created: new Date().add('-14 days') });
items.push({ name: '5 Lorem ipsum dolor.', description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consectetur, mollitia!', price: 439.33, created: new Date().add('-5 hours') });
items.push({ name: '6 Lorem ipsum dolor.', description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consectetur, mollitia!', price: 111.12, created: new Date().add('-349 minutes') });
// Auto-resize
$(window).on('resize', function() {
setTimeout2('resize', function() {
EMIT('resize');
}, 100);
});
function filtering(type, filter, sort, page) {
console.log(type, filter, sort, page);
}
</script>