import { DatatableModel } from '../model/datatable/datatable.model' import moment from 'moment' export const builder = ( queryInfo: any, titles: any[], body: any, unlimited = false ) => { const dao: DatatableModel = { search_str: body.search, other_params: {}, limit: unlimited ? -1 : queryInfo.pageSize, start: queryInfo.page === 1 ? 0 : (queryInfo.page - 1) * queryInfo.pageSize, columns: titles.map((d: any) => { return { data: d.prop } }), order_by: [ { column: queryInfo.sort.prop ? queryInfo.sort.prop : 'name', sort_type: queryInfo.sort.order === 'ascending' ? 'ASC' : 'DESC' } ] } if (dao.start < 0) { dao.start *= -1 } const clone = JSON.parse(JSON.stringify(body)) delete clone.search delete clone.tableSort if ('start' in clone) { if (moment(clone.start).format('YYYY-MM-DD') === clone.start) { clone.start = moment(clone.start).format('YYYY-MM-DD 00:00:00') } } if ('end' in clone) { if (moment(clone.end).format('YYYY-MM-DD') === clone.end) { clone.end = moment(clone.end).format('YYYY-MM-DD 23:59:59') } } if ('id' in clone) { if (typeof clone.id === 'string') { clone.id = +Number(clone.id) } } dao.other_params = clone return dao } export const columns: any = [ { prop: 'last_updated_time', order: 'descending' } ] export const scrollToTop = () => { const top: any = document.getElementById('top') const dams: any = document.getElementById('dams-container-top') let dom: any if (dams) { dom = dams } else { dom = top } if (dom) { dom.scrollIntoView({ block: 'end', behavior: 'smooth' }) } }