Browse Source

fix: move the community icons to spreadsheetNavDrawer.vue

Signed-off-by: Naveen MR <oof1lab@gmail.com>
pull/1884/head
Naveen MR 2 years ago
parent
commit
0a76da2c4c
  1. 209
      packages/nc-gui/components/ProjectTreeView.vue
  2. 12
      packages/nc-gui/components/project/spreadsheet/components/extras.vue
  3. 5
      packages/nc-gui/components/project/spreadsheet/components/spreadsheetNavDrawer.vue

209
packages/nc-gui/components/ProjectTreeView.vue

@ -17,7 +17,7 @@
> >
{{ $store.getters["project/GtrProjectName"] }} {{ $store.getters["project/GtrProjectName"] }}
</h3> </h3>
<github-star-btn v-else /> <github-star-btn v-else/>
</div> </div>
<v-navigation-drawer <v-navigation-drawer
ref="drawer" ref="drawer"
@ -183,19 +183,20 @@
class="body-2 font-weight-medium" class="body-2 font-weight-medium"
v-on="on" v-on="on"
> >
{{ $t("objects.tables") {{
$t("objects.tables")
}}<template }}<template
v-if="item.children && item.children.length" v-if="item.children && item.children.length"
> >
({{ ({{
item.children.filter( item.children.filter(
(child) => (child) =>
!search || !search ||
child.name child.name
.toLowerCase() .toLowerCase()
.includes(search.toLowerCase()) .includes(search.toLowerCase())
).length ).length
}})</template></span> }})</template></span>
<span <span
v-else v-else
class="body-2 font-weight-medium" class="body-2 font-weight-medium"
@ -210,25 +211,26 @@
v-if="item.type === 'tableDir'" v-if="item.type === 'tableDir'"
class="body-2 font-weight-medium" class="body-2 font-weight-medium"
> >
{{ $t("objects.tables") {{
$t("objects.tables")
}}<template }}<template
v-if="item.children && item.children.length" v-if="item.children && item.children.length"
> >
({{ ({{
item.children.filter( item.children.filter(
(child) => (child) =>
!search || !search ||
child.name child.name
.toLowerCase() .toLowerCase()
.includes(search.toLowerCase()) .includes(search.toLowerCase())
).length ).length
}})</template></span> }})</template></span>
<span v-else class="caption font-weight-regular"> <span v-else class="caption font-weight-regular">
{{ item.name }}</span> {{ item.name }}</span>
</template> </template>
</v-list-item-title> </v-list-item-title>
<v-spacer /> <v-spacer/>
<v-tooltip bottom> <v-tooltip bottom>
<template #activator="{ on }"> <template #activator="{ on }">
@ -251,8 +253,8 @@
class="caption" class="caption"
>Add new >Add new
<span class="text-capitalize">{{ <span class="text-capitalize">{{
item.type.slice(0, -3) item.type.slice(0, -3)
}}</span></span> }}</span></span>
</v-tooltip> </v-tooltip>
</template> </template>
@ -340,13 +342,13 @@
</span> </span>
</template> </template>
<span class="caption">{{ <span class="caption">{{
child.creator_tooltip child.creator_tooltip
}}</span> }}</span>
</v-tooltip> </v-tooltip>
<span v-else class="caption">{{ child.name }}</span> <span v-else class="caption">{{ child.name }}</span>
</v-list-item-title> </v-list-item-title>
<template v-if="child.type === 'table'"> <template v-if="child.type === 'table'">
<v-spacer /> <v-spacer/>
<div class="action d-flex" @click.stop> <div class="action d-flex" @click.stop>
<v-menu> <v-menu>
<template #activator="{ on }"> <template #activator="{ on }">
@ -481,7 +483,7 @@
/> />
</div> </div>
<div class="pr-3 advance-menu d-none" :class="{ 'pl-3': !mini }"> <div class="pr-3 advance-menu d-none" :class="{ 'pl-3': !mini }">
<v-divider v-if="_isUIAllowed('treeViewProjectSettings')" /> <v-divider v-if="_isUIAllowed('treeViewProjectSettings')"/>
<v-list <v-list
v-if="_isUIAllowed('treeViewProjectSettings')" v-if="_isUIAllowed('treeViewProjectSettings')"
@ -492,8 +494,8 @@
<v-list-item-title> <v-list-item-title>
<!-- Settings --> <!-- Settings -->
<span class="body-2 font-weight-medium">{{ <span class="body-2 font-weight-medium">{{
$t("activity.settings") $t("activity.settings")
}}</span> }}</span>
<v-tooltip top> <v-tooltip top>
<template #activator="{ on }"> <template #activator="{ on }">
<x-icon <x-icon
@ -532,8 +534,8 @@
<!-- App Store --> <!-- App Store -->
<v-list-item-title> <v-list-item-title>
<span class="font-weight-regular caption">{{ <span class="font-weight-regular caption">{{
$t("title.appStore") $t("title.appStore")
}}</span> }}</span>
</v-list-item-title> </v-list-item-title>
</v-list-item> </v-list-item>
</template> </template>
@ -558,8 +560,8 @@
<!-- Team & Auth --> <!-- Team & Auth -->
<v-list-item-title> <v-list-item-title>
<span class="font-weight-regular caption">{{ <span class="font-weight-regular caption">{{
$t("title.teamAndAuth") $t("title.teamAndAuth")
}}</span> }}</span>
</v-list-item-title> </v-list-item-title>
</v-list-item> </v-list-item>
</template> </template>
@ -583,8 +585,8 @@
<!-- Project Metadata --> <!-- Project Metadata -->
<v-list-item-title> <v-list-item-title>
<span class="font-weight-regular caption">{{ <span class="font-weight-regular caption">{{
$t("title.projMeta") $t("title.projMeta")
}}</span> }}</span>
</v-list-item-title> </v-list-item-title>
</v-list-item> </v-list-item>
</template> </template>
@ -609,8 +611,8 @@
<!-- Project Metadata --> <!-- Project Metadata -->
<v-list-item-title> <v-list-item-title>
<span class="font-weight-regular caption">{{ <span class="font-weight-regular caption">{{
$t("title.audit") $t("title.audit")
}}</span> }}</span>
</v-list-item-title> </v-list-item-title>
</v-list-item> </v-list-item>
</template> </template>
@ -619,14 +621,14 @@
</v-tooltip> </v-tooltip>
</template> </template>
</v-list> </v-list>
<v-divider /> <v-divider/>
<v-list v-if="_isUIAllowed('previewAs') || previewAs" dense> <v-list v-if="_isUIAllowed('previewAs') || previewAs" dense>
<v-list-item> <v-list-item>
<!-- Preview as --> <!-- Preview as -->
<span class="body-2 font-weight-medium">{{ <span class="body-2 font-weight-medium">{{
$t("activity.previewAs") $t("activity.previewAs")
}}</span> }}</span>
<v-icon small class="ml-1"> <v-icon small class="ml-1">
mdi-drama-masks mdi-drama-masks
</v-icon> </v-icon>
@ -668,18 +670,31 @@
</v-icon> </v-icon>
<!-- Reset Preview --> <!-- Reset Preview -->
<span class="caption nc-preview-reset">{{ <span class="caption nc-preview-reset">{{
$t("activity.resetReview") $t("activity.resetReview")
}}</span> }}</span>
</v-list-item> </v-list-item>
</template> </template>
</v-list> </v-list>
</v-list> </v-list>
</div> </div>
<template v-if="_isUIAllowed('settings')">
<v-divider />
<div class="pt-3 pl-5 pr-3 d-flex align-center pb-2">
<v-divider/>
<div
v-t="['e:api-docs']"
class="caption pointer nc-docs pb-2 pl-5 pr-3 pt-2 d-flex align-center"
@click="openLink(apiLink)"
>
<v-icon small class="mr-2">
mdi-api
</v-icon>
{{ $t('title.apiDocs') }}
</div>
<template v-if="_isUIAllowed('settings')">
<div class="pl-5 pr-3 d-flex align-center pb-2">
<settings-modal> <settings-modal>
<template #default="{ click }"> <template #default="{ click }">
<div <div
@ -697,18 +712,9 @@
</div> </div>
</template> </template>
<div
v-t="['e:api-docs']" <!-- <v-divider/>-->
class="caption pointer nc-docs pb-3 pl-5 pr-3 pt-2 d-flex align-center" <!-- <extras class="pl-1"/>-->
@click="openLink(apiLink)"
>
<v-icon small class="mr-2">
mdi-api
</v-icon>
{{ $t('title.apiDocs') }}
</div>
<v-divider />
<extras class="pl-1" />
</div> </div>
</v-navigation-drawer> </v-navigation-drawer>
@ -776,7 +782,7 @@
<script> <script>
/* eslint-disable */ /* eslint-disable */
import { mapMutations, mapGetters, mapActions } from "vuex"; import {mapMutations, mapGetters, mapActions} from "vuex";
import rightClickOptions from "../helpers/rightClickOptions"; import rightClickOptions from "../helpers/rightClickOptions";
import rightClickOptionsSub from "../helpers/rightClickOptionsSub"; import rightClickOptionsSub from "../helpers/rightClickOptionsSub";
@ -784,11 +790,11 @@ import icons from "../helpers/treeViewIcons";
import textDlgSubmitCancel from "./utils/dlgTextSubmitCancel"; import textDlgSubmitCancel from "./utils/dlgTextSubmitCancel";
import dlgLabelSubmitCancel from "./utils/dlgLabelSubmitCancel"; import dlgLabelSubmitCancel from "./utils/dlgLabelSubmitCancel";
import { copyTextToClipboard } from "../helpers/xutils"; import {copyTextToClipboard} from "../helpers/xutils";
import DlgTableCreate from "@/components/utils/dlgTableCreate"; import DlgTableCreate from "@/components/utils/dlgTableCreate";
import DlgViewCreate from "@/components/utils/dlgViewCreate"; import DlgViewCreate from "@/components/utils/dlgViewCreate";
import SponsorMini from "@/components/sponsorMini"; import SponsorMini from "@/components/sponsorMini";
import { validateTableName } from "~/helpers"; import {validateTableName} from "~/helpers";
import ExcelImport from "~/components/import/excelImport"; import ExcelImport from "~/components/import/excelImport";
import draggable from "vuedraggable"; import draggable from "vuedraggable";
@ -831,9 +837,9 @@ export default {
commenter: "mdi-comment-account-outline", commenter: "mdi-comment-account-outline",
}, },
rolesList: [ rolesList: [
{ title: "editor" }, {title: "editor"},
{ title: "commenter" }, {title: "commenter"},
{ title: "viewer" }, {title: "viewer"},
], ],
showSqlClient: false, showSqlClient: false,
nestedMenu: {}, nestedMenu: {},
@ -862,7 +868,7 @@ export default {
x: 0, x: 0,
y: 0, y: 0,
menuItem: null, menuItem: null,
menu: [{ title: "Execute" }], menu: [{title: "Execute"}],
icons, icons,
tree: [], tree: [],
active: [], active: [],
@ -906,8 +912,8 @@ export default {
}, },
}), }),
computed: { computed: {
apiLink(){ apiLink() {
return new URL(`/api/v1/db/meta/projects/${this.projectId}/swagger`, this.$store.state.project.projectInfo && this.$store.state.project.projectInfo.ncSiteUrl) return new URL(`/api/v1/db/meta/projects/${this.projectId}/swagger`, this.$store.state.project.projectInfo && this.$store.state.project.projectInfo.ncSiteUrl)
}, },
previewAs: { previewAs: {
get() { get() {
@ -989,7 +995,7 @@ export default {
"order", "order",
(children[event.moved.newIndex - 1].order + (children[event.moved.newIndex - 1].order +
children[event.moved.newIndex + 1].order) / children[event.moved.newIndex + 1].order) /
2 2
); );
} }
@ -1051,7 +1057,7 @@ export default {
name: "App Store", name: "App Store",
key: `appStore`, key: `appStore`,
}; };
item._nodes = { env: "_noco" }; item._nodes = {env: "_noco"};
item._nodes.type = "appStore"; item._nodes.type = "appStore";
this.$store.dispatch("tabs/ActAddTab", item); this.$store.dispatch("tabs/ActAddTab", item);
} }
@ -1092,7 +1098,7 @@ export default {
name: `${this.$t("title.teamAndAuth")} `, name: `${this.$t("title.teamAndAuth")} `,
key: `roles`, key: `roles`,
}; };
item._nodes = { env: "_noco" }; item._nodes = {env: "_noco"};
item._nodes.type = "roles"; item._nodes.type = "roles";
this.$store.dispatch("tabs/ActAddTab", item); this.$store.dispatch("tabs/ActAddTab", item);
} }
@ -1108,7 +1114,7 @@ export default {
name: `${this.$t("title.metaMgmt")}`, name: `${this.$t("title.metaMgmt")}`,
key: `disableOrEnableModel`, key: `disableOrEnableModel`,
}; };
item._nodes = { env: "_noco" }; item._nodes = {env: "_noco"};
item._nodes.type = "disableOrEnableModel"; item._nodes.type = "disableOrEnableModel";
this.$store.dispatch("tabs/ActAddTab", item); this.$store.dispatch("tabs/ActAddTab", item);
} }
@ -1151,8 +1157,8 @@ export default {
const el = this.$refs.drawer.$el; const el = this.$refs.drawer.$el;
this.navigation.width = this.navigation.width =
this.$refs.drawer.width = this.$refs.drawer.width =
el.style.width = el.style.width =
"50px"; "50px";
this.miniExpanded = false; this.miniExpanded = false;
} }
}, },
@ -1305,15 +1311,15 @@ export default {
if ("toast" in this.$route.query) { if ("toast" in this.$route.query) {
this.$toast this.$toast
.success( .success(
`Successfully generated ${( `Successfully generated ${(
this.$store.getters["project/GtrProjectType"] || "" this.$store.getters["project/GtrProjectType"] || ""
).toUpperCase()} APIs`, ).toUpperCase()} APIs`,
{ {
position: "top-center", position: "top-center",
} }
) )
.goAway(5000); .goAway(5000);
} }
try { try {
@ -1332,12 +1338,12 @@ export default {
(n) => n.type === `${this.$route.query.type}Dir` (n) => n.type === `${this.$route.query.type}Dir`
); );
await this.addTab( await this.addTab(
{ ...(node || this.listViewArr[0]) }, {...(node || this.listViewArr[0])},
false, false,
true true
); );
} else { } else {
await this.addTab({ ...this.listViewArr[0] }, false, true); await this.addTab({...this.listViewArr[0]}, false, true);
} }
} }
} catch (error) { } catch (error) {
@ -1515,7 +1521,7 @@ export default {
dbAlias: item._nodes.dbAlias, dbAlias: item._nodes.dbAlias,
}, },
func, func,
{ tn: item.name }, {tn: item.name},
]); ]);
if (result && result.data) { if (result && result.data) {
copyTextToClipboard(result.data, "selection"); copyTextToClipboard(result.data, "selection");
@ -1523,7 +1529,7 @@ export default {
copyTextToClipboard("Example String", "selection"); copyTextToClipboard("Example String", "selection");
} }
let sqlClientNode = { ...item._nodes }; let sqlClientNode = {...item._nodes};
let newItem = { let newItem = {
_nodes: sqlClientNode, _nodes: sqlClientNode,
}; };
@ -1559,8 +1565,8 @@ export default {
}); });
} catch (e) { } catch (e) {
this.$toast this.$toast
.error(await this._extractSdkResponseErrorMsg(e)) .error(await this._extractSdkResponseErrorMsg(e))
.goAway(3000); .goAway(3000);
return; return;
} }
await this.removeTabsByName(item); await this.removeTabsByName(item);
@ -1833,7 +1839,7 @@ export default {
dbAlias: item._nodes.dbAlias, dbAlias: item._nodes.dbAlias,
}, },
"viewRead", "viewRead",
{ view_name: item._nodes.view_name }, {view_name: item._nodes.view_name},
]); ]);
await this.$store.dispatch("sqlMgr/ActSqlOpPlus", [ await this.$store.dispatch("sqlMgr/ActSqlOpPlus", [
@ -1942,7 +1948,8 @@ export default {
this.loadDefaultTabs(true); this.loadDefaultTabs(true);
// this.loadRoles(); // this.loadRoles();
}, },
beforeCreate() {}, beforeCreate() {
},
mounted() { mounted() {
// this.setBorderWidth(); // this.setBorderWidth();
// this.setEvents(); // this.setEvents();
@ -2021,9 +2028,9 @@ export default {
} }
/deep/ /deep/
.v-list-group .v-list-group
.v-list-group__header .v-list-group__header
.v-list-item__icon.v-list-group__header__append-icon { .v-list-item__icon.v-list-group__header__append-icon {
min-width: auto; min-width: auto;
} }
@ -2045,16 +2052,16 @@ export default {
} }
/deep/ /deep/
.nc-table-list-filter.theme--light.v-text-field .nc-table-list-filter.theme--light.v-text-field
> .v-input__control > .v-input__control
> .v-input__slot:before { > .v-input__slot:before {
border-top-color: rgba(0, 0, 0, 0.12) !important; border-top-color: rgba(0, 0, 0, 0.12) !important;
} }
/deep/ /deep/
.nc-table-list-filter.theme--dark.v-text-field .nc-table-list-filter.theme--dark.v-text-field
> .v-input__control > .v-input__control
> .v-input__slot:before { > .v-input__slot:before {
border-top-color: rgba(255, 255, 255, 0.12) !important; border-top-color: rgba(255, 255, 255, 0.12) !important;
} }

12
packages/nc-gui/components/project/spreadsheet/components/extras.vue

@ -31,20 +31,20 @@
dense dense
> >
<v-list-item> <v-list-item>
<div class="d-flex justify-space-between d-100 pr-2"> <div class="justify-space-between d-100 pr-2">
<v-icon v-t="['e:community:discord']" class="mr-1" size="22" :color="textColors[0]" @click="open('https://discord.gg/5RgZmkW')"> <v-icon v-t="['e:community:discord']" size="22" :color="textColors[0]" @click="open('https://discord.gg/5RgZmkW')">
mdi-discord mdi-discord
</v-icon> </v-icon>
<v-icon v-t="['e:community:discourse']" class="mr-1 discourse" size="22" :color="textColors[0]" @click="open('https://community.nocodb.com/')"> <v-icon v-t="['e:community:discourse']" class=" discourse" size="22" :color="textColors[0]" @click="open('https://community.nocodb.com/')">
mdi-discourse mdi-discourse
</v-icon> </v-icon>
<v-icon v-t="['e:community:reddit']" class="mr-1" size="22" color="#ff4600" @click="open('https://www.reddit.com/r/NocoDB/')"> <v-icon v-t="['e:community:reddit']" size="22" color="#ff4600" @click="open('https://www.reddit.com/r/NocoDB/')">
mdi-reddit mdi-reddit
</v-icon> </v-icon>
<v-icon v-t="['e:community:twitter']" class="mr-1" size="22" :color="textColors[1]" @click="open('https://twitter.com/NocoDB')"> <v-icon v-t="['e:community:twitter']" size="22" :color="textColors[1]" @click="open('https://twitter.com/NocoDB')">
mdi-twitter mdi-twitter
</v-icon> </v-icon>
<v-icon v-t="['e:community:book-demo']" class="mr-1" size="22" :color="textColors[3]" @click="open('https://calendly.com/nocodb-meeting')"> <v-icon v-t="['e:community:book-demo']" size="22" :color="textColors[3]" @click="open('https://calendly.com/nocodb-meeting')">
mdi-calendar-month mdi-calendar-month
</v-icon> </v-icon>
</div> </div>

5
packages/nc-gui/components/project/spreadsheet/components/spreadsheetNavDrawer.vue

@ -270,7 +270,10 @@
</v-icon> </v-icon>
<!-- <extras />--> <!-- <extras />-->
<sponsor-mini nav /> <v-divider/>
<extras class="pl-1"/>
<!-- <sponsor-mini nav />-->
</div> </div>
<!--<div class="text-center"> <!--<div class="text-center">
<v-hover > <v-hover >

Loading…
Cancel
Save