diff --git a/packages/web/src/widgets/ErrorInfo.svelte b/packages/web/src/widgets/ErrorInfo.svelte new file mode 100644 index 000000000..a2c21c7fc --- /dev/null +++ b/packages/web/src/widgets/ErrorInfo.svelte @@ -0,0 +1,38 @@ + + +{#if isSmall} +
+ + {message} +
+{:else} +
+
+ +
+ {message} +
+{/if} + + diff --git a/packages/web/src/widgets/InlineButton.svelte b/packages/web/src/widgets/InlineButton.svelte index fb4bbc7a9..3625ff2bf 100644 --- a/packages/web/src/widgets/InlineButton.svelte +++ b/packages/web/src/widgets/InlineButton.svelte @@ -3,7 +3,7 @@ export let square = false; -
+
@@ -33,11 +33,15 @@ } .outer:hover:not(.disabled) { - border: 1px solid var(--bg-1); + border: 1px solid var(--theme-font-1); + } + + .outer:active:not(.disabled) { background: linear-gradient(to bottom, var(--bg-2) 5%, var(--bg-1) 100%); background-color: var(--bg-2); } + .inner { margin: auto; flex: 1; diff --git a/packages/web/src/widgets/LoadingInfo.svelte b/packages/web/src/widgets/LoadingInfo.svelte new file mode 100644 index 000000000..cd7b6873d --- /dev/null +++ b/packages/web/src/widgets/LoadingInfo.svelte @@ -0,0 +1,54 @@ + + +{#if wrapper} +
+
+
+
+ +
+ {message} +
+
+
+{:else} +
+
+ +
+ {message} +
+{/if} + + diff --git a/packages/web/src/widgets/SqlObjectList.svelte b/packages/web/src/widgets/SqlObjectList.svelte index 54d79aa69..d819701a5 100644 --- a/packages/web/src/widgets/SqlObjectList.svelte +++ b/packages/web/src/widgets/SqlObjectList.svelte @@ -9,6 +9,9 @@ import * as databaseObjectAppObject from '../appobj/DatabaseObjectAppObject.svelte'; import SubColumnParamList from '../appobj/SubColumnParamList.svelte'; import { chevronExpandIcon } from '../icons/expandIcons'; + import ErrorInfo from './ErrorInfo.svelte'; + import axios from '../utility/axios'; +import LoadingInfo from './LoadingInfo.svelte'; export let conid; export let database; @@ -26,20 +29,43 @@ ) ) ); + + const handleRefreshDatabase = () => { + axios.post('database-connections/refresh', { conid, database }); + }; - - - Refresh - - - ({ ...x, conid, database }))} - module={databaseObjectAppObject} - groupFunc={data => _.startCase(data.objectTypeField)} - subItemsComponent={SubColumnParamList} - isExpandable={data => data.objectTypeField == 'tables' || data.objectTypeField == 'views'} - expandIconFunc={chevronExpandIcon} - {filter} - /> - +{#if $status && $status.name == 'error'} + + + Refresh + +{:else if objectList.length == 0 && $status && $status.name != 'pending' && $objects} + + + Refresh + +{:else} + + + Refresh + + + {#if ($status && $status.name == 'pending' && $objects) || !$objects} + + {:else} + ({ ...x, conid, database }))} + module={databaseObjectAppObject} + groupFunc={data => _.startCase(data.objectTypeField)} + subItemsComponent={SubColumnParamList} + isExpandable={data => data.objectTypeField == 'tables' || data.objectTypeField == 'views'} + expandIconFunc={chevronExpandIcon} + {filter} + /> + {/if} + +{/if} diff --git a/packages/web/src/widgets/SqlObjectListWrapper.svelte b/packages/web/src/widgets/SqlObjectListWrapper.svelte index 3cb62f611..5d9349580 100644 --- a/packages/web/src/widgets/SqlObjectListWrapper.svelte +++ b/packages/web/src/widgets/SqlObjectListWrapper.svelte @@ -1,6 +1,7 @@