@lvce-editor/source-control-worker 3.1.0 → 3.3.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 +63 -33
- 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');
|
|
@@ -3056,6 +3066,8 @@ const SourceControlHeader = 'SourceControlHeader';
|
|
|
3056
3066
|
const SourceControlItems = 'SourceControlItems';
|
|
3057
3067
|
const SplitButton = 'SplitButton';
|
|
3058
3068
|
const SplitButtonContent = 'SplitButtonContent';
|
|
3069
|
+
const SplitButtonContentDisabled = 'SplitButtonContentDisabled';
|
|
3070
|
+
const SplitButtonDisabled = 'SplitButtonDisabled';
|
|
3059
3071
|
const StrikeThrough = 'StrikeThrough';
|
|
3060
3072
|
const TreeItem = 'TreeItem';
|
|
3061
3073
|
const Viewlet = 'Viewlet';
|
|
@@ -3071,28 +3083,37 @@ const HandleWheel = 9;
|
|
|
3071
3083
|
const HandleClickAction = 10;
|
|
3072
3084
|
const HandleClickSourceControlButton = 11;
|
|
3073
3085
|
|
|
3074
|
-
const
|
|
3086
|
+
const getIconVirtualDom = (icon, type = Div) => {
|
|
3087
|
+
return {
|
|
3088
|
+
childCount: 0,
|
|
3089
|
+
className: `MaskIcon MaskIcon${icon}`,
|
|
3090
|
+
role: None$1,
|
|
3091
|
+
type
|
|
3092
|
+
};
|
|
3093
|
+
};
|
|
3094
|
+
|
|
3095
|
+
const getSourceControlButtonVirtualDom = (button, disabled) => {
|
|
3075
3096
|
const {
|
|
3097
|
+
icon,
|
|
3076
3098
|
id,
|
|
3077
3099
|
label
|
|
3078
3100
|
} = button;
|
|
3079
3101
|
return [{
|
|
3080
3102
|
childCount: 1,
|
|
3081
|
-
className: SplitButton,
|
|
3103
|
+
className: mergeClassNames(SplitButton, disabled ? SplitButtonDisabled : ''),
|
|
3082
3104
|
type: Div
|
|
3083
3105
|
}, {
|
|
3084
|
-
|
|
3085
|
-
|
|
3106
|
+
ariaDisabled: disabled,
|
|
3107
|
+
childCount: 2,
|
|
3108
|
+
className: mergeClassNames(SplitButtonContent, disabled ? SplitButtonContentDisabled : ''),
|
|
3086
3109
|
name: label,
|
|
3087
|
-
|
|
3088
|
-
tabIndex: 0,
|
|
3110
|
+
tabIndex: disabled ? -1 : 0,
|
|
3089
3111
|
title: id,
|
|
3090
|
-
type: Div
|
|
3091
|
-
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
|
-
|
|
3095
|
-
return buttons.flatMap(getSourceControlButtonVirtualDom);
|
|
3112
|
+
type: Div,
|
|
3113
|
+
...(!disabled && {
|
|
3114
|
+
onClick: HandleClickSourceControlButton
|
|
3115
|
+
})
|
|
3116
|
+
}, getIconVirtualDom(icon, Span), text(label)];
|
|
3096
3117
|
};
|
|
3097
3118
|
|
|
3098
3119
|
const getSourceControlInputDom = (inputPlaceholder, inputMessage) => {
|
|
@@ -3141,15 +3162,6 @@ const getBadgeVirtualDom = count => {
|
|
|
3141
3162
|
return [parentNode, text(String(count))];
|
|
3142
3163
|
};
|
|
3143
3164
|
|
|
3144
|
-
const getIconVirtualDom = (icon, type = Div) => {
|
|
3145
|
-
return {
|
|
3146
|
-
childCount: 0,
|
|
3147
|
-
className: `MaskIcon MaskIcon${icon}`,
|
|
3148
|
-
role: None$1,
|
|
3149
|
-
type
|
|
3150
|
-
};
|
|
3151
|
-
};
|
|
3152
|
-
|
|
3153
3165
|
const getButtonVirtualDom = button => {
|
|
3154
3166
|
const {
|
|
3155
3167
|
icon,
|
|
@@ -3328,9 +3340,14 @@ const getSourceControlListVirtualDom = items => {
|
|
|
3328
3340
|
};
|
|
3329
3341
|
|
|
3330
3342
|
const className = mergeClassNames(Viewlet, SourceControl);
|
|
3331
|
-
const getSourceControlVirtualDom = (items,
|
|
3343
|
+
const getSourceControlVirtualDom = (items, buttons, disabled, placeholder, inputMessage, message) => {
|
|
3344
|
+
const content = message ? [{
|
|
3345
|
+
childCount: 1,
|
|
3346
|
+
className: Message,
|
|
3347
|
+
type: Div
|
|
3348
|
+
}, text(message)] : [...getSourceControlHeaderVirtualDom(placeholder, inputMessage), ...buttons.flatMap(button => getSourceControlButtonVirtualDom(button, disabled)), ...getSourceControlListVirtualDom(items)];
|
|
3332
3349
|
const dom = [{
|
|
3333
|
-
childCount: 2 +
|
|
3350
|
+
childCount: message ? 1 : 2 + buttons.length,
|
|
3334
3351
|
className: className,
|
|
3335
3352
|
onContextMenu: HandleContextMenu,
|
|
3336
3353
|
onMouseOver: HandleMouseOver,
|
|
@@ -3338,23 +3355,27 @@ const getSourceControlVirtualDom = (items, sourceControlButtons, inputPlaceholde
|
|
|
3338
3355
|
onWheel: HandleWheel,
|
|
3339
3356
|
tabIndex: 0,
|
|
3340
3357
|
type: Div
|
|
3341
|
-
}, ...
|
|
3358
|
+
}, ...content];
|
|
3342
3359
|
return dom;
|
|
3343
3360
|
};
|
|
3344
3361
|
|
|
3345
3362
|
const renderItems = (oldState, newState) => {
|
|
3346
3363
|
const {
|
|
3364
|
+
enabledProviderIds,
|
|
3347
3365
|
id,
|
|
3348
3366
|
initial,
|
|
3349
3367
|
inputMessage,
|
|
3350
3368
|
inputPlaceholder,
|
|
3369
|
+
items,
|
|
3370
|
+
platform,
|
|
3351
3371
|
sourceControlButtons,
|
|
3352
3372
|
visibleItems
|
|
3353
3373
|
} = newState;
|
|
3354
3374
|
if (initial) {
|
|
3355
3375
|
return [SetDom2, id, []];
|
|
3356
3376
|
}
|
|
3357
|
-
const
|
|
3377
|
+
const unavailableMessage = platform === Web && enabledProviderIds.length === 0 ? noSourceControlProvidersAvailableForWeb() : '';
|
|
3378
|
+
const dom = getSourceControlVirtualDom(visibleItems, sourceControlButtons, items.length === 0, inputPlaceholder, inputMessage, unavailableMessage);
|
|
3358
3379
|
return [SetDom2, id, dom];
|
|
3359
3380
|
};
|
|
3360
3381
|
|
|
@@ -3423,6 +3444,15 @@ const ListFlat = 'ListFlat';
|
|
|
3423
3444
|
const Refresh = 'Refresh';
|
|
3424
3445
|
|
|
3425
3446
|
const getActions = state => {
|
|
3447
|
+
if (state.platform === Web && state.enabledProviderIds.length === 0) {
|
|
3448
|
+
return [{
|
|
3449
|
+
command: '',
|
|
3450
|
+
icon: Refresh,
|
|
3451
|
+
id: refresh$1(),
|
|
3452
|
+
name: Refresh$1,
|
|
3453
|
+
type: Button
|
|
3454
|
+
}];
|
|
3455
|
+
}
|
|
3426
3456
|
const actions = [{
|
|
3427
3457
|
command: '',
|
|
3428
3458
|
icon: ListFlat,
|