Files
nocodb/packages/nc-gui/components/nc/SubMenu.vue
Anbarasu b7acf202e8 feat: Field aggregation (#8786)
* feat: basic ui for aggregation

* feat: update aggregation in ui

* feat: aggregation api implementation

* feat: attachment aggregation.ts

* fix: some changes

* fix: rebase

* feat: aggregation for links, rollup, ltar, formula, lookup

* fix: type errors

* fix: move from data-alias controller, service to data-table service, controller

* chore: inline docs for aggregations

* fix: handle edge cases

* fix: ui bugs

* feat: working ui aggregation

* fix: minor issue

* fix: rollup and links fix count

* fix: handle ID Column

* fix: minor fixes

* fix: update aggregation on data change

* fix: round to 2 decimal places

* fix: stddev computation error replace with stddev_pop

* fix: use pg age function

* feat: new record layout

* fix: shared view aggregations

* feat: aggregations based on formula result

* fix: temp pagination

* feat: ncpagination v2

* feat: ncpagination v2

* fix: playwright tests

* fix: pending changes

* fix: failing tests

* feat: mysql2 aggregations

* fix: build

* fix: record count

* fix: cleanup

* fix: disable count aggregation

* feat: expiremental sqlite3 aggregation

* fix: mysql2 median

* fix:minor issues

* refactor: rename column to column_query fix: remove default aggregations fix: disable aggregation for specific dbtype and Foreign Key

* fix: remove unwanted else case

* fix: aggregation not loading

* fix: rebase

* fix: rebase

* fix: pagination fixed height

* fix: respect locked mode for aggregations

* fix: pagination component

* fix: pagination component

* fix: replace Math.random
2024-06-24 11:55:54 +05:30

50 lines
1.2 KiB
Vue

<script lang="ts" setup>
const props = defineProps<{
popupOffset?: number[]
}>()
</script>
<template>
<a-sub-menu :popup-offset="props.popupOffset" class="nc-sub-menu" popup-class-name="nc-submenu-popup">
<template #title>
<div class="flex flex-row items-center gap-x-1.5 py-1.75 justify-between group hover:text-gray-800">
<div class="flex flex-row items-center gap-x-2">
<slot name="title" />
</div>
<GeneralIcon icon="arrowRight" class="text-base text-gray-600 group-hover:text-gray-800" />
</div>
</template>
<template #expandIcon> </template>
<div class="py-1.5">
<slot />
</div>
</a-sub-menu>
</template>
<style lang="scss">
.ant-dropdown-menu-submenu.nc-sub-menu {
@apply flex mx-1.5 rounded-md overflow-hidden !hover:bg-gray-100;
}
.nc-sub-menu > .ant-dropdown-menu-submenu-title {
@apply pl-2 py-0 w-full;
}
.ant-dropdown-menu-submenu .ant-dropdown-menu-submenu-title:hover {
@apply !bg-gray-100;
}
.nc-submenu-popup {
@apply !rounded-lg border-1 border-gray-50;
}
.nc-submenu-popup .ant-dropdown-menu.ant-dropdown-menu-sub {
@apply !rounded-lg !shadow-lg shadow-gray-200;
}
.nc-menu-item::after {
background: none;
}
</style>