多维表格
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

509 lines
12 KiB

import { ExtensionsEvents } from '#imports'
const extensionsState = createGlobalState(() => {
const baseExtensions = ref<Record<string, any>>({})
feat: infinite scroll (#9403) * feat: infinite scroll wip * feat: implement column create * feat: improve scroll performance and minor bugs * fix: optimize cache clear fix: preserver selected items from cache clear * feat: add keyboard support * fix: get rid of unwanted data * feat: infinite scroll * fix: reload visible data * fix: rowIndex Sync * fix: row height fix * fix: performance issues * fix: small issues * fix: stablize scrolling * fix: scroll fails to load new data * fix: best part is no part remove bunch of manual handling and move to computedProperty * fix: load data as chunks instead of offset * fix: deboucne 500 ms * feat: safe chunk clearing * feat: working infinite table(wip) * fix: handle delete selected range of rows * fix: update types * fix: nuxt warnings * fix: table fixes * feat: undo-redo support for infiniteTable * fix: fix addEmptyRow * fix: groupby fixes * fix: refactor visibleDtaa computed * fix: cache clear * fix: invalid offset error * fix: add empty row elem * fix: rows not loading at end * fix: refactor * fix: more tests passing * fix: perf optimizations * fix: couple tests * fix: row height tests * fix: row height tests * fix: row height tests * fix: sync row comment count * fix: fixes * fix: lot of tests * fix: update the row placeholder columns size calculation * fix: update the totalRows on loadData * fix: tests when count is 0 * fix: hide placeholder if rowHeight is small * fix: not required imo as infinite scroll is implemented * fix: links tests * fix: filter tests * fix: insert after test fix: Row: Create, Update, Delete fix: Row height fix: Create column tests * fix: error, timezone bug fix: shared view data not loading after 100 * fix: ignore shifting. this fixes errors in rows, which has some mandatory required cells * fix: keyboardShortcuts test * fix: project collaboration test * fix: increase local cache fix: records empty on switching to full screen mode fix: links issue on new records * fix: row and col margin for improved data rendering * fix: addEmptyRow to table bottom * fix: update gridShare test fix: shared view grid feat: new count endpoint public * fix: undo-redo test failing * fix: bulkUpdate chore: disabled bulkUpdate tests for now * fix: slow searchBtn * fix: limit max selection * fix: limit selection to 100 * fix: initial chunk load to 100 * fix: couple fixes * fix: couple fixes * fix: row expand * fix: scrollto Top and scrollTo Bottom on Shift Cmd Down/Up * fix: drop support for cmd A * fix: failing tests * fix: error on clicking resize col * fix: premature fetching * fix: deleteSelected not working properly * fix: test build * fix: test build * fix: throttled 500 * fix: scroll related issues fix: added transitions * fix: scroll related issues * fix: decrease col margin * fix: increase local cache and update Buffer * fix: decrease throttle * fix: improve scroll performance * fix: improve scroll performance * fix: improve scroll performance * fix: fixes * feat: beta toggle show * feat: beta toggle show * fix: hold scroll action * fix: sync visible data reloadVisibleDataHook * fix: refactor useBetaFeatureToggle fix: useMultiSelect in table * fix: dynamically reduce margin while loading records * fix: some bugs * fix: data loading in infinitescroll * fix: shared view and search issues * feat: betaToggles menu * fix: scroll showing up in aggregation * fix: text * fix: implement shifting in addEmptyRow * fix: calculate slices on rowHeight modified * fix: keep invalid cells until another row selected * fix: remove row if filter gets failed * fix: update styles * fix: move filter handling to nocodb-sdk * fix: user field filter * fix: sort order * fix:user field sorting * fix: update virtual cols * fix: updated sort handling * fix: updated sort handling * fix: updated sort handling for bulkUpdate and undo-redo * fix: unit tests * fix: deleteSelectedRecords fails * fix: chunkstates errors * fix: sort bugs * fix: scroll position * fix: delete selectedrange of records * fix: improved chunk management * fix: sync toggle states across tabs * fix: sync between tabs * fix: limit issues * fix: update issues * fix: zIndex * fix: minor fixes * fix: cmd arrow issue * fix: bulkdelete index issues * fix: empty rows at top * fix: queue add new record behaviour * fix: resolve rowObj addEmptyRow * fix: typo * fix: clear indexes * fix: reload if width is zero * fix: manual handling * fix: remove console * fix: prefetch when scroll from below * fix: refactor fixes * fix:undo-redo with sort --------- Co-authored-by: mertmit <mertmit99@gmail.com>
3 weeks ago
return { baseExtensions }
})
Nc Fix: Update extension UI as per new design (#9306) * fix(nc-gui): show extension as floating * chore(nc-gui): add puzzle icon * fix(nc-gui): toolbar searchbox auto close issue on clearing input value * fix(nc-gui): update extension header * fix(nc-gui): update extension panel as per new design * fix(nc-gui): update extension icons * fix(nc-gui): mionr extension panel corrections * feat(nc-gui): extension reorder support * fix(nc-gui): extension reorder issue * fix(nc-gui): extension min height issue * fix(nc-gui): extension error screen * fix(nc-gui): extension fullscreen padding * fix(nc-gui): update extension marketplace modal * fix(nc-gui): update extension details modal * fix(nc-gui): some changes * fix(nc-gui): some review changes * fix(nc-gui): some review changes * fix(nc-gui): update extension header * fix(nc-gui): update extension title input box * fix(nc-gui): enable extension is cloud * fix(nc-gui): add extension subtitle support * feat(nc-gui): allow user to add extension description in markdown file * fix(nc-gui): add cmdk topbar btn in all screens * fix(nc-gui): meta.glob() as option deprecated warning * fix(nc-gui): minor changes * fix(nc-gui): make cmdk icon smaller * fix(nc-gui): monor review changes * misc: alignment & text for desc * fix(nc-gui): extension review changes * fix(nc-gui): extension topbar btn ui updates * fix(nc-gui): update extension header icon size * fix(nc-gui): use description md file instead of plain text in manifest * fix(nc-gui): update extension modal size * fix(nc-gui): cmdk test update * chore(nc-gui): lint * fix(nc-gui): minor changes * fix(nc-gui): update extension details panel gap * fix: minor alignments --------- Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com>
3 months ago
export interface ExtensionManifest {
id: string
title: string
Nc Fix: Update extension UI as per new design (#9306) * fix(nc-gui): show extension as floating * chore(nc-gui): add puzzle icon * fix(nc-gui): toolbar searchbox auto close issue on clearing input value * fix(nc-gui): update extension header * fix(nc-gui): update extension panel as per new design * fix(nc-gui): update extension icons * fix(nc-gui): mionr extension panel corrections * feat(nc-gui): extension reorder support * fix(nc-gui): extension reorder issue * fix(nc-gui): extension min height issue * fix(nc-gui): extension error screen * fix(nc-gui): extension fullscreen padding * fix(nc-gui): update extension marketplace modal * fix(nc-gui): update extension details modal * fix(nc-gui): some changes * fix(nc-gui): some review changes * fix(nc-gui): some review changes * fix(nc-gui): update extension header * fix(nc-gui): update extension title input box * fix(nc-gui): enable extension is cloud * fix(nc-gui): add extension subtitle support * feat(nc-gui): allow user to add extension description in markdown file * fix(nc-gui): add cmdk topbar btn in all screens * fix(nc-gui): meta.glob() as option deprecated warning * fix(nc-gui): minor changes * fix(nc-gui): make cmdk icon smaller * fix(nc-gui): monor review changes * misc: alignment & text for desc * fix(nc-gui): extension review changes * fix(nc-gui): extension topbar btn ui updates * fix(nc-gui): update extension header icon size * fix(nc-gui): use description md file instead of plain text in manifest * fix(nc-gui): update extension modal size * fix(nc-gui): cmdk test update * chore(nc-gui): lint * fix(nc-gui): minor changes * fix(nc-gui): update extension details panel gap * fix: minor alignments --------- Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com>
3 months ago
subTitle: string
description: string
entry: string
version: string
iconUrl: string
publisher: {
name: string
email: string
url: string
icon?: {
src: string
width?: number
height?: number
}
}
disabled?: boolean
links: {
title: string
href: string
}[]
config: {
modalSize?: 'xs' | 'sm' | 'md' | 'lg'
Nc Fix: Update extension UI as per new design (#9306) * fix(nc-gui): show extension as floating * chore(nc-gui): add puzzle icon * fix(nc-gui): toolbar searchbox auto close issue on clearing input value * fix(nc-gui): update extension header * fix(nc-gui): update extension panel as per new design * fix(nc-gui): update extension icons * fix(nc-gui): mionr extension panel corrections * feat(nc-gui): extension reorder support * fix(nc-gui): extension reorder issue * fix(nc-gui): extension min height issue * fix(nc-gui): extension error screen * fix(nc-gui): extension fullscreen padding * fix(nc-gui): update extension marketplace modal * fix(nc-gui): update extension details modal * fix(nc-gui): some changes * fix(nc-gui): some review changes * fix(nc-gui): some review changes * fix(nc-gui): update extension header * fix(nc-gui): update extension title input box * fix(nc-gui): enable extension is cloud * fix(nc-gui): add extension subtitle support * feat(nc-gui): allow user to add extension description in markdown file * fix(nc-gui): add cmdk topbar btn in all screens * fix(nc-gui): meta.glob() as option deprecated warning * fix(nc-gui): minor changes * fix(nc-gui): make cmdk icon smaller * fix(nc-gui): monor review changes * misc: alignment & text for desc * fix(nc-gui): extension review changes * fix(nc-gui): extension topbar btn ui updates * fix(nc-gui): update extension header icon size * fix(nc-gui): use description md file instead of plain text in manifest * fix(nc-gui): update extension modal size * fix(nc-gui): cmdk test update * chore(nc-gui): lint * fix(nc-gui): minor changes * fix(nc-gui): update extension details panel gap * fix: minor alignments --------- Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com>
3 months ago
contentMinHeight?: string
}
}
abstract class ExtensionType {
abstract id: string
abstract uiKey: number
abstract baseId: string
abstract fkUserId: string
abstract extensionId: string
abstract title: string
abstract kvStore: any
abstract meta: any
Nc Fix: Update extension UI as per new design (#9306) * fix(nc-gui): show extension as floating * chore(nc-gui): add puzzle icon * fix(nc-gui): toolbar searchbox auto close issue on clearing input value * fix(nc-gui): update extension header * fix(nc-gui): update extension panel as per new design * fix(nc-gui): update extension icons * fix(nc-gui): mionr extension panel corrections * feat(nc-gui): extension reorder support * fix(nc-gui): extension reorder issue * fix(nc-gui): extension min height issue * fix(nc-gui): extension error screen * fix(nc-gui): extension fullscreen padding * fix(nc-gui): update extension marketplace modal * fix(nc-gui): update extension details modal * fix(nc-gui): some changes * fix(nc-gui): some review changes * fix(nc-gui): some review changes * fix(nc-gui): update extension header * fix(nc-gui): update extension title input box * fix(nc-gui): enable extension is cloud * fix(nc-gui): add extension subtitle support * feat(nc-gui): allow user to add extension description in markdown file * fix(nc-gui): add cmdk topbar btn in all screens * fix(nc-gui): meta.glob() as option deprecated warning * fix(nc-gui): minor changes * fix(nc-gui): make cmdk icon smaller * fix(nc-gui): monor review changes * misc: alignment & text for desc * fix(nc-gui): extension review changes * fix(nc-gui): extension topbar btn ui updates * fix(nc-gui): update extension header icon size * fix(nc-gui): use description md file instead of plain text in manifest * fix(nc-gui): update extension modal size * fix(nc-gui): cmdk test update * chore(nc-gui): lint * fix(nc-gui): minor changes * fix(nc-gui): update extension details panel gap * fix: minor alignments --------- Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com>
3 months ago
abstract order: number
abstract setTitle(title: string): Promise<any>
abstract setMeta(key: string, value: any): Promise<any>
abstract clear(): Promise<any>
abstract delete(): Promise<any>
abstract serialize(): any
abstract deserialize(data: any): void
}
export { ExtensionType }
export const useExtensions = createSharedComposable(() => {
feat: infinite scroll (#9403) * feat: infinite scroll wip * feat: implement column create * feat: improve scroll performance and minor bugs * fix: optimize cache clear fix: preserver selected items from cache clear * feat: add keyboard support * fix: get rid of unwanted data * feat: infinite scroll * fix: reload visible data * fix: rowIndex Sync * fix: row height fix * fix: performance issues * fix: small issues * fix: stablize scrolling * fix: scroll fails to load new data * fix: best part is no part remove bunch of manual handling and move to computedProperty * fix: load data as chunks instead of offset * fix: deboucne 500 ms * feat: safe chunk clearing * feat: working infinite table(wip) * fix: handle delete selected range of rows * fix: update types * fix: nuxt warnings * fix: table fixes * feat: undo-redo support for infiniteTable * fix: fix addEmptyRow * fix: groupby fixes * fix: refactor visibleDtaa computed * fix: cache clear * fix: invalid offset error * fix: add empty row elem * fix: rows not loading at end * fix: refactor * fix: more tests passing * fix: perf optimizations * fix: couple tests * fix: row height tests * fix: row height tests * fix: row height tests * fix: sync row comment count * fix: fixes * fix: lot of tests * fix: update the row placeholder columns size calculation * fix: update the totalRows on loadData * fix: tests when count is 0 * fix: hide placeholder if rowHeight is small * fix: not required imo as infinite scroll is implemented * fix: links tests * fix: filter tests * fix: insert after test fix: Row: Create, Update, Delete fix: Row height fix: Create column tests * fix: error, timezone bug fix: shared view data not loading after 100 * fix: ignore shifting. this fixes errors in rows, which has some mandatory required cells * fix: keyboardShortcuts test * fix: project collaboration test * fix: increase local cache fix: records empty on switching to full screen mode fix: links issue on new records * fix: row and col margin for improved data rendering * fix: addEmptyRow to table bottom * fix: update gridShare test fix: shared view grid feat: new count endpoint public * fix: undo-redo test failing * fix: bulkUpdate chore: disabled bulkUpdate tests for now * fix: slow searchBtn * fix: limit max selection * fix: limit selection to 100 * fix: initial chunk load to 100 * fix: couple fixes * fix: couple fixes * fix: row expand * fix: scrollto Top and scrollTo Bottom on Shift Cmd Down/Up * fix: drop support for cmd A * fix: failing tests * fix: error on clicking resize col * fix: premature fetching * fix: deleteSelected not working properly * fix: test build * fix: test build * fix: throttled 500 * fix: scroll related issues fix: added transitions * fix: scroll related issues * fix: decrease col margin * fix: increase local cache and update Buffer * fix: decrease throttle * fix: improve scroll performance * fix: improve scroll performance * fix: improve scroll performance * fix: fixes * feat: beta toggle show * feat: beta toggle show * fix: hold scroll action * fix: sync visible data reloadVisibleDataHook * fix: refactor useBetaFeatureToggle fix: useMultiSelect in table * fix: dynamically reduce margin while loading records * fix: some bugs * fix: data loading in infinitescroll * fix: shared view and search issues * feat: betaToggles menu * fix: scroll showing up in aggregation * fix: text * fix: implement shifting in addEmptyRow * fix: calculate slices on rowHeight modified * fix: keep invalid cells until another row selected * fix: remove row if filter gets failed * fix: update styles * fix: move filter handling to nocodb-sdk * fix: user field filter * fix: sort order * fix:user field sorting * fix: update virtual cols * fix: updated sort handling * fix: updated sort handling * fix: updated sort handling for bulkUpdate and undo-redo * fix: unit tests * fix: deleteSelectedRecords fails * fix: chunkstates errors * fix: sort bugs * fix: scroll position * fix: delete selectedrange of records * fix: improved chunk management * fix: sync toggle states across tabs * fix: sync between tabs * fix: limit issues * fix: update issues * fix: zIndex * fix: minor fixes * fix: cmd arrow issue * fix: bulkdelete index issues * fix: empty rows at top * fix: queue add new record behaviour * fix: resolve rowObj addEmptyRow * fix: typo * fix: clear indexes * fix: reload if width is zero * fix: manual handling * fix: remove console * fix: prefetch when scroll from below * fix: refactor fixes * fix:undo-redo with sort --------- Co-authored-by: mertmit <mertmit99@gmail.com>
3 weeks ago
const { baseExtensions } = extensionsState()
const { $api } = useNuxtApp()
const { base } = storeToRefs(useBase())
const eventBus = useEventBus<ExtensionsEvents>(Symbol('useExtensions'))
const extensionsLoaded = ref(false)
const availableExtensions = ref<ExtensionManifest[]>([])
const availableExtensionIds = computed(() => {
return availableExtensions.value.map((e) => e.id)
})
Nc Fix: Update extension UI as per new design (#9306) * fix(nc-gui): show extension as floating * chore(nc-gui): add puzzle icon * fix(nc-gui): toolbar searchbox auto close issue on clearing input value * fix(nc-gui): update extension header * fix(nc-gui): update extension panel as per new design * fix(nc-gui): update extension icons * fix(nc-gui): mionr extension panel corrections * feat(nc-gui): extension reorder support * fix(nc-gui): extension reorder issue * fix(nc-gui): extension min height issue * fix(nc-gui): extension error screen * fix(nc-gui): extension fullscreen padding * fix(nc-gui): update extension marketplace modal * fix(nc-gui): update extension details modal * fix(nc-gui): some changes * fix(nc-gui): some review changes * fix(nc-gui): some review changes * fix(nc-gui): update extension header * fix(nc-gui): update extension title input box * fix(nc-gui): enable extension is cloud * fix(nc-gui): add extension subtitle support * feat(nc-gui): allow user to add extension description in markdown file * fix(nc-gui): add cmdk topbar btn in all screens * fix(nc-gui): meta.glob() as option deprecated warning * fix(nc-gui): minor changes * fix(nc-gui): make cmdk icon smaller * fix(nc-gui): monor review changes * misc: alignment & text for desc * fix(nc-gui): extension review changes * fix(nc-gui): extension topbar btn ui updates * fix(nc-gui): update extension header icon size * fix(nc-gui): use description md file instead of plain text in manifest * fix(nc-gui): update extension modal size * fix(nc-gui): cmdk test update * chore(nc-gui): lint * fix(nc-gui): minor changes * fix(nc-gui): update extension details panel gap * fix: minor alignments --------- Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com>
3 months ago
// Object to store description content for each extension
const descriptionContent = ref<Record<string, string>>({})
const extensionPanelSize = ref(40)
const activeBaseExtensions = computed(() => {
if (!base.value || !base.value.id) {
return null
}
return baseExtensions.value[base.value.id]
})
const isPanelExpanded = computed(() => {
return activeBaseExtensions.value ? activeBaseExtensions.value.expanded : false
})
const extensionList = computed<ExtensionType[]>(() => {
return (activeBaseExtensions.value ? activeBaseExtensions.value.extensions : [])
.filter((e: ExtensionType) => availableExtensionIds.value.includes(e.extensionId))
.sort((a: ExtensionType, b: ExtensionType) => {
Nc Fix: Update extension UI as per new design (#9306) * fix(nc-gui): show extension as floating * chore(nc-gui): add puzzle icon * fix(nc-gui): toolbar searchbox auto close issue on clearing input value * fix(nc-gui): update extension header * fix(nc-gui): update extension panel as per new design * fix(nc-gui): update extension icons * fix(nc-gui): mionr extension panel corrections * feat(nc-gui): extension reorder support * fix(nc-gui): extension reorder issue * fix(nc-gui): extension min height issue * fix(nc-gui): extension error screen * fix(nc-gui): extension fullscreen padding * fix(nc-gui): update extension marketplace modal * fix(nc-gui): update extension details modal * fix(nc-gui): some changes * fix(nc-gui): some review changes * fix(nc-gui): some review changes * fix(nc-gui): update extension header * fix(nc-gui): update extension title input box * fix(nc-gui): enable extension is cloud * fix(nc-gui): add extension subtitle support * feat(nc-gui): allow user to add extension description in markdown file * fix(nc-gui): add cmdk topbar btn in all screens * fix(nc-gui): meta.glob() as option deprecated warning * fix(nc-gui): minor changes * fix(nc-gui): make cmdk icon smaller * fix(nc-gui): monor review changes * misc: alignment & text for desc * fix(nc-gui): extension review changes * fix(nc-gui): extension topbar btn ui updates * fix(nc-gui): update extension header icon size * fix(nc-gui): use description md file instead of plain text in manifest * fix(nc-gui): update extension modal size * fix(nc-gui): cmdk test update * chore(nc-gui): lint * fix(nc-gui): minor changes * fix(nc-gui): update extension details panel gap * fix: minor alignments --------- Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com>
3 months ago
return (a?.order ?? Infinity) - (b?.order ?? Infinity)
})
})
const toggleExtensionPanel = () => {
if (activeBaseExtensions.value) {
activeBaseExtensions.value.expanded = !activeBaseExtensions.value.expanded
}
}
const addExtension = async (extension: any) => {
if (!base.value || !base.value.id || !baseExtensions.value[base.value.id]) {
return
}
const extensionReq = {
base_id: base.value.id,
title: extension.title,
extension_id: extension.id,
meta: {
collapsed: false,
},
}
const newExtension = await $api.extensions.create(base.value.id, extensionReq)
if (newExtension) {
baseExtensions.value[base.value.id].extensions.push(new Extension(newExtension))
nextTick(() => {
eventBus.emit(ExtensionsEvents.ADD, newExtension?.id)
})
}
return newExtension
}
const updateExtension = async (extensionId: string, extension: any) => {
if (!base.value || !base.value.id || !baseExtensions.value[base.value.id]) {
return
}
const updatedExtension = await $api.extensions.update(extensionId, extension)
if (updatedExtension) {
const extension = baseExtensions.value[base.value.id].extensions.find((ext: any) => ext.id === extensionId)
if (extension) {
extension.deserialize(updatedExtension)
}
}
return updatedExtension
}
const updateExtensionMeta = async (extensionId: string, key: string, value: any) => {
const extension = extensionList.value.find((ext: any) => ext.id === extensionId)
if (!extension) {
return
}
return updateExtension(extensionId, {
meta: {
...extension.meta,
[key]: value,
},
})
}
const deleteExtension = async (extensionId: string) => {
if (!base.value || !base.value.id || !baseExtensions.value[base.value.id]) {
return
}
await $api.extensions.delete(extensionId)
baseExtensions.value[base.value.id].extensions = baseExtensions.value[base.value.id].extensions.filter(
(ext: any) => ext.id !== extensionId,
)
}
const duplicateExtension = async (extensionId: string) => {
if (!base.value || !base.value.id || !baseExtensions.value[base.value.id]) {
return
}
const extension = extensionList.value.find((ext: any) => ext.id === extensionId)
if (!extension) {
return
}
Nc Fix: Update extension UI as per new design (#9306) * fix(nc-gui): show extension as floating * chore(nc-gui): add puzzle icon * fix(nc-gui): toolbar searchbox auto close issue on clearing input value * fix(nc-gui): update extension header * fix(nc-gui): update extension panel as per new design * fix(nc-gui): update extension icons * fix(nc-gui): mionr extension panel corrections * feat(nc-gui): extension reorder support * fix(nc-gui): extension reorder issue * fix(nc-gui): extension min height issue * fix(nc-gui): extension error screen * fix(nc-gui): extension fullscreen padding * fix(nc-gui): update extension marketplace modal * fix(nc-gui): update extension details modal * fix(nc-gui): some changes * fix(nc-gui): some review changes * fix(nc-gui): some review changes * fix(nc-gui): update extension header * fix(nc-gui): update extension title input box * fix(nc-gui): enable extension is cloud * fix(nc-gui): add extension subtitle support * feat(nc-gui): allow user to add extension description in markdown file * fix(nc-gui): add cmdk topbar btn in all screens * fix(nc-gui): meta.glob() as option deprecated warning * fix(nc-gui): minor changes * fix(nc-gui): make cmdk icon smaller * fix(nc-gui): monor review changes * misc: alignment & text for desc * fix(nc-gui): extension review changes * fix(nc-gui): extension topbar btn ui updates * fix(nc-gui): update extension header icon size * fix(nc-gui): use description md file instead of plain text in manifest * fix(nc-gui): update extension modal size * fix(nc-gui): cmdk test update * chore(nc-gui): lint * fix(nc-gui): minor changes * fix(nc-gui): update extension details panel gap * fix: minor alignments --------- Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com>
3 months ago
const { id: _id, order: _order, ...extensionData } = extension.serialize()
const newExtension = await $api.extensions.create(base.value.id, {
...extensionData,
title: `${extension.title} (Copy)`,
})
if (newExtension) {
baseExtensions.value[base.value.id].extensions.push(new Extension(newExtension))
}
return newExtension
}
const clearKvStore = async (extensionId: string) => {
const extension = extensionList.value.find((ext: any) => ext.id === extensionId)
if (!extension) {
return
}
let defaultKvStore = {}
switch (extension.extensionId) {
case 'nc-data-exporter': {
defaultKvStore = {
...defaultKvStore,
deletedExports: extension.kvStore.get('deletedExports') || [],
}
}
}
return updateExtension(extensionId, {
kv_store: {
...defaultKvStore,
},
})
}
const loadExtensionsForBase = async (baseId: string) => {
if (!baseId) {
return
}
try {
const { list } = await $api.extensions.list(baseId)
const extensions = list?.map((ext: any) => new Extension(ext))
if (baseExtensions.value[baseId]) {
baseExtensions.value[baseId].extensions = extensions || baseExtensions.value[baseId].extensions
} else {
baseExtensions.value[baseId] = {
extensions: extensions || [],
expanded: false,
}
}
} catch (e) {
console.log(e)
}
}
Nc Fix: Update extension UI as per new design (#9306) * fix(nc-gui): show extension as floating * chore(nc-gui): add puzzle icon * fix(nc-gui): toolbar searchbox auto close issue on clearing input value * fix(nc-gui): update extension header * fix(nc-gui): update extension panel as per new design * fix(nc-gui): update extension icons * fix(nc-gui): mionr extension panel corrections * feat(nc-gui): extension reorder support * fix(nc-gui): extension reorder issue * fix(nc-gui): extension min height issue * fix(nc-gui): extension error screen * fix(nc-gui): extension fullscreen padding * fix(nc-gui): update extension marketplace modal * fix(nc-gui): update extension details modal * fix(nc-gui): some changes * fix(nc-gui): some review changes * fix(nc-gui): some review changes * fix(nc-gui): update extension header * fix(nc-gui): update extension title input box * fix(nc-gui): enable extension is cloud * fix(nc-gui): add extension subtitle support * feat(nc-gui): allow user to add extension description in markdown file * fix(nc-gui): add cmdk topbar btn in all screens * fix(nc-gui): meta.glob() as option deprecated warning * fix(nc-gui): minor changes * fix(nc-gui): make cmdk icon smaller * fix(nc-gui): monor review changes * misc: alignment & text for desc * fix(nc-gui): extension review changes * fix(nc-gui): extension topbar btn ui updates * fix(nc-gui): update extension header icon size * fix(nc-gui): use description md file instead of plain text in manifest * fix(nc-gui): update extension modal size * fix(nc-gui): cmdk test update * chore(nc-gui): lint * fix(nc-gui): minor changes * fix(nc-gui): update extension details panel gap * fix: minor alignments --------- Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com>
3 months ago
const getExtensionAssetsUrl = (pathOrUrl: string) => {
if (pathOrUrl.startsWith('http')) {
return pathOrUrl
} else {
return new URL(`../extensions/${pathOrUrl}`, import.meta.url).href
}
}
class KvStore {
private _id: string
private data: Record<string, any>
constructor(id: string, data: any) {
this._id = id
this.data = data || {}
}
get(key: string) {
return this.data[key] || null
}
set(key: string, value: any) {
this.data[key] = value
return updateExtension(this._id, { kv_store: this.data })
}
delete(key: string) {
delete this.data[key]
return updateExtension(this._id, { kv_store: this.data })
}
serialize() {
return this.data
}
}
class Extension implements ExtensionType {
private _id: string
private _baseId: string
private _fkUserId: string
private _extensionId: string
private _title: string
private _kvStore: KvStore
private _meta: any
Nc Fix: Update extension UI as per new design (#9306) * fix(nc-gui): show extension as floating * chore(nc-gui): add puzzle icon * fix(nc-gui): toolbar searchbox auto close issue on clearing input value * fix(nc-gui): update extension header * fix(nc-gui): update extension panel as per new design * fix(nc-gui): update extension icons * fix(nc-gui): mionr extension panel corrections * feat(nc-gui): extension reorder support * fix(nc-gui): extension reorder issue * fix(nc-gui): extension min height issue * fix(nc-gui): extension error screen * fix(nc-gui): extension fullscreen padding * fix(nc-gui): update extension marketplace modal * fix(nc-gui): update extension details modal * fix(nc-gui): some changes * fix(nc-gui): some review changes * fix(nc-gui): some review changes * fix(nc-gui): update extension header * fix(nc-gui): update extension title input box * fix(nc-gui): enable extension is cloud * fix(nc-gui): add extension subtitle support * feat(nc-gui): allow user to add extension description in markdown file * fix(nc-gui): add cmdk topbar btn in all screens * fix(nc-gui): meta.glob() as option deprecated warning * fix(nc-gui): minor changes * fix(nc-gui): make cmdk icon smaller * fix(nc-gui): monor review changes * misc: alignment & text for desc * fix(nc-gui): extension review changes * fix(nc-gui): extension topbar btn ui updates * fix(nc-gui): update extension header icon size * fix(nc-gui): use description md file instead of plain text in manifest * fix(nc-gui): update extension modal size * fix(nc-gui): cmdk test update * chore(nc-gui): lint * fix(nc-gui): minor changes * fix(nc-gui): update extension details panel gap * fix: minor alignments --------- Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com>
3 months ago
private _order: number
public uiKey = 0
constructor(data: any) {
this._id = data.id
this._baseId = data.base_id
this._fkUserId = data.fk_user_id
this._extensionId = data.extension_id
this._title = data.title
this._kvStore = new KvStore(this._id, data.kv_store)
this._meta = data.meta
Nc Fix: Update extension UI as per new design (#9306) * fix(nc-gui): show extension as floating * chore(nc-gui): add puzzle icon * fix(nc-gui): toolbar searchbox auto close issue on clearing input value * fix(nc-gui): update extension header * fix(nc-gui): update extension panel as per new design * fix(nc-gui): update extension icons * fix(nc-gui): mionr extension panel corrections * feat(nc-gui): extension reorder support * fix(nc-gui): extension reorder issue * fix(nc-gui): extension min height issue * fix(nc-gui): extension error screen * fix(nc-gui): extension fullscreen padding * fix(nc-gui): update extension marketplace modal * fix(nc-gui): update extension details modal * fix(nc-gui): some changes * fix(nc-gui): some review changes * fix(nc-gui): some review changes * fix(nc-gui): update extension header * fix(nc-gui): update extension title input box * fix(nc-gui): enable extension is cloud * fix(nc-gui): add extension subtitle support * feat(nc-gui): allow user to add extension description in markdown file * fix(nc-gui): add cmdk topbar btn in all screens * fix(nc-gui): meta.glob() as option deprecated warning * fix(nc-gui): minor changes * fix(nc-gui): make cmdk icon smaller * fix(nc-gui): monor review changes * misc: alignment & text for desc * fix(nc-gui): extension review changes * fix(nc-gui): extension topbar btn ui updates * fix(nc-gui): update extension header icon size * fix(nc-gui): use description md file instead of plain text in manifest * fix(nc-gui): update extension modal size * fix(nc-gui): cmdk test update * chore(nc-gui): lint * fix(nc-gui): minor changes * fix(nc-gui): update extension details panel gap * fix: minor alignments --------- Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com>
3 months ago
this._order = data.order
}
get id() {
return this._id
}
get baseId() {
return this._baseId
}
get fkUserId() {
return this._fkUserId
}
get extensionId() {
return this._extensionId
}
get title() {
return this._title
}
get kvStore() {
return this._kvStore
}
get meta() {
return this._meta
}
Nc Fix: Update extension UI as per new design (#9306) * fix(nc-gui): show extension as floating * chore(nc-gui): add puzzle icon * fix(nc-gui): toolbar searchbox auto close issue on clearing input value * fix(nc-gui): update extension header * fix(nc-gui): update extension panel as per new design * fix(nc-gui): update extension icons * fix(nc-gui): mionr extension panel corrections * feat(nc-gui): extension reorder support * fix(nc-gui): extension reorder issue * fix(nc-gui): extension min height issue * fix(nc-gui): extension error screen * fix(nc-gui): extension fullscreen padding * fix(nc-gui): update extension marketplace modal * fix(nc-gui): update extension details modal * fix(nc-gui): some changes * fix(nc-gui): some review changes * fix(nc-gui): some review changes * fix(nc-gui): update extension header * fix(nc-gui): update extension title input box * fix(nc-gui): enable extension is cloud * fix(nc-gui): add extension subtitle support * feat(nc-gui): allow user to add extension description in markdown file * fix(nc-gui): add cmdk topbar btn in all screens * fix(nc-gui): meta.glob() as option deprecated warning * fix(nc-gui): minor changes * fix(nc-gui): make cmdk icon smaller * fix(nc-gui): monor review changes * misc: alignment & text for desc * fix(nc-gui): extension review changes * fix(nc-gui): extension topbar btn ui updates * fix(nc-gui): update extension header icon size * fix(nc-gui): use description md file instead of plain text in manifest * fix(nc-gui): update extension modal size * fix(nc-gui): cmdk test update * chore(nc-gui): lint * fix(nc-gui): minor changes * fix(nc-gui): update extension details panel gap * fix: minor alignments --------- Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com>
3 months ago
get order() {
return this._order
}
serialize() {
return {
id: this._id,
base_id: this._baseId,
fk_user_id: this._fkUserId,
extension_id: this._extensionId,
title: this._title,
kv_store: this._kvStore.serialize(),
meta: this._meta,
Nc Fix: Update extension UI as per new design (#9306) * fix(nc-gui): show extension as floating * chore(nc-gui): add puzzle icon * fix(nc-gui): toolbar searchbox auto close issue on clearing input value * fix(nc-gui): update extension header * fix(nc-gui): update extension panel as per new design * fix(nc-gui): update extension icons * fix(nc-gui): mionr extension panel corrections * feat(nc-gui): extension reorder support * fix(nc-gui): extension reorder issue * fix(nc-gui): extension min height issue * fix(nc-gui): extension error screen * fix(nc-gui): extension fullscreen padding * fix(nc-gui): update extension marketplace modal * fix(nc-gui): update extension details modal * fix(nc-gui): some changes * fix(nc-gui): some review changes * fix(nc-gui): some review changes * fix(nc-gui): update extension header * fix(nc-gui): update extension title input box * fix(nc-gui): enable extension is cloud * fix(nc-gui): add extension subtitle support * feat(nc-gui): allow user to add extension description in markdown file * fix(nc-gui): add cmdk topbar btn in all screens * fix(nc-gui): meta.glob() as option deprecated warning * fix(nc-gui): minor changes * fix(nc-gui): make cmdk icon smaller * fix(nc-gui): monor review changes * misc: alignment & text for desc * fix(nc-gui): extension review changes * fix(nc-gui): extension topbar btn ui updates * fix(nc-gui): update extension header icon size * fix(nc-gui): use description md file instead of plain text in manifest * fix(nc-gui): update extension modal size * fix(nc-gui): cmdk test update * chore(nc-gui): lint * fix(nc-gui): minor changes * fix(nc-gui): update extension details panel gap * fix: minor alignments --------- Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com>
3 months ago
order: this._order,
}
}
deserialize(data: any) {
this._id = data.id
this._baseId = data.base_id
this._fkUserId = data.fk_user_id
this._extensionId = data.extension_id
this._title = data.title
this._kvStore = new KvStore(this._id, data.kv_store)
this._meta = data.meta
Nc Fix: Update extension UI as per new design (#9306) * fix(nc-gui): show extension as floating * chore(nc-gui): add puzzle icon * fix(nc-gui): toolbar searchbox auto close issue on clearing input value * fix(nc-gui): update extension header * fix(nc-gui): update extension panel as per new design * fix(nc-gui): update extension icons * fix(nc-gui): mionr extension panel corrections * feat(nc-gui): extension reorder support * fix(nc-gui): extension reorder issue * fix(nc-gui): extension min height issue * fix(nc-gui): extension error screen * fix(nc-gui): extension fullscreen padding * fix(nc-gui): update extension marketplace modal * fix(nc-gui): update extension details modal * fix(nc-gui): some changes * fix(nc-gui): some review changes * fix(nc-gui): some review changes * fix(nc-gui): update extension header * fix(nc-gui): update extension title input box * fix(nc-gui): enable extension is cloud * fix(nc-gui): add extension subtitle support * feat(nc-gui): allow user to add extension description in markdown file * fix(nc-gui): add cmdk topbar btn in all screens * fix(nc-gui): meta.glob() as option deprecated warning * fix(nc-gui): minor changes * fix(nc-gui): make cmdk icon smaller * fix(nc-gui): monor review changes * misc: alignment & text for desc * fix(nc-gui): extension review changes * fix(nc-gui): extension topbar btn ui updates * fix(nc-gui): update extension header icon size * fix(nc-gui): use description md file instead of plain text in manifest * fix(nc-gui): update extension modal size * fix(nc-gui): cmdk test update * chore(nc-gui): lint * fix(nc-gui): minor changes * fix(nc-gui): update extension details panel gap * fix: minor alignments --------- Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com>
3 months ago
this._order = data.order
}
setTitle(title: string): Promise<any> {
return updateExtension(this.id, { title })
}
setMeta(key: string, value: any): Promise<any> {
return updateExtensionMeta(this.id, key, value)
}
async clear(): Promise<any> {
return clearKvStore(this.id).then(() => {
this.uiKey++
nextTick(() => {
eventBus.emit(ExtensionsEvents.CLEARDATA, this.id)
})
})
}
delete(): Promise<any> {
return deleteExtension(this.id)
}
}
Nc Fix: Update extension UI as per new design (#9306) * fix(nc-gui): show extension as floating * chore(nc-gui): add puzzle icon * fix(nc-gui): toolbar searchbox auto close issue on clearing input value * fix(nc-gui): update extension header * fix(nc-gui): update extension panel as per new design * fix(nc-gui): update extension icons * fix(nc-gui): mionr extension panel corrections * feat(nc-gui): extension reorder support * fix(nc-gui): extension reorder issue * fix(nc-gui): extension min height issue * fix(nc-gui): extension error screen * fix(nc-gui): extension fullscreen padding * fix(nc-gui): update extension marketplace modal * fix(nc-gui): update extension details modal * fix(nc-gui): some changes * fix(nc-gui): some review changes * fix(nc-gui): some review changes * fix(nc-gui): update extension header * fix(nc-gui): update extension title input box * fix(nc-gui): enable extension is cloud * fix(nc-gui): add extension subtitle support * feat(nc-gui): allow user to add extension description in markdown file * fix(nc-gui): add cmdk topbar btn in all screens * fix(nc-gui): meta.glob() as option deprecated warning * fix(nc-gui): minor changes * fix(nc-gui): make cmdk icon smaller * fix(nc-gui): monor review changes * misc: alignment & text for desc * fix(nc-gui): extension review changes * fix(nc-gui): extension topbar btn ui updates * fix(nc-gui): update extension header icon size * fix(nc-gui): use description md file instead of plain text in manifest * fix(nc-gui): update extension modal size * fix(nc-gui): cmdk test update * chore(nc-gui): lint * fix(nc-gui): minor changes * fix(nc-gui): update extension details panel gap * fix: minor alignments --------- Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com>
3 months ago
// Function to load extensions
onMounted(async () => {
try {
// Load all JSON modules from the specified glob pattern
const modules = import.meta.glob('../extensions/*/*.json')
Nc Fix: Update extension UI as per new design (#9306) * fix(nc-gui): show extension as floating * chore(nc-gui): add puzzle icon * fix(nc-gui): toolbar searchbox auto close issue on clearing input value * fix(nc-gui): update extension header * fix(nc-gui): update extension panel as per new design * fix(nc-gui): update extension icons * fix(nc-gui): mionr extension panel corrections * feat(nc-gui): extension reorder support * fix(nc-gui): extension reorder issue * fix(nc-gui): extension min height issue * fix(nc-gui): extension error screen * fix(nc-gui): extension fullscreen padding * fix(nc-gui): update extension marketplace modal * fix(nc-gui): update extension details modal * fix(nc-gui): some changes * fix(nc-gui): some review changes * fix(nc-gui): some review changes * fix(nc-gui): update extension header * fix(nc-gui): update extension title input box * fix(nc-gui): enable extension is cloud * fix(nc-gui): add extension subtitle support * feat(nc-gui): allow user to add extension description in markdown file * fix(nc-gui): add cmdk topbar btn in all screens * fix(nc-gui): meta.glob() as option deprecated warning * fix(nc-gui): minor changes * fix(nc-gui): make cmdk icon smaller * fix(nc-gui): monor review changes * misc: alignment & text for desc * fix(nc-gui): extension review changes * fix(nc-gui): extension topbar btn ui updates * fix(nc-gui): update extension header icon size * fix(nc-gui): use description md file instead of plain text in manifest * fix(nc-gui): update extension modal size * fix(nc-gui): cmdk test update * chore(nc-gui): lint * fix(nc-gui): minor changes * fix(nc-gui): update extension details panel gap * fix: minor alignments --------- Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com>
3 months ago
const markdownModules = import.meta.glob('../extensions/*/*.md', {
query: '?raw',
import: 'default',
})
Nc Fix: Update extension UI as per new design (#9306) * fix(nc-gui): show extension as floating * chore(nc-gui): add puzzle icon * fix(nc-gui): toolbar searchbox auto close issue on clearing input value * fix(nc-gui): update extension header * fix(nc-gui): update extension panel as per new design * fix(nc-gui): update extension icons * fix(nc-gui): mionr extension panel corrections * feat(nc-gui): extension reorder support * fix(nc-gui): extension reorder issue * fix(nc-gui): extension min height issue * fix(nc-gui): extension error screen * fix(nc-gui): extension fullscreen padding * fix(nc-gui): update extension marketplace modal * fix(nc-gui): update extension details modal * fix(nc-gui): some changes * fix(nc-gui): some review changes * fix(nc-gui): some review changes * fix(nc-gui): update extension header * fix(nc-gui): update extension title input box * fix(nc-gui): enable extension is cloud * fix(nc-gui): add extension subtitle support * feat(nc-gui): allow user to add extension description in markdown file * fix(nc-gui): add cmdk topbar btn in all screens * fix(nc-gui): meta.glob() as option deprecated warning * fix(nc-gui): minor changes * fix(nc-gui): make cmdk icon smaller * fix(nc-gui): monor review changes * misc: alignment & text for desc * fix(nc-gui): extension review changes * fix(nc-gui): extension topbar btn ui updates * fix(nc-gui): update extension header icon size * fix(nc-gui): use description md file instead of plain text in manifest * fix(nc-gui): update extension modal size * fix(nc-gui): cmdk test update * chore(nc-gui): lint * fix(nc-gui): minor changes * fix(nc-gui): update extension details panel gap * fix: minor alignments --------- Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com>
3 months ago
const extensionCount = Object.keys(modules).length
let disabledCount = 0
// Array to hold the promises
const promises = Object.keys(modules).map(async (path) => {
try {
// Load the module
const mod = (await modules[path]()) as any
const manifest = mod.default as ExtensionManifest
if (!Array.isArray(manifest.links)) {
manifest.links = []
}
if (!manifest?.config || !manifest?.config?.modalSize) {
manifest.config = {
...(manifest.config || {}),
modalSize: 'lg',
}
}
Nc Fix: Update extension UI as per new design (#9306) * fix(nc-gui): show extension as floating * chore(nc-gui): add puzzle icon * fix(nc-gui): toolbar searchbox auto close issue on clearing input value * fix(nc-gui): update extension header * fix(nc-gui): update extension panel as per new design * fix(nc-gui): update extension icons * fix(nc-gui): mionr extension panel corrections * feat(nc-gui): extension reorder support * fix(nc-gui): extension reorder issue * fix(nc-gui): extension min height issue * fix(nc-gui): extension error screen * fix(nc-gui): extension fullscreen padding * fix(nc-gui): update extension marketplace modal * fix(nc-gui): update extension details modal * fix(nc-gui): some changes * fix(nc-gui): some review changes * fix(nc-gui): some review changes * fix(nc-gui): update extension header * fix(nc-gui): update extension title input box * fix(nc-gui): enable extension is cloud * fix(nc-gui): add extension subtitle support * feat(nc-gui): allow user to add extension description in markdown file * fix(nc-gui): add cmdk topbar btn in all screens * fix(nc-gui): meta.glob() as option deprecated warning * fix(nc-gui): minor changes * fix(nc-gui): make cmdk icon smaller * fix(nc-gui): monor review changes * misc: alignment & text for desc * fix(nc-gui): extension review changes * fix(nc-gui): extension topbar btn ui updates * fix(nc-gui): update extension header icon size * fix(nc-gui): use description md file instead of plain text in manifest * fix(nc-gui): update extension modal size * fix(nc-gui): cmdk test update * chore(nc-gui): lint * fix(nc-gui): minor changes * fix(nc-gui): update extension details panel gap * fix: minor alignments --------- Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com>
3 months ago
if (manifest?.disabled !== true) {
availableExtensions.value.push(manifest)
// Load the descriptionMarkdown if available
if (manifest.description) {
const markdownPath = `../extensions/${manifest.description}`
if (markdownModules[markdownPath] && manifest?.id) {
try {
const markdownContent = await markdownModules[markdownPath]()
descriptionContent.value[manifest.id] = `${markdownContent}`
} catch (markdownError) {
console.error(`Failed to load Markdown file at ${markdownPath}:`, markdownError)
}
}
}
} else {
disabledCount++
}
} catch (error) {
console.error(`Failed to load module at ${path}:`, error)
}
Nc Fix: Update extension UI as per new design (#9306) * fix(nc-gui): show extension as floating * chore(nc-gui): add puzzle icon * fix(nc-gui): toolbar searchbox auto close issue on clearing input value * fix(nc-gui): update extension header * fix(nc-gui): update extension panel as per new design * fix(nc-gui): update extension icons * fix(nc-gui): mionr extension panel corrections * feat(nc-gui): extension reorder support * fix(nc-gui): extension reorder issue * fix(nc-gui): extension min height issue * fix(nc-gui): extension error screen * fix(nc-gui): extension fullscreen padding * fix(nc-gui): update extension marketplace modal * fix(nc-gui): update extension details modal * fix(nc-gui): some changes * fix(nc-gui): some review changes * fix(nc-gui): some review changes * fix(nc-gui): update extension header * fix(nc-gui): update extension title input box * fix(nc-gui): enable extension is cloud * fix(nc-gui): add extension subtitle support * feat(nc-gui): allow user to add extension description in markdown file * fix(nc-gui): add cmdk topbar btn in all screens * fix(nc-gui): meta.glob() as option deprecated warning * fix(nc-gui): minor changes * fix(nc-gui): make cmdk icon smaller * fix(nc-gui): monor review changes * misc: alignment & text for desc * fix(nc-gui): extension review changes * fix(nc-gui): extension topbar btn ui updates * fix(nc-gui): update extension header icon size * fix(nc-gui): use description md file instead of plain text in manifest * fix(nc-gui): update extension modal size * fix(nc-gui): cmdk test update * chore(nc-gui): lint * fix(nc-gui): minor changes * fix(nc-gui): update extension details panel gap * fix: minor alignments --------- Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com>
3 months ago
})
Nc Fix: Update extension UI as per new design (#9306) * fix(nc-gui): show extension as floating * chore(nc-gui): add puzzle icon * fix(nc-gui): toolbar searchbox auto close issue on clearing input value * fix(nc-gui): update extension header * fix(nc-gui): update extension panel as per new design * fix(nc-gui): update extension icons * fix(nc-gui): mionr extension panel corrections * feat(nc-gui): extension reorder support * fix(nc-gui): extension reorder issue * fix(nc-gui): extension min height issue * fix(nc-gui): extension error screen * fix(nc-gui): extension fullscreen padding * fix(nc-gui): update extension marketplace modal * fix(nc-gui): update extension details modal * fix(nc-gui): some changes * fix(nc-gui): some review changes * fix(nc-gui): some review changes * fix(nc-gui): update extension header * fix(nc-gui): update extension title input box * fix(nc-gui): enable extension is cloud * fix(nc-gui): add extension subtitle support * feat(nc-gui): allow user to add extension description in markdown file * fix(nc-gui): add cmdk topbar btn in all screens * fix(nc-gui): meta.glob() as option deprecated warning * fix(nc-gui): minor changes * fix(nc-gui): make cmdk icon smaller * fix(nc-gui): monor review changes * misc: alignment & text for desc * fix(nc-gui): extension review changes * fix(nc-gui): extension topbar btn ui updates * fix(nc-gui): update extension header icon size * fix(nc-gui): use description md file instead of plain text in manifest * fix(nc-gui): update extension modal size * fix(nc-gui): cmdk test update * chore(nc-gui): lint * fix(nc-gui): minor changes * fix(nc-gui): update extension details panel gap * fix: minor alignments --------- Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com>
3 months ago
// Wait for all modules to be processed
await Promise.all(promises)
Nc Fix: Update extension UI as per new design (#9306) * fix(nc-gui): show extension as floating * chore(nc-gui): add puzzle icon * fix(nc-gui): toolbar searchbox auto close issue on clearing input value * fix(nc-gui): update extension header * fix(nc-gui): update extension panel as per new design * fix(nc-gui): update extension icons * fix(nc-gui): mionr extension panel corrections * feat(nc-gui): extension reorder support * fix(nc-gui): extension reorder issue * fix(nc-gui): extension min height issue * fix(nc-gui): extension error screen * fix(nc-gui): extension fullscreen padding * fix(nc-gui): update extension marketplace modal * fix(nc-gui): update extension details modal * fix(nc-gui): some changes * fix(nc-gui): some review changes * fix(nc-gui): some review changes * fix(nc-gui): update extension header * fix(nc-gui): update extension title input box * fix(nc-gui): enable extension is cloud * fix(nc-gui): add extension subtitle support * feat(nc-gui): allow user to add extension description in markdown file * fix(nc-gui): add cmdk topbar btn in all screens * fix(nc-gui): meta.glob() as option deprecated warning * fix(nc-gui): minor changes * fix(nc-gui): make cmdk icon smaller * fix(nc-gui): monor review changes * misc: alignment & text for desc * fix(nc-gui): extension review changes * fix(nc-gui): extension topbar btn ui updates * fix(nc-gui): update extension header icon size * fix(nc-gui): use description md file instead of plain text in manifest * fix(nc-gui): update extension modal size * fix(nc-gui): cmdk test update * chore(nc-gui): lint * fix(nc-gui): minor changes * fix(nc-gui): update extension details panel gap * fix: minor alignments --------- Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com>
3 months ago
if (availableExtensions.value.length + disabledCount === extensionCount) {
// Sort extensions
availableExtensions.value.sort((a, b) => a.title.localeCompare(b.title))
extensionsLoaded.value = true
}
} catch (error) {
console.error('Error loading extensions:', error)
}
})
watch(
() => base.value?.id,
(baseId) => {
if (baseId && !baseExtensions.value[baseId]) {
loadExtensionsForBase(baseId).catch((e) => {
console.error(e)
})
}
},
{
immediate: true,
},
)
// Extension details modal
const isDetailsVisible = ref(false)
const detailsExtensionId = ref<string>()
const detailsFrom = ref<'market' | 'extension'>('market')
const showExtensionDetails = (extensionId: string, from?: 'market' | 'extension') => {
detailsExtensionId.value = extensionId
isDetailsVisible.value = true
detailsFrom.value = from || 'market'
}
// Extension market modal
const isMarketVisible = ref(false)
return {
extensionsLoaded,
availableExtensions,
Nc Fix: Update extension UI as per new design (#9306) * fix(nc-gui): show extension as floating * chore(nc-gui): add puzzle icon * fix(nc-gui): toolbar searchbox auto close issue on clearing input value * fix(nc-gui): update extension header * fix(nc-gui): update extension panel as per new design * fix(nc-gui): update extension icons * fix(nc-gui): mionr extension panel corrections * feat(nc-gui): extension reorder support * fix(nc-gui): extension reorder issue * fix(nc-gui): extension min height issue * fix(nc-gui): extension error screen * fix(nc-gui): extension fullscreen padding * fix(nc-gui): update extension marketplace modal * fix(nc-gui): update extension details modal * fix(nc-gui): some changes * fix(nc-gui): some review changes * fix(nc-gui): some review changes * fix(nc-gui): update extension header * fix(nc-gui): update extension title input box * fix(nc-gui): enable extension is cloud * fix(nc-gui): add extension subtitle support * feat(nc-gui): allow user to add extension description in markdown file * fix(nc-gui): add cmdk topbar btn in all screens * fix(nc-gui): meta.glob() as option deprecated warning * fix(nc-gui): minor changes * fix(nc-gui): make cmdk icon smaller * fix(nc-gui): monor review changes * misc: alignment & text for desc * fix(nc-gui): extension review changes * fix(nc-gui): extension topbar btn ui updates * fix(nc-gui): update extension header icon size * fix(nc-gui): use description md file instead of plain text in manifest * fix(nc-gui): update extension modal size * fix(nc-gui): cmdk test update * chore(nc-gui): lint * fix(nc-gui): minor changes * fix(nc-gui): update extension details panel gap * fix: minor alignments --------- Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com>
3 months ago
descriptionContent,
extensionList,
isPanelExpanded,
toggleExtensionPanel,
addExtension,
duplicateExtension,
updateExtension,
updateExtensionMeta,
clearKvStore,
deleteExtension,
Nc Fix: Update extension UI as per new design (#9306) * fix(nc-gui): show extension as floating * chore(nc-gui): add puzzle icon * fix(nc-gui): toolbar searchbox auto close issue on clearing input value * fix(nc-gui): update extension header * fix(nc-gui): update extension panel as per new design * fix(nc-gui): update extension icons * fix(nc-gui): mionr extension panel corrections * feat(nc-gui): extension reorder support * fix(nc-gui): extension reorder issue * fix(nc-gui): extension min height issue * fix(nc-gui): extension error screen * fix(nc-gui): extension fullscreen padding * fix(nc-gui): update extension marketplace modal * fix(nc-gui): update extension details modal * fix(nc-gui): some changes * fix(nc-gui): some review changes * fix(nc-gui): some review changes * fix(nc-gui): update extension header * fix(nc-gui): update extension title input box * fix(nc-gui): enable extension is cloud * fix(nc-gui): add extension subtitle support * feat(nc-gui): allow user to add extension description in markdown file * fix(nc-gui): add cmdk topbar btn in all screens * fix(nc-gui): meta.glob() as option deprecated warning * fix(nc-gui): minor changes * fix(nc-gui): make cmdk icon smaller * fix(nc-gui): monor review changes * misc: alignment & text for desc * fix(nc-gui): extension review changes * fix(nc-gui): extension topbar btn ui updates * fix(nc-gui): update extension header icon size * fix(nc-gui): use description md file instead of plain text in manifest * fix(nc-gui): update extension modal size * fix(nc-gui): cmdk test update * chore(nc-gui): lint * fix(nc-gui): minor changes * fix(nc-gui): update extension details panel gap * fix: minor alignments --------- Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com>
3 months ago
getExtensionAssetsUrl,
isDetailsVisible,
detailsExtensionId,
detailsFrom,
showExtensionDetails,
isMarketVisible,
extensionPanelSize,
eventBus,
}
})