Browse Source

fix(nocodb): make the displayValue visible when calendar create

pull/7611/head
DarkPhoenix2704 7 months ago
parent
commit
90580ec1bf
  1. 2
      packages/nc-gui/components/smartsheet/calendar/SideMenu.vue
  2. 3
      packages/nc-gui/components/smartsheet/calendar/index.vue
  3. 373
      packages/nocodb/src/models/View.ts

2
packages/nc-gui/components/smartsheet/calendar/SideMenu.vue

@ -145,7 +145,7 @@ const sideBarListScrollHandle = useDebounceFn(async (e: Event) => {
</div>
<div
v-if="displayField && calendarRange && calendarRange.length"
v-if="displayField && calendarRange"
:ref="sideBarListRef"
:class="{
'h-[calc(100vh-40rem)]': activeCalendarView === ('day' as const) || activeCalendarView === ('week' as const),

3
packages/nc-gui/components/smartsheet/calendar/index.vue

@ -92,6 +92,9 @@ const expandRecord = (row: RowType, isNew = false) => {
onMounted(async () => {
await loadCalendarMeta()
await loadCalendarData()
if (!activeCalendarView.value) {
activeCalendarView.value = 'month'
}
})
reloadViewMetaHook?.on(async () => {

373
packages/nocodb/src/models/View.ts

@ -86,70 +86,6 @@ export default class View implements ViewType {
Object.assign(this, data);
}
async getModel(ncMeta = Noco.ncMeta): Promise<Model> {
return (this.model = await Model.getByIdOrName(
{ id: this.fk_model_id },
ncMeta,
));
}
async getModelWithInfo(ncMeta = Noco.ncMeta): Promise<Model> {
return (this.model = await Model.getWithInfo(
{ id: this.fk_model_id },
ncMeta,
));
}
async getView<T>(): Promise<T> {
switch (this.type) {
case ViewTypes.GRID:
this.view = await GridView.get(this.id);
break;
case ViewTypes.KANBAN:
this.view = await KanbanView.get(this.id);
break;
case ViewTypes.GALLERY:
this.view = await GalleryView.get(this.id);
break;
case ViewTypes.MAP:
this.view = await MapView.get(this.id);
break;
case ViewTypes.FORM:
this.view = await FormView.get(this.id);
break;
case ViewTypes.CALENDAR:
this.view = await CalendarView.get(this.id);
break;
}
return <T>this.view;
}
async getViewWithInfo(
ncMeta = Noco.ncMeta,
): Promise<FormView | GridView | KanbanView | GalleryView> {
switch (this.type) {
case ViewTypes.GRID:
this.view = await GridView.getWithInfo(this.id, ncMeta);
break;
case ViewTypes.KANBAN:
this.view = await KanbanView.get(this.id, ncMeta);
break;
case ViewTypes.GALLERY:
this.view = await GalleryView.get(this.id, ncMeta);
break;
case ViewTypes.MAP:
this.view = await MapView.get(this.id, ncMeta);
break;
case ViewTypes.FORM:
this.view = await FormView.get(this.id, ncMeta);
break;
case ViewTypes.CALENDAR:
this.view = await CalendarView.get(this.id, ncMeta);
break;
}
return this.view;
}
public static async get(viewId: string, ncMeta = Noco.ncMeta) {
let view =
viewId &&
@ -273,19 +209,6 @@ export default class View implements ViewType {
return viewsList?.map((v) => new View(v));
}
public async getFilters(ncMeta = Noco.ncMeta) {
return (this.filter = (await Filter.getFilterObject(
{
viewId: this.id,
},
ncMeta,
)) as any);
}
public async getSorts(ncMeta = Noco.ncMeta) {
return (this.sorts = await Sort.list({ viewId: this.id }, ncMeta));
}
static async insert(
view: Partial<View> &
Partial<
@ -398,7 +321,7 @@ export default class View implements ViewType {
ncMeta,
);
break;
case ViewTypes.CALENDAR:
case ViewTypes.CALENDAR: {
const obj = extractProps(view, ['calendar_range']);
if (!obj.calendar_range) break;
const calendarRange = obj.calendar_range as Partial<CalendarRange>[];
@ -416,6 +339,7 @@ export default class View implements ViewType {
);
await CalendarRange.bulkInsert(calendarRange, ncMeta);
}
}
if (copyFromView) {
@ -788,10 +712,6 @@ export default class View implements ViewType {
return columns;
}
async getColumns(ncMeta = Noco.ncMeta) {
return (this.columns = await View.getColumns(this.id, ncMeta));
}
static async getViewColumnId(
{
viewId,
@ -1270,106 +1190,6 @@ export default class View implements ViewType {
);
}
private static extractViewColumnsTableName(view: View) {
let table;
switch (view.type) {
case ViewTypes.GRID:
table = MetaTable.GRID_VIEW_COLUMNS;
break;
case ViewTypes.GALLERY:
table = MetaTable.GALLERY_VIEW_COLUMNS;
break;
case ViewTypes.KANBAN:
table = MetaTable.KANBAN_VIEW_COLUMNS;
break;
case ViewTypes.FORM:
table = MetaTable.FORM_VIEW_COLUMNS;
break;
case ViewTypes.MAP:
table = MetaTable.MAP_VIEW_COLUMNS;
break;
case ViewTypes.CALENDAR:
table = MetaTable.CALENDAR_VIEW_COLUMNS;
break;
}
return table;
}
private static extractViewTableName(view: View) {
let table;
switch (view.type) {
case ViewTypes.GRID:
table = MetaTable.GRID_VIEW;
break;
case ViewTypes.GALLERY:
table = MetaTable.GALLERY_VIEW;
break;
case ViewTypes.KANBAN:
table = MetaTable.KANBAN_VIEW;
break;
case ViewTypes.FORM:
table = MetaTable.FORM_VIEW;
break;
case ViewTypes.MAP:
table = MetaTable.MAP_VIEW;
break;
case ViewTypes.CALENDAR:
table = MetaTable.CALENDAR_VIEW;
break;
}
return table;
}
private static extractViewColumnsTableNameScope(view: View) {
let scope;
switch (view.type) {
case ViewTypes.GRID:
scope = CacheScope.GRID_VIEW_COLUMN;
break;
case ViewTypes.GALLERY:
scope = CacheScope.GALLERY_VIEW_COLUMN;
break;
case ViewTypes.MAP:
scope = CacheScope.MAP_VIEW_COLUMN;
break;
case ViewTypes.KANBAN:
scope = CacheScope.KANBAN_VIEW_COLUMN;
break;
case ViewTypes.FORM:
scope = CacheScope.FORM_VIEW_COLUMN;
break;
case ViewTypes.CALENDAR:
scope = CacheScope.CALENDAR_VIEW_COLUMN;
break;
}
return scope;
}
private static extractViewTableNameScope(view: View) {
let scope;
switch (view.type) {
case ViewTypes.GRID:
scope = CacheScope.GRID_VIEW;
break;
case ViewTypes.GALLERY:
scope = CacheScope.GALLERY_VIEW;
break;
case ViewTypes.MAP:
scope = CacheScope.MAP_VIEW;
break;
case ViewTypes.KANBAN:
scope = CacheScope.KANBAN_VIEW;
break;
case ViewTypes.FORM:
scope = CacheScope.FORM_VIEW;
break;
case ViewTypes.CALENDAR:
scope = CacheScope.CALENDAR_VIEW;
break;
}
return scope;
}
static async showAllColumns(
viewId,
ignoreColdIds = [],
@ -1521,10 +1341,6 @@ export default class View implements ViewType {
);
}
async delete(ncMeta = Noco.ncMeta) {
await View.delete(this.id, ncMeta);
}
static async shareViewList(tableId, ncMeta = Noco.ncMeta) {
const cachedList = await NocoCache.getList(CacheScope.VIEW, [tableId]);
let { list: sharedViews } = cachedList;
@ -1683,6 +1499,191 @@ export default class View implements ViewType {
await NocoCache.del(deleteKeys);
}
private static extractViewColumnsTableName(view: View) {
let table;
switch (view.type) {
case ViewTypes.GRID:
table = MetaTable.GRID_VIEW_COLUMNS;
break;
case ViewTypes.GALLERY:
table = MetaTable.GALLERY_VIEW_COLUMNS;
break;
case ViewTypes.KANBAN:
table = MetaTable.KANBAN_VIEW_COLUMNS;
break;
case ViewTypes.FORM:
table = MetaTable.FORM_VIEW_COLUMNS;
break;
case ViewTypes.MAP:
table = MetaTable.MAP_VIEW_COLUMNS;
break;
case ViewTypes.CALENDAR:
table = MetaTable.CALENDAR_VIEW_COLUMNS;
break;
}
return table;
}
private static extractViewTableName(view: View) {
let table;
switch (view.type) {
case ViewTypes.GRID:
table = MetaTable.GRID_VIEW;
break;
case ViewTypes.GALLERY:
table = MetaTable.GALLERY_VIEW;
break;
case ViewTypes.KANBAN:
table = MetaTable.KANBAN_VIEW;
break;
case ViewTypes.FORM:
table = MetaTable.FORM_VIEW;
break;
case ViewTypes.MAP:
table = MetaTable.MAP_VIEW;
break;
case ViewTypes.CALENDAR:
table = MetaTable.CALENDAR_VIEW;
break;
}
return table;
}
private static extractViewColumnsTableNameScope(view: View) {
let scope;
switch (view.type) {
case ViewTypes.GRID:
scope = CacheScope.GRID_VIEW_COLUMN;
break;
case ViewTypes.GALLERY:
scope = CacheScope.GALLERY_VIEW_COLUMN;
break;
case ViewTypes.MAP:
scope = CacheScope.MAP_VIEW_COLUMN;
break;
case ViewTypes.KANBAN:
scope = CacheScope.KANBAN_VIEW_COLUMN;
break;
case ViewTypes.FORM:
scope = CacheScope.FORM_VIEW_COLUMN;
break;
case ViewTypes.CALENDAR:
scope = CacheScope.CALENDAR_VIEW_COLUMN;
break;
}
return scope;
}
private static extractViewTableNameScope(view: View) {
let scope;
switch (view.type) {
case ViewTypes.GRID:
scope = CacheScope.GRID_VIEW;
break;
case ViewTypes.GALLERY:
scope = CacheScope.GALLERY_VIEW;
break;
case ViewTypes.MAP:
scope = CacheScope.MAP_VIEW;
break;
case ViewTypes.KANBAN:
scope = CacheScope.KANBAN_VIEW;
break;
case ViewTypes.FORM:
scope = CacheScope.FORM_VIEW;
break;
case ViewTypes.CALENDAR:
scope = CacheScope.CALENDAR_VIEW;
break;
}
return scope;
}
async getModel(ncMeta = Noco.ncMeta): Promise<Model> {
return (this.model = await Model.getByIdOrName(
{ id: this.fk_model_id },
ncMeta,
));
}
async getModelWithInfo(ncMeta = Noco.ncMeta): Promise<Model> {
return (this.model = await Model.getWithInfo(
{ id: this.fk_model_id },
ncMeta,
));
}
async getView<T>(): Promise<T> {
switch (this.type) {
case ViewTypes.GRID:
this.view = await GridView.get(this.id);
break;
case ViewTypes.KANBAN:
this.view = await KanbanView.get(this.id);
break;
case ViewTypes.GALLERY:
this.view = await GalleryView.get(this.id);
break;
case ViewTypes.MAP:
this.view = await MapView.get(this.id);
break;
case ViewTypes.FORM:
this.view = await FormView.get(this.id);
break;
case ViewTypes.CALENDAR:
this.view = await CalendarView.get(this.id);
break;
}
return <T>this.view;
}
async getViewWithInfo(
ncMeta = Noco.ncMeta,
): Promise<FormView | GridView | KanbanView | GalleryView> {
switch (this.type) {
case ViewTypes.GRID:
this.view = await GridView.getWithInfo(this.id, ncMeta);
break;
case ViewTypes.KANBAN:
this.view = await KanbanView.get(this.id, ncMeta);
break;
case ViewTypes.GALLERY:
this.view = await GalleryView.get(this.id, ncMeta);
break;
case ViewTypes.MAP:
this.view = await MapView.get(this.id, ncMeta);
break;
case ViewTypes.FORM:
this.view = await FormView.get(this.id, ncMeta);
break;
case ViewTypes.CALENDAR:
this.view = await CalendarView.get(this.id, ncMeta);
break;
}
return this.view;
}
public async getFilters(ncMeta = Noco.ncMeta) {
return (this.filter = (await Filter.getFilterObject(
{
viewId: this.id,
},
ncMeta,
)) as any);
}
public async getSorts(ncMeta = Noco.ncMeta) {
return (this.sorts = await Sort.list({ viewId: this.id }, ncMeta));
}
async getColumns(ncMeta = Noco.ncMeta) {
return (this.columns = await View.getColumns(this.id, ncMeta));
}
async delete(ncMeta = Noco.ncMeta) {
await View.delete(this.id, ncMeta);
}
static async bulkColumnInsertToViews(
{
columns,

Loading…
Cancel
Save