@jbrowse/plugin-config 1.7.11 → 2.0.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.
Files changed (129) hide show
  1. package/dist/ConfigurationEditorWidget/components/CallbackEditor.d.ts +10 -7
  2. package/dist/ConfigurationEditorWidget/components/CallbackEditor.js +108 -115
  3. package/dist/ConfigurationEditorWidget/components/CallbackEditor.js.map +1 -0
  4. package/dist/ConfigurationEditorWidget/components/CodeEditor.d.ts +4 -3
  5. package/dist/ConfigurationEditorWidget/components/CodeEditor.js +78 -73
  6. package/dist/ConfigurationEditorWidget/components/CodeEditor.js.map +1 -0
  7. package/dist/ConfigurationEditorWidget/components/ColorEditor.d.ts +9 -33
  8. package/dist/ConfigurationEditorWidget/components/ColorEditor.js +82 -116
  9. package/dist/ConfigurationEditorWidget/components/ColorEditor.js.map +1 -0
  10. package/dist/ConfigurationEditorWidget/components/ColorPicker.d.ts +0 -7
  11. package/dist/ConfigurationEditorWidget/components/ColorPicker.js +64 -67
  12. package/dist/ConfigurationEditorWidget/components/ColorPicker.js.map +1 -0
  13. package/dist/ConfigurationEditorWidget/components/ConfigurationEditor.d.ts +7 -3
  14. package/dist/ConfigurationEditorWidget/components/ConfigurationEditor.js +113 -160
  15. package/dist/ConfigurationEditorWidget/components/ConfigurationEditor.js.map +1 -0
  16. package/dist/ConfigurationEditorWidget/components/JsonEditor.js +74 -75
  17. package/dist/ConfigurationEditorWidget/components/JsonEditor.js.map +1 -0
  18. package/dist/ConfigurationEditorWidget/components/SlotEditor.d.ts +11 -1
  19. package/dist/ConfigurationEditorWidget/components/SlotEditor.js +229 -373
  20. package/dist/ConfigurationEditorWidget/components/SlotEditor.js.map +1 -0
  21. package/dist/ConfigurationEditorWidget/components/StringArrayEditor.js +76 -105
  22. package/dist/ConfigurationEditorWidget/components/StringArrayEditor.js.map +1 -0
  23. package/dist/ConfigurationEditorWidget/components/TypeSelector.d.ts +8 -6
  24. package/dist/ConfigurationEditorWidget/components/TypeSelector.js +16 -46
  25. package/dist/ConfigurationEditorWidget/components/TypeSelector.js.map +1 -0
  26. package/dist/ConfigurationEditorWidget/index.js +25 -42
  27. package/dist/ConfigurationEditorWidget/index.js.map +1 -0
  28. package/dist/ConfigurationEditorWidget/model.js +18 -26
  29. package/dist/ConfigurationEditorWidget/model.js.map +1 -0
  30. package/dist/FromConfigAdapter/FromConfigAdapter.js +172 -204
  31. package/dist/FromConfigAdapter/FromConfigAdapter.js.map +1 -0
  32. package/dist/FromConfigAdapter/FromConfigRegionsAdapter.js +151 -142
  33. package/dist/FromConfigAdapter/FromConfigRegionsAdapter.js.map +1 -0
  34. package/dist/FromConfigAdapter/FromConfigSequenceAdapter.js +182 -181
  35. package/dist/FromConfigAdapter/FromConfigSequenceAdapter.js.map +1 -0
  36. package/dist/FromConfigAdapter/configSchema.js +33 -49
  37. package/dist/FromConfigAdapter/configSchema.js.map +1 -0
  38. package/dist/FromConfigAdapter/index.js +16 -50
  39. package/dist/FromConfigAdapter/index.js.map +1 -0
  40. package/dist/RefNameAliasAdapter/RefNameAliasAdapter.js +111 -125
  41. package/dist/RefNameAliasAdapter/RefNameAliasAdapter.js.map +1 -0
  42. package/dist/RefNameAliasAdapter/configSchema.js +16 -25
  43. package/dist/RefNameAliasAdapter/configSchema.js.map +1 -0
  44. package/dist/RefNameAliasAdapter/index.js +10 -22
  45. package/dist/RefNameAliasAdapter/index.js.map +1 -0
  46. package/dist/index.d.ts +9 -3
  47. package/dist/index.js +129 -144
  48. package/dist/index.js.map +1 -0
  49. package/esm/ConfigurationEditorWidget/components/CallbackEditor.d.ts +12 -0
  50. package/esm/ConfigurationEditorWidget/components/CallbackEditor.js +71 -0
  51. package/esm/ConfigurationEditorWidget/components/CallbackEditor.js.map +1 -0
  52. package/esm/ConfigurationEditorWidget/components/CodeEditor.d.ts +5 -0
  53. package/esm/ConfigurationEditorWidget/components/CodeEditor.js +42 -0
  54. package/esm/ConfigurationEditorWidget/components/CodeEditor.js.map +1 -0
  55. package/esm/ConfigurationEditorWidget/components/ColorEditor.d.ts +20 -0
  56. package/esm/ConfigurationEditorWidget/components/ColorEditor.js +37 -0
  57. package/esm/ConfigurationEditorWidget/components/ColorEditor.js.map +1 -0
  58. package/esm/ConfigurationEditorWidget/components/ColorPicker.d.ts +7 -0
  59. package/esm/ConfigurationEditorWidget/components/ColorPicker.js +26 -0
  60. package/esm/ConfigurationEditorWidget/components/ColorPicker.js.map +1 -0
  61. package/esm/ConfigurationEditorWidget/components/ConfigurationEditor.d.ts +8 -0
  62. package/esm/ConfigurationEditorWidget/components/ConfigurationEditor.js +83 -0
  63. package/esm/ConfigurationEditorWidget/components/ConfigurationEditor.js.map +1 -0
  64. package/esm/ConfigurationEditorWidget/components/JsonEditor.d.ts +9 -0
  65. package/esm/ConfigurationEditorWidget/components/JsonEditor.js +39 -0
  66. package/esm/ConfigurationEditorWidget/components/JsonEditor.js.map +1 -0
  67. package/esm/ConfigurationEditorWidget/components/SlotEditor.d.ts +16 -0
  68. package/esm/ConfigurationEditorWidget/components/SlotEditor.js +176 -0
  69. package/esm/ConfigurationEditorWidget/components/SlotEditor.js.map +1 -0
  70. package/esm/ConfigurationEditorWidget/components/StringArrayEditor.d.ts +12 -0
  71. package/esm/ConfigurationEditorWidget/components/StringArrayEditor.js +36 -0
  72. package/esm/ConfigurationEditorWidget/components/StringArrayEditor.js.map +1 -0
  73. package/esm/ConfigurationEditorWidget/components/TypeSelector.d.ts +9 -0
  74. package/esm/ConfigurationEditorWidget/components/TypeSelector.js +12 -0
  75. package/esm/ConfigurationEditorWidget/components/TypeSelector.js.map +1 -0
  76. package/esm/ConfigurationEditorWidget/index.d.ts +3 -0
  77. package/esm/ConfigurationEditorWidget/index.js +20 -0
  78. package/esm/ConfigurationEditorWidget/index.js.map +1 -0
  79. package/esm/ConfigurationEditorWidget/model.d.ts +8 -0
  80. package/esm/ConfigurationEditorWidget/model.js +16 -0
  81. package/esm/ConfigurationEditorWidget/model.js.map +1 -0
  82. package/esm/FromConfigAdapter/FromConfigAdapter.d.ts +24 -0
  83. package/esm/FromConfigAdapter/FromConfigAdapter.js +63 -0
  84. package/esm/FromConfigAdapter/FromConfigAdapter.js.map +1 -0
  85. package/esm/FromConfigAdapter/FromConfigRegionsAdapter.d.ts +23 -0
  86. package/esm/FromConfigAdapter/FromConfigRegionsAdapter.js +50 -0
  87. package/esm/FromConfigAdapter/FromConfigRegionsAdapter.js.map +1 -0
  88. package/esm/FromConfigAdapter/FromConfigSequenceAdapter.d.ts +25 -0
  89. package/esm/FromConfigAdapter/FromConfigSequenceAdapter.js +73 -0
  90. package/esm/FromConfigAdapter/FromConfigSequenceAdapter.js.map +1 -0
  91. package/esm/FromConfigAdapter/configSchema.d.ts +3 -0
  92. package/esm/FromConfigAdapter/configSchema.js +32 -0
  93. package/esm/FromConfigAdapter/configSchema.js.map +1 -0
  94. package/esm/FromConfigAdapter/index.d.ts +4 -0
  95. package/esm/FromConfigAdapter/index.js +5 -0
  96. package/esm/FromConfigAdapter/index.js.map +1 -0
  97. package/esm/RefNameAliasAdapter/RefNameAliasAdapter.d.ts +8 -0
  98. package/esm/RefNameAliasAdapter/RefNameAliasAdapter.js +24 -0
  99. package/esm/RefNameAliasAdapter/RefNameAliasAdapter.js.map +1 -0
  100. package/esm/RefNameAliasAdapter/configSchema.d.ts +2 -0
  101. package/esm/RefNameAliasAdapter/configSchema.js +15 -0
  102. package/esm/RefNameAliasAdapter/configSchema.js.map +1 -0
  103. package/esm/RefNameAliasAdapter/index.d.ts +2 -0
  104. package/esm/RefNameAliasAdapter/index.js +3 -0
  105. package/esm/RefNameAliasAdapter/index.js.map +1 -0
  106. package/esm/index.d.ts +18 -0
  107. package/esm/index.js +72 -0
  108. package/esm/index.js.map +1 -0
  109. package/package.json +20 -13
  110. package/src/ConfigurationEditorWidget/components/{CallbackEditor.js → CallbackEditor.tsx} +36 -21
  111. package/src/ConfigurationEditorWidget/components/CodeEditor.tsx +59 -0
  112. package/src/ConfigurationEditorWidget/components/ColorEditor.tsx +8 -33
  113. package/src/ConfigurationEditorWidget/components/ColorPicker.tsx +4 -13
  114. package/src/ConfigurationEditorWidget/components/ConfigurationEditor.tsx +169 -0
  115. package/src/ConfigurationEditorWidget/components/JsonEditor.js +4 -8
  116. package/src/ConfigurationEditorWidget/components/SlotEditor.js +10 -11
  117. package/src/ConfigurationEditorWidget/components/StringArrayEditor.tsx +2 -2
  118. package/src/ConfigurationEditorWidget/components/{TypeSelector.js → TypeSelector.tsx} +15 -7
  119. package/src/ConfigurationEditorWidget/components/__snapshots__/ConfigurationEditor.test.js.snap +877 -625
  120. package/src/index.ts +20 -14
  121. package/dist/ConfigurationEditorWidget/components/ColorEditor.test.js +0 -31
  122. package/dist/ConfigurationEditorWidget/components/ConfigurationEditor.test.js +0 -121
  123. package/dist/FromConfigAdapter/FromConfigAdapter.test.js +0 -100
  124. package/dist/FromConfigAdapter/FromConfigRegionsAdapter.test.js +0 -200
  125. package/dist/FromConfigAdapter/FromConfigSequenceAdapter.test.js +0 -110
  126. package/dist/RefNameAliasAdapter/RefNameAliasAdapter.test.js +0 -41
  127. package/dist/index.test.js +0 -41
  128. package/src/ConfigurationEditorWidget/components/CodeEditor.js +0 -60
  129. package/src/ConfigurationEditorWidget/components/ConfigurationEditor.js +0 -154
