@morscherlab/mint-sdk 1.2.3 → 1.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/composables/createFilePickerAdapter.test.d.ts +1 -0
- package/dist/__tests__/composables/usePickerNavigation.test.d.ts +1 -0
- package/dist/components/index.js +1 -1
- package/dist/{components-CxQVQCpP.js → components-CZzBCakZ.js} +38 -3
- package/dist/{components-CxQVQCpP.js.map → components-CZzBCakZ.js.map} +1 -1
- package/dist/composables/createFilePickerAdapter.d.ts +18 -0
- package/dist/composables/index.d.ts +2 -0
- package/dist/composables/index.js +2 -2
- package/dist/composables/usePlatformFilePickerAdapter.d.ts +3 -7
- package/dist/{composables-DAqOU8Aq.js → composables-BCbYb2lA.js} +125 -42
- package/dist/composables-BCbYb2lA.js.map +1 -0
- package/dist/index.js +3 -3
- package/dist/install.js +1 -1
- package/dist/types/filePicker.d.ts +2 -0
- package/package.json +1 -1
- package/src/__tests__/components/FilePicker.state.test.ts +19 -0
- package/src/__tests__/composables/createFilePickerAdapter.test.ts +142 -0
- package/src/__tests__/composables/useFileBrowser.test.ts +12 -0
- package/src/__tests__/composables/usePickerNavigation.test.ts +149 -0
- package/src/__tests__/composables/usePlatformFilePickerAdapter.test.ts +18 -0
- package/src/composables/createFilePickerAdapter.ts +145 -0
- package/src/composables/filePicker/usePickerNavigation.ts +42 -2
- package/src/composables/index.ts +2 -0
- package/src/composables/useFileBrowser.ts +6 -5
- package/src/composables/usePlatformFilePickerAdapter.ts +24 -91
- package/src/types/filePicker.ts +2 -0
- package/dist/composables-DAqOU8Aq.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/components/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { f as BaseModal_default, h as BaseButton_default } from "../experiment-utils-CV2Wza3z.js";
|
|
2
2
|
import { a as BaseSelect_default, i as BasePill_default, r as EmptyState_default, s as BaseInput_default, t as Skeleton_default } from "../Skeleton-jhF9wUkU.js";
|
|
3
3
|
import { Bt as MultiSelect_default, Gt as BaseToggle_default, Jt as BaseTextarea_default, Kt as BaseCheckbox_default, L as GeneratedPathInput_default, M as SequenceInput_default, O as ConcentrationInput_default, P as FormulaInput_default, R as ArtifactSelectorModal_default, St as TimePicker_default, Ut as BaseSlider_default, Wt as BaseRadioGroup_default, at as AlertBox_default, ct as SecretInput_default, j as MoleculeInput_default, k as UnitInput_default, ot as FileUploader_default, qt as Tooltip_default, st as NumberInput_default, tt as DateTimePicker_default, xt as TagsInput_default, zt as DatePicker_default } from "../useControlSchema-vLiRPUmj.js";
|
|
4
|
-
import { $ as ScheduleCalendar_default, A as ChemicalFormula_default, At as CollapsibleCard_default, B as BioTemplateExperimentWorkspaceView_default, Bt as SegmentedControl_default, C as SequenceProgressBar_default, Ct as FormBuilder_default, Dt as AppPluginSwitcher_default, Et as AppTopBar_default, F as SmartGroupModal_default, Ft as AppToastContainer_default, G as ProgressBar_default, H as AdductText_default, Ht as ColorSlider_default, I as GroupAssigner_default, It as DataFrame_default, J as LayoutResizeHandle_default, K as StatusIndicator_default, L as RackEditor_default, Lt as LoadingSpinner_default, M as ProtocolStepEditor_default, Mt as ActionMenu_default, N as SampleHierarchyTree_default, Nt as IconButton_default, Ot as AppAvatarMenu_default, P as ReagentEditor_default, Pt as RuntimeUpdateNotice_default, Q as ComponentBindingRenderer_default, R as BioTemplatePresetWorkspaceView_default, Rt as Calendar_default, S as InstrumentAlertLog_default, St as AppSidebar_default, Tt as StepWizard_default, U as Breadcrumb_default, Ut as SearchableSelect_default, V as BioTemplateRenderer_default, Vt as BaseTabs_default, W as Avatar_default, X as DoseDesignWorkspaceView_default, Y as AppContainer_default, Z as ControlWorkspaceView_default, a as FileBrowserModal_default, at as PlateMapEditor_default, b as InstrumentStatusCard_default, bt as MobileSupportGate_default, c as TimeRangeInput_default, ct as ExperimentTimeline_default, d as AuditTrail_default, dt as JobsStatusTray_default, et as SampleSelector_default, f as LcmsSequenceTable_default, ft as GeneratedResultRenderer_default, ht as ChartContainer_default, i as ArtifactSaveDialog_default, it as ReagentList_default, j as ScientificNumber_default, jt as ThemeToggle_default, kt as PluginIcon_default, l as ExperimentDataViewer_default, lt as DoseCalculator_default, mt as PlotlyChart_default, n as FilePicker_default, nt as SmartGroupManual_default, o as SectionCard_default, ot as SampleLegend_default, pt as GeneratedPlotlyResult_default, q as Divider_default, r as FitPanel_default, rt as SmartGroupFieldRecipe_default, s as ResourceCard_default, st as WellPlate_default, tt as AutoGroupModal_default, u as BatchProgressList_default, ut as GeneratedPluginView_default, wt as FormActions_default, x as InstrumentStateBadge_default, xt as AppLayout_default, yt as PluginWorkspaceView_default, z as BioTemplatePackWorkspaceView_default, zt as DropdownButton_default } from "../components-
|
|
4
|
+
import { $ as ScheduleCalendar_default, A as ChemicalFormula_default, At as CollapsibleCard_default, B as BioTemplateExperimentWorkspaceView_default, Bt as SegmentedControl_default, C as SequenceProgressBar_default, Ct as FormBuilder_default, Dt as AppPluginSwitcher_default, Et as AppTopBar_default, F as SmartGroupModal_default, Ft as AppToastContainer_default, G as ProgressBar_default, H as AdductText_default, Ht as ColorSlider_default, I as GroupAssigner_default, It as DataFrame_default, J as LayoutResizeHandle_default, K as StatusIndicator_default, L as RackEditor_default, Lt as LoadingSpinner_default, M as ProtocolStepEditor_default, Mt as ActionMenu_default, N as SampleHierarchyTree_default, Nt as IconButton_default, Ot as AppAvatarMenu_default, P as ReagentEditor_default, Pt as RuntimeUpdateNotice_default, Q as ComponentBindingRenderer_default, R as BioTemplatePresetWorkspaceView_default, Rt as Calendar_default, S as InstrumentAlertLog_default, St as AppSidebar_default, Tt as StepWizard_default, U as Breadcrumb_default, Ut as SearchableSelect_default, V as BioTemplateRenderer_default, Vt as BaseTabs_default, W as Avatar_default, X as DoseDesignWorkspaceView_default, Y as AppContainer_default, Z as ControlWorkspaceView_default, a as FileBrowserModal_default, at as PlateMapEditor_default, b as InstrumentStatusCard_default, bt as MobileSupportGate_default, c as TimeRangeInput_default, ct as ExperimentTimeline_default, d as AuditTrail_default, dt as JobsStatusTray_default, et as SampleSelector_default, f as LcmsSequenceTable_default, ft as GeneratedResultRenderer_default, ht as ChartContainer_default, i as ArtifactSaveDialog_default, it as ReagentList_default, j as ScientificNumber_default, jt as ThemeToggle_default, kt as PluginIcon_default, l as ExperimentDataViewer_default, lt as DoseCalculator_default, mt as PlotlyChart_default, n as FilePicker_default, nt as SmartGroupManual_default, o as SectionCard_default, ot as SampleLegend_default, pt as GeneratedPlotlyResult_default, q as Divider_default, r as FitPanel_default, rt as SmartGroupFieldRecipe_default, s as ResourceCard_default, st as WellPlate_default, tt as AutoGroupModal_default, u as BatchProgressList_default, ut as GeneratedPluginView_default, wt as FormActions_default, x as InstrumentStateBadge_default, xt as AppLayout_default, yt as PluginWorkspaceView_default, z as BioTemplatePackWorkspaceView_default, zt as DropdownButton_default } from "../components-CZzBCakZ.js";
|
|
5
5
|
import { s as FormField_default, t as SettingsModal_default } from "../SettingsModal-DELMkUFR.js";
|
|
6
6
|
import { r as ConfirmDialog_default, t as ExperimentPopover_default } from "../ExperimentPopover-CJdNlCZb.js";
|
|
7
7
|
import { r as ExperimentCodeBadge_default, t as ExperimentSelectorModal_default } from "../ExperimentSelectorModal-DHE9k8TP.js";
|
|
@@ -20526,9 +20526,37 @@ function usePickerNavigation(adapter, request, systemFilter = () => true) {
|
|
|
20526
20526
|
let controller;
|
|
20527
20527
|
const pending = /* @__PURE__ */ new Map();
|
|
20528
20528
|
const childControllers = /* @__PURE__ */ new Set();
|
|
20529
|
+
let prefetchTimer;
|
|
20530
|
+
let prefetchQueue = [];
|
|
20531
|
+
let prefetchActive = 0;
|
|
20532
|
+
function stopPrefetch() {
|
|
20533
|
+
clearTimeout(prefetchTimer);
|
|
20534
|
+
prefetchQueue = [];
|
|
20535
|
+
}
|
|
20536
|
+
function drainPrefetch() {
|
|
20537
|
+
while (prefetchActive < 2 && prefetchQueue.length) {
|
|
20538
|
+
const node = prefetchQueue.shift();
|
|
20539
|
+
if (!isAllowed(node) || children.value.has(node.path) || pending.has(node.path)) continue;
|
|
20540
|
+
prefetchActive++;
|
|
20541
|
+
const token = epoch;
|
|
20542
|
+
loadChildren(node.path).catch(() => {}).finally(() => {
|
|
20543
|
+
if (token !== epoch) return;
|
|
20544
|
+
prefetchActive--;
|
|
20545
|
+
drainPrefetch();
|
|
20546
|
+
});
|
|
20547
|
+
}
|
|
20548
|
+
}
|
|
20549
|
+
function prefetch(items) {
|
|
20550
|
+
stopPrefetch();
|
|
20551
|
+
const candidates = items.filter((node) => node.kind === "folder" && !node.unavailableReason && node.hasChildren !== false && isAllowed(node)).slice(0, 20);
|
|
20552
|
+
prefetchTimer = setTimeout(() => {
|
|
20553
|
+
prefetchQueue = candidates;
|
|
20554
|
+
drainPrefetch();
|
|
20555
|
+
}, 100);
|
|
20556
|
+
}
|
|
20529
20557
|
function isAllowed(node) {
|
|
20530
20558
|
const seen = /* @__PURE__ */ new Set();
|
|
20531
|
-
let current = node;
|
|
20559
|
+
let current = nodes.value.get(node.path) ?? node;
|
|
20532
20560
|
while (current && !seen.has(current.path)) {
|
|
20533
20561
|
if (!systemFilter(current)) return false;
|
|
20534
20562
|
seen.add(current.path);
|
|
@@ -20543,6 +20571,9 @@ function usePickerNavigation(adapter, request, systemFilter = () => true) {
|
|
|
20543
20571
|
});
|
|
20544
20572
|
}
|
|
20545
20573
|
function invalidate() {
|
|
20574
|
+
adapter().invalidate?.();
|
|
20575
|
+
stopPrefetch();
|
|
20576
|
+
prefetchActive = 0;
|
|
20546
20577
|
++epoch;
|
|
20547
20578
|
++navigation;
|
|
20548
20579
|
controller?.abort();
|
|
@@ -20598,6 +20629,7 @@ function usePickerNavigation(adapter, request, systemFilter = () => true) {
|
|
|
20598
20629
|
return task;
|
|
20599
20630
|
}
|
|
20600
20631
|
async function load(query = "", recursive = false, refresh = false) {
|
|
20632
|
+
stopPrefetch();
|
|
20601
20633
|
const token = ++navigation;
|
|
20602
20634
|
controller?.abort();
|
|
20603
20635
|
controller = new AbortController();
|
|
@@ -20617,6 +20649,7 @@ function usePickerNavigation(adapter, request, systemFilter = () => true) {
|
|
|
20617
20649
|
if (token !== navigation) return;
|
|
20618
20650
|
register(items, query.trim() ? void 0 : path.value);
|
|
20619
20651
|
entries.value = items;
|
|
20652
|
+
if (!query.trim()) prefetch(items);
|
|
20620
20653
|
} catch (cause) {
|
|
20621
20654
|
if (token === navigation) error.value = cause instanceof Error ? cause.message : "Could not read this location.";
|
|
20622
20655
|
} finally {
|
|
@@ -20633,8 +20666,10 @@ function usePickerNavigation(adapter, request, systemFilter = () => true) {
|
|
|
20633
20666
|
expanding.value.add(node.path);
|
|
20634
20667
|
expansionErrors.value.delete(node.path);
|
|
20635
20668
|
const token = epoch;
|
|
20669
|
+
const view = navigation;
|
|
20636
20670
|
try {
|
|
20637
|
-
await loadChildren(node.path);
|
|
20671
|
+
const items = await loadChildren(node.path);
|
|
20672
|
+
if (token === epoch && view === navigation && expanded.value.has(node.path)) prefetch(items);
|
|
20638
20673
|
} catch (cause) {
|
|
20639
20674
|
if (token === epoch) expansionErrors.value.set(node.path, cause instanceof Error ? cause.message : "Could not read this folder.");
|
|
20640
20675
|
} finally {
|
|
@@ -21687,4 +21722,4 @@ var components_exports = /* @__PURE__ */ __exportAll({
|
|
|
21687
21722
|
//#endregion
|
|
21688
21723
|
export { ScheduleCalendar_default as $, ChemicalFormula_default as A, CollapsibleCard_default as At, BioTemplateExperimentWorkspaceView_default as B, SegmentedControl_default as Bt, SequenceProgressBar_default as C, FormBuilder_default as Ct, formatSequenceRemaining as D, AppPluginSwitcher_default as Dt, formatSequenceEta as E, AppTopBar_default as Et, SmartGroupModal_default as F, AppToastContainer_default as Ft, ProgressBar_default as G, AdductText_default as H, ColorSlider_default as Ht, GroupAssigner_default as I, DataFrame_default as It, LayoutResizeHandle_default as J, StatusIndicator_default as K, RackEditor_default as L, LoadingSpinner_default as Lt, ProtocolStepEditor_default as M, ActionMenu_default as Mt, SampleHierarchyTree_default as N, IconButton_default as Nt, sequenceProgressPercent as O, AppAvatarMenu_default as Ot, ReagentEditor_default as P, RuntimeUpdateNotice_default as Pt, ComponentBindingRenderer_default as Q, BioTemplatePresetWorkspaceView_default as R, Calendar_default as Rt, InstrumentAlertLog_default as S, AppSidebar_default as St, estimateSequenceRemainingSeconds as T, StepWizard_default as Tt, Breadcrumb_default as U, SearchableSelect_default as Ut, BioTemplateRenderer_default as V, BaseTabs_default as Vt, Avatar_default as W, DoseDesignWorkspaceView_default as X, AppContainer_default as Y, ControlWorkspaceView_default as Z, inferLcmsPlateTypeFromWellIds as _, generatedJobFormSchema as _t, FileBrowserModal_default as a, PlateMapEditor_default as at, InstrumentStatusCard_default as b, MobileSupportGate_default as bt, TimeRangeInput_default as c, ExperimentTimeline_default as ct, AuditTrail_default as d, JobsStatusTray_default as dt, SampleSelector_default as et, LcmsSequenceTable_default as f, GeneratedResultRenderer_default as ft, extractLcmsSampleName as g, generatedJobDefaults as gt, extractLcmsCommonPrefix as h, ChartContainer_default as ht, ArtifactSaveDialog_default as i, ReagentList_default as it, ScientificNumber_default as j, ThemeToggle_default as jt, sequenceSamplesRemaining as k, PluginIcon_default as kt, ExperimentDataViewer_default as l, DoseCalculator_default as lt, basenameFromWindowsPath as m, PlotlyChart_default as mt, FilePicker_default as n, SmartGroupManual_default as nt, SectionCard_default as o, SampleLegend_default as ot, DEFAULT_LCMS_SEQUENCE_COLUMNS as p, GeneratedPlotlyResult_default as pt, Divider_default as q, FitPanel_default as r, SmartGroupFieldRecipe_default as rt, ResourceCard_default as s, WellPlate_default as st, components_exports as t, AutoGroupModal_default as tt, BatchProgressList_default as u, GeneratedPluginView_default as ut, lcmsWellIdFromPosition as v, normalizeGeneratedJobInput as vt, estimateSequenceFinishDate as w, FormActions_default as wt, InstrumentStateBadge_default as x, AppLayout_default as xt, reconstructLcmsPlateCellsFromSequenceItems as y, PluginWorkspaceView_default as yt, BioTemplatePackWorkspaceView_default as z, DropdownButton_default as zt };
|
|
21689
21724
|
|
|
21690
|
-
//# sourceMappingURL=components-
|
|
21725
|
+
//# sourceMappingURL=components-CZzBCakZ.js.map
|