Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
machineuser
commited on
Commit
·
bdf492b
1
Parent(s):
4d70550
Sync widgets demo
Browse files
packages/widgets/src/lib/components/InferenceWidget/shared/WidgetWrapper/WidgetWrapper.svelte
CHANGED
@@ -73,15 +73,17 @@
|
|
73 |
|
74 |
onMount(() => {
|
75 |
(async () => {
|
76 |
-
|
77 |
-
|
78 |
-
|
|
|
79 |
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
|
|
85 |
}
|
86 |
|
87 |
const exampleFromQueryParams = {} as TWidgetExample;
|
@@ -110,42 +112,44 @@
|
|
110 |
<WidgetHeader pipeline={model.pipeline_tag} noTitle={true} />
|
111 |
<WidgetInfo {model} {computeTime} {error} {modelLoadInfo} {modelTooBig} />
|
112 |
{:else}
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
<
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
{
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
130 |
{isLoading}
|
131 |
-
|
|
|
132 |
/>
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
</div>
|
141 |
{/if}
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
<WidgetModelLoading estimatedTime={modelLoading.estimatedTime} />
|
147 |
-
{/if}
|
148 |
-
<slot name="bottom" />
|
149 |
-
<WidgetFooter bind:isMaximized {outputJson} {isDisabled} />
|
150 |
-
</div>
|
151 |
{/if}
|
|
|
73 |
|
74 |
onMount(() => {
|
75 |
(async () => {
|
76 |
+
if (model.inference === InferenceDisplayability.Yes) {
|
77 |
+
modelLoadInfo = await getModelLoadInfo(apiUrl, model.id, includeCredentials);
|
78 |
+
$modelLoadStates[model.id] = modelLoadInfo;
|
79 |
+
modelTooBig = modelLoadInfo?.state === "TooBig";
|
80 |
|
81 |
+
if (modelTooBig) {
|
82 |
+
// disable the widget
|
83 |
+
isDisabled = true;
|
84 |
+
inputSamples = allInputSamples.filter((sample) => sample.output !== undefined);
|
85 |
+
inputGroups = getExamplesGroups();
|
86 |
+
}
|
87 |
}
|
88 |
|
89 |
const exampleFromQueryParams = {} as TWidgetExample;
|
|
|
112 |
<WidgetHeader pipeline={model.pipeline_tag} noTitle={true} />
|
113 |
<WidgetInfo {model} {computeTime} {error} {modelLoadInfo} {modelTooBig} />
|
114 |
{:else}
|
115 |
+
<!-- require that we have `modelLoadInfo` for InferenceDisplayability.Yes models -->
|
116 |
+
{#if modelLoadInfo || model.inference !== InferenceDisplayability.Yes}
|
117 |
+
<div
|
118 |
+
class="flex w-full max-w-full flex-col
|
119 |
+
{isMaximized ? 'fixed inset-0 z-20 bg-white p-12' : ''}"
|
120 |
+
>
|
121 |
+
{#if isMaximized}
|
122 |
+
<button class="absolute right-12 top-6" on:click={() => (isMaximized = !isMaximized)}>
|
123 |
+
<IconCross classNames="text-xl text-gray-500 hover:text-black" />
|
124 |
+
</button>
|
125 |
+
{/if}
|
126 |
+
<WidgetHeader {noTitle} pipeline={model.pipeline_tag} {isDisabled}>
|
127 |
+
{#if !!inputGroups.length}
|
128 |
+
<div class="ml-auto flex gap-x-1">
|
129 |
+
<!-- Show samples selector when there are more than one sample -->
|
130 |
+
{#if inputGroups.length > 1}
|
131 |
+
<WidgetInputSamplesGroup
|
132 |
+
bind:selectedInputGroup
|
133 |
+
{isLoading}
|
134 |
+
inputGroups={inputGroups.map(({ group }) => group)}
|
135 |
+
/>
|
136 |
+
{/if}
|
137 |
+
<WidgetInputSamples
|
138 |
+
classNames={!selectedInputSamples ? "opacity-50 pointer-events-none" : ""}
|
139 |
{isLoading}
|
140 |
+
inputSamples={selectedInputSamples?.inputSamples ?? []}
|
141 |
+
{applyInputSample}
|
142 |
/>
|
143 |
+
</div>
|
144 |
+
{/if}
|
145 |
+
</WidgetHeader>
|
146 |
+
<slot name="top" {isDisabled} />
|
147 |
+
<WidgetInfo {model} {computeTime} {error} {modelLoadInfo} {modelTooBig} />
|
148 |
+
{#if modelLoading.isLoading}
|
149 |
+
<WidgetModelLoading estimatedTime={modelLoading.estimatedTime} />
|
|
|
150 |
{/if}
|
151 |
+
<slot name="bottom" />
|
152 |
+
<WidgetFooter bind:isMaximized {outputJson} {isDisabled} />
|
153 |
+
</div>
|
154 |
+
{/if}
|
|
|
|
|
|
|
|
|
|
|
155 |
{/if}
|