package/dist/index.js CHANGED
@@ -1,152 +1,137 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.ConfigurationEditor = void 0;
9
- Object.defineProperty(exports, "JsonEditor", {
10
- enumerable: true,
11
- get: function get() {
12
- return _JsonEditor.default;
13
- }
14
- });
15
- exports.default = void 0;
16
-
17
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
18
-
19
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
20
-
21
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
22
-
23
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
24
-
25
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
26
-
27
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
28
-
29
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
30
-
31
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
32
-
33
- var _react = require("react");
34
-
35
- var _AdapterType = _interopRequireDefault(require("@jbrowse/core/pluggableElementTypes/AdapterType"));
36
-
37
- var _WidgetType = _interopRequireDefault(require("@jbrowse/core/pluggableElementTypes/WidgetType"));
38
-
39
- var _Plugin2 = _interopRequireDefault(require("@jbrowse/core/Plugin"));
40
-
41
- var _ConfigurationEditorWidget = require("./ConfigurationEditorWidget");
42
-
43
- var _FromConfigAdapter = require("./FromConfigAdapter");
44
-
45
- var _RefNameAliasAdapter = require("./RefNameAliasAdapter");
46
-
47
- var _JsonEditor = _interopRequireDefault(require("./ConfigurationEditorWidget/components/JsonEditor"));
48
-
49
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
50
-
51
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
52
-
53
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
54
-
55
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || (0, _typeof2.default)(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
56
-
57
- var ConfigurationEditorComponent = /*#__PURE__*/(0, _react.lazy)(function () {
58
- return Promise.resolve().then(function () {
59
- return _interopRequireWildcard(require('./ConfigurationEditorWidget/components/ConfigurationEditor'));
60
- });
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ var desc = Object.getOwnPropertyDescriptor(m, k);
20
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
+ desc = { enumerable: true, get: function() { return m[k]; } };
22
+ }
23
+ Object.defineProperty(o, k2, desc);
24
+ }) : (function(o, m, k, k2) {
25
+ if (k2 === undefined) k2 = k;
26
+ o[k2] = m[k];
27
+ }));
28
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
30
+ }) : function(o, v) {
31
+ o["default"] = v;
61
32
  });
