Browse Source

fix(gui-v2): rating cell corrections

Signed-off-by: Pranav C <pranavxc@gmail.com>
pull/2716/head
Pranav C 2 years ago
parent
commit
56d15772e9
  1. 13
      packages/nc-gui-v2/components/cell/Rating.vue
  2. 83
      packages/nc-gui-v2/components/smartsheet/Sidebar.vue
  3. 7
      packages/nc-gui-v2/components/tabs/Smartsheet.vue
  4. 14
      packages/nc-gui-v2/composables/useMeta.ts

13
packages/nc-gui-v2/components/cell/Rating.vue

@ -35,12 +35,13 @@ const localState = computed({
<div class="d-100 h-100" :class="{ 'nc-cell-hover-show': localState === 0 || !localState }"> <div class="d-100 h-100" :class="{ 'nc-cell-hover-show': localState === 0 || !localState }">
<v-rating v-model="localState" :length="ratingMeta.max" dense x-small :readonly="readOnly" clearable> <v-rating v-model="localState" :length="ratingMeta.max" dense x-small :readonly="readOnly" clearable>
<template #item="{ isFilled, click }"> <template #item="{ isFilled, click }">
<v-icon v-if="isFilled" :size="15" :color="ratingMeta.color" @click="click"> <!-- todo : custom color and icon -->
<MdiStarIcon /> <!-- <v-icon v-if="isFilled"- :size="15" :color="ratingMeta.color" @click="click"> -->
</v-icon> <MdiStarIcon v-if="isFilled" @click="click" />
<v-icon v-else :color="ratingMeta.color" :size="15" class="nc-cell-hover-show" @click="click"> <!-- </v-icon> -->
<MdiStarOutlineIcon /> <!-- <v-icon v-else :color="ratingMeta.color" :size="15" class="nc-cell-hover-show" @click="click"> -->
</v-icon> <MdiStarOutlineIcon v-else @click="click" />
<!-- </v-icon> -->
</template> </template>
</v-rating> </v-rating>
</div> </div>

83
packages/nc-gui-v2/components/smartsheet/Sidebar.vue

@ -1,24 +1,19 @@
<script setup lang="ts"> <script setup lang="ts">
import { inject } from "@vue/runtime-core"; import { inject } from '@vue/runtime-core'
import type { TableType } from "nocodb-sdk"; import type { TableType } from 'nocodb-sdk'
import type { Ref } from "vue"; import type { Ref } from 'vue'
import { onMounted } from "vue"; import { onMounted } from 'vue'
import { MetaInj } from "~/components"; import { MetaInj } from '~/components'
import useViews from "~/composables/useViews"; import useViews from '~/composables/useViews'
import { viewIcons } from "~/utils/viewUtils"; import { viewIcons } from '~/utils/viewUtils'
const meta = inject(MetaInj);
const { views, loadViews } = useViews(meta as Ref<TableType>);
const _isUIAllowed = (view: string) => {
};
onMounted(loadViews);
const selectedViewIdLocal = ref("");
const meta = inject(MetaInj)
const { views, loadViews } = useViews(meta as Ref<TableType>)
const _isUIAllowed = (view: string) => {}
onMounted(loadViews)
const selectedViewIdLocal = ref('')
</script> </script>
<template> <template>
@ -34,15 +29,9 @@ const selectedViewIdLocal = ref("");
<v-list v-if="views && views.length" dense> <v-list v-if="views && views.length" dense>
<v-list-item dense> <v-list-item dense>
<!-- Views --> <!-- Views -->
<span class="body-2 font-weight-medium">{{ <span class="body-2 font-weight-medium">{{ $t('objects.views') }}</span>
$t("objects.views")
}}</span>
</v-list-item> </v-list-item>
<v-list-group <v-list-group v-model="selectedViewIdLocal" mandatory color="primary">
v-model="selectedViewIdLocal"
mandatory
color="primary"
>
<!-- <!--
todo: add sortable todo: add sortable
<draggable <draggable
@ -62,8 +51,8 @@ const selectedViewIdLocal = ref("");
v-t="['a:view:open', { view: view.type }]" v-t="['a:view:open', { view: view.type }]"
dense dense
:value="view.id" :value="view.id"
active-class="x-active--text"> active-class="x-active--text"
>
<!-- :class="`body-2 view nc-view-item nc-draggable-child nc-${ <!-- :class="`body-2 view nc-view-item nc-draggable-child nc-${
viewTypeAlias[view.type] viewTypeAlias[view.type]
}-view-item`" }-view-item`"
@ -77,36 +66,22 @@ const selectedViewIdLocal = ref("");
mdi-drag-vertical mdi-drag-vertical
</v-icon> </v-icon>
<v-list-item-icon class="mr-n1"> <v-list-item-icon class="mr-n1">
<v-icon <v-icon v-if="viewIcons[view.type]" x-small :color="viewIcons[view.type].color">
v-if="viewIcons[view.type]"
x-small
:color="viewIcons[view.type].color"
>
{{ viewIcons[view.type].icon }} {{ viewIcons[view.type].icon }}
</v-icon> </v-icon>
<v-icon v-else color="primary" small> <v-icon v-else color="primary" small> mdi-table </v-icon>
mdi-table
</v-icon>
</v-list-item-icon> </v-list-item-icon>
<v-list-item-title> <v-list-item-title>
<v-tooltip bottom> <v-tooltip bottom>
<template #activator="{ on }"> <template #activator="{ on }">
<div <div class="font-weight-regular" style="overflow: hidden; text-overflow: ellipsis">
class="font-weight-regular" <input v-if="view.edit" :ref="`input${i}`" v-model="view.title_temp" />
style="overflow: hidden; text-overflow: ellipsis"
>
<input
v-if="view.edit"
:ref="`input${i}`"
v-model="view.title_temp">
<!-- @click.stop <!-- @click.stop
@keydown.enter.stop="updateViewName(view, i)" @keydown.enter.stop="updateViewName(view, i)"
@blur="updateViewName(view, i)" --> @blur="updateViewName(view, i)" -->
<template v-else> <template v-else>
<span v-on="on">{{ <span v-on="on">{{ view.alias || view.title }}</span>
view.alias || view.title
}}</span>
</template> </template>
</div> </div>
</template> </template>
@ -114,8 +89,8 @@ const selectedViewIdLocal = ref("");
</v-tooltip> </v-tooltip>
</v-list-item-title> </v-list-item-title>
<v-spacer /> <v-spacer />
<template v-if="_isUIAllowed('virtualViewsCreateOrEdit')"> <!-- <template v-if="_isUIAllowed('virtualViewsCreateOrEdit')">
<!-- Copy view --> &lt;!&ndash; Copy view &ndash;&gt;
<x-icon <x-icon
v-if="!view.edit" v-if="!view.edit"
:tooltip="$t('activity.copyView')" :tooltip="$t('activity.copyView')"
@ -126,7 +101,7 @@ const selectedViewIdLocal = ref("");
> >
mdi-content-copy mdi-content-copy
</x-icon> </x-icon>
<!-- Rename view --> &lt;!&ndash; Rename view &ndash;&gt;
<x-icon <x-icon
v-if="!view.edit" v-if="!view.edit"
:tooltip="$t('activity.renameView')" :tooltip="$t('activity.renameView')"
@ -137,7 +112,7 @@ const selectedViewIdLocal = ref("");
> >
mdi-pencil mdi-pencil
</x-icon> </x-icon>
<!-- Delete view" --> &lt;!&ndash; Delete view" &ndash;&gt;
<x-icon <x-icon
v-if="!view.is_default" v-if="!view.is_default"
:tooltip="$t('activity.deleteView')" :tooltip="$t('activity.deleteView')"
@ -155,16 +130,14 @@ const selectedViewIdLocal = ref("");
class="check-icon" class="check-icon"
> >
mdi-check-bold mdi-check-bold
</v-icon> </v-icon> -->
</v-list-item> </v-list-item>
</transition-group> <!-- </transition-group> -->
</draggable> <!-- </draggable> -->
</v-list-group> </v-list-group>
</v-list> </v-list>
</div> </div>
</div> </div>
</div> </div>
</template> </template>

7
packages/nc-gui-v2/components/tabs/Smartsheet.vue

@ -30,12 +30,7 @@ watch(
<div class="overflow-auto"> <div class="overflow-auto">
<SmartsheetToolbar /> <SmartsheetToolbar />
<template v-if="meta && tabMeta"> <template v-if="meta && tabMeta">
<div class="d-flex"> <SmartsheetGrid />
<div class="flex-grow-1" style="min-width: 0">
<SmartsheetGrid />
</div>
<SmartsheetSidebar />
</div>
</template> </template>
</div> </div>
</template> </template>

14
packages/nc-gui-v2/composables/useMeta.ts

@ -1,14 +0,0 @@
import useMetas from '~/composables/useMetas'
export default function (metaIdOrTitle: string) {
const { metas, getMeta } = useMetas()
const meta = computed(() => {
return metas.value?.[metaIdOrTitle]
})
const loadMeta = async () => {
await getMeta(metaIdOrTitle)
}
return { meta, loadMeta }
}
Loading…
Cancel
Save