Type DND store and update store import aliases
This commit is contained in:
parent
a541603267
commit
790ca4737c
|
@ -1,10 +1,6 @@
|
||||||
import { createAPIClient } from "@budibase/frontend-core"
|
import { createAPIClient } from "@budibase/frontend-core"
|
||||||
import { authStore } from "../stores/auth"
|
import { authStore } from "../stores/auth"
|
||||||
import {
|
import { notificationStore, devToolsEnabled, devToolsStore } from "../stores"
|
||||||
notificationStore,
|
|
||||||
devToolsEnabled,
|
|
||||||
devToolsStore,
|
|
||||||
} from "../stores/index"
|
|
||||||
import { get } from "svelte/store"
|
import { get } from "svelte/store"
|
||||||
|
|
||||||
export const API = createAPIClient({
|
export const API = createAPIClient({
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
import { Constants, CookieUtils } from "@budibase/frontend-core"
|
import { Constants, CookieUtils } from "@budibase/frontend-core"
|
||||||
import { getThemeClassNames } from "@budibase/shared-core"
|
import { getThemeClassNames } from "@budibase/shared-core"
|
||||||
import Component from "./Component.svelte"
|
import Component from "./Component.svelte"
|
||||||
import SDK from "sdk"
|
import SDK from "@/sdk"
|
||||||
import {
|
import {
|
||||||
featuresStore,
|
featuresStore,
|
||||||
createContextStore,
|
createContextStore,
|
||||||
|
@ -22,26 +22,26 @@
|
||||||
environmentStore,
|
environmentStore,
|
||||||
sidePanelStore,
|
sidePanelStore,
|
||||||
modalStore,
|
modalStore,
|
||||||
} from "stores"
|
} from "@/stores"
|
||||||
import NotificationDisplay from "components/overlay/NotificationDisplay.svelte"
|
import NotificationDisplay from "./overlay/NotificationDisplay.svelte"
|
||||||
import ConfirmationDisplay from "components/overlay/ConfirmationDisplay.svelte"
|
import ConfirmationDisplay from "./overlay/ConfirmationDisplay.svelte"
|
||||||
import PeekScreenDisplay from "components/overlay/PeekScreenDisplay.svelte"
|
import PeekScreenDisplay from "./overlay/PeekScreenDisplay.svelte"
|
||||||
import UserBindingsProvider from "components/context/UserBindingsProvider.svelte"
|
import UserBindingsProvider from "./context/UserBindingsProvider.svelte"
|
||||||
import DeviceBindingsProvider from "components/context/DeviceBindingsProvider.svelte"
|
import DeviceBindingsProvider from "./context/DeviceBindingsProvider.svelte"
|
||||||
import StateBindingsProvider from "components/context/StateBindingsProvider.svelte"
|
import StateBindingsProvider from "./context/StateBindingsProvider.svelte"
|
||||||
import RowSelectionProvider from "components/context/RowSelectionProvider.svelte"
|
import RowSelectionProvider from "./context/RowSelectionProvider.svelte"
|
||||||
import QueryParamsProvider from "components/context/QueryParamsProvider.svelte"
|
import QueryParamsProvider from "./context/QueryParamsProvider.svelte"
|
||||||
import SettingsBar from "components/preview/SettingsBar.svelte"
|
import SettingsBar from "./preview/SettingsBar.svelte"
|
||||||
import SelectionIndicator from "components/preview/SelectionIndicator.svelte"
|
import SelectionIndicator from "./preview/SelectionIndicator.svelte"
|
||||||
import HoverIndicator from "components/preview/HoverIndicator.svelte"
|
import HoverIndicator from "./preview/HoverIndicator.svelte"
|
||||||
import CustomThemeWrapper from "./CustomThemeWrapper.svelte"
|
import CustomThemeWrapper from "./CustomThemeWrapper.svelte"
|
||||||
import DNDHandler from "components/preview/DNDHandler.svelte"
|
import DNDHandler from "./preview/DNDHandler.svelte"
|
||||||
import GridDNDHandler from "components/preview/GridDNDHandler.svelte"
|
import GridDNDHandler from "./preview/GridDNDHandler.svelte"
|
||||||
import KeyboardManager from "components/preview/KeyboardManager.svelte"
|
import KeyboardManager from "./preview/KeyboardManager.svelte"
|
||||||
import DevToolsHeader from "components/devtools/DevToolsHeader.svelte"
|
import DevToolsHeader from "./devtools/DevToolsHeader.svelte"
|
||||||
import DevTools from "components/devtools/DevTools.svelte"
|
import DevTools from "./devtools/DevTools.svelte"
|
||||||
import FreeFooter from "components/FreeFooter.svelte"
|
import FreeFooter from "./FreeFooter.svelte"
|
||||||
import MaintenanceScreen from "components/MaintenanceScreen.svelte"
|
import MaintenanceScreen from "./MaintenanceScreen.svelte"
|
||||||
import SnippetsProvider from "./context/SnippetsProvider.svelte"
|
import SnippetsProvider from "./context/SnippetsProvider.svelte"
|
||||||
import EmbedProvider from "./context/EmbedProvider.svelte"
|
import EmbedProvider from "./context/EmbedProvider.svelte"
|
||||||
import DNDSelectionIndicators from "./preview/DNDSelectionIndicators.svelte"
|
import DNDSelectionIndicators from "./preview/DNDSelectionIndicators.svelte"
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
appStore,
|
appStore,
|
||||||
dndComponentPath,
|
dndComponentPath,
|
||||||
dndIsDragging,
|
dndIsDragging,
|
||||||
} from "stores"
|
} from "@/stores"
|
||||||
import { Helpers } from "@budibase/bbui"
|
import { Helpers } from "@budibase/bbui"
|
||||||
import { getActiveConditions, reduceConditionActions } from "utils/conditions"
|
import { getActiveConditions, reduceConditionActions } from "utils/conditions"
|
||||||
import EmptyPlaceholder from "components/app/EmptyPlaceholder.svelte"
|
import EmptyPlaceholder from "components/app/EmptyPlaceholder.svelte"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<script>
|
<script>
|
||||||
import { themeStore } from "stores"
|
import { themeStore } from "@/stores"
|
||||||
import { setContext } from "svelte"
|
import { setContext } from "svelte"
|
||||||
import { Context } from "@budibase/bbui"
|
import { Context } from "@budibase/bbui"
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<script>
|
<script>
|
||||||
import { setContext, getContext, onMount } from "svelte"
|
import { setContext, getContext, onMount } from "svelte"
|
||||||
import Router, { querystring } from "svelte-spa-router"
|
import Router, { querystring } from "svelte-spa-router"
|
||||||
import { routeStore, stateStore } from "stores"
|
import { routeStore, stateStore } from "@/stores"
|
||||||
import Screen from "./Screen.svelte"
|
import Screen from "./Screen.svelte"
|
||||||
import { get } from "svelte/store"
|
import { get } from "svelte/store"
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<script>
|
<script>
|
||||||
import { screenStore, routeStore, builderStore } from "stores"
|
import { screenStore, routeStore, builderStore } from "@/stores"
|
||||||
import { get } from "svelte/store"
|
import { get } from "svelte/store"
|
||||||
import Component from "./Component.svelte"
|
import Component from "./Component.svelte"
|
||||||
import Provider from "./context/Provider.svelte"
|
import Provider from "./context/Provider.svelte"
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
// because it functions similarly to one
|
// because it functions similarly to one
|
||||||
import { getContext, onMount } from "svelte"
|
import { getContext, onMount } from "svelte"
|
||||||
import { get, derived, readable } from "svelte/store"
|
import { get, derived, readable } from "svelte/store"
|
||||||
import { featuresStore } from "stores"
|
import { featuresStore } from "@/stores"
|
||||||
import { Grid } from "@budibase/frontend-core"
|
import { Grid } from "@budibase/frontend-core"
|
||||||
import { processStringSync } from "@budibase/string-templates"
|
import { processStringSync } from "@budibase/string-templates"
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
import BlockComponent from "components/BlockComponent.svelte"
|
import BlockComponent from "components/BlockComponent.svelte"
|
||||||
import { Helpers } from "@budibase/bbui"
|
import { Helpers } from "@budibase/bbui"
|
||||||
import { getContext, setContext } from "svelte"
|
import { getContext, setContext } from "svelte"
|
||||||
import { builderStore } from "stores"
|
import { builderStore } from "@/stores"
|
||||||
import { Utils } from "@budibase/frontend-core"
|
import { Utils } from "@budibase/frontend-core"
|
||||||
import FormBlockWrapper from "./form/FormBlockWrapper.svelte"
|
import FormBlockWrapper from "./form/FormBlockWrapper.svelte"
|
||||||
import { get, writable } from "svelte/store"
|
import { get, writable } from "svelte/store"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<script>
|
<script>
|
||||||
import Provider from "./Provider.svelte"
|
import Provider from "./Provider.svelte"
|
||||||
import { onMount, onDestroy } from "svelte"
|
import { onMount, onDestroy } from "svelte"
|
||||||
import { themeStore } from "stores"
|
import { themeStore } from "@/stores"
|
||||||
|
|
||||||
let width = window.innerWidth
|
let width = window.innerWidth
|
||||||
let height = window.innerHeight
|
let height = window.innerHeight
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<script>
|
<script>
|
||||||
import { getContext, setContext, onDestroy } from "svelte"
|
import { getContext, setContext, onDestroy } from "svelte"
|
||||||
import { dataSourceStore, createContextStore } from "stores"
|
import { dataSourceStore, createContextStore } from "@/stores"
|
||||||
import { ActionTypes } from "constants"
|
import { ActionTypes } from "constants"
|
||||||
import { generate } from "shortid"
|
import { generate } from "shortid"
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<script>
|
<script>
|
||||||
import Provider from "./Provider.svelte"
|
import Provider from "./Provider.svelte"
|
||||||
import { routeStore } from "stores"
|
import { routeStore } from "@/stores"
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Provider key="query" data={$routeStore.queryParams}>
|
<Provider key="query" data={$routeStore.queryParams}>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<script>
|
<script>
|
||||||
import Provider from "./Provider.svelte"
|
import Provider from "./Provider.svelte"
|
||||||
import { rowSelectionStore } from "stores"
|
import { rowSelectionStore } from "@/stores"
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Provider key="rowSelection" data={$rowSelectionStore}>
|
<Provider key="rowSelection" data={$rowSelectionStore}>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<script>
|
<script>
|
||||||
import Provider from "./Provider.svelte"
|
import Provider from "./Provider.svelte"
|
||||||
import { snippets } from "stores"
|
import { snippets } from "@/stores"
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Provider key="snippets" data={$snippets}>
|
<Provider key="snippets" data={$snippets}>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<script>
|
<script>
|
||||||
import Provider from "./Provider.svelte"
|
import Provider from "./Provider.svelte"
|
||||||
import { stateStore } from "stores"
|
import { stateStore } from "@/stores"
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Provider key="state" data={$stateStore}>
|
<Provider key="state" data={$stateStore}>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<script>
|
<script>
|
||||||
import Provider from "./Provider.svelte"
|
import Provider from "./Provider.svelte"
|
||||||
import { authStore, currentRole } from "stores"
|
import { authStore, currentRole } from "@/stores"
|
||||||
import { ActionTypes } from "constants"
|
import { ActionTypes } from "constants"
|
||||||
import { Constants } from "@budibase/frontend-core"
|
import { Constants } from "@budibase/frontend-core"
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
import { Layout, Heading, Tabs, Tab, Icon } from "@budibase/bbui"
|
import { Layout, Heading, Tabs, Tab, Icon } from "@budibase/bbui"
|
||||||
import DevToolsStatsTab from "./DevToolsStatsTab.svelte"
|
import DevToolsStatsTab from "./DevToolsStatsTab.svelte"
|
||||||
import DevToolsComponentTab from "./DevToolsComponentTab.svelte"
|
import DevToolsComponentTab from "./DevToolsComponentTab.svelte"
|
||||||
import { devToolsStore } from "stores"
|
import { devToolsStore } from "@/stores"
|
||||||
|
|
||||||
const context = getContext("context")
|
const context = getContext("context")
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<script>
|
<script>
|
||||||
import { Layout, Select, Body } from "@budibase/bbui"
|
import { Layout, Select, Body } from "@budibase/bbui"
|
||||||
import { componentStore } from "stores/index.js"
|
import { componentStore } from "stores/index.ts"
|
||||||
import DevToolsStat from "./DevToolsStat.svelte"
|
import DevToolsStat from "./DevToolsStat.svelte"
|
||||||
|
|
||||||
const ReadableBindingMap = {
|
const ReadableBindingMap = {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
import { Layout, Toggle } from "@budibase/bbui"
|
import { Layout, Toggle } from "@budibase/bbui"
|
||||||
import { getSettingsDefinition } from "@budibase/frontend-core"
|
import { getSettingsDefinition } from "@budibase/frontend-core"
|
||||||
import DevToolsStat from "./DevToolsStat.svelte"
|
import DevToolsStat from "./DevToolsStat.svelte"
|
||||||
import { componentStore } from "stores/index.js"
|
import { componentStore } from "stores/index.ts"
|
||||||
|
|
||||||
let showEnrichedSettings = true
|
let showEnrichedSettings = true
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<script>
|
<script>
|
||||||
import { Body, Layout, Heading, Button, Tabs, Tab } from "@budibase/bbui"
|
import { Body, Layout, Heading, Button, Tabs, Tab } from "@budibase/bbui"
|
||||||
import { builderStore, devToolsStore, componentStore } from "stores"
|
import { builderStore, devToolsStore, componentStore } from "@/stores"
|
||||||
import DevToolsStat from "./DevToolsStat.svelte"
|
import DevToolsStat from "./DevToolsStat.svelte"
|
||||||
import DevToolsComponentSettingsTab from "./DevToolsComponentSettingsTab.svelte"
|
import DevToolsComponentSettingsTab from "./DevToolsComponentSettingsTab.svelte"
|
||||||
import DevToolsComponentContextTab from "./DevToolsComponentContextTab.svelte"
|
import DevToolsComponentContextTab from "./DevToolsComponentContextTab.svelte"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<script>
|
<script>
|
||||||
import { Heading, Select, ActionButton } from "@budibase/bbui"
|
import { Heading, Select, ActionButton } from "@budibase/bbui"
|
||||||
import { devToolsStore, appStore } from "../../stores"
|
import { devToolsStore, appStore } from "stores"
|
||||||
import { getContext, onMount } from "svelte"
|
import { getContext, onMount } from "svelte"
|
||||||
import { API } from "api"
|
import { API } from "api"
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<script>
|
<script>
|
||||||
import { Helpers } from "@budibase/bbui"
|
import { Helpers } from "@budibase/bbui"
|
||||||
import { notificationStore } from "stores"
|
import { notificationStore } from "@/stores"
|
||||||
|
|
||||||
export let label
|
export let label
|
||||||
export let value
|
export let value
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<script>
|
<script>
|
||||||
import { Layout } from "@budibase/bbui"
|
import { Layout } from "@budibase/bbui"
|
||||||
import { authStore, appStore, screenStore, componentStore } from "stores"
|
import { authStore, appStore, screenStore, componentStore } from "@/stores"
|
||||||
import DevToolsStat from "./DevToolsStat.svelte"
|
import DevToolsStat from "./DevToolsStat.svelte"
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<script>
|
<script>
|
||||||
import { confirmationStore } from "stores"
|
import { confirmationStore } from "@/stores"
|
||||||
import { Modal, ModalContent } from "@budibase/bbui"
|
import { Modal, ModalContent } from "@budibase/bbui"
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<script>
|
<script>
|
||||||
import { notificationStore } from "stores"
|
import { notificationStore } from "@/stores"
|
||||||
import { Notification } from "@budibase/bbui"
|
import { Notification } from "@budibase/bbui"
|
||||||
import { fly } from "svelte/transition"
|
import { fly } from "svelte/transition"
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
notificationStore,
|
notificationStore,
|
||||||
routeStore,
|
routeStore,
|
||||||
stateStore,
|
stateStore,
|
||||||
} from "stores"
|
} from "@/stores"
|
||||||
import { Modal, ModalContent, ActionButton } from "@budibase/bbui"
|
import { Modal, ModalContent, ActionButton } from "@budibase/bbui"
|
||||||
import { onDestroy } from "svelte"
|
import { onDestroy } from "svelte"
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
dndSource,
|
dndSource,
|
||||||
dndIsDragging,
|
dndIsDragging,
|
||||||
isGridScreen,
|
isGridScreen,
|
||||||
} from "stores"
|
} from "@/stores"
|
||||||
import { Utils } from "@budibase/frontend-core"
|
import { Utils } from "@budibase/frontend-core"
|
||||||
import { findComponentById } from "@/utils/components.js"
|
import { findComponentById } from "@/utils/components.js"
|
||||||
import { isGridEvent } from "@/utils/grid"
|
import { isGridEvent } from "@/utils/grid"
|
||||||
|
@ -266,7 +266,7 @@
|
||||||
source.type,
|
source.type,
|
||||||
drop.parent,
|
drop.parent,
|
||||||
drop.index,
|
drop.index,
|
||||||
$dndStore.meta.newComponentProps
|
$dndStore.source?.props
|
||||||
)
|
)
|
||||||
dropping = false
|
dropping = false
|
||||||
stopDragging()
|
stopDragging()
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { isGridScreen, dndParent, dndSource, dndIsDragging } from "@/stores"
|
import { isGridScreen, dndParent, dndSource, dndIsDragging } from "stores"
|
||||||
import { DNDPlaceholderID } from "@/constants"
|
import { DNDPlaceholderID } from "@/constants"
|
||||||
import IndicatorSet from "./IndicatorSet.svelte"
|
import IndicatorSet from "./IndicatorSet.svelte"
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
dndStore,
|
dndStore,
|
||||||
dndSource,
|
dndSource,
|
||||||
isGridScreen,
|
isGridScreen,
|
||||||
} from "stores"
|
} from "@/stores"
|
||||||
import { Utils, memo } from "@budibase/frontend-core"
|
import { Utils, memo } from "@budibase/frontend-core"
|
||||||
import { DNDPlaceholderID, GridRowHeight } from "@/constants"
|
import { DNDPlaceholderID, GridRowHeight } from "@/constants"
|
||||||
import {
|
import {
|
||||||
|
@ -54,7 +54,7 @@
|
||||||
// real component to render in the new position before updating the DND
|
// real component to render in the new position before updating the DND
|
||||||
// store, preventing the green DND overlay from being out of position
|
// store, preventing the green DND overlay from being out of position
|
||||||
if ($dndSource?.isNew && styles) {
|
if ($dndSource?.isNew && styles) {
|
||||||
dndStore.actions.updateNewComponentProps({
|
dndStore.actions.updateSourceProps({
|
||||||
_styles: {
|
_styles: {
|
||||||
normal: styles,
|
normal: styles,
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<script>
|
<script>
|
||||||
import { onDestroy, getContext } from "svelte"
|
import { onDestroy, getContext } from "svelte"
|
||||||
import { builderStore, componentStore, screenStore } from "stores"
|
import { builderStore, componentStore, screenStore } from "@/stores"
|
||||||
import { Utils, memo } from "@budibase/frontend-core"
|
import { Utils, memo } from "@budibase/frontend-core"
|
||||||
import { GridRowHeight } from "constants"
|
import { GridRowHeight } from "constants"
|
||||||
import { GridParams, getGridVar, Devices } from "utils/grid"
|
import { GridParams, getGridVar, Devices } from "utils/grid"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<script>
|
<script>
|
||||||
import { Icon } from "@budibase/bbui"
|
import { Icon } from "@budibase/bbui"
|
||||||
import { builderStore } from "stores"
|
import { builderStore } from "@/stores"
|
||||||
|
|
||||||
export let style
|
export let style
|
||||||
export let value
|
export let value
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<script>
|
<script>
|
||||||
import { onMount, onDestroy } from "svelte"
|
import { onMount, onDestroy } from "svelte"
|
||||||
import { get } from "svelte/store"
|
import { get } from "svelte/store"
|
||||||
import { builderStore } from "stores"
|
import { builderStore } from "@/stores"
|
||||||
|
|
||||||
onMount(() => {
|
onMount(() => {
|
||||||
if (get(builderStore).inBuilder) {
|
if (get(builderStore).inBuilder) {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { dndIsDragging, builderStore } from "@/stores"
|
import { dndIsDragging, builderStore } from "stores"
|
||||||
import IndicatorSet from "./IndicatorSet.svelte"
|
import IndicatorSet from "./IndicatorSet.svelte"
|
||||||
|
|
||||||
$: color = $builderStore.editMode
|
$: color = $builderStore.editMode
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
import GridStylesButton from "./GridStylesButton.svelte"
|
import GridStylesButton from "./GridStylesButton.svelte"
|
||||||
import SettingsColorPicker from "./SettingsColorPicker.svelte"
|
import SettingsColorPicker from "./SettingsColorPicker.svelte"
|
||||||
import SettingsPicker from "./SettingsPicker.svelte"
|
import SettingsPicker from "./SettingsPicker.svelte"
|
||||||
import { builderStore, componentStore, dndIsDragging } from "stores"
|
import { builderStore, componentStore, dndIsDragging } from "@/stores"
|
||||||
import { Utils, shouldDisplaySetting } from "@budibase/frontend-core"
|
import { Utils, shouldDisplaySetting } from "@budibase/frontend-core"
|
||||||
import { getGridVar, GridParams, Devices } from "utils/grid"
|
import { getGridVar, GridParams, Devices } from "utils/grid"
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<script>
|
<script>
|
||||||
import { Icon } from "@budibase/bbui"
|
import { Icon } from "@budibase/bbui"
|
||||||
import { builderStore } from "stores"
|
import { builderStore } from "@/stores"
|
||||||
import { createEventDispatcher } from "svelte"
|
import { createEventDispatcher } from "svelte"
|
||||||
|
|
||||||
export let prop
|
export let prop
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<script>
|
<script>
|
||||||
import { ColorPicker } from "@budibase/bbui"
|
import { ColorPicker } from "@budibase/bbui"
|
||||||
import { builderStore } from "stores"
|
import { builderStore } from "@/stores"
|
||||||
|
|
||||||
export let prop
|
export let prop
|
||||||
export let component
|
export let component
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<script>
|
<script>
|
||||||
import { Select } from "@budibase/bbui"
|
import { Select } from "@budibase/bbui"
|
||||||
import { builderStore } from "stores"
|
import { builderStore } from "@/stores"
|
||||||
|
|
||||||
export let prop
|
export let prop
|
||||||
export let options
|
export let options
|
||||||
|
|
|
@ -10,7 +10,7 @@ import {
|
||||||
eventStore,
|
eventStore,
|
||||||
hoverStore,
|
hoverStore,
|
||||||
stateStore,
|
stateStore,
|
||||||
} from "@/stores"
|
} from "stores"
|
||||||
import { get } from "svelte/store"
|
import { get } from "svelte/store"
|
||||||
import { initWebsocket } from "@/websocket"
|
import { initWebsocket } from "@/websocket"
|
||||||
import { APIClient } from "@budibase/frontend-core"
|
import { APIClient } from "@budibase/frontend-core"
|
||||||
|
@ -163,12 +163,7 @@ const loadBudibase = async () => {
|
||||||
} else if (type === "dragging-new-component") {
|
} else if (type === "dragging-new-component") {
|
||||||
const { dragging, component } = data
|
const { dragging, component } = data
|
||||||
if (dragging) {
|
if (dragging) {
|
||||||
const definition =
|
dndStore.actions.startDraggingNewComponent(component)
|
||||||
componentStore.actions.getComponentDefinition(component)
|
|
||||||
dndStore.actions.startDraggingNewComponent({
|
|
||||||
component,
|
|
||||||
definition,
|
|
||||||
})
|
|
||||||
} else {
|
} else {
|
||||||
dndStore.actions.reset()
|
dndStore.actions.reset()
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@ import {
|
||||||
appStore,
|
appStore,
|
||||||
stateStore,
|
stateStore,
|
||||||
createContextStore,
|
createContextStore,
|
||||||
} from "stores"
|
} from "@/stores"
|
||||||
import { styleable } from "utils/styleable"
|
import { styleable } from "utils/styleable"
|
||||||
import { linkable } from "utils/linkable"
|
import { linkable } from "utils/linkable"
|
||||||
import { getAction } from "utils/getAction"
|
import { getAction } from "utils/getAction"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { derived } from "svelte/store"
|
import { derived } from "svelte/store"
|
||||||
import { findComponentPathById } from "utils/components.js"
|
import { findComponentPathById } from "utils/components.js"
|
||||||
import { dndParent } from "../dnd.js"
|
import { dndParent } from "../dnd.ts"
|
||||||
import { screenStore } from "../screens.js"
|
import { screenStore } from "../screens.js"
|
||||||
|
|
||||||
export const dndComponentPath = derived(
|
export const dndComponentPath = derived(
|
||||||
|
|
|
@ -1,54 +1,65 @@
|
||||||
import { writable, get } from "svelte/store"
|
import { writable, get } from "svelte/store"
|
||||||
import { derivedMemo } from "@budibase/frontend-core"
|
import { derivedMemo } from "@budibase/frontend-core"
|
||||||
import { screenStore, isGridScreen } from "@/stores"
|
import { screenStore, isGridScreen, componentStore } from "stores/index"
|
||||||
import { ScreenslotID } from "@/constants"
|
import { ScreenslotID } from "@/constants"
|
||||||
|
import { ComponentDefinition } from "@budibase/types"
|
||||||
|
|
||||||
|
interface DNDSource {
|
||||||
|
id?: string
|
||||||
|
parent?: string
|
||||||
|
index?: number
|
||||||
|
bounds: {
|
||||||
|
height: number
|
||||||
|
width: number
|
||||||
|
}
|
||||||
|
name: string
|
||||||
|
icon: string
|
||||||
|
type: string
|
||||||
|
isNew: boolean
|
||||||
|
props?: Record<string, any>
|
||||||
|
}
|
||||||
|
|
||||||
|
interface DNDTarget {
|
||||||
|
id: string
|
||||||
|
parent: string
|
||||||
|
empty: boolean
|
||||||
|
acceptsChildren: boolean
|
||||||
|
node?: Node
|
||||||
|
}
|
||||||
|
|
||||||
|
interface DNDDrop {
|
||||||
|
parent: string
|
||||||
|
index: number
|
||||||
|
}
|
||||||
|
|
||||||
|
interface DNDState {
|
||||||
|
source?: DNDSource
|
||||||
|
target?: DNDTarget
|
||||||
|
drop?: DNDDrop
|
||||||
|
}
|
||||||
|
|
||||||
const createDndStore = () => {
|
const createDndStore = () => {
|
||||||
const initialState = {
|
const store = writable<DNDState>({})
|
||||||
// Info about the dragged component
|
|
||||||
source: null,
|
|
||||||
|
|
||||||
// Info about the target component being hovered over
|
const startDraggingExistingComponent = (source: Omit<DNDSource, "isNew">) => {
|
||||||
target: null,
|
|
||||||
|
|
||||||
// Info about where the component would be dropped
|
|
||||||
drop: null,
|
|
||||||
|
|
||||||
// Metadata about the event
|
|
||||||
meta: {
|
|
||||||
newComponentProps: null,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
const store = writable(initialState)
|
|
||||||
|
|
||||||
const startDraggingExistingComponent = ({
|
|
||||||
id,
|
|
||||||
parent,
|
|
||||||
bounds,
|
|
||||||
index,
|
|
||||||
name,
|
|
||||||
icon,
|
|
||||||
}) => {
|
|
||||||
store.set({
|
store.set({
|
||||||
...initialState,
|
source: {
|
||||||
source: { id, parent, bounds, index, name, icon, isNew: false },
|
...source,
|
||||||
|
isNew: false,
|
||||||
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const startDraggingNewComponent = ({ component, definition }) => {
|
const startDraggingNewComponent = (type: string) => {
|
||||||
if (!component) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// On grid screens, we already know exactly where to insert the component
|
// On grid screens, we already know exactly where to insert the component
|
||||||
let target, drop
|
let target: DNDTarget | undefined = undefined
|
||||||
const screen = get(screenStore)?.activeScreen
|
let drop: DNDDrop | undefined = undefined
|
||||||
if (get(isGridScreen)) {
|
if (get(isGridScreen)) {
|
||||||
const id = screen?.props?._id
|
const screen = get(screenStore)?.activeScreen
|
||||||
|
const id = screen.props._id
|
||||||
target = {
|
target = {
|
||||||
id,
|
id,
|
||||||
parent: ScreenslotID,
|
parent: ScreenslotID,
|
||||||
node: null,
|
|
||||||
empty: false,
|
empty: false,
|
||||||
acceptsChildren: true,
|
acceptsChildren: true,
|
||||||
}
|
}
|
||||||
|
@ -59,52 +70,55 @@ const createDndStore = () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get size of new component so we can show a properly sized placeholder
|
// Get size of new component so we can show a properly sized placeholder
|
||||||
|
const definition: ComponentDefinition =
|
||||||
|
componentStore.actions.getComponentDefinition(type)
|
||||||
const width = definition?.size?.width || 128
|
const width = definition?.size?.width || 128
|
||||||
const height = definition?.size?.height || 64
|
const height = definition?.size?.height || 64
|
||||||
|
|
||||||
store.set({
|
store.set({
|
||||||
...initialState,
|
|
||||||
source: {
|
source: {
|
||||||
id: null,
|
|
||||||
parent: null,
|
|
||||||
bounds: { height, width },
|
bounds: { height, width },
|
||||||
index: null,
|
type,
|
||||||
type: component,
|
|
||||||
isNew: true,
|
isNew: true,
|
||||||
name: `New ${definition.name}`,
|
name: `New ${definition?.name || "component"}`,
|
||||||
icon: definition.icon,
|
icon: definition?.icon || "Selection",
|
||||||
},
|
},
|
||||||
target,
|
target,
|
||||||
drop,
|
drop,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const updateTarget = ({ id, parent, node, empty, acceptsChildren }) => {
|
const updateTarget = (target: DNDTarget) => {
|
||||||
store.update(state => {
|
store.update(state => {
|
||||||
state.target = { id, parent, node, empty, acceptsChildren }
|
state.target = target
|
||||||
return state
|
return state
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const updateDrop = ({ parent, index }) => {
|
const updateDrop = (drop: DNDDrop) => {
|
||||||
store.update(state => {
|
store.update(state => {
|
||||||
state.drop = { parent, index }
|
state.drop = drop
|
||||||
return state
|
return state
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const reset = () => {
|
const reset = () => {
|
||||||
store.set(initialState)
|
store.set({})
|
||||||
}
|
}
|
||||||
|
|
||||||
const updateNewComponentProps = newComponentProps => {
|
const updateSourceProps = (props: Record<string, any>) => {
|
||||||
store.update(state => ({
|
store.update(state => {
|
||||||
|
if (!state.source) {
|
||||||
|
return state
|
||||||
|
}
|
||||||
|
return {
|
||||||
...state,
|
...state,
|
||||||
meta: {
|
source: {
|
||||||
...state.meta,
|
...state.source,
|
||||||
newComponentProps,
|
props,
|
||||||
},
|
},
|
||||||
}))
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
@ -115,7 +129,7 @@ const createDndStore = () => {
|
||||||
updateTarget,
|
updateTarget,
|
||||||
updateDrop,
|
updateDrop,
|
||||||
reset,
|
reset,
|
||||||
updateNewComponentProps,
|
updateSourceProps,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -3,7 +3,7 @@ import { routeStore } from "./routes"
|
||||||
import { builderStore } from "./builder"
|
import { builderStore } from "./builder"
|
||||||
import { appStore } from "./app"
|
import { appStore } from "./app"
|
||||||
import { orgStore } from "./org"
|
import { orgStore } from "./org"
|
||||||
import { dndIndex, dndParent, dndSource } from "./dnd.js"
|
import { dndIndex, dndParent, dndSource } from "./dnd.ts"
|
||||||
import { RoleUtils } from "@budibase/frontend-core"
|
import { RoleUtils } from "@budibase/frontend-core"
|
||||||
import { findComponentById, findComponentParent } from "../utils/components.js"
|
import { findComponentById, findComponentParent } from "../utils/components.js"
|
||||||
import { Helpers } from "@budibase/bbui"
|
import { Helpers } from "@budibase/bbui"
|
||||||
|
|
|
@ -13,7 +13,7 @@ import {
|
||||||
rowSelectionStore,
|
rowSelectionStore,
|
||||||
sidePanelStore,
|
sidePanelStore,
|
||||||
modalStore,
|
modalStore,
|
||||||
} from "stores"
|
} from "@/stores"
|
||||||
import { API } from "api"
|
import { API } from "api"
|
||||||
import { ActionTypes } from "constants"
|
import { ActionTypes } from "constants"
|
||||||
import { enrichDataBindings } from "./enrichDataBinding"
|
import { enrichDataBindings } from "./enrichDataBinding"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { builderStore } from "stores"
|
import { builderStore } from "@/stores"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper to build a CSS string from a style object.
|
* Helper to build a CSS string from a style object.
|
||||||
|
|
|
@ -1,8 +1,4 @@
|
||||||
import {
|
import { builderStore, environmentStore, notificationStore } from "stores"
|
||||||
builderStore,
|
|
||||||
environmentStore,
|
|
||||||
notificationStore,
|
|
||||||
} from "./stores/index.js"
|
|
||||||
import { get } from "svelte/store"
|
import { get } from "svelte/store"
|
||||||
import { createWebsocket } from "@budibase/frontend-core"
|
import { createWebsocket } from "@budibase/frontend-core"
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,11 @@ export interface ComponentDefinition {
|
||||||
legalDirectChildren: string[]
|
legalDirectChildren: string[]
|
||||||
requiredAncestors?: string[]
|
requiredAncestors?: string[]
|
||||||
illegalChildren: string[]
|
illegalChildren: string[]
|
||||||
|
icon?: string
|
||||||
|
size?: {
|
||||||
|
width: number
|
||||||
|
height: number
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ComponentSetting {
|
export interface ComponentSetting {
|
||||||
|
|
Loading…
Reference in New Issue