@theia/core 1.52.0 → 1.53.0-next.18

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.
Files changed (59) hide show
  1. package/README.md +7 -7
  2. package/lib/browser/browser.d.ts +2 -0
  3. package/lib/browser/browser.d.ts.map +1 -1
  4. package/lib/browser/browser.js +6 -1
  5. package/lib/browser/browser.js.map +1 -1
  6. package/lib/browser/common-frontend-contribution.d.ts +4 -0
  7. package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
  8. package/lib/browser/common-frontend-contribution.js +98 -3
  9. package/lib/browser/common-frontend-contribution.js.map +1 -1
  10. package/lib/browser/frontend-application-module.d.ts.map +1 -1
  11. package/lib/browser/frontend-application-module.js +5 -0
  12. package/lib/browser/frontend-application-module.js.map +1 -1
  13. package/lib/browser/index.d.ts +1 -0
  14. package/lib/browser/index.d.ts.map +1 -1
  15. package/lib/browser/index.js +1 -0
  16. package/lib/browser/index.js.map +1 -1
  17. package/lib/browser/saveable-service.d.ts.map +1 -1
  18. package/lib/browser/saveable-service.js +6 -2
  19. package/lib/browser/saveable-service.js.map +1 -1
  20. package/lib/browser/saveable.d.ts +16 -1
  21. package/lib/browser/saveable.d.ts.map +1 -1
  22. package/lib/browser/saveable.js +59 -1
  23. package/lib/browser/saveable.js.map +1 -1
  24. package/lib/browser/undo-redo-handler.d.ts +22 -0
  25. package/lib/browser/undo-redo-handler.d.ts.map +1 -0
  26. package/lib/browser/undo-redo-handler.js +83 -0
  27. package/lib/browser/undo-redo-handler.js.map +1 -0
  28. package/lib/browser/widget-open-handler.d.ts +4 -1
  29. package/lib/browser/widget-open-handler.d.ts.map +1 -1
  30. package/lib/browser/widget-open-handler.js.map +1 -1
  31. package/lib/browser/widgets/index.d.ts +1 -0
  32. package/lib/browser/widgets/index.d.ts.map +1 -1
  33. package/lib/browser/widgets/index.js +1 -0
  34. package/lib/browser/widgets/index.js.map +1 -1
  35. package/lib/browser/widgets/split-widget.d.ts +45 -0
  36. package/lib/browser/widgets/split-widget.d.ts.map +1 -0
  37. package/lib/browser/widgets/split-widget.js +126 -0
  38. package/lib/browser/widgets/split-widget.js.map +1 -0
  39. package/lib/common/event.d.ts +2 -0
  40. package/lib/common/event.d.ts.map +1 -1
  41. package/lib/common/event.js +4 -0
  42. package/lib/common/event.js.map +1 -1
  43. package/lib/common/json-schema.d.ts +2 -0
  44. package/lib/common/json-schema.d.ts.map +1 -1
  45. package/package.json +4 -4
  46. package/src/browser/browser.ts +10 -1
  47. package/src/browser/common-frontend-contribution.ts +112 -3
  48. package/src/browser/frontend-application-module.ts +6 -0
  49. package/src/browser/index.ts +1 -0
  50. package/src/browser/saveable-service.ts +6 -2
  51. package/src/browser/saveable.ts +65 -1
  52. package/src/browser/style/index.css +3 -1
  53. package/src/browser/style/split-widget.css +38 -0
  54. package/src/browser/undo-redo-handler.ts +85 -0
  55. package/src/browser/widget-open-handler.ts +4 -1
  56. package/src/browser/widgets/index.ts +1 -0
  57. package/src/browser/widgets/split-widget.ts +163 -0
  58. package/src/common/event.ts +6 -0
  59. package/src/common/json-schema.ts +2 -0
@@ -3,7 +3,7 @@ import { Message } from '@phosphor/messaging';
3
3
  import { Emitter, Event } from '../common/event';
4
4
  import { MaybePromise } from '../common/types';
5
5
  import { AbstractDialog } from './dialogs';
6
- import { DisposableCollection } from '../common';
6
+ import { Disposable, DisposableCollection } from '../common';
7
7
  import { BinaryBuffer } from '../common/buffer';
8
8
  export type AutoSaveMode = 'off' | 'afterDelay' | 'onFocusChange' | 'onWindowChange';
