j-DataGrid
Esta rede foi criada para aplicações de página única e aplicações empresariais.
- O sistema de rede
bootstrap - Você pode render mais de 30 mil linhas sem qualquer problema
- Suporte para drag&drop colunas
- Apoio à Sorte
- Suporte para a reposição de colunas
- Suporte ao escorregamento vertical/horizontal
- Suporte aos filtros
- Suporte para checkboxes
- Escorpiões independentes em
- Responder
- Apresentação - Modo escuro
- IMPORTANT opções de coluna filtro precisa de componente
j-Directory
O-DO:
- Multidão
- Colunas para dispositivos de toque
- Reordenar colunas para dispositivos de toque
__Data-Source_ precisa de conter:
{
schema: 'schema_id', // NEW: optional, DataGrid supports multiple schemas (it means: multiple declaration of columns)
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
}ou Array cru, mas você não pode usar a paginação e filtros externos:
[{ name: 'Row 1' }, { name: 'Row 2' }];Configuração:
filterlabel {String}um alojamento padrão para todos os filtros (opcional)rememberfilter {Boolean}com verdadeiro ele lembra filtros para cada esquema (default:true)schema {String}um esquema padrão (default:default)- Pluralização
pluralizepages {String}para páginas (opcional, padrão:# pages,# page,# pages,# pages) - Pluralização
pluralizeitems {String}para itens (opcional, padrão:# items,# item,# items,# items) height {Number/String}Alteração da rede, valores suportados:auto(default) e de novofluid,parent(ouparent1,parent2) ouNUMBERA altura ouselectorpara jQuery.closest()minheight {Number}altura mínima da rede, trabalha comfluideautoaltura (default:200)- Seletor
parent {String}para a opção de alturaauto(default:window) margin {Number}uma margem superior para altura (opcional, padrão:0)boolean {String}um valor para filtrar valores booleanos (opcional, padrão:true|on|yes)resize {Boolean}permite a reposição de colunas (opcional, padrão:true)reorder {Boolean}permite reordenar colunas (opcional, padrão:true)sorting {Boolean}permite a classificação (opcional, padrãotrue)remember {Boolean}lembra colunas de reordenação e resignação (opcional, padrãotrue)checkbox {Boolean}permite checkboxescolwidth {Number}uma largura de coluna padrão em pixels (opcional, padrão150)rowheight {Number}uma altura de linha padrão em pixels (opcional, padrão:24) + depende do CSSalignheader {String/Number}Alinhamento para Headerright(ou2) oucenter(ou1(Opcional e defeituoso)left)alignfilter {String/Number}Alinhamento para filtroright(ou2) oucenter(ou1(Opcional e defeituoso)left)align {String/Number}Alinhamento de uma colunaright(ou2) oucenter(ou1(Opcional e defeituoso)left)click {String}um link para um caminho oufunction(row, grid, row_el), um registro será atribuído/executado se o usuário clicar em uma linhaclickid {String}um identificador/nome de propriedade para redescrever para trás (para a marcação da linha anterior), padrão:idhighlight {Boolean}cada linha selecionada (apósclick) será destacado (default:false)unhighlight {Boolean}permiteundo highlightingda linha selecionada (default:true)checked {String}pathpara uma variável ou caminho parafunction(rows, grid)é executado se o usuário selecionou/checou algumas linhasautoselect {Boolean}permite a seleção automática da primeira linha na rede, executaEXEC(config.click), padrão:falselimit {Number}um limite de cluster, padrão:80numbering {Boolean}, padrão opcionalfalseallowtitles {Boolean}, permite títulos para todos os valores de linha, padrão opcionalfalsebutton {String}um link parafunction(btn_name, row, btn_element, event, name)é executado se o usuário clicar em um button na linhaexec {String}um link parafunction(type, filter, sort, page)apenas para operações de lado do servidor (esforça a classificação e filtragem do cliente), tipos suportados:refreshoupagechanged {String}pathpara uma variável ou caminho parafunction(rows, grid)é executado se o usuário alterar algumas linhaschange {String/Boolean}boolean permite a edição interna ou a fila deve conter umpathpara uma variável ou o caminho parafunction(meta, next(meta))é executado se o usuário duplicar uma coluna (metapode sernullse a rede é refrescada) +next(null)substitui o conteúdo anterior novamentecolumns {String}é um caminho para a definição decolumns {Array}dblclick {String}um link para o métodofunction(row, grid, row_el), é executado se o usuário clicar duas vezes em uma linhanoborder {Boolean}pode desativar uma fronteira em torno da rede (default:false)clusterize {Boolean}pode desativar o escorregamento clusterado (default:true)contextmenu {String}um link parafunction(e, grid)quando o usuário aumenta o menu de contextoautoformat {Boolean}permite tipos de formato automático comoemail,phoneenumber(default:true)controls {Boolean}permite controlos definidos emcolumns(default:true)hfunc {String}um link para o métodofunction(el), é executado se o usuário clicar no ícone adicionado à primeira linha de cabeças. usefull para integrar outro componente com DataGrid.hfuncicon {String}hfunc icona, por exemplo, casa, cog, etc.pagination {Boolean}permite/disabilita a página (default:true)config.execserá executado se a barra de rolamento estiver no final, e você pode usar como a resposta raizarrayde linhas
ovalue {String}uma chave padrão para obtervaluedecolumn.options(default:id)otext {String}uma chave padrão para obtertextdecolumn.options(default:name)
Propriedades da coluna:
name {String}um nome de campo no objeto de linhatext {String}é uma coluna, texto com.ti ti-homerenderá o ícone totaltitle {String}uma coluna ferramenta (opcional)width {Number}uma coluna largura (opcional, padrãoconfig.colwidth)filter {String/Boolean}um alojador para o filtro oubooleanpode desativar o filtragem para esta coluna (opcional)filtervalue {Object}opcional, um valor de filtro predefinido (default:undefined)filtertype {Number/String},1desabilita a pesquisa inteligente (default:0- significa que a busca inteligente é ativada)align {String}pode sercenterouright(opcional, padrão:left)template {String}pode ser um modelo Tangular e o modelo é todo o objeto da linhasorting {Boolean}permite a classificação (opcional, padrão:true)search {Boolean/String}trueirá filtrar um valor de acordo com o resultadotemplateouStringpode ser um modelo Tangular que será usado como um valor para pesquisaformat {String/Number}pode ser usado para datas e números (conto de decimais) campo (opcional), por exemplo,dd.MM.yyyyhide {Boolean}esconde uma colunalistcolumn {Boolean}padrão: verdadeiro, falso para remover colunas da lista de colunashidden {String}como uma função de fogocolumn => true--> coluna será escondida (por exemplo, para restringir o usuário)options {Object Array}opcional, um filtro personalizado por exemplo[{ text: 'yes', value: true }, { text: 'no', value: false }]o {String}r link para a fonte de dadosotext {String}opcional, uma chave para o campotextemoptions, padrãoconfig.otextovalue {String}opcional, uma chave para o campovalueemoptions, padrãoconfig.ovaluebuttonapply {String}opcional, um rótulo para o botãoApplyem colunas, padrão:Applyclass {String}opcional, um nome de classe de coluna personalizadaempty {String/Boolean}opcional, pode reescrever o valor vazio com o valor definido no campo vazio (o valortrueusa o valor---como um valor padrão)min {Number}editável apenas um min. valormax {Number}editável apenas um valor máximorequired {Boolean}Editar somentedirsearch {String/Boolean}é um locatário para a pesquisaj-Directory, boolean comfalseirá desativar a pesquisatype {String}opcional, pode conter um tipo de dados (string,boolean,date,number,email,phoneouurl) para o campoeditable {Boolean}permite a ediçãocurrency {String}um nome de moeda (deve ser definido emDEF.currencies)editable {String}Um caminho para o personalizávelfunction(meta), importante:meta.next(new_value)oumeta.cancel()colorize {Boolean}permite a coloração do valormonospace {Boolean}permite o tipo de fonte monoposto- NEW
raw {Boolean}permite/disabilita a escape HTML em filtros de coluna (default:false) - NEW
pair {Boolean}permite/disabilita o valor automático em conjunto com a configuraçãooptions(default:false)
Controle de rodovias (NEW):
- Pode ser definido como tipo de coluna
controls - deve ser definida coluna
template(Tangular,rowé um modelo para Tangular para cada linha) - Veja o exemplo
- O botão de evento
clické capturado paraconfig.button
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últiplodates1 - Ano2017Todas as datas do ano (2)2017-02-12 - 2017-03-13--02.12.2017 - 13.03.2017É um intervalo entre as datas, (3)12-20 - 12-31--20.12 - 31.12Intervalo entre as datas no ano atual e (4)2017-01 - 2018-05--01.2017 - 05.2018ou (5)-5 days---1 week---10 years
Métodos:
component.redraw([reselect_again])pode redescrever as linhas novamente (só para modificações, se você remover alguma linha que você precisa para atualizar o modelo inteiro)component.resetfilter()pode reinstalar um filtrocomponent.exportrows(page_from or true from the current page, pages_count, callback(rows, internal_options), [reset_to_page or true for the current page])pode exportar linhas com renderização do servidorcomponent.appendrow(row_object, [scrolldown], [prepend])apêndidas e rendercomponent.redrawrow(row_object, [new_object_row])redraws linha ou NEW: substitui + redraudsrow_objectcom um novonew_object_rowcomponent.clear()clarifica todas as mudançascomponent.select(row)selecionarowdeve ser o mesmo objeto que na fonte de dadoscomponent.editcolumn(row_index, col_index)executa internamente oconfig.change(só para uso avançado)component.applyfilter(obj)pode aplicar um filtro personalizado{ name: 'Peter', age: '20 - 50' }component.resetcolumns()Colunas de Resetcomponent.readfilter()retorna um filtro atualcomponent.rebind(schemaname__or__columnsdeclaration)o método reflete o esquemacomponent.reload()executaconfig.execcom o filtro e a classificação atuaiscomponent.empty()em todas as linhascomponent.redrawcolumns()redraw colunas sem reinstalar- NEW:
component.schema(name)altera um esquema e refresca dados
Propriedades:
component.metaretorna informações interna sobre filtros, colunas e linhas
Bom para saber:
NULL('link.to.data')Avaliaçãoconfig.execSET('link.to.data', data, 'noscroll')--> tiponoscrollinterfere com a redefinição de rolamento
Como estender uma classe de linha?
- olhando para a linha
{{ if active }}, ele estende uma classe de linha adicionandodg-active-classse oactivefor válido
[
'{{ if active }} dg-active-class{{ fi }}',
{ name: 'name', text: 'Name', width: 200 },
// other columns ...
]múltiplos esquemas:
<ui-component name="datagrid" path="obj">
<script type="text/plain" data-id="SCHEMA_A">
[
{ name: 'name', text: 'Name', width: 200 },
// ...
]
</script>
<script type="text/plain" data-id="SCHEMA_B">
[
{ name: 'price', text: 'Price', width: 100 },
// ...
]
</script>
</ui-component>
<script>
// Usage
var obj = {};
obj.schema = 'SCHEMA_A';
obj.items = [];
// Changing of schema
setTimeout(function() {
obj.schema = 'SCHEMA_B';
obj.items = [];
UPD('obj');
}, 5000);
</script>Use-o com <ui-component name="datagrid">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.
<ui-component name="LAZY directory"></ui-component>
<ui-component name="datagrid" path="items" config="margin:22;button:clicked">
<script type="text/plain">
[
{ name: 'name', text: 'Name', width: 200 },
{ name: 'price', text: 'Price', align: 1, alignfilter: 1 },
{ name: 'published', text: 'Public', align: 1, options: [{ name: 'yes', id: true }, { name: 'no', id: false }], type: 'boolean' },
{ name: 'description', text: 'Description', filter: 'Search in description' },
{ name: 'created', text: 'Created', template: '{{ created | format(\'dd.MM.yyyy\') }}', align: 2, alignfilter: 2, alignheader: 2 },
{ type: 'controls', template: '<button name="show"><i class="ti ti-search"></i><span>Show</span></button><button name="edit"><i class="ti ti-pencil"></i></button><button name="remove"><i class="ti ti-trash red"></i></button>' }
]
</script>
</ui-component>
<script>
var items = [];
for (var i = 1; i < 90; i++)
items.push({ name: '{0} Lorem ipsum dolor'.format(i), published: i % 5 !== 0, description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consectetur, mollitia!', price: i + 100, created: new Date().add('-5 days') });
function clicked(btnname, row, button, e) {
console.log(btnname, row);
}
</script>