VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /var/www/html/libs/absol-acomp/demo/treetable/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/libs/absol-acomp/demo/treetable/treetable_drag.js
var tree = require('../demo_tree_list.js');
var count = 0;

function render(o) {
    return absol._(o).addTo(document.body);
}

render('<h2>apdater.type = "default" | Ø</h2>')

var makeNodeData = (node, more) => {
    var _ = absol._;
    var res = {
        id: (count++) + ''
    };
    res.cells = [
        {
            render: function (elt, cellData, controller) {
                if ((!node.items || !node.items.length) && more) {
                    elt.addClass('as-drag-zone');
                    elt.addChild(_('span.mdi.mdi-drag'))
                }
            }
        },
        {
            innerText: node.text,
            render: function (elt, cellData, controller) {
                _({
                    elt: elt,
                    child: [
                        '.as-tree-table-toggle',
                        { tag: 'span', child: { text: node.text } }
                    ]
                })
            }
        },
        {
            innerText: node.value,
            render: function (elt, cellData, controller) {
                _({
                    elt: elt,
                    child: [
                        { tag: 'span', child: { text: node.value + '' } }
                    ]
                });
            }
        },
        {
            child: [
                {
                    tag: 'flexiconbutton',
                    props: {
                        icon: 'span.mdi.mdi-delete',
                        text: 'Xóa'
                    },
                    on: {
                        click: () => {
                            table.removeRow(res);
                        }
                    }
                },
                {
                    tag: 'flexiconbutton',
                    style: {
                        marginLeft: '12px'
                    },
                    props: {
                        icon: 'span.mdi.mdi-file-replace-outline',
                        text: 'Thay thế'
                    },
                    on: {
                        click: () => {
                            table.replaceRow(makeNodeData(Object.assign({}, node, { text: node.text + ' xxx ' })), res);
                        }
                    }
                },
                {
                    tag: 'flexiconbutton',
                    style: {
                        marginLeft: '12px'
                    },
                    props: {
                        icon: 'span.mdi.mdi-plus',
                        text: 'Thêm node con'
                    },
                    on: {
                        click: () => {
                            table.addRowIn(makeNodeData(Object.assign({}, node, {
                                text: node.text + ' xxx ',
                                items: null
                            })), res);
                        }
                    }
                },
                {
                    tag: 'flexiconbutton',
                    style: {
                        marginLeft: '12px'
                    },
                    props: {
                        icon: 'span.mdi.mdi-plus',
                        text: 'Thêm node anh'
                    },
                    on: {
                        click: () => {
                            table.addRowBefore(makeNodeData(Object.assign({}, node, {
                                text: node.text + ' xxx ',
                                items: null
                            })), res);
                        }
                    }
                },
                {
                    tag: 'flexiconbutton',
                    style: {
                        marginLeft: '12px'
                    },
                    props: {
                        icon: 'span.mdi.mdi-plus',
                        text: 'Thêm node em'
                    },
                    on: {
                        click: () => {
                            table.addRowAfter(makeNodeData(Object.assign({}, node, {
                                text: node.text + ' yyy ',
                                items: null
                            })), res);
                        }
                    }
                },

            ]
        }
    ];
    if (node.items) res.subRows = node.items.map(it=> makeNodeData(it, node.items.length> 1));
    return res;
}

var searchInput = render({
    tag: 'searchtextinput',
    style: {
        margin: '5px'
    }
});
var addRowBtn = render({
    tag: 'flexiconbutton',
    props: {
        text: 'Thêm dòng'
    },
    on: {
        click: function () {
            var node = { text: 'Dòng mới', value: Math.random() };
            table.addRowIn(makeNodeData(node), null)
        }
    }
});
var table = render({
    tag: 'treetable',
    props: {
        searchInput: searchInput,
        adapter: {
            data: {
                initOpened: true,
                head: {
                    fixed: true,
                    rows: [
                        {
                            cells: [
                                {},
                                {
                                    child: { text: 'Bộ phận/Nhân viên' }
                                },
                                {
                                    child: { text: "Giá trị" }
                                },
                                {
                                    child: { text: 'Hành động' }
                                }
                            ]
                        }
                    ]
                },
                body: {
                    rows: tree.map(makeNodeData)
                }
            }
        }
    }
});

render({
    tag: 'tablevscroller',

    style: {
        height: '50vh',
    },
    child: table
});



VaKeR 2022