@opensumi/ide-file-scheme 3.1.3-next-1719216888.0 → 3.1.3-next-1719220003.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.
@@ -1 +1 @@
1
- {"version":3,"file":"external.view.d.ts","sourceRoot":"","sources":["../../src/browser/external.view.tsx"],"names":[],"mappings":"AAKA,OAAO,EACL,oBAAoB,EAGrB,MAAM,kCAAkC,CAAC;AAI1C,eAAO,MAAM,qBAAqB,EAAE,oBAAoB,CAAC,IAAI,CAiC5D,CAAC"}
1
+ {"version":3,"file":"external.view.d.ts","sourceRoot":"","sources":["../../src/browser/external.view.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAIxE,eAAO,MAAM,qBAAqB,EAAE,oBAAoB,CAAC,IAAI,CAa5D,CAAC"}
@@ -6,35 +6,14 @@ const react_1 = tslib_1.__importDefault(require("react"));
6
6
  const di_1 = require("@opensumi/di");
7
7
  const ide_core_browser_1 = require("@opensumi/ide-core-browser");
8
8
  const electron_1 = require("@opensumi/ide-core-common/lib/electron");
9
- const browser_1 = require("@opensumi/ide-editor/lib/browser");
10
- const prevent_view_1 = require("./prevent.view");
9
+ const style_module_less_1 = tslib_1.__importDefault(require("./style.module.less"));
11
10
  const BinaryEditorComponent = (props) => {
12
11
  const srcPath = props.resource.uri.codeUri.fsPath;
13
12
  const injector = (0, ide_core_browser_1.useInjectable)(di_1.INJECTOR_TOKEN);
14
13
  const appConfig = (0, ide_core_browser_1.useInjectable)(ide_core_browser_1.AppConfig);
15
- const editorService = (0, ide_core_browser_1.useInjectable)(browser_1.WorkbenchEditorService);
16
- const eventBus = (0, ide_core_browser_1.useInjectable)(ide_core_browser_1.IEventBus);
17
- const handleClick = () => {
18
- const current = editorService.currentResource;
19
- if (!current) {
20
- return;
21
- }
22
- current.metadata = Object.assign(Object.assign({}, current.metadata), { skipPreventBinary: true });
23
- eventBus.fire(new browser_1.ResourceOpenTypeChangedEvent(current.uri));
24
- };
25
- const actions = [
26
- {
27
- label: (0, ide_core_browser_1.localize)('editor.file.prevent.stillOpen'),
28
- onClick: () => handleClick(),
29
- },
30
- ];
31
- if (appConfig.isElectronRenderer) {
32
- actions.push({
33
- label: (0, ide_core_browser_1.localize)('editor.openExternal'),
34
- onClick: () => injector.get(electron_1.IElectronMainUIService).openPath(srcPath),
35
- });
36
- }
37
- return react_1.default.createElement(prevent_view_1.PreventComponent, { description: (0, ide_core_browser_1.localize)('editor.cannotOpenBinary'), actions: actions });
14
+ return (react_1.default.createElement("div", { className: style_module_less_1.default.external },
15
+ (0, ide_core_browser_1.localize)('editor.cannotOpenBinary'),
16
+ appConfig.isElectronRenderer ? (react_1.default.createElement("a", { onClick: () => injector.get(electron_1.IElectronMainUIService).openPath(srcPath) }, (0, ide_core_browser_1.localize)('editor.openExternal'))) : null));
38
17
  };
39
18
  exports.BinaryEditorComponent = BinaryEditorComponent;
40
19
  //# sourceMappingURL=external.view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"external.view.js","sourceRoot":"","sources":["../../src/browser/external.view.tsx"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAE1B,qCAAwD;AACxD,iEAA2F;AAC3F,qEAAgF;AAChF,8DAI0C;AAE1C,iDAAkD;AAE3C,MAAM,qBAAqB,GAA+B,CAAC,KAAK,EAAE,EAAE;IACzE,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;IAClD,MAAM,QAAQ,GAAa,IAAA,gCAAa,EAAC,mBAAc,CAAC,CAAC;IACzD,MAAM,SAAS,GAAc,IAAA,gCAAa,EAAC,4BAAS,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,IAAA,gCAAa,EAAyB,gCAAsB,CAAC,CAAC;IACpF,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAY,4BAAS,CAAC,CAAC;IAErD,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,MAAM,OAAO,GAAG,aAAa,CAAC,eAAe,CAAC;QAE9C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QAED,OAAO,CAAC,QAAQ,mCAAQ,OAAO,CAAC,QAAQ,KAAE,iBAAiB,EAAE,IAAI,GAAE,CAAC;QACpE,QAAQ,CAAC,IAAI,CAAC,IAAI,sCAA4B,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG;QACd;YACE,KAAK,EAAE,IAAA,2BAAQ,EAAC,+BAA+B,CAAC;YAChD,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;SAC7B;KACF,CAAC;IAEF,IAAI,SAAS,CAAC,kBAAkB,EAAE;QAChC,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,IAAA,2BAAQ,EAAC,qBAAqB,CAAC;YACtC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,iCAAsB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;SACtE,CAAC,CAAC;KACJ;IAED,OAAO,8BAAC,+BAAgB,IAAC,WAAW,EAAE,IAAA,2BAAQ,EAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC;AAClG,CAAC,CAAC;AAjCW,QAAA,qBAAqB,yBAiChC"}
1
+ {"version":3,"file":"external.view.js","sourceRoot":"","sources":["../../src/browser/external.view.tsx"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAE1B,qCAAwD;AACxD,iEAAgF;AAChF,qEAAgF;AAGhF,oFAAyC;AAElC,MAAM,qBAAqB,GAA+B,CAAC,KAAK,EAAE,EAAE;IACzE,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;IAClD,MAAM,QAAQ,GAAa,IAAA,gCAAa,EAAC,mBAAc,CAAC,CAAC;IACzD,MAAM,SAAS,GAAc,IAAA,gCAAa,EAAC,4BAAS,CAAC,CAAC;IAEtD,OAAO,CACL,uCAAK,SAAS,EAAE,2BAAM,CAAC,QAAQ;QAC5B,IAAA,2BAAQ,EAAC,yBAAyB,CAAC;QACnC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAC9B,qCAAG,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,iCAAsB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAG,IAAA,2BAAQ,EAAC,qBAAqB,CAAC,CAAK,CAChH,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAC;AACJ,CAAC,CAAC;AAbW,QAAA,qBAAqB,yBAahC"}
@@ -1 +1 @@
1
- {"version":3,"file":"file-scheme.contribution.d.ts","sourceRoot":"","sources":["../../src/browser/file-scheme.contribution.ts"],"names":[],"mappings":"AAGA,OAAO,EAA8B,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EAEvB,mCAAmC,EACpC,MAAM,kCAAkC,CAAC;AAqB1C,qBACa,oCAAqC,YAAW,yBAAyB;IAEpF,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAA6B;IAGxE,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAA+B;IAG5E,OAAO,CAAC,QAAQ,CAAC,wCAAwC,CAA2C;IAGpG,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAiC;IAG1E,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAiC;IAEhF,gBAAgB,CAAC,eAAe,EAAE,eAAe;IAKjD,0CAA0C,CAAC,QAAQ,EAAE,mCAAmC;CAOzF;AAED,qBACa,qCAAsC,YAAW,yBAAyB;IAErF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IAGvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAE/C,OAAO,CAAC,cAAc,CAAoD;;IAU1E,uBAAuB,CAAC,uBAAuB,EAAE,uBAAuB;YAuG1D,WAAW;YAYX,eAAe;CAQ9B"}
1
+ {"version":3,"file":"file-scheme.contribution.d.ts","sourceRoot":"","sources":["../../src/browser/file-scheme.contribution.ts"],"names":[],"mappings":"AAGA,OAAO,EAA8B,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EAEvB,mCAAmC,EACpC,MAAM,kCAAkC,CAAC;AAqB1C,qBACa,oCAAqC,YAAW,yBAAyB;IAEpF,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAA6B;IAGxE,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAA+B;IAG5E,OAAO,CAAC,QAAQ,CAAC,wCAAwC,CAA2C;IAGpG,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAiC;IAG1E,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAiC;IAEhF,gBAAgB,CAAC,eAAe,EAAE,eAAe;IAKjD,0CAA0C,CAAC,QAAQ,EAAE,mCAAmC;CAOzF;AAED,qBACa,qCAAsC,YAAW,yBAAyB;IAErF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IAGvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAE/C,OAAO,CAAC,cAAc,CAAoD;;IAU1E,uBAAuB,CAAC,uBAAuB,EAAE,uBAAuB;YA4F1D,WAAW;YAYX,eAAe;CAQ9B"}
@@ -94,45 +94,34 @@ let FileSystemEditorComponentContribution = class FileSystemEditorComponentContr
94
94
  });
95
95
  editorComponentRegistry.registerEditorComponentResolver((scheme) => (scheme === ide_core_browser_1.Schemes.file || this.fileServiceClient.handlesScheme(scheme) ? 10 : -1), async (resource, results) => {
96
96
  const type = await this.getFileType(resource.uri.toString());
97
- switch (type) {
98
- case 'image': {
97
+ if (type === 'image') {
98
+ results.push({
99
+ type: browser_1.EditorOpenType.component,
100
+ componentId: IMAGE_PREVIEW_COMPONENT_ID,
101
+ });
102
+ }
103
+ if (type === 'video') {
104
+ results.push({
105
+ type: browser_1.EditorOpenType.component,
106
+ componentId: VIDEO_PREVIEW_COMPONENT_ID,
107
+ });
108
+ }
109
+ if (type === 'text') {
110
+ const { metadata, uri } = resource;
111
+ const stat = await this.fileServiceClient.getFileStat(uri.toString());
112
+ await this.preference.ready;
113
+ const maxSize = this.preference.get('editor.largeFile') || 4 * 1024 * 1024 * 1024;
114
+ if (stat && (stat.size || 0) > maxSize && !(metadata || {}).noPrevent) {
99
115
  results.push({
100
116
  type: browser_1.EditorOpenType.component,
101
- componentId: IMAGE_PREVIEW_COMPONENT_ID,
117
+ componentId: LARGE_FILE_PREVENT_COMPONENT_ID,
102
118
  });
103
- break;
104
119
  }
105
- case 'video': {
120
+ else {
106
121
  results.push({
107
- type: browser_1.EditorOpenType.component,
108
- componentId: VIDEO_PREVIEW_COMPONENT_ID,
122
+ type: browser_1.EditorOpenType.code,
123
+ title: (0, ide_core_browser_1.localize)('editorOpenType.code'),
109
124
  });
110
- break;
111
- }
112
- case 'binary':
113
- case 'text': {
114
- const { metadata: _metadata, uri } = resource;
115
- const metadata = _metadata || {};
116
- // 二进制文件不支持打开
117
- if (type === 'binary' && !metadata.skipPreventBinary) {
118
- break;
119
- }
120
- const stat = await this.fileServiceClient.getFileStat(uri.toString());
121
- await this.preference.ready;
122
- const maxSize = this.preference.getValid('editor.largeFile', 4 * 1024 * 1024 * 1024);
123
- if (stat && (stat.size || 0) > maxSize && !metadata.skipPreventTooLarge) {
124
- results.push({
125
- type: browser_1.EditorOpenType.component,
126
- componentId: LARGE_FILE_PREVENT_COMPONENT_ID,
127
- });
128
- }
129
- else {
130
- results.push({
131
- type: browser_1.EditorOpenType.code,
132
- title: (0, ide_core_browser_1.localize)('editorOpenType.code'),
133
- });
134
- }
135
- break;
136
125
  }
137
126
  }
138
127
  });
@@ -1 +1 @@
1
- {"version":3,"file":"file-scheme.contribution.js","sourceRoot":"","sources":["../../src/browser/file-scheme.contribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-scheme.contribution.js","sourceRoot":"","sources":["../../src/browser/file-scheme.contribution.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,3 @@
1
1
  import React from 'react';
2
- interface PreventComponentProps {
3
- description: string;
4
- actions: {
5
- label: string;
6
- onClick: () => void;
7
- }[];
8
- }
9
- export declare const PreventComponent: React.FC<PreventComponentProps>;
10
2
  export declare const LargeFilePrevent: () => React.JSX.Element;
11
- export {};
12
3
  //# sourceMappingURL=prevent.view.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prevent.view.d.ts","sourceRoot":"","sources":["../../src/browser/prevent.view.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,UAAU,qBAAqB;IAC7B,WAAW,EAAE,MAAM,CAAC;IAEpB,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,IAAI,CAAC;KACrB,EAAE,CAAC;CACL;AACD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAa5D,CAAC;AAEF,eAAO,MAAM,gBAAgB,yBA0B5B,CAAC"}
1
+ {"version":3,"file":"prevent.view.d.ts","sourceRoot":"","sources":["../../src/browser/prevent.view.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,eAAO,MAAM,gBAAgB,yBAqB5B,CAAC"}
@@ -1,19 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LargeFilePrevent = exports.PreventComponent = void 0;
3
+ exports.LargeFilePrevent = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const classnames_1 = tslib_1.__importDefault(require("classnames"));
6
5
  const react_1 = tslib_1.__importDefault(require("react"));
7
6
  const ide_core_browser_1 = require("@opensumi/ide-core-browser");
8
- const components_1 = require("@opensumi/ide-core-browser/lib/components");
9
7
  const ide_editor_1 = require("@opensumi/ide-editor");
10
8
  const types_1 = require("@opensumi/ide-editor/lib/browser/types");
11
9
  const style_module_less_1 = tslib_1.__importDefault(require("./style.module.less"));
12
- const PreventComponent = (props) => (react_1.default.createElement("div", { className: style_module_less_1.default['error-page'] },
13
- react_1.default.createElement("div", { className: (0, classnames_1.default)(style_module_less_1.default.icon, (0, ide_core_browser_1.getExternalIcon)('warning')) }),
14
- react_1.default.createElement("div", { className: style_module_less_1.default['description'] }, props.description),
15
- react_1.default.createElement("div", { className: style_module_less_1.default['actions-wrapper'] }, props.actions.map((action, index) => (react_1.default.createElement(components_1.Button, { key: index, onClick: () => action.onClick(), className: style_module_less_1.default['action-button'] }, action.label))))));
16
- exports.PreventComponent = PreventComponent;
17
10
  const LargeFilePrevent = () => {
18
11
  const editorService = (0, ide_core_browser_1.useInjectable)(ide_editor_1.WorkbenchEditorService);
19
12
  const eventBus = (0, ide_core_browser_1.useInjectable)(ide_core_browser_1.IEventBus);
@@ -22,15 +15,12 @@ const LargeFilePrevent = () => {
22
15
  if (!current) {
23
16
  return;
24
17
  }
25
- current.metadata = Object.assign(Object.assign({}, current.metadata), { skipPreventTooLarge: true });
18
+ current.metadata = { noPrevent: true };
26
19
  eventBus.fire(new types_1.ResourceOpenTypeChangedEvent(current.uri));
27
20
  };
28
- return (react_1.default.createElement(exports.PreventComponent, { description: (0, ide_core_browser_1.localize)('editor.largeFile.prevent'), actions: [
29
- {
30
- label: (0, ide_core_browser_1.localize)('editor.file.prevent.stillOpen'),
31
- onClick: () => handleClick(),
32
- },
33
- ] }));
21
+ return (react_1.default.createElement("div", { className: style_module_less_1.default.font },
22
+ (0, ide_core_browser_1.localize)('editor.largeFile.prevent'),
23
+ react_1.default.createElement("a", { onClick: () => handleClick() }, (0, ide_core_browser_1.localize)('editor.largeFile.prevent.stillOpen'))));
34
24
  };
35
25
  exports.LargeFilePrevent = LargeFilePrevent;
36
26
  //# sourceMappingURL=prevent.view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prevent.view.js","sourceRoot":"","sources":["../../src/browser/prevent.view.tsx"],"names":[],"mappings":";;;;AAAA,oEAA6B;AAC7B,0DAA0B;AAE1B,iEAAiG;AACjG,0EAAmE;AACnE,qDAA8D;AAC9D,kEAAsF;AAEtF,oFAAyC;AAUlC,MAAM,gBAAgB,GAAoC,CAAC,KAA4B,EAAE,EAAE,CAAC,CACjG,uCAAK,SAAS,EAAE,2BAAM,CAAC,YAAY,CAAC;IAClC,uCAAK,SAAS,EAAE,IAAA,oBAAG,EAAC,2BAAM,CAAC,IAAI,EAAE,IAAA,kCAAe,EAAC,SAAS,CAAC,CAAC,GAAQ;IACpE,uCAAK,SAAS,EAAE,2BAAM,CAAC,aAAa,CAAC,IAAG,KAAK,CAAC,WAAW,CAAO;IAEhE,uCAAK,SAAS,EAAE,2BAAM,CAAC,iBAAiB,CAAC,IACtC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CACpC,8BAAC,mBAAM,IAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,2BAAM,CAAC,eAAe,CAAC,IACpF,MAAM,CAAC,KAAK,CACN,CACV,CAAC,CACE,CACF,CACP,CAAC;AAbW,QAAA,gBAAgB,oBAa3B;AAEK,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,aAAa,GAAG,IAAA,gCAAa,EAAyB,mCAAsB,CAAC,CAAC;IACpF,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAY,4BAAS,CAAC,CAAC;IAErD,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,MAAM,OAAO,GAAG,aAAa,CAAC,eAAe,CAAC;QAE9C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QAED,OAAO,CAAC,QAAQ,mCAAQ,OAAO,CAAC,QAAQ,KAAE,mBAAmB,EAAE,IAAI,GAAE,CAAC;QACtE,QAAQ,CAAC,IAAI,CAAC,IAAI,oCAA4B,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC;IAEF,OAAO,CACL,8BAAC,wBAAgB,IACf,WAAW,EAAE,IAAA,2BAAQ,EAAC,0BAA0B,CAAC,EACjD,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,IAAA,2BAAQ,EAAC,+BAA+B,CAAC;gBAChD,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;aAC7B;SACF,GACD,CACH,CAAC;AACJ,CAAC,CAAC;AA1BW,QAAA,gBAAgB,oBA0B3B"}
1
+ {"version":3,"file":"prevent.view.js","sourceRoot":"","sources":["../../src/browser/prevent.view.tsx"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAE1B,iEAAgF;AAChF,qDAA8D;AAC9D,kEAAsF;AAEtF,oFAAyC;AAElC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,aAAa,GAAG,IAAA,gCAAa,EAAyB,mCAAsB,CAAC,CAAC;IACpF,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAY,4BAAS,CAAC,CAAC;IAErD,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,MAAM,OAAO,GAAG,aAAa,CAAC,eAAe,CAAC;QAE9C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QAED,OAAO,CAAC,QAAQ,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QACvC,QAAQ,CAAC,IAAI,CAAC,IAAI,oCAA4B,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC;IAEF,OAAO,CACL,uCAAK,SAAS,EAAE,2BAAM,CAAC,IAAI;QACxB,IAAA,2BAAQ,EAAC,0BAA0B,CAAC;QACrC,qCAAG,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,IAAG,IAAA,2BAAQ,EAAC,oCAAoC,CAAC,CAAK,CACjF,CACP,CAAC;AACJ,CAAC,CAAC;AArBW,QAAA,gBAAgB,oBAqB3B"}
@@ -50,42 +50,11 @@
50
50
  height: 100%;
51
51
  }
52
52
 
53
- .error-page {
54
- display: flex;
55
- justify-content: center;
56
- align-items: center;
57
-
58
- flex-direction: column;
59
-
60
- font-size: 12px;
53
+ .external {
61
54
  padding: 10px;
55
+ }
62
56
 
63
- height: 100%;
64
- width: 100%;
65
-
66
- user-select: none;
67
-
68
- & .icon {
69
- font-size: 40px !important;
70
- color: var(--kt-modalWarningIcon-foreground);
71
- }
72
-
73
- .description {
74
- width: 100%;
75
- margin-top: 4px;
76
-
77
- text-align: center;
78
-
79
- font-size: 14px;
80
- }
81
-
82
- & .action-wrapper {
83
- display: flex;
84
- width: 100%;
85
- }
86
-
87
- & .action-button {
88
- margin-top: 20px;
89
- font-size: 13px;
90
- }
57
+ .font {
58
+ padding: 4px;
59
+ font-size: 12px;
91
60
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensumi/ide-file-scheme",
3
- "version": "3.1.3-next-1719216888.0",
3
+ "version": "3.1.3-next-1719220003.0",
4
4
  "files": [
5
5
  "lib",
6
6
  "src"
@@ -17,16 +17,16 @@
17
17
  "url": "git@github.com:opensumi/core.git"
18
18
  },
19
19
  "dependencies": {
20
- "@opensumi/ide-core-common": "3.1.3-next-1719216888.0",
21
- "@opensumi/ide-core-node": "3.1.3-next-1719216888.0",
22
- "@opensumi/ide-file-service": "3.1.3-next-1719216888.0"
20
+ "@opensumi/ide-core-common": "3.1.3-next-1719220003.0",
21
+ "@opensumi/ide-core-node": "3.1.3-next-1719220003.0",
22
+ "@opensumi/ide-file-service": "3.1.3-next-1719220003.0"
23
23
  },
24
24
  "devDependencies": {
25
- "@opensumi/ide-core-browser": "3.1.3-next-1719216888.0",
26
- "@opensumi/ide-dev-tool": "3.1.3-next-1719216888.0",
27
- "@opensumi/ide-editor": "3.1.3-next-1719216888.0",
28
- "@opensumi/ide-monaco": "3.1.3-next-1719216888.0",
29
- "@opensumi/ide-overlay": "3.1.3-next-1719216888.0"
25
+ "@opensumi/ide-core-browser": "3.1.3-next-1719220003.0",
26
+ "@opensumi/ide-dev-tool": "3.1.3-next-1719220003.0",
27
+ "@opensumi/ide-editor": "3.1.3-next-1719220003.0",
28
+ "@opensumi/ide-monaco": "3.1.3-next-1719220003.0",
29
+ "@opensumi/ide-overlay": "3.1.3-next-1719220003.0"
30
30
  },
31
- "gitHead": "2f2743b46a09761d3ad1e69502ae547bf7875670"
31
+ "gitHead": "c3c9a14fdaed45c4f60102e8eb7216a867caa366"
32
32
  }
@@ -1,47 +1,23 @@
1
1
  import React from 'react';
2
2
 
3
3
  import { INJECTOR_TOKEN, Injector } from '@opensumi/di';
4
- import { AppConfig, IEventBus, localize, useInjectable } from '@opensumi/ide-core-browser';
4
+ import { AppConfig, localize, useInjectable } from '@opensumi/ide-core-browser';
5
5
  import { IElectronMainUIService } from '@opensumi/ide-core-common/lib/electron';
6
- import {
7
- ReactEditorComponent,
8
- ResourceOpenTypeChangedEvent,
9
- WorkbenchEditorService,
10
- } from '@opensumi/ide-editor/lib/browser';
6
+ import { ReactEditorComponent } from '@opensumi/ide-editor/lib/browser';
11
7
 
12
- import { PreventComponent } from './prevent.view';
8
+ import styles from './style.module.less';
13
9
 
14
10
  export const BinaryEditorComponent: ReactEditorComponent<null> = (props) => {
15
11
  const srcPath = props.resource.uri.codeUri.fsPath;
16
12
  const injector: Injector = useInjectable(INJECTOR_TOKEN);
17
13
  const appConfig: AppConfig = useInjectable(AppConfig);
18
- const editorService = useInjectable<WorkbenchEditorService>(WorkbenchEditorService);
19
- const eventBus = useInjectable<IEventBus>(IEventBus);
20
14
 
21
- const handleClick = () => {
22
- const current = editorService.currentResource;
23
-
24
- if (!current) {
25
- return;
26
- }
27
-
28
- current.metadata = { ...current.metadata, skipPreventBinary: true };
29
- eventBus.fire(new ResourceOpenTypeChangedEvent(current.uri));
30
- };
31
-
32
- const actions = [
33
- {
34
- label: localize('editor.file.prevent.stillOpen'),
35
- onClick: () => handleClick(),
36
- },
37
- ];
38
-
39
- if (appConfig.isElectronRenderer) {
40
- actions.push({
41
- label: localize('editor.openExternal'),
42
- onClick: () => injector.get(IElectronMainUIService).openPath(srcPath),
43
- });
44
- }
45
-
46
- return <PreventComponent description={localize('editor.cannotOpenBinary')} actions={actions} />;
15
+ return (
16
+ <div className={styles.external}>
17
+ {localize('editor.cannotOpenBinary')}
18
+ {appConfig.isElectronRenderer ? (
19
+ <a onClick={() => injector.get(IElectronMainUIService).openPath(srcPath)}>{localize('editor.openExternal')}</a>
20
+ ) : null}
21
+ </div>
22
+ );
47
23
  };
@@ -120,47 +120,36 @@ export class FileSystemEditorComponentContribution implements BrowserEditorContr
120
120
  async (resource: IResource<any>, results: IEditorOpenType[]) => {
121
121
  const type = await this.getFileType(resource.uri.toString());
122
122
 
123
- switch (type) {
124
- case 'image': {
123
+ if (type === 'image') {
124
+ results.push({
125
+ type: EditorOpenType.component,
126
+ componentId: IMAGE_PREVIEW_COMPONENT_ID,
127
+ });
128
+ }
129
+
130
+ if (type === 'video') {
131
+ results.push({
132
+ type: EditorOpenType.component,
133
+ componentId: VIDEO_PREVIEW_COMPONENT_ID,
134
+ });
135
+ }
136
+
137
+ if (type === 'text') {
138
+ const { metadata, uri } = resource as { uri: URI; metadata: any };
139
+ const stat = await this.fileServiceClient.getFileStat(uri.toString());
140
+ await this.preference.ready;
141
+ const maxSize = this.preference.get<number>('editor.largeFile') || 4 * 1024 * 1024 * 1024;
142
+
143
+ if (stat && (stat.size || 0) > maxSize && !(metadata || {}).noPrevent) {
125
144
  results.push({
126
145
  type: EditorOpenType.component,
127
- componentId: IMAGE_PREVIEW_COMPONENT_ID,
146
+ componentId: LARGE_FILE_PREVENT_COMPONENT_ID,
128
147
  });
129
- break;
130
- }
131
- case 'video': {
148
+ } else {
132
149
  results.push({
133
- type: EditorOpenType.component,
134
- componentId: VIDEO_PREVIEW_COMPONENT_ID,
150
+ type: EditorOpenType.code,
151
+ title: localize('editorOpenType.code'),
135
152
  });
136
- break;
137
- }
138
- case 'binary':
139
- case 'text': {
140
- const { metadata: _metadata, uri } = resource;
141
- const metadata = _metadata || {};
142
-
143
- // 二进制文件不支持打开
144
- if (type === 'binary' && !metadata.skipPreventBinary) {
145
- break;
146
- }
147
-
148
- const stat = await this.fileServiceClient.getFileStat(uri.toString());
149
- await this.preference.ready;
150
- const maxSize = this.preference.getValid<number>('editor.largeFile', 4 * 1024 * 1024 * 1024);
151
-
152
- if (stat && (stat.size || 0) > maxSize && !metadata.skipPreventTooLarge) {
153
- results.push({
154
- type: EditorOpenType.component,
155
- componentId: LARGE_FILE_PREVENT_COMPONENT_ID,
156
- });
157
- } else {
158
- results.push({
159
- type: EditorOpenType.code,
160
- title: localize('editorOpenType.code'),
161
- });
162
- }
163
- break;
164
153
  }
165
154
  }
166
155
  },
@@ -1,36 +1,11 @@
1
- import cls from 'classnames';
2
1
  import React from 'react';
3
2
 
4
- import { IEventBus, getExternalIcon, localize, useInjectable } from '@opensumi/ide-core-browser';
5
- import { Button } from '@opensumi/ide-core-browser/lib/components';
3
+ import { IEventBus, localize, useInjectable } from '@opensumi/ide-core-browser';
6
4
  import { WorkbenchEditorService } from '@opensumi/ide-editor';
7
5
  import { ResourceOpenTypeChangedEvent } from '@opensumi/ide-editor/lib/browser/types';
8
6
 
9
7
  import styles from './style.module.less';
10
8
 
11
- interface PreventComponentProps {
12
- description: string;
13
-
14
- actions: {
15
- label: string;
16
- onClick: () => void;
17
- }[];
18
- }
19
- export const PreventComponent: React.FC<PreventComponentProps> = (props: PreventComponentProps) => (
20
- <div className={styles['error-page']}>
21
- <div className={cls(styles.icon, getExternalIcon('warning'))}></div>
22
- <div className={styles['description']}>{props.description}</div>
23
-
24
- <div className={styles['actions-wrapper']}>
25
- {props.actions.map((action, index) => (
26
- <Button key={index} onClick={() => action.onClick()} className={styles['action-button']}>
27
- {action.label}
28
- </Button>
29
- ))}
30
- </div>
31
- </div>
32
- );
33
-
34
9
  export const LargeFilePrevent = () => {
35
10
  const editorService = useInjectable<WorkbenchEditorService>(WorkbenchEditorService);
36
11
  const eventBus = useInjectable<IEventBus>(IEventBus);
@@ -42,19 +17,14 @@ export const LargeFilePrevent = () => {
42
17
  return;
43
18
  }
44
19
 
45
- current.metadata = { ...current.metadata, skipPreventTooLarge: true };
20
+ current.metadata = { noPrevent: true };
46
21
  eventBus.fire(new ResourceOpenTypeChangedEvent(current.uri));
47
22
  };
48
23
 
49
24
  return (
50
- <PreventComponent
51
- description={localize('editor.largeFile.prevent')}
52
- actions={[
53
- {
54
- label: localize('editor.file.prevent.stillOpen'),
55
- onClick: () => handleClick(),
56
- },
57
- ]}
58
- />
25
+ <div className={styles.font}>
26
+ {localize('editor.largeFile.prevent')}
27
+ <a onClick={() => handleClick()}>{localize('editor.largeFile.prevent.stillOpen')}</a>
28
+ </div>
59
29
  );
60
30
  };
@@ -50,42 +50,11 @@
50
50
  height: 100%;
51
51
  }
52
52
 
53
- .error-page {
54
- display: flex;
55
- justify-content: center;
56
- align-items: center;
57
-
58
- flex-direction: column;
59
-
60
- font-size: 12px;
53
+ .external {
61
54
  padding: 10px;
55
+ }
62
56
 
63
- height: 100%;
64
- width: 100%;
65
-
66
- user-select: none;
67
-
68
- & .icon {
69
- font-size: 40px !important;
70
- color: var(--kt-modalWarningIcon-foreground);
71
- }
72
-
73
- .description {
74
- width: 100%;
75
- margin-top: 4px;
76
-
77
- text-align: center;
78
-
79
- font-size: 14px;
80
- }
81
-
82
- & .action-wrapper {
83
- display: flex;
84
- width: 100%;
85
- }
86
-
87
- & .action-button {
88
- margin-top: 20px;
89
- font-size: 13px;
90
- }
57
+ .font {
58
+ padding: 4px;
59
+ font-size: 12px;
91
60
  }