Merge branch 'master' into typing/stores-grid-columns
This commit is contained in:
commit
5969c828cd
|
@ -12,6 +12,7 @@
|
|||
export let name
|
||||
export let config
|
||||
export let showModal = () => {}
|
||||
export let placeholder
|
||||
|
||||
const selectComponent = type => {
|
||||
if (type === "object") {
|
||||
|
@ -40,6 +41,7 @@
|
|||
{name}
|
||||
{config}
|
||||
{showModal}
|
||||
{placeholder}
|
||||
on:blur
|
||||
on:change
|
||||
/>
|
||||
|
|
|
@ -5,11 +5,12 @@
|
|||
export let name
|
||||
export let value
|
||||
export let error
|
||||
export let placeholder
|
||||
</script>
|
||||
|
||||
<div class="form-row">
|
||||
<Label>{name}</Label>
|
||||
<TextArea on:blur on:change {type} {value} {error} />
|
||||
<TextArea on:blur on:change {type} {value} {error} {placeholder} />
|
||||
</div>
|
||||
|
||||
<style>
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
export let value
|
||||
export let error
|
||||
export let config
|
||||
export let placeholder
|
||||
</script>
|
||||
|
||||
<div class="form-row">
|
||||
|
@ -17,6 +18,7 @@
|
|||
{type}
|
||||
value={value || undefined}
|
||||
{error}
|
||||
{placeholder}
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
export let name
|
||||
export let value
|
||||
export let error
|
||||
export let placeholder
|
||||
export let showModal = () => {}
|
||||
|
||||
async function handleUpgradePanel() {
|
||||
|
@ -22,6 +23,7 @@
|
|||
type={type === "port" ? "string" : type}
|
||||
{value}
|
||||
{error}
|
||||
{placeholder}
|
||||
variables={$environment.variables}
|
||||
environmentVariablesEnabled={$licensing.environmentVariablesEnabled}
|
||||
{showModal}
|
||||
|
|
|
@ -85,7 +85,7 @@
|
|||
/>
|
||||
{/if}
|
||||
|
||||
{#each $configStore.validatedConfig as { type, key, value, error, name, hidden, config }}
|
||||
{#each $configStore.validatedConfig as { type, key, value, error, name, hidden, config, placeholder }}
|
||||
{#if hidden === undefined || !eval(processStringSync(hidden, $configStore.config))}
|
||||
<ConfigInput
|
||||
{type}
|
||||
|
@ -93,6 +93,7 @@
|
|||
{error}
|
||||
{name}
|
||||
{config}
|
||||
{placeholder}
|
||||
showModal={() =>
|
||||
showModal(newValue => configStore.updateFieldValue(key, newValue))}
|
||||
on:blur={() => configStore.markFieldActive(key)}
|
||||
|
|
|
@ -114,6 +114,7 @@ export const createValidatedConfigStore = (integration, config) => {
|
|||
value: getValue(),
|
||||
error: $errorsStore[key],
|
||||
name: capitalise(properties.display || key),
|
||||
placeholder: properties.placeholder,
|
||||
type: properties.type,
|
||||
hidden: properties.hidden,
|
||||
config: properties.config,
|
||||
|
|
|
@ -141,9 +141,6 @@ export class TableStore extends DerivedBudiStore<
|
|||
}
|
||||
|
||||
async delete(table: { _id: string; _rev: string }) {
|
||||
if (!table?._id) {
|
||||
return
|
||||
}
|
||||
await API.deleteTable(table._id, table._rev)
|
||||
this.replaceTable(table._id, null)
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ interface BuilderViewV2Store {
|
|||
|
||||
interface DerivedViewV2Store extends BuilderViewV2Store {
|
||||
list: ViewV2[]
|
||||
selected: ViewV2
|
||||
selected?: ViewV2
|
||||
}
|
||||
|
||||
export class ViewV2Store extends DerivedBudiStore<
|
||||
|
@ -20,20 +20,23 @@ export class ViewV2Store extends DerivedBudiStore<
|
|||
> {
|
||||
constructor() {
|
||||
const makeDerivedStore = (store: Writable<BuilderViewV2Store>) => {
|
||||
return derived([store, tables], ([$store, $tables]) => {
|
||||
let list: ViewV2[] = []
|
||||
$tables.list?.forEach(table => {
|
||||
const views = Object.values(table?.views || {}).filter(
|
||||
helpers.views.isV2
|
||||
)
|
||||
list = list.concat(views)
|
||||
})
|
||||
return {
|
||||
...$store,
|
||||
list,
|
||||
selected: list.find(view => view.id === $store.selectedViewId),
|
||||
return derived(
|
||||
[store, tables],
|
||||
([$store, $tables]): DerivedViewV2Store => {
|
||||
let list: ViewV2[] = []
|
||||
$tables.list?.forEach(table => {
|
||||
const views = Object.values(table?.views || {}).filter(
|
||||
helpers.views.isV2
|
||||
)
|
||||
list = list.concat(views)
|
||||
})
|
||||
return {
|
||||
...$store,
|
||||
list,
|
||||
selected: list.find(view => view.id === $store.selectedViewId),
|
||||
}
|
||||
}
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
super(
|
||||
|
|
|
@ -12,6 +12,7 @@ interface FirebaseConfig {
|
|||
email: string
|
||||
privateKey: string
|
||||
projectId: string
|
||||
databaseId?: string
|
||||
}
|
||||
|
||||
const SCHEMA: Integration = {
|
||||
|
@ -30,12 +31,21 @@ const SCHEMA: Integration = {
|
|||
},
|
||||
privateKey: {
|
||||
type: DatasourceFieldType.STRING,
|
||||
display: "Private Key",
|
||||
required: true,
|
||||
},
|
||||
projectId: {
|
||||
type: DatasourceFieldType.STRING,
|
||||
display: "Project ID",
|
||||
required: true,
|
||||
},
|
||||
databaseId: {
|
||||
type: DatasourceFieldType.STRING,
|
||||
display: "Database ID",
|
||||
required: false,
|
||||
default: "(default)",
|
||||
placeholder: "(default)",
|
||||
},
|
||||
},
|
||||
query: {
|
||||
create: {
|
||||
|
@ -97,6 +107,7 @@ class FirebaseIntegration implements IntegrationBase {
|
|||
this.config = config
|
||||
this.client = new Firestore({
|
||||
projectId: config.projectId,
|
||||
databaseId: config.databaseId || "(default)",
|
||||
credentials: {
|
||||
client_email: config.email,
|
||||
private_key: config.privateKey?.replace(/\\n/g, "\n"),
|
||||
|
|
|
@ -324,7 +324,9 @@ export async function update(
|
|||
return pickApi(tableId).update(tableId, view)
|
||||
}
|
||||
|
||||
export const isV2 = helpers.views.isV2
|
||||
export function isV2(view: View | ViewV2) {
|
||||
return helpers.views.isV2(view)
|
||||
}
|
||||
|
||||
export async function remove(viewId: string): Promise<ViewV2> {
|
||||
const { tableId } = utils.extractViewInfoFromID(viewId)
|
||||
|
|
|
@ -119,6 +119,7 @@ interface DatasourceBasicFieldConfig {
|
|||
default?: any
|
||||
deprecated?: boolean
|
||||
hidden?: string
|
||||
placeholder?: string
|
||||
}
|
||||
|
||||
interface DatasourceSelectFieldConfig extends DatasourceBasicFieldConfig {
|
||||
|
|
Loading…
Reference in New Issue