9
9
  export interface Saveable {
@@ -57,6 +57,21 @@ export declare class DelegatingSaveable implements Saveable {
57
57
  protected toDispose: DisposableCollection;
58
58
  set delegate(delegate: Saveable);
59
59
  }
60
+ export declare class CompositeSaveable implements Saveable {
61
+ protected isDirty: boolean;
62
+ protected readonly onDirtyChangedEmitter: Emitter<void>;
63
+ protected readonly onContentChangedEmitter: Emitter<void>;
64
+ protected readonly toDispose: DisposableCollection;
65
+ protected readonly saveablesMap: Map<Saveable, Disposable>;
66
+ get dirty(): boolean;
67
+ get onDirtyChanged(): Event<void>;
68
+ get onContentChanged(): Event<void>;
69
+ save(options?: SaveOptions): Promise<void>;
70
+ get saveables(): readonly Saveable[];
71
+ add(saveable: Saveable): void;
72
+ remove(saveable: Saveable): boolean;
73
+ dispose(): void;
74
+ }
60
75
  export declare namespace Saveable {
61
76
  interface RevertOptions {
62
77
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"saveable.d.ts","sourceRoot":"","sources":["../../src/browser/saveable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"saveable.d.ts","sourceRoot":"","sources":["../../src/browser/saveable.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.ShouldSaveDialog = exports.setDirty = exports.SaveReason = exports.SaveableWidget = exports.close = exports.Saveable = exports.DelegatingSaveable = void 0;
18
+ exports.ShouldSaveDialog = exports.setDirty = exports.SaveReason = exports.SaveableWidget = exports.close = exports.Saveable = exports.CompositeSaveable = exports.DelegatingSaveable = void 0;
19
19
  const event_1 = require("../common/event");
20
20
  const keys_1 = require("./keyboard/keys");
21
21
  const dialogs_1 = require("./dialogs");
@@ -61,6 +61,64 @@ class DelegatingSaveable {
61
61
  }
62
62
  }
63
63
  exports.DelegatingSaveable = DelegatingSaveable;
64
+ class CompositeSaveable {
65
+ constructor() {
66
+ this.isDirty = false;
67
+ this.onDirtyChangedEmitter = new event_1.Emitter();
68
+ this.onContentChangedEmitter = new event_1.Emitter();
69
+ this.toDispose = new common_1.DisposableCollection(this.onDirtyChangedEmitter, this.onContentChangedEmitter);
70
+ this.saveablesMap = new Map();
71
+ }
72
+ get dirty() {
73
+ return this.isDirty;
74
+ }
75
+ get onDirtyChanged() {
76
+ return this.onDirtyChangedEmitter.event;
77
+ }
78
+ get onContentChanged() {
79
+ return this.onContentChangedEmitter.event;
80
+ }
81
+ async save(options) {
82
+ await Promise.all(this.saveables.map(saveable => saveable.save(options)));
83
+ }
84
+ get saveables() {
85
+ return Array.from(this.saveablesMap.keys());
86
+ }
87
+ add(saveable) {
88
+ if (this.saveablesMap.has(saveable)) {
89
+ return;
90
+ }
91
+ const toDispose = new common_1.DisposableCollection();
92
+ this.toDispose.push(toDispose);
93
+ this.saveablesMap.set(saveable, toDispose);
94
+ toDispose.push(common_1.Disposable.create(() => {
95
+ this.saveablesMap.delete(saveable);
96
+ }));
97
+ toDispose.push(saveable.onDirtyChanged(() => {
98
+ const wasDirty = this.isDirty;
99
+ this.isDirty = this.saveables.some(s => s.dirty);
100
+ if (this.isDirty !== wasDirty) {
101
+ this.onDirtyChangedEmitter.fire();
102
+ }
103
+ }));
104
+ toDispose.push(saveable.onContentChanged(() => {
105
+ this.onContentChangedEmitter.fire();
106
+ }));
107
+ if (saveable.dirty && !this.isDirty) {
108
+ this.isDirty = true;
109
+ this.onDirtyChangedEmitter.fire();
110
+ }
111
+ }
112
+ remove(saveable) {
113
+ const toDispose = this.saveablesMap.get(saveable);
114
+ toDispose === null || toDispose === void 0 ? void 0 : toDispose.dispose();
115
+ return !!toDispose;
116
+ }
117
+ dispose() {
118
+ this.toDispose.dispose();
119
+ }
120
+ }
121
+ exports.CompositeSaveable = CompositeSaveable;
64
122
  var Saveable;
65
123
  (function (Saveable) {
66
124
  let Snapshot;
@@ -1 +1 @@
1
- {"version":3,"file":"saveable.js","sourceRoot":"","sources":["../../src/browser/saveable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"saveable.js","sourceRoot":"","sources":["../../src/browser/saveable.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAIhF,2CAAiD;AAEjD,0CAAsC;AACtC,uCAA2C;AAC3C,uCAAoC;AACpC,sCAAuE;AA2CvE,MAAa,kBAAkB;IAA/B;QACI,UAAK,GAAG,KAAK,CAAC;QACK,0BAAqB,GAAG,IAAI,eAAO,EAAQ,CAAC;QAC5C,4BAAuB,GAAG,IAAI,eAAO,EAAQ,CAAC;QAoBvD,cAAS,GAAG,IAAI,6BAAoB,EAAE,CAAC;IAuBrD,CAAC;IAzCG,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;IAC5C,CAAC;IAED,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAqB;;QAC5B,MAAM,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,IAAI,CAAC,OAAO,CAAC,CAAA,CAAC;IACxC,CAAC;IAUD,IAAI,QAAQ,CAAC,QAAkB;;QAC3B,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,6BAAoB,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE;YAC7C,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC5B,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,EAAE;YAC/C,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC5B,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAA,QAAQ,CAAC,MAAM,0CAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,MAAA,QAAQ,CAAC,cAAc,0CAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa,GAAG,MAAA,QAAQ,CAAC,aAAa,0CAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,GAAG,MAAA,QAAQ,CAAC,SAAS,0CAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;CAEJ;AA9CD,gDA8CC;AAED,MAAa,iBAAiB;IAA9B;QACc,YAAO,GAAG,KAAK,CAAC;QACP,0BAAqB,GAAG,IAAI,eAAO,EAAQ,CAAC;QAC5C,4BAAuB,GAAG,IAAI,eAAO,EAAQ,CAAC;QAC9C,cAAS,GAAG,IAAI,6BAAoB,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC/F,iBAAY,GAAG,IAAI,GAAG,EAAwB,CAAC;IAyDtE,CAAC;IAvDG,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;IAC5C,CAAC;IAED,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAqB;QAC5B,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,SAAS;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,GAAG,CAAC,QAAkB;QAClB,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,OAAO;QACX,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,6BAAoB,EAAE,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC3C,SAAS,CAAC,IAAI,CAAC,mBAAU,CAAC,MAAM,CAAC,GAAG,EAAE;YAClC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC,CAAC;QACJ,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC5B,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;YACtC,CAAC;QACL,CAAC,CAAC,CAAC,CAAC;QACJ,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,EAAE;YAC1C,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;QACtC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,QAAkB;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,EAAE,CAAC;QACrB,OAAO,CAAC,CAAC,SAAS,CAAC;IACvB,CAAC;IAED,OAAO;QACH,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ;AA9DD,8CA8DC;AAED,IAAiB,QAAQ,CA2ExB;AA3ED,WAAiB,QAAQ;IAcrB,IAAiB,QAAQ,CAIxB;IAJD,WAAiB,QAAQ;QACrB,SAAgB,IAAI,CAAC,QAAkB;;YACnC,OAAO,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAA,QAAQ,CAAC,IAAI,EAAE,mCAAI,SAAS,CAAC,CAAC;QACjF,CAAC;QAFe,aAAI,OAEnB,CAAA;IACL,CAAC,EAJgB,QAAQ,GAAR,iBAAQ,KAAR,iBAAQ,QAIxB;IACD,SAAgB,QAAQ,CAAC,GAAY;QACjC,OAAO,IAAA,iBAAQ,EAAiB,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAFe,iBAAQ,WAEvB,CAAA;IACD,SAAgB,EAAE,CAAC,GAAY;QAC3B,OAAO,IAAA,iBAAQ,EAAC,GAAG,CAAC,IAAI,OAAO,IAAI,GAAG,IAAI,gBAAgB,IAAI,GAAG,CAAC;IACtE,CAAC;IAFe,WAAE,KAEjB,CAAA;IACD,SAAgB,GAAG,CAAC,GAAY;QAC5B,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YACV,OAAO,GAAG,CAAC;QACf,CAAC;QACD,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAChB,OAAO,GAAG,CAAC,QAAQ,CAAC;QACxB,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IARe,YAAG,MAQlB,CAAA;IACD,SAAgB,QAAQ,CAAC,GAAY;QACjC,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC7B,OAAO,QAAQ,CAAC;QACpB,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IANe,iBAAQ,WAMvB,CAAA;IACD,SAAgB,OAAO,CAAC,GAAY;QAChC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAFe,gBAAO,UAEtB,CAAA;IACM,KAAK,UAAU,IAAI,CAAC,GAAY,EAAE,OAAqB;QAC1D,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IALqB,aAAI,OAKzB,CAAA;IAEM,KAAK,UAAU,sBAAsB,CAAC,OAAyB,EAAE,MAAgB;;QACpF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,EAAE,CAAC;gBAClB,IAAI,CAAC,8BAA8B,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;oBAClD,SAAS;gBACb,CAAC;gBACD,MAAM,eAAe,GAAG,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBAClE,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC,CAAC,uBAAuB;oBACxD,OAAO,SAAS,CAAC;gBACrB,CAAC;qBAAM,IAAI,eAAe,EAAE,CAAC;oBACzB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC1B,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAA,MAAA,QAAQ,CAAC,MAAM,wDAAI,CAAA,CAAC;gBAC9B,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAlBqB,+BAAsB,yBAkB3C,CAAA;IAED,SAAgB,8BAA8B,CAAC,MAAc,EAAE,MAAgB;QAC3E,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,CAAC,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,KAAK,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC;IACvH,CAAC;IAHe,uCAA8B,iCAG7C,CAAA;AACL,CAAC,EA3EgB,QAAQ,wBAAR,QAAQ,QA2ExB;AAUY,QAAA,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAWrC,IAAiB,cAAc,CAoB9B;AApBD,WAAiB,cAAc;IAC3B,SAAgB,EAAE,CAAC,MAA0B;QACzC,OAAO,CAAC,CAAC,MAAM,IAAI,oBAAoB,IAAI,MAAM,CAAC;IACtD,CAAC;IAFe,iBAAE,KAEjB,CAAA;IACD,SAAgB,QAAQ,CAAmB,OAAoB;QAC3D,OAAO,GAAG,CAAI,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAFe,uBAAQ,WAEvB,CAAA;IACD,QAAe,CAAC,CAAC,GAAG,CAChB,OAAoB,EACpB,SAAiC,GAAG,EAAE,CAAC,IAAI;QAE3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9C,MAAM,MAAM,CAAC;YACjB,CAAC;QACL,CAAC;IACL,CAAC;IATgB,kBAAG,MASnB,CAAA;AAIL,CAAC,EApBgB,cAAc,8BAAd,cAAc,QAoB9B;AAkBA,CAAC;AAEF,IAAY,UAIX;AAJD,WAAY,UAAU;IAClB,+CAAU,CAAA;IACV,uDAAc,CAAA;IACd,yDAAe,CAAA;AACnB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAED,WAAiB,UAAU;IACvB,SAAgB,QAAQ,CAAC,MAAe;QACpC,OAAO,MAAM,KAAK,UAAU,CAAC,MAAM,CAAC;IACxC,CAAC;IAFe,mBAAQ,WAEvB,CAAA;AACL,CAAC,EAJgB,UAAU,0BAAV,UAAU,QAI1B;AAaD;;GAEG;AACH,MAAM,WAAW,GAAG,iBAAiB,CAAC;AACtC,SAAgB,QAAQ,CAAC,MAAc,EAAE,KAAc;IACnD,MAAM,UAAU,GAAG,IAAI,WAAW,EAAE,CAAC;IACrC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACxE,IAAI,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,UAAU,CAAC;IACzC,CAAC;AACL,CAAC;AAND,4BAMC;AAED,MAAa,gBAAiB,SAAQ,wBAAuB;IAMzD,YAAY,MAAc;QACtB,KAAK,CAAC;YACF,KAAK,EAAE,SAAG,CAAC,iBAAiB,CAAC,kDAAkD,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;SAC/H,EAAE;YACC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC;SACvD,CAAC,CAAC;QATG,eAAU,GAAG,IAAI,CAAC;QAWxB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACjE,WAAW,CAAC,WAAW,GAAG,SAAG,CAAC,iBAAiB,CAAC,mDAAmD,CAAC,CAAC;QACrG,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,gEAAgE,CAAC,CAAC;QACpG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClD,IAAI,CAAC,kBAAkB,CAAC,SAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,CAAC;IAES,oBAAoB;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,SAAG,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAClC,OAAO,MAAM,CAAC;IAClB,CAAC;IAEkB,aAAa,CAAC,GAAY;QACzC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,UAAG,CAAC,KAAK,EAAE,GAAG,EAAE;YACrD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC,EAAE,OAAO,CAAC,CAAC;IAChB,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;CAEJ;AAzCD,4CAyCC"}
@@ -0,0 +1,22 @@
1
+ import { ContributionProvider } from '../common';
2
+ export declare const UndoRedoHandler: unique symbol;
3
+ export interface UndoRedoHandler<T> {
4
+ priority: number;
5
+ select(): T | undefined;
6
+ undo(item: T): void;
7
+ redo(item: T): void;
8
+ }
9
+ export declare class UndoRedoHandlerService {
10
+ protected readonly provider: ContributionProvider<UndoRedoHandler<unknown>>;
11
+ protected handlers: UndoRedoHandler<unknown>[];
12
+ protected init(): void;
13
+ undo(): void;
14
+ redo(): void;
15
+ }
16
+ export declare class DomInputUndoRedoHandler implements UndoRedoHandler<Element> {
17
+ priority: number;
18
+ select(): Element | undefined;
19
+ undo(item: Element): void;
20
+ redo(item: Element): void;
21
+ }
22
+ //# sourceMappingURL=undo-redo-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"undo-redo-handler.d.ts","sourceRoot":"","sources":["../../src/browser/undo-redo-handler.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,eAAO,MAAM,eAAe,eAA4B,CAAC;AAEzD,MAAM,WAAW,eAAe,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACxB,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACpB,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;CACvB;AAED,qBACa,sBAAsB;IAG/B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IAE5E,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;IAG/C,SAAS,CAAC,IAAI,IAAI,IAAI;IAItB,IAAI,IAAI,IAAI;IAUZ,IAAI,IAAI,IAAI;CAUf;AAED,qBACa,uBAAwB,YAAW,eAAe,CAAC,OAAO,CAAC;IAEpE,QAAQ,SAAQ;IAEhB,MAAM,IAAI,OAAO,GAAG,SAAS;IAQ7B,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAIzB,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;CAI5B"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2024 TypeFox and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.DomInputUndoRedoHandler = exports.UndoRedoHandlerService = exports.UndoRedoHandler = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("inversify");
21
+ const common_1 = require("../common");
22
+ exports.UndoRedoHandler = Symbol('UndoRedoHandler');
23
+ let UndoRedoHandlerService = class UndoRedoHandlerService {
24
+ init() {
25
+ this.handlers = this.provider.getContributions().sort((a, b) => b.priority - a.priority);
26
+ }
27
+ undo() {
28
+ for (const handler of this.handlers) {
29
+ const selection = handler.select();
30
+ if (selection) {
31
+ handler.undo(selection);
32
+ return;
33
+ }
34
+ }
35
+ }
36
+ redo() {
37
+ for (const handler of this.handlers) {
38
+ const selection = handler.select();
39
+ if (selection) {
40
+ handler.redo(selection);
41
+ return;
42
+ }
43
+ }
44
+ }
45
+ };
46
+ exports.UndoRedoHandlerService = UndoRedoHandlerService;
47
+ tslib_1.__decorate([
48
+ (0, inversify_1.inject)(common_1.ContributionProvider),
49
+ (0, inversify_1.named)(exports.UndoRedoHandler),
50
+ tslib_1.__metadata("design:type", Object)
51
+ ], UndoRedoHandlerService.prototype, "provider", void 0);
52
+ tslib_1.__decorate([
53
+ (0, inversify_1.postConstruct)(),
54
+ tslib_1.__metadata("design:type", Function),
55
+ tslib_1.__metadata("design:paramtypes", []),
56
+ tslib_1.__metadata("design:returntype", void 0)
57
+ ], UndoRedoHandlerService.prototype, "init", null);
58
+ exports.UndoRedoHandlerService = UndoRedoHandlerService = tslib_1.__decorate([
59
+ (0, inversify_1.injectable)()
60
+ ], UndoRedoHandlerService);
61
+ let DomInputUndoRedoHandler = class DomInputUndoRedoHandler {
62
+ constructor() {
63
+ this.priority = 1000;
64
+ }
65
+ select() {
66
+ const element = document.activeElement;
67
+ if (element && ['input', 'textarea'].includes(element.tagName.toLowerCase())) {
68
+ return element;
69
+ }
70
+ return undefined;
71
+ }
72
+ undo(item) {
73
+ document.execCommand('undo');
74
+ }
75
+ redo(item) {
76
+ document.execCommand('redo');
77
+ }
78
+ };
79
+ exports.DomInputUndoRedoHandler = DomInputUndoRedoHandler;
80
+ exports.DomInputUndoRedoHandler = DomInputUndoRedoHandler = tslib_1.__decorate([
81
+ (0, inversify_1.injectable)()
82
+ ], DomInputUndoRedoHandler);
83
+ //# sourceMappingURL=undo-redo-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"undo-redo-handler.js","sourceRoot":"","sources":["../../src/browser/undo-redo-handler.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,yCAAqE;AACrE,sCAAiD;AAEpC,QAAA,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAUlD,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAQrB,IAAI;QACV,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7F,CAAC;IAED,IAAI;QACA,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,SAAS,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxB,OAAO;YACX,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI;QACA,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,SAAS,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxB,OAAO;YACX,CAAC;QACL,CAAC;IACL,CAAC;CAEJ,CAAA;AAhCY,wDAAsB;AAGZ;IADlB,IAAA,kBAAM,EAAC,6BAAoB,CAAC;IAAE,IAAA,iBAAK,EAAC,uBAAe,CAAC;;wDACuB;AAKlE;IADT,IAAA,yBAAa,GAAE;;;;kDAGf;iCAVQ,sBAAsB;IADlC,IAAA,sBAAU,GAAE;GACA,sBAAsB,CAgClC;AAGM,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAA7B;QAEH,aAAQ,GAAG,IAAI,CAAC;IAkBpB,CAAC;IAhBG,MAAM;QACF,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC;QACvC,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC3E,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,IAAa;QACd,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,CAAC,IAAa;QACd,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;CAEJ,CAAA;AApBY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,sBAAU,GAAE;GACA,uBAAuB,CAoBnC"}
@@ -6,7 +6,10 @@ import { OpenHandler, OpenerOptions } from './opener-service';
6
6
  import { WidgetManager } from './widget-manager';
7
7
  export type WidgetOpenMode = 'open' | 'reveal' | 'activate';
8
8
  /**
9
- * `WidgetOpenerOptions` define serializable generic options used by the {@link WidgetOpenHandler}.
9
+ * `WidgetOpenerOptions` define generic options used by the {@link WidgetOpenHandler}.
10
+ *
11
+ * _Note:_ This object may contain references to widgets (e.g. `widgetOptions.ref`);
12
+ * these need to be transformed before it can be serialized.
10
13
  */
11
14
  export interface WidgetOpenerOptions extends OpenerOptions {
12
15
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"widget-open-handler.d.ts","sourceRoot":"","sources":["../../src/browser/widget-open-handler.ts"],"names":[],"mappings":"AAiBA,OAAO,GAAG,MAAM,eAAe,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAC5D;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACtD;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC;CAClD;AAED;;GAEG;AACH,8BACsB,iBAAiB,CAAC,CAAC,SAAS,UAAU,CAAE,YAAW,WAAW;IAGhF,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IAG3C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,aAAoB;IACvD;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAA+B;IAG3D,SAAS,CAAC,IAAI,IAAI,IAAI;IAQtB;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAAC;IAEjF;;;;;;;OAOG;IACG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;cAK/C,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAe/E;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI1C;;;;;;;OAOG;IACH,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAItC;;;;OAIG;IACH,IAAI,GAAG,IAAI,CAAC,EAAE,CAEb;IAED,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS;IAKnG,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAKpF,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;IAKhF,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM;IAEvF;;;;;OAKG;IACG,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;CAGxE"}
1
+ {"version":3,"file":"widget-open-handler.d.ts","sourceRoot":"","sources":["../../src/browser/widget-open-handler.ts"],"names":[],"mappings":"AAiBA,OAAO,GAAG,MAAM,eAAe,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAC5D;;;;;GAKG;AACH,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACtD;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC;CAClD;AAED;;GAEG;AACH,8BACsB,iBAAiB,CAAC,CAAC,SAAS,UAAU,CAAE,YAAW,WAAW;IAGhF,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IAG3C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,aAAoB;IACvD;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAA+B;IAG3D,SAAS,CAAC,IAAI,IAAI,IAAI;IAQtB;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAAC;IAEjF;;;;;;;OAOG;IACG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;cAK/C,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAe/E;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI1C;;;;;;;OAOG;IACH,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAItC;;;;OAIG;IACH,IAAI,GAAG,IAAI,CAAC,EAAE,CAEb;IAED,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS;IAKnG,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAKpF,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;IAKhF,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM;IAEvF;;;;;OAKG;IACG,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;CAGxE"}
@@ -1 +1 @@
1
- {"version":3,"file":"widget-open-handler.js","sourceRoot":"","sources":["../../src/browser/widget-open-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"widget-open-handler.js","sourceRoot":"","sources":["../../src/browser/widget-open-handler.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,5 @@ export * from './widget';
2
2
  export * from './react-renderer';
3
3
  export * from './react-widget';
4
4
  export * from './extractable-widget';
5
+ export * from './split-widget';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/browser/widgets/index.ts"],"names":[],"mappings":"AAgBA,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/browser/widgets/index.ts"],"names":[],"mappings":"AAgBA,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC"}
@@ -20,4 +20,5 @@ tslib_1.__exportStar(require("./widget"), exports);
20
20
  tslib_1.__exportStar(require("./react-renderer"), exports);
21
21
  tslib_1.__exportStar(require("./react-widget"), exports);
22
22
  tslib_1.__exportStar(require("./extractable-widget"), exports);
23
+ tslib_1.__exportStar(require("./split-widget"), exports);
23
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/browser/widgets/index.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,mDAAyB;AACzB,2DAAiC;AACjC,yDAA+B;AAC/B,+DAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/browser/widgets/index.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,mDAAyB;AACzB,2DAAiC;AACjC,yDAA+B;AAC/B,+DAAqC;AACrC,yDAA+B"}
@@ -0,0 +1,45 @@
1
+ import { Emitter } from 'vscode-languageserver-protocol';
2
+ import { ApplicationShell, StatefulWidget } from '../shell';
3
+ import { BaseWidget, Message, SplitPanel, Widget } from './widget';
4
+ import { CompositeSaveable, Saveable, SaveableSource } from '../saveable';
5
+ import { Navigatable } from '../navigatable-types';
6
+ import { URI } from '../../common';
7
+ /**
8
+ * A widget containing a number of panes in a split layout.
9
+ */
10
+ export declare class SplitWidget extends BaseWidget implements ApplicationShell.TrackableWidgetProvider, SaveableSource, Navigatable, StatefulWidget {
11
+ protected readonly splitPanel: SplitPanel;
12
+ protected readonly onDidChangeTrackableWidgetsEmitter: Emitter<Widget[]>;
13
+ readonly onDidChangeTrackableWidgets: import("vscode-languageserver-protocol").Event<Widget[]>;
14
+ protected readonly compositeSaveable: CompositeSaveable;
15
+ protected navigatable?: Navigatable;
16
+ constructor(options?: SplitPanel.IOptions & {
17
+ navigatable?: Navigatable;
18
+ });
19
+ get orientation(): SplitPanel.Orientation;
20
+ set orientation(value: SplitPanel.Orientation);
21
+ relativeSizes(): number[];
22
+ setRelativeSizes(sizes: number[]): void;
23
+ get handles(): readonly HTMLDivElement[];
24
+ get saveable(): Saveable;
25
+ getResourceUri(): URI | undefined;
26
+ createMoveToUri(resourceUri: URI): URI | undefined;
27
+ storeState(): SplitWidget.State;
28
+ restoreState(oldState: SplitWidget.State): void;
29
+ get panes(): readonly Widget[];
30
+ getTrackableWidgets(): Widget[];
31
+ protected fireDidChangeTrackableWidgets(): void;
32
+ addPane(pane: Widget): void;
33
+ insertPane(index: number, pane: Widget): void;
34
+ protected onPaneAdded(pane: Widget): void;
35
+ protected onPaneRemoved(pane: Widget): void;
36
+ protected onActivateRequest(msg: Message): void;
37
+ }
38
+ export declare namespace SplitWidget {
39
+ interface State {
40
+ orientation?: SplitPanel.Orientation;
41
+ widgets: readonly Widget[];
42
+ relativeSizes?: number[];
43
+ }
44
+ }
45
+ //# sourceMappingURL=split-widget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split-widget.d.ts","sourceRoot":"","sources":["../../../src/browser/widgets/split-widget.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,OAAO,EAAe,UAAU,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC;;GAEG;AACH,qBAAa,WAAY,SAAQ,UAAW,YAAW,gBAAgB,CAAC,uBAAuB,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc;IAExI,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAE1C,SAAS,CAAC,QAAQ,CAAC,kCAAkC,oBAA2B;IAChF,QAAQ,CAAC,2BAA2B,2DAAiD;IAErF,SAAS,CAAC,QAAQ,CAAC,iBAAiB,oBAA2B;IAE/D,SAAS,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;gBAExB,OAAO,CAAC,EAAE,UAAU,CAAC,QAAQ,GAAG;QAAE,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE;IA+BzE,IAAI,WAAW,IAAI,UAAU,CAAC,WAAW,CAExC;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,EAE5C;IAED,aAAa,IAAI,MAAM,EAAE;IAIzB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAIvC,IAAI,OAAO,IAAI,SAAS,cAAc,EAAE,CAEvC;IAED,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,cAAc,IAAI,GAAG,GAAG,SAAS;IAIjC,eAAe,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,GAAG,SAAS;IAIlD,UAAU,IAAI,WAAW,CAAC,KAAK;IAI/B,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,KAAK,GAAG,IAAI;IAa/C,IAAI,KAAK,IAAI,SAAS,MAAM,EAAE,CAE7B;IAED,mBAAmB,IAAI,MAAM,EAAE;IAI/B,SAAS,CAAC,6BAA6B,IAAI,IAAI;IAI/C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAI7C,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOzC,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;cAOxB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;CAG3D;AAED,yBAAiB,WAAW,CAAC;IACzB,UAAiB,KAAK;QAClB,WAAW,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC;QACrC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;QAC3B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5B;CACJ"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2024 1C-Soft LLC and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.SplitWidget = void 0;
19
+ const vscode_languageserver_protocol_1 = require("vscode-languageserver-protocol");
20
+ const widget_1 = require("./widget");
21
+ const saveable_1 = require("../saveable");
22
+ /**
23
+ * A widget containing a number of panes in a split layout.
24
+ */
25
+ class SplitWidget extends widget_1.BaseWidget {
26
+ constructor(options) {
27
+ super();
28
+ this.onDidChangeTrackableWidgetsEmitter = new vscode_languageserver_protocol_1.Emitter();
29
+ this.onDidChangeTrackableWidgets = this.onDidChangeTrackableWidgetsEmitter.event;
30
+ this.compositeSaveable = new saveable_1.CompositeSaveable();
31
+ this.toDispose.pushAll([this.onDidChangeTrackableWidgetsEmitter]);
32
+ this.addClass('theia-split-widget');
33
+ const layout = new widget_1.PanelLayout();
34
+ this.layout = layout;
35
+ const that = this;
36
+ this.splitPanel = new class extends widget_1.SplitPanel {
37
+ onChildAdded(msg) {
38
+ super.onChildAdded(msg);
39
+ that.onPaneAdded(msg.child);
40
+ }
41
+ onChildRemoved(msg) {
42
+ super.onChildRemoved(msg);
43
+ that.onPaneRemoved(msg.child);
44
+ }
45
+ }({
46
+ spacing: 1, // --theia-border-width
47
+ ...options
48
+ });
49
+ this.splitPanel.node.tabIndex = -1;
50
+ layout.addWidget(this.splitPanel);
51
+ this.navigatable = options === null || options === void 0 ? void 0 : options.navigatable;
52
+ }
53
+ get orientation() {
54
+ return this.splitPanel.orientation;
55
+ }
56
+ set orientation(value) {
57
+ this.splitPanel.orientation = value;
58
+ }
59
+ relativeSizes() {
60
+ return this.splitPanel.relativeSizes();
61
+ }
62
+ setRelativeSizes(sizes) {
63
+ this.splitPanel.setRelativeSizes(sizes);
64
+ }
65
+ get handles() {
66
+ return this.splitPanel.handles;
67
+ }
68
+ get saveable() {
69
+ return this.compositeSaveable;
70
+ }
71
+ getResourceUri() {
72
+ var _a;
73
+ return (_a = this.navigatable) === null || _a === void 0 ? void 0 : _a.getResourceUri();
74
+ }
75
+ createMoveToUri(resourceUri) {
76
+ var _a;
77
+ return (_a = this.navigatable) === null || _a === void 0 ? void 0 : _a.createMoveToUri(resourceUri);
78
+ }
79
+ storeState() {
80
+ return { orientation: this.orientation, widgets: this.panes, relativeSizes: this.relativeSizes() };
81
+ }
82
+ restoreState(oldState) {
83
+ const { orientation, widgets, relativeSizes } = oldState;
84
+ if (orientation) {
85
+ this.orientation = orientation;
86
+ }
87
+ for (const widget of widgets) {
88
+ this.addPane(widget);
89
+ }
90
+ if (relativeSizes) {
91
+ this.setRelativeSizes(relativeSizes);
92
+ }
93
+ }
94
+ get panes() {
95
+ return this.splitPanel.widgets;
96
+ }
97
+ getTrackableWidgets() {
98
+ return [...this.panes];
99
+ }
100
+ fireDidChangeTrackableWidgets() {
101
+ this.onDidChangeTrackableWidgetsEmitter.fire(this.getTrackableWidgets());
102
+ }
103
+ addPane(pane) {
104
+ this.splitPanel.addWidget(pane);
105
+ }
106
+ insertPane(index, pane) {
107
+ this.splitPanel.insertWidget(index, pane);
108
+ }
109
+ onPaneAdded(pane) {
110
+ if (saveable_1.Saveable.isSource(pane)) {
111
+ this.compositeSaveable.add(pane.saveable);
112
+ }
113
+ this.fireDidChangeTrackableWidgets();
114
+ }
115
+ onPaneRemoved(pane) {
116
+ if (saveable_1.Saveable.isSource(pane)) {
117
+ this.compositeSaveable.remove(pane.saveable);
118
+ }
119
+ this.fireDidChangeTrackableWidgets();
120
+ }
121
+ onActivateRequest(msg) {
122
+ this.splitPanel.node.focus();
123
+ }
124
+ }
125
+ exports.SplitWidget = SplitWidget;
126
+ //# sourceMappingURL=split-widget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split-widget.js","sourceRoot":"","sources":["../../../src/browser/widgets/split-widget.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,8 @@ export declare namespace Event {
23
23
  */
24
24
  function once<T>(event: Event<T>): Event<T>;
25
25
  function toPromise<T>(event: Event<T>): Promise<T>;
26
+ function filter<T>(event: Event<T>, predicate: (e: T) => unknown): Event<T>;
27
+ function filter<T, S extends T>(event: Event<T>, predicate: (e: T) => e is S): Event<S>;
26
28
  /**
27
29
  * Given an event and a `map` function, returns another event which maps each element
28
30
  * through the mapping function.
@@ -1 +1 @@
1
- {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/common/event.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/common/event.ts"],"names":[],"mappings":"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"}
@@ -75,6 +75,10 @@ var Event;
75
75
  return new Promise(resolve => once(event)(resolve));
76
76
  }
77
77
  Event.toPromise = toPromise;
78
+ function filter(event, predicate) {
79
+ return (listener, thisArg, disposables) => event(e => predicate(e) && listener.call(thisArg, e), undefined, disposables);
80
+ }
81
+ Event.filter = filter;
78
82
  /**
79
83
  * Given an event and a `map` function, returns another event which maps each element
80
84
  * through the mapping function.