@lvce-editor/source-control-worker 3.1.0 → 3.2.0
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/sourceControlWorkerMain.js +39 -12
- package/package.json +1 -1
|
@@ -1120,6 +1120,8 @@ const SourceControl$1 = 22;
|
|
|
1120
1120
|
|
|
1121
1121
|
const None = 0;
|
|
1122
1122
|
|
|
1123
|
+
const Web = 1;
|
|
1124
|
+
|
|
1123
1125
|
const ExtensionHostWorker = 44;
|
|
1124
1126
|
const ExtensionManagementWorker = 9006;
|
|
1125
1127
|
const IconThemeWorker = 7009;
|
|
@@ -1771,12 +1773,16 @@ const get$1 = key => {
|
|
|
1771
1773
|
return getPreference(key);
|
|
1772
1774
|
};
|
|
1773
1775
|
|
|
1774
|
-
const
|
|
1775
|
-
return
|
|
1776
|
+
const isCompatible = (extension, platform) => {
|
|
1777
|
+
return platform !== Web || extension?.compatibility?.web !== false;
|
|
1778
|
+
};
|
|
1779
|
+
const getExtensions = async platform => {
|
|
1780
|
+
const extensions = await invoke$1('Extensions.getExtensions');
|
|
1781
|
+
return extensions.filter(extension => isCompatible(extension, platform));
|
|
1776
1782
|
};
|
|
1777
1783
|
|
|
1778
|
-
const requestSourceActions = async () => {
|
|
1779
|
-
const extensions = await getExtensions();
|
|
1784
|
+
const requestSourceActions = async (platform = 0) => {
|
|
1785
|
+
const extensions = await getExtensions(platform);
|
|
1780
1786
|
const newCache = Object.create(null);
|
|
1781
1787
|
for (const extension of extensions) {
|
|
1782
1788
|
if (!extension || !extension['source-control-actions']) {
|
|
@@ -1790,8 +1796,8 @@ const requestSourceActions = async () => {
|
|
|
1790
1796
|
return newCache;
|
|
1791
1797
|
};
|
|
1792
1798
|
|
|
1793
|
-
const requestSourceControlButtons = async () => {
|
|
1794
|
-
const extensions = await getExtensions();
|
|
1799
|
+
const requestSourceControlButtons = async (platform = 0) => {
|
|
1800
|
+
const extensions = await getExtensions(platform);
|
|
1795
1801
|
const buttons = [];
|
|
1796
1802
|
for (const extension of extensions) {
|
|
1797
1803
|
if (!extension || !Array.isArray(extension['source-control-buttons'])) {
|
|
@@ -1858,6 +1864,7 @@ const GenerateCommitMessage$1 = 'Generate Commit Message';
|
|
|
1858
1864
|
const Refresh$2 = 'Refresh';
|
|
1859
1865
|
const MessageEnterToCommitOnMaster = `Message (Enter) to commit on 'master'`;
|
|
1860
1866
|
const SourceControlInput$1 = 'Source Control Input';
|
|
1867
|
+
const NoSourceControlProvidersAvailableForWeb = 'No source control providers are available for web.';
|
|
1861
1868
|
|
|
1862
1869
|
const openChanges = () => {
|
|
1863
1870
|
return i18nString(OpenChanges);
|
|
@@ -1901,6 +1908,9 @@ const messageEnterToCommitOnMaster = () => {
|
|
|
1901
1908
|
const sourceControlInput = () => {
|
|
1902
1909
|
return i18nString(SourceControlInput$1);
|
|
1903
1910
|
};
|
|
1911
|
+
const noSourceControlProvidersAvailableForWeb = () => {
|
|
1912
|
+
return i18nString(NoSourceControlProvidersAvailableForWeb);
|
|
1913
|
+
};
|
|
1904
1914
|
|
|
1905
1915
|
const loadContent = async (state, savedState) => {
|
|
1906
1916
|
const {
|
|
@@ -1935,8 +1945,8 @@ const loadContent = async (state, savedState) => {
|
|
|
1935
1945
|
} = await getGroups(enabledProviderIds, root, assetDir, platform);
|
|
1936
1946
|
const expandedGroups = restoreExpandedGroups(allGroups);
|
|
1937
1947
|
const displayItems = getDisplayItems(allGroups, expandedGroups, iconDefinitions);
|
|
1938
|
-
const actionsCache = await requestSourceActions();
|
|
1939
|
-
const sourceControlButtons = await requestSourceControlButtons();
|
|
1948
|
+
const actionsCache = enabledProviderIds.length === 0 ? Object.create(null) : await requestSourceActions(platform);
|
|
1949
|
+
const sourceControlButtons = enabledProviderIds.length === 0 ? [] : await requestSourceControlButtons(platform);
|
|
1940
1950
|
|
|
1941
1951
|
// TODO make preferences async and more functional
|
|
1942
1952
|
const splitButtonEnabled = await get$1('sourceControl.splitButtonEnabled');
|
|
@@ -3328,9 +3338,14 @@ const getSourceControlListVirtualDom = items => {
|
|
|
3328
3338
|
};
|
|
3329
3339
|
|
|
3330
3340
|
const className = mergeClassNames(Viewlet, SourceControl);
|
|
3331
|
-
const getSourceControlVirtualDom = (items, sourceControlButtons, inputPlaceholder, inputMessage) => {
|
|
3341
|
+
const getSourceControlVirtualDom = (items, sourceControlButtons, inputPlaceholder, inputMessage, unavailableMessage) => {
|
|
3342
|
+
const content = unavailableMessage ? [{
|
|
3343
|
+
childCount: 1,
|
|
3344
|
+
className: Message,
|
|
3345
|
+
type: Div
|
|
3346
|
+
}, text(unavailableMessage)] : [...getSourceControlHeaderVirtualDom(inputPlaceholder, inputMessage), ...getSourceControlButtonsVirtualDom(sourceControlButtons), ...getSourceControlListVirtualDom(items)];
|
|
3332
3347
|
const dom = [{
|
|
3333
|
-
childCount: 2 + sourceControlButtons.length,
|
|
3348
|
+
childCount: unavailableMessage ? 1 : 2 + sourceControlButtons.length,
|
|
3334
3349
|
className: className,
|
|
3335
3350
|
onContextMenu: HandleContextMenu,
|
|
3336
3351
|
onMouseOver: HandleMouseOver,
|
|
@@ -3338,23 +3353,26 @@ const getSourceControlVirtualDom = (items, sourceControlButtons, inputPlaceholde
|
|
|
3338
3353
|
onWheel: HandleWheel,
|
|
3339
3354
|
tabIndex: 0,
|
|
3340
3355
|
type: Div
|
|
3341
|
-
}, ...
|
|
3356
|
+
}, ...content];
|
|
3342
3357
|
return dom;
|
|
3343
3358
|
};
|
|
3344
3359
|
|
|
3345
3360
|
const renderItems = (oldState, newState) => {
|
|
3346
3361
|
const {
|
|
3362
|
+
enabledProviderIds,
|
|
3347
3363
|
id,
|
|
3348
3364
|
initial,
|
|
3349
3365
|
inputMessage,
|
|
3350
3366
|
inputPlaceholder,
|
|
3367
|
+
platform,
|
|
3351
3368
|
sourceControlButtons,
|
|
3352
3369
|
visibleItems
|
|
3353
3370
|
} = newState;
|
|
3354
3371
|
if (initial) {
|
|
3355
3372
|
return [SetDom2, id, []];
|
|
3356
3373
|
}
|
|
3357
|
-
const
|
|
3374
|
+
const unavailableMessage = platform === Web && enabledProviderIds.length === 0 ? noSourceControlProvidersAvailableForWeb() : '';
|
|
3375
|
+
const dom = getSourceControlVirtualDom(visibleItems, sourceControlButtons, inputPlaceholder, inputMessage, unavailableMessage);
|
|
3358
3376
|
return [SetDom2, id, dom];
|
|
3359
3377
|
};
|
|
3360
3378
|
|
|
@@ -3423,6 +3441,15 @@ const ListFlat = 'ListFlat';
|
|
|
3423
3441
|
const Refresh = 'Refresh';
|
|
3424
3442
|
|
|
3425
3443
|
const getActions = state => {
|
|
3444
|
+
if (state.platform === Web && state.enabledProviderIds.length === 0) {
|
|
3445
|
+
return [{
|
|
3446
|
+
command: '',
|
|
3447
|
+
icon: Refresh,
|
|
3448
|
+
id: refresh$1(),
|
|
3449
|
+
name: Refresh$1,
|
|
3450
|
+
type: Button
|
|
3451
|
+
}];
|
|
3452
|
+
}
|
|
3426
3453
|
const actions = [{
|
|
3427
3454
|
command: '',
|
|
3428
3455
|
icon: ListFlat,
|