| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- import { Grid, h } from "../../node_modules/gridjs/dist/gridjs.module.js";
- export var _rowSelected = new Array();
- const grid = new gridjs.Grid({
- sort: {
- multiColumn: false,
- server: {
- url: (prev, columns) => {
- if (!columns.length) return prev;
-
- const col = columns[0];
- const dir = col.direction === 1 ? 'asc' : 'desc';
- let colName = ['id', 'word','type','grammar','mean','factors','confidence','updated_at'][col.index];
-
- return `${prev}&order=${colName}&dir=${dir}`;
- }
- }
- },
- columns: [
- {
- name: 'Sel',
- hidden: false,
- sort: false,
- formatter: (cell, row) => {
- return h('input', {
- type:'checkbox',
- className: 'py-2 mb-4 px-4 border',
- id:"cb-"+row.cells[1].data,
- onClick: () =>{
- let id = row.cells[1].data;
- if(document.querySelector("#cb-"+id).checked){
- _rowSelected.push(id);
- console.log("checked",_rowSelected);
- }else{
- _rowSelected.splice(_rowSelected.findIndex(item => item ===id),1);
- console.log("remove",_rowSelected);
- }
- }
- }, '');
- }
- },
- {
- name: 'id',
- hidden: true
- },
- 'word',
- {
- name:'type',
- sort: false,
- },
- {
- name:'grammar',
- sort: false,
- },
- {
- name:'mean',
- sort: false,
- },
- {
- name:'factors',
- sort: false,
- },
- 'confidence','created_at',
- {
- name: 'Actions',
- sort: false,
- hidden:true,
- formatter: (cell, row) => {
- return h('button', {
- className: 'py-2 mb-4 px-4 border rounded-md text-white bg-blue-600',
- onClick: () =>{
-
-
- }
- }, 'Edit');
- }
- }
- ],
- server: {
- url: '../api/user_dicts.php?op=index&view=user',
- then: data => data.data.rows.map(card => [null,card.id,card.word, card.type, card.grammar, card.mean, card.factors, card.confidence, card.updated_at,null]),
- total: data => data.data.count
- },
- pagination: {
- enabled: true,
- limit:30,
- server: {
- url: (prev, page, limit) => `${prev}&limit=${limit}&offset=${page * limit}`
- }
- },
- search: {
- server: {
- url: (prev, keyword) => `${prev}&search=${keyword}`
- }
- },
- resizable: true,
- }).render(document.getElementById("userfilelist"));
- //grid.on('rowClick', (...args) => console.log('row: ' + JSON.stringify(args), args));
- //grid.on('cellClick', (...args) => console.log(cell,args));
- document.querySelector("#to_recycle").onclick = function(){
- if(_rowSelected.length>0){
- if(confirm(`删除${_rowSelected.length}个单词,此操作不能恢复。`)){
- $.getJSON("../api/user_dicts.php",
- {
- op:'delete',
- id:JSON.stringify(_rowSelected)
- },
- function(data){
- if(data.ok){
- grid.forceRender();
- alert(`delete ok `);
- }
- });
- }
- }
- }
|