import { ref } from 'vue'; export const useTable = (defaulOrderBy, fetchList) => { const orderBy = ref(defaulOrderBy); const sortChange = (sorter) => { let prop = sorter.prop; if (prop === 'createTimestamp') { prop = 'create_timestamp'; } else if (prop === 'updateTimestamp') { prop = 'update_timestamp'; } else if (prop === 'createUserId') { prop = 'create_user_id'; } else if (prop === 'updateUserId') { prop = 'update_user_id'; } else if (prop === 'createUser') { prop = 'create_user_id'; } else if (prop === 'updateUser') { prop = 'update_user_id'; } else if (prop === 'accessLevel') { prop = 'access_level'; } else if (prop === 'lastLoginIp') { prop = 'last_login_ip'; } else if (prop === 'lastLoginTimestamp') { prop = 'last_login_timestamp'; } else if (prop === 'package.platform') { prop = 'pkg.platform'; } else if (prop === 'package') { prop = 'pkg.name'; } else if (prop === 'environment') { prop = 'env.name'; } else if (prop === 'playbook') { prop = 'pb.name'; } if (sorter.order === 'ascending') { orderBy.value = prop; } else if (sorter.order === 'descending') { orderBy.value = '-' + prop; } else { orderBy.value = ''; } fetchList(); }; return { orderBy, sortChange, }; };