62
- exports.ConfigurationEditor = ConfigurationEditorComponent;
63
-
64
- var _default = /*#__PURE__*/function (_Plugin) {
65
- (0, _inherits2.default)(_default, _Plugin);
66
-
67
- var _super = _createSuper(_default);
68
-
69
- function _default() {
70
- var _this;
71
-
72
- (0, _classCallCheck2.default)(this, _default);
73
-
74
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
75
- args[_key] = arguments[_key];
33
+ var __importStar = (this && this.__importStar) || function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ var __importDefault = (this && this.__importDefault) || function (mod) {
41
+ return (mod && mod.__esModule) ? mod : { "default": mod };
42
+ };
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.ConfigurationEditor = exports.JsonEditor = void 0;
45
+ var react_1 = require("react");
46
+ var AdapterType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/AdapterType"));
47
+ var WidgetType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/WidgetType"));
48
+ var Plugin_1 = __importDefault(require("@jbrowse/core/Plugin"));
49
+ var ConfigurationEditorWidget_1 = require("./ConfigurationEditorWidget");
50
+ var FromConfigAdapter_1 = require("./FromConfigAdapter");
51
+ var RefNameAliasAdapter_1 = require("./RefNameAliasAdapter");
52
+ var LazyConfigurationEditorComponent = (0, react_1.lazy)(function () { return Promise.resolve().then(function () { return __importStar(require('./ConfigurationEditorWidget/components/ConfigurationEditor')); }); });
53
+ exports.ConfigurationEditor = LazyConfigurationEditorComponent;
54
+ var default_1 = /** @class */ (function (_super) {
55
+ __extends(default_1, _super);
56
+ function default_1() {
57
+ var _this = _super !== null && _super.apply(this, arguments) || this;
58
+ _this.name = 'ConfigurationPlugin';
59
+ return _this;
76
60
  }
77
-
78
- _this = _super.call.apply(_super, [this].concat(args));
79
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "name", 'ConfigurationPlugin');
80
- return _this;
81
- }
82
-
83
- (0, _createClass2.default)(_default, [{
84
- key: "install",
85
- value: function install(pluginManager) {
86
- pluginManager.addAdapterType(function () {
87
- return new _AdapterType.default({
88
- name: 'FromConfigAdapter',
89
- configSchema: _FromConfigAdapter.configSchema,
90
- AdapterClass: _FromConfigAdapter.AdapterClass,
91
- adapterMetadata: {
92
- category: null,
93
- hiddenFromGUI: true,
94
- displayName: null,
95
- description: null
96
- }
61
+ default_1.prototype.install = function (pluginManager) {
62
+ pluginManager.addAdapterType(function () {
63
+ return new AdapterType_1.default({
64
+ name: 'FromConfigAdapter',
65
+ configSchema: FromConfigAdapter_1.configSchema,
66
+ getAdapterClass: function () {
67
+ return Promise.resolve().then(function () { return __importStar(require('./FromConfigAdapter/FromConfigAdapter')); }).then(function (r) { return r.default; });
68
+ },
69
+ adapterMetadata: {
70
+ category: null,
71
+ hiddenFromGUI: true,
72
+ displayName: null,
73
+ description: null,
74
+ },
75
+ });
97
76
  });
98
- });
99
- pluginManager.addAdapterType(function () {
100
- return new _AdapterType.default({
101
- name: 'FromConfigRegionsAdapter',
102
- configSchema: _FromConfigAdapter.regionsConfigSchema,
103
- AdapterClass: _FromConfigAdapter.RegionsAdapterClass,
104
- adapterMetadata: {
105
- category: null,
106
- hiddenFromGUI: true,
107
- displayName: null,
108
- description: null
109
- }
77
+ pluginManager.addAdapterType(function () {
78
+ return new AdapterType_1.default({
79
+ name: 'FromConfigRegionsAdapter',
80
+ configSchema: FromConfigAdapter_1.regionsConfigSchema,
81
+ getAdapterClass: function () {
82
+ return Promise.resolve().then(function () { return __importStar(require('./FromConfigAdapter/FromConfigRegionsAdapter')); }).then(function (r) { return r.default; });
83
+ },
84
+ adapterMetadata: {
85
+ category: null,
86
+ hiddenFromGUI: true,
87
+ displayName: null,
88
+ description: null,
89
+ },
90
+ });
110
91
  });
111
- });
112
- pluginManager.addAdapterType(function () {
113
- return new _AdapterType.default({
114
- name: 'FromConfigSequenceAdapter',
115
- configSchema: _FromConfigAdapter.sequenceConfigSchema,
116
- AdapterClass: _FromConfigAdapter.SequenceAdapterClass,
117
- adapterMetadata: {
118
- category: null,
119
- hiddenFromGUI: true,
120
- displayName: null,
121
- description: null
122
- }
92
+ pluginManager.addAdapterType(function () {
93
+ return new AdapterType_1.default({
94
+ name: 'FromConfigSequenceAdapter',
95
+ configSchema: FromConfigAdapter_1.sequenceConfigSchema,
96
+ getAdapterClass: function () {
97
+ return Promise.resolve().then(function () { return __importStar(require('./FromConfigAdapter/FromConfigSequenceAdapter')); }).then(function (r) { return r.default; });
98
+ },
99
+ adapterMetadata: {
100
+ category: null,
101
+ hiddenFromGUI: true,
102
+ displayName: null,
103
+ description: null,
104
+ },
105
+ });
123
106
  });
124
- });
125
- pluginManager.addAdapterType(function () {
126
- return new _AdapterType.default({
127
- name: 'RefNameAliasAdapter',
128
- configSchema: _RefNameAliasAdapter.configSchema,
129
- AdapterClass: _RefNameAliasAdapter.AdapterClass,
130
- adapterMetadata: {
131
- category: null,
132
- hiddenFromGUI: true,
133
- displayName: null,
134
- description: null
135
- }
107
+ pluginManager.addAdapterType(function () {
108
+ return new AdapterType_1.default({
109
+ name: 'RefNameAliasAdapter',
110
+ configSchema: RefNameAliasAdapter_1.configSchema,
111
+ getAdapterClass: function () {
112
+ return Promise.resolve().then(function () { return __importStar(require('./RefNameAliasAdapter/RefNameAliasAdapter')); }).then(function (r) { return r.default; });
113
+ },
114
+ adapterMetadata: {
115
+ category: null,
116
+ hiddenFromGUI: true,
117
+ displayName: null,
118
+ description: null,
119
+ },
120
+ });
136
121
  });
137
- });
138
- pluginManager.addWidgetType(function () {
139
- return new _WidgetType.default({
140
- name: 'ConfigurationEditorWidget',
141
- HeadingComponent: _ConfigurationEditorWidget.HeadingComponent,
142
- configSchema: _ConfigurationEditorWidget.configSchema,
143
- stateModel: (0, _ConfigurationEditorWidget.stateModelFactory)(pluginManager),
144
- ReactComponent: ConfigurationEditorComponent
122
+ pluginManager.addWidgetType(function () {
123
+ return new WidgetType_1.default({
124
+ name: 'ConfigurationEditorWidget',
125
+ HeadingComponent: ConfigurationEditorWidget_1.HeadingComponent,
126
+ configSchema: ConfigurationEditorWidget_1.configSchema,
127
+ stateModel: (0, ConfigurationEditorWidget_1.stateModelFactory)(pluginManager),
128
+ ReactComponent: LazyConfigurationEditorComponent,
129
+ });
145
130
  });
146
- });
147
- }
148
- }]);
149
- return _default;
150
- }(_Plugin2.default);
151
-
152
- exports.default = _default;
131
+ };
132
+ return default_1;
133
+ }(Plugin_1.default));
134
+ exports.default = default_1;
135
+ var JsonEditor_1 = require("./ConfigurationEditorWidget/components/JsonEditor");
136
+ Object.defineProperty(exports, "JsonEditor", { enumerable: true, get: function () { return __importDefault(JsonEditor_1).default; } });
137
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ declare function CallbackEditor({ slot, }: {
3
+ slot: {
4
+ set: (arg: string) => void;
5
+ description: string;
6
+ name: string;
7
+ value: string;
8
+ contextVariable: string;
9
+ };
10
+ }): JSX.Element;
11
+ declare const _default: typeof CallbackEditor;
12
+ export default _default;
@@ -0,0 +1,71 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import { useDebounce } from '@jbrowse/core/util';
3
+ import { stringToJexlExpression } from '@jbrowse/core/util/jexlStrings';
4
+ import { FormControl, FormHelperText, InputLabel, Tooltip, IconButton, TextField, } from '@mui/material';
5
+ import { makeStyles } from 'tss-react/mui';
6
+ import HelpIcon from '@mui/icons-material/Help';
7
+ import { getEnv } from 'mobx-state-tree';
8
+ import { observer } from 'mobx-react';
9
+ // Optimize by using system default fonts:
10
+ // https://css-tricks.com/snippets/css/font-stacks/
11
+ const fontFamily = 'Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace';
12
+ const useStyles = makeStyles()(theme => ({
13
+ callbackEditor: {
14
+ marginTop: '16px',
15
+ borderBottom: `1px solid ${theme.palette.divider}`,
16
+ fontFamily,
17
+ },
18
+ textAreaFont: {
19
+ fontFamily,
20
+ },
21
+ }));
22
+ function CallbackEditor({ slot, }) {
23
+ const { classes } = useStyles();
24
+ const [code, setCode] = useState(slot.value);
25
+ const [error, setCodeError] = useState();
26
+ const debouncedCode = useDebounce(code, 400);
27
+ useEffect(() => {
28
+ var _a;
29
+ try {
30
+ const jexlDebouncedCode = debouncedCode.startsWith('jexl:')
31
+ ? debouncedCode
32
+ : `jexl:${debouncedCode}`;
33
+ if (jexlDebouncedCode === 'jexl:') {
34
+ throw new Error('Empty jexl expression is not valid');
35
+ }
36
+ stringToJexlExpression(jexlDebouncedCode, (_a = getEnv(slot).pluginManager) === null || _a === void 0 ? void 0 : _a.jexl);
37
+ slot.set(jexlDebouncedCode);
38
+ setCodeError(undefined);
39
+ }
40
+ catch (e) {
41
+ console.error({ e });
42
+ setCodeError(e);
43
+ }
44
+ }, [debouncedCode, slot]);
45
+ // if default value is a callback, will have to remove jexl:
46
+ // do this last
47
+ return (React.createElement(React.Fragment, null,
48
+ React.createElement(FormControl, null,
49
+ React.createElement(InputLabel, { shrink: true, htmlFor: "callback-editor" }, slot.name),
50
+ React.createElement(TextField, { multiline: true, className: classes.callbackEditor, value: code.startsWith('jexl:') ? code.split('jexl:')[1] : code, onChange: event => setCode(event.target.value), style: { background: error ? '#fdd' : undefined }, InputProps: {
51
+ classes: {
52
+ input: classes.textAreaFont,
53
+ },
54
+ } }),
55
+ error ? (React.createElement(FormHelperText, { style: { color: '#f00' } }, `${error}`)) : null,
56
+ React.createElement(FormHelperText, null, slot.description)),
57
+ React.createElement(Tooltip, { title: React.createElement("div", null,
58
+ "Callbacks are written in Jexl format. Click to learn more.",
59
+ React.createElement("br", null),
60
+ " Names of available context items: ",
61
+ slot.contextVariable), arrow: true },
62
+ React.createElement(IconButton, { color: "primary", onClick: () => {
63
+ const newWindow = window.open('https://github.com/TomFrost/Jexl', '_blank', 'noopener,noreferrer');
64
+ if (newWindow) {
65
+ newWindow.opener = null;
66
+ }
67
+ } },
68
+ React.createElement(HelpIcon, null)))));
69
+ }
70
+ export default observer(CallbackEditor);
71
+ //# sourceMappingURL=CallbackEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CallbackEditor.js","sourceRoot":"","sources":["../../../src/ConfigurationEditorWidget/components/CallbackEditor.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ export default function CodeEditor({ contents, setContents, }: {
3
+ contents: string;
4
+ setContents: (arg: string) => void;
5
+ }): JSX.Element;
@@ -0,0 +1,42 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import { TextField } from '@mui/material';
3
+ import { makeStyles } from 'tss-react/mui';
4
+ // fontSize and fontFamily have to match between Editor and SyntaxHighlighter
5
+ const fontSize = '12px';
6
+ // Optimize by using system default fonts: https://css-tricks.com/snippets/css/font-stacks/
7
+ const fontFamily = 'Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace';
8
+ const useStyles = makeStyles()(theme => ({
9
+ callbackEditor: {
10
+ fontFamily,
11
+ fontSize,
12
+ background: theme.palette.background.default,
13
+ overflowX: 'auto',
14
+ marginTop: '16px',
15
+ border: '1px solid rgba(0,0,0,0.42)',
16
+ },
17
+ textAreaFont: {
18
+ fontFamily,
19
+ },
20
+ }));
21
+ export default function CodeEditor({ contents, setContents, }) {
22
+ const { classes } = useStyles();
23
+ const [error, setCodeError] = useState();
24
+ const [val, setVal] = useState(contents);
25
+ useEffect(() => {
26
+ try {
27
+ JSON.parse(contents);
28
+ setCodeError(undefined);
29
+ setContents(val);
30
+ }
31
+ catch (e) {
32
+ console.error({ e });
33
+ setCodeError(e);
34
+ }
35
+ }, [val, contents, setContents]);
36
+ return (React.createElement(TextField, { className: classes.callbackEditor, value: contents, onChange: event => setVal(event.target.value), style: { background: error ? '#fdd' : undefined }, InputProps: {
37
+ classes: {
38
+ input: classes.textAreaFont,
39
+ },
40
+ } }));
41
+ }
42
+ //# sourceMappingURL=CodeEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeEditor.js","sourceRoot":"","sources":["../../../src/ConfigurationEditorWidget/components/CodeEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,6EAA6E;AAC7E,MAAM,QAAQ,GAAG,MAAM,CAAA;AACvB,2FAA2F;AAC3F,MAAM,UAAU,GACd,sNAAsN,CAAA;AAExN,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvC,cAAc,EAAE;QACd,UAAU;QACV,QAAQ;QACR,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO;QAC5C,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,MAAM;QACjB,MAAM,EAAE,4BAA4B;KACrC;IACD,YAAY,EAAE;QACZ,UAAU;KACX;CACF,CAAC,CAAC,CAAA;AAEH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,QAAQ,EACR,WAAW,GAIZ;IACC,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAW,CAAA;IACjD,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACxC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI;YACF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YACpB,YAAY,CAAC,SAAS,CAAC,CAAA;YACvB,WAAW,CAAC,GAAG,CAAC,CAAA;SACjB;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YACpB,YAAY,CAAC,CAAC,CAAC,CAAA;SAChB;IACH,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAA;IAEhC,OAAO,CACL,oBAAC,SAAS,IACR,SAAS,EAAE,OAAO,CAAC,cAAc,EACjC,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAC7C,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,EACjD,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,KAAK,EAAE,OAAO,CAAC,YAAY;aAC5B;SACF,GACD,CACH,CAAA;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ /// <reference types="react" />
2
+ export declare const ColorSlot: (props: {
3
+ value: string;
4
+ label?: string | undefined;
5
+ TextFieldProps?: {
6
+ helperText: string;
7
+ fullWidth: boolean;
8
+ } | undefined;
9
+ onChange: (arg: string) => void;
10
+ }) => JSX.Element;
11
+ declare function ColorEditorSlot(props: {
12
+ slot: {
13
+ name: string;
14
+ value: string;
15
+ description: string;
16
+ set: (arg: string) => void;
17
+ };
18
+ }): JSX.Element;
19
+ declare const _default: typeof ColorEditorSlot;
20
+ export default _default;
@@ -0,0 +1,37 @@
1
+ import React, { lazy, useState } from 'react';
2
+ import { observer } from 'mobx-react';
3
+ import { TextField } from '@mui/material';
4
+ const ColorPicker = lazy(() => import('./ColorPicker'));
5
+ // this is needed because passing a entire color object into the react-color
6
+ // for alpha, can't pass in an rgba string for example
7
+ function serializeColor(color) {
8
+ if (color instanceof Object) {
9
+ const { r, g, b, a } = color;
10
+ return a === undefined ? `rgb(${r},${g},${b})` : `rgba(${r},${g},${b},${a})`;
11
+ }
12
+ return color;
13
+ }
14
+ export const ColorSlot = (props) => {
15
+ const { value = '#000', label = '', TextFieldProps = {}, onChange } = props;
16
+ const [displayed, setDisplayed] = useState(false);
17
+ return (React.createElement(React.Fragment, null,
18
+ React.createElement(TextField, { value: value, label: label, InputProps: {
19
+ style: {
20
+ color: value,
21
+ borderRightWidth: '25px',
22
+ borderRightStyle: 'solid',
23
+ borderRightColor: value,
24
+ },
25
+ }, onClick: () => setDisplayed(!displayed), onChange: event => onChange(event.target.value), ...TextFieldProps }),
26
+ displayed ? (React.createElement(React.Suspense, { fallback: React.createElement("div", null) },
27
+ React.createElement(ColorPicker, { color: value, onChange: event => onChange(serializeColor(event.rgb)) }))) : null));
28
+ };
29
+ function ColorEditorSlot(props) {
30
+ const { slot } = props;
31
+ return (React.createElement(ColorSlot, { label: slot.name, value: slot.value, onChange: color => slot.set(color), TextFieldProps: {
32
+ helperText: slot.description,
33
+ fullWidth: true,
34
+ } }));
35
+ }
36
+ export default observer(ColorEditorSlot);
37
+ //# sourceMappingURL=ColorEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorEditor.js","sourceRoot":"","sources":["../../../src/ConfigurationEditorWidget/components/ColorEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAGzC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAA;AAEvD,4EAA4E;AAC5E,sDAAsD;AACtD,SAAS,cAAc,CAAC,KAAY;IAClC,IAAI,KAAK,YAAY,MAAM,EAAE;QAC3B,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,KAAiB,CAAA;QACxC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;KAC7E;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAQzB,EAAE,EAAE;IACH,MAAM,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,cAAc,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;IAC3E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEjD,OAAO,CACL;QACE,oBAAC,SAAS,IACR,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,KAAK,EAAE,KAAK;oBACZ,gBAAgB,EAAE,MAAM;oBACxB,gBAAgB,EAAE,OAAO;oBACzB,gBAAgB,EAAE,KAAK;iBACxB;aACF,EACD,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,EACvC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAC3C,cAAc,GAClB;QACD,SAAS,CAAC,CAAC,CAAC,CACX,oBAAC,KAAK,CAAC,QAAQ,IAAC,QAAQ,EAAE,gCAAO;YAC/B,oBAAC,WAAW,IACV,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GACtD,CACa,CAClB,CAAC,CAAC,CAAC,IAAI,CACP,CACJ,CAAA;AACH,CAAC,CAAA;AAED,SAAS,eAAe,CAAC,KAOxB;IACC,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAA;IACtB,OAAO,CACL,oBAAC,SAAS,IACR,KAAK,EAAE,IAAI,CAAC,IAAI,EAChB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAClC,cAAc,EAAE;YACd,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,SAAS,EAAE,IAAI;SAChB,GACD,CACH,CAAA;AACH,CAAC;AAED,eAAe,QAAQ,CAAC,eAAe,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { Color, ColorResult } from 'react-color';
3
+ export declare function ColorPicker(props: {
4
+ color: Color;
5
+ onChange: (color: ColorResult) => void;
6
+ }): JSX.Element;
7
+ export default ColorPicker;
@@ -0,0 +1,26 @@
1
+ import React, { useState } from 'react';
2
+ import { makeStyles } from 'tss-react/mui';
3
+ import { ChromePicker } from 'react-color';
4
+ const useStyles = makeStyles()({
5
+ popover: {
6
+ position: 'absolute',
7
+ zIndex: 2,
8
+ },
9
+ cover: {
10
+ position: 'fixed',
11
+ top: 0,
12
+ right: 0,
13
+ bottom: 0,
14
+ left: 0,
15
+ },
16
+ });
17
+ export function ColorPicker(props) {
18
+ const { color, onChange } = props;
19
+ const { classes } = useStyles();
20
+ const [displayColorPicker, setDisplayColorPicker] = useState(true);
21
+ return (React.createElement("div", null, displayColorPicker ? (React.createElement("div", { className: classes.popover },
22
+ React.createElement("div", { role: "presentation", className: classes.cover, onClick: () => setDisplayColorPicker(false) }),
23
+ React.createElement(ChromePicker, { color: color, onChange: onChange }))) : null));
24
+ }
25
+ export default ColorPicker;
26
+ //# sourceMappingURL=ColorPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorPicker.js","sourceRoot":"","sources":["../../../src/ConfigurationEditorWidget/components/ColorPicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAsB,MAAM,aAAa,CAAA;AAE9D,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;IAC7B,OAAO,EAAE;QACP,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,CAAC;KACV;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,OAAO;QACjB,GAAG,EAAE,CAAC;QACN,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,CAAC;KACR;CACF,CAAC,CAAA;AAEF,MAAM,UAAU,WAAW,CAAC,KAG3B;IACC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;IACjC,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAA;IAC/B,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAElE,OAAO,CACL,iCACG,kBAAkB,CAAC,CAAC,CAAC,CACpB,6BAAK,SAAS,EAAE,OAAO,CAAC,OAAO;QAC7B,6BACE,IAAI,EAAC,cAAc,EACnB,SAAS,EAAE,OAAO,CAAC,KAAK,EACxB,OAAO,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAC3C;QACF,oBAAC,YAAY,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAC9C,CACP,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAA;AACH,CAAC;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { AnyConfigurationModel } from '@jbrowse/core/configuration';
3
+ declare const ConfigurationEditor: ({ model }: {
4
+ model: {
5
+ target: AnyConfigurationModel;
6
+ };
7
+ }) => JSX.Element;
8
+ export default ConfigurationEditor;