@jbrowse/plugin-variants 2.1.0 → 2.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ChordVariantDisplay/index.js +9 -9
- package/dist/ChordVariantDisplay/index.js.map +1 -1
- package/dist/ChordVariantDisplay/models/ChordVariantDisplay.js +23 -25
- package/dist/ChordVariantDisplay/models/ChordVariantDisplay.js.map +1 -1
- package/dist/LinearVariantDisplay/configSchema.js +3 -3
- package/dist/LinearVariantDisplay/configSchema.js.map +1 -1
- package/dist/LinearVariantDisplay/index.d.ts +3 -2
- package/dist/LinearVariantDisplay/index.js +17 -5
- package/dist/LinearVariantDisplay/index.js.map +1 -1
- package/dist/LinearVariantDisplay/model.js +24 -72
- package/dist/LinearVariantDisplay/model.js.map +1 -1
- package/dist/StructuralVariantChordRenderer/ReactComponent.d.ts +1 -1
- package/dist/StructuralVariantChordRenderer/ReactComponent.js +57 -103
- package/dist/StructuralVariantChordRenderer/ReactComponent.js.map +1 -1
- package/dist/StructuralVariantChordRenderer/index.js +7 -7
- package/dist/StructuralVariantChordRenderer/index.js.map +1 -1
- package/dist/VariantFeatureWidget/AnnotGrid.d.ts +5 -0
- package/dist/VariantFeatureWidget/AnnotGrid.js +22 -0
- package/dist/VariantFeatureWidget/AnnotGrid.js.map +1 -0
- package/dist/VariantFeatureWidget/BreakendOptionDialog.js +23 -40
- package/dist/VariantFeatureWidget/BreakendOptionDialog.js.map +1 -1
- package/dist/VariantFeatureWidget/BreakendPanel.d.ts +7 -0
- package/dist/VariantFeatureWidget/BreakendPanel.js +82 -0
- package/dist/VariantFeatureWidget/BreakendPanel.js.map +1 -0
- package/dist/VariantFeatureWidget/VariantAnnPanel.d.ts +5 -0
- package/dist/VariantFeatureWidget/VariantAnnPanel.js +25 -0
- package/dist/VariantFeatureWidget/VariantAnnPanel.js.map +1 -0
- package/dist/VariantFeatureWidget/VariantCsqPanel.d.ts +5 -0
- package/dist/VariantFeatureWidget/VariantCsqPanel.js +25 -0
- package/dist/VariantFeatureWidget/VariantCsqPanel.js.map +1 -0
- package/dist/VariantFeatureWidget/VariantFeatureWidget.js +23 -184
- package/dist/VariantFeatureWidget/VariantFeatureWidget.js.map +1 -1
- package/dist/VariantFeatureWidget/VariantSampleGrid.d.ts +6 -0
- package/dist/VariantFeatureWidget/VariantSampleGrid.js +83 -0
- package/dist/VariantFeatureWidget/VariantSampleGrid.js.map +1 -0
- package/dist/VariantFeatureWidget/index.d.ts +2 -0
- package/dist/VariantFeatureWidget/index.js +41 -4
- package/dist/VariantFeatureWidget/index.js.map +1 -1
- package/dist/VariantTrack/index.d.ts +3 -0
- package/dist/VariantTrack/index.js +19 -0
- package/dist/VariantTrack/index.js.map +1 -0
- package/dist/VcfAdapter/VcfAdapter.js +85 -221
- package/dist/VcfAdapter/VcfAdapter.js.map +1 -1
- package/dist/VcfAdapter/configSchema.js +1 -1
- package/dist/VcfAdapter/configSchema.js.map +1 -1
- package/dist/VcfAdapter/index.d.ts +3 -1
- package/dist/VcfAdapter/index.js +32 -3
- package/dist/VcfAdapter/index.js.map +1 -1
- package/dist/VcfTabixAdapter/VcfFeature.js +75 -106
- package/dist/VcfTabixAdapter/VcfFeature.js.map +1 -1
- package/dist/VcfTabixAdapter/VcfTabixAdapter.js +88 -226
- package/dist/VcfTabixAdapter/VcfTabixAdapter.js.map +1 -1
- package/dist/VcfTabixAdapter/configSchema.js +2 -2
- package/dist/VcfTabixAdapter/configSchema.js.map +1 -1
- package/dist/VcfTabixAdapter/index.d.ts +3 -0
- package/dist/VcfTabixAdapter/index.js +34 -2
- package/dist/VcfTabixAdapter/index.js.map +1 -1
- package/dist/extensionPoints.d.ts +3 -0
- package/dist/extensionPoints.js +51 -0
- package/dist/extensionPoints.js.map +1 -0
- package/dist/index.js +24 -162
- package/dist/index.js.map +1 -1
- package/esm/LinearVariantDisplay/index.d.ts +3 -2
- package/esm/LinearVariantDisplay/index.js +17 -2
- package/esm/LinearVariantDisplay/index.js.map +1 -1
- package/esm/StructuralVariantChordRenderer/ReactComponent.d.ts +1 -1
- package/esm/VariantFeatureWidget/AnnotGrid.d.ts +5 -0
- package/esm/VariantFeatureWidget/AnnotGrid.js +16 -0
- package/esm/VariantFeatureWidget/AnnotGrid.js.map +1 -0
- package/esm/VariantFeatureWidget/BreakendPanel.d.ts +7 -0
- package/esm/VariantFeatureWidget/BreakendPanel.js +53 -0
- package/esm/VariantFeatureWidget/BreakendPanel.js.map +1 -0
- package/esm/VariantFeatureWidget/VariantAnnPanel.d.ts +5 -0
- package/esm/VariantFeatureWidget/VariantAnnPanel.js +19 -0
- package/esm/VariantFeatureWidget/VariantAnnPanel.js.map +1 -0
- package/esm/VariantFeatureWidget/VariantCsqPanel.d.ts +5 -0
- package/esm/VariantFeatureWidget/VariantCsqPanel.js +19 -0
- package/esm/VariantFeatureWidget/VariantCsqPanel.js.map +1 -0
- package/esm/VariantFeatureWidget/VariantFeatureWidget.js +13 -104
- package/esm/VariantFeatureWidget/VariantFeatureWidget.js.map +1 -1
- package/esm/VariantFeatureWidget/VariantSampleGrid.d.ts +6 -0
- package/esm/VariantFeatureWidget/VariantSampleGrid.js +57 -0
- package/esm/VariantFeatureWidget/VariantSampleGrid.js.map +1 -0
- package/esm/VariantFeatureWidget/index.d.ts +2 -0
- package/esm/VariantFeatureWidget/index.js +11 -0
- package/esm/VariantFeatureWidget/index.js.map +1 -1
- package/esm/VariantTrack/index.d.ts +3 -0
- package/esm/VariantTrack/index.js +14 -0
- package/esm/VariantTrack/index.js.map +1 -0
- package/esm/VcfAdapter/VcfAdapter.js +9 -7
- package/esm/VcfAdapter/VcfAdapter.js.map +1 -1
- package/esm/VcfAdapter/index.d.ts +3 -1
- package/esm/VcfAdapter/index.js +9 -1
- package/esm/VcfAdapter/index.js.map +1 -1
- package/esm/VcfTabixAdapter/index.d.ts +3 -0
- package/esm/VcfTabixAdapter/index.js +9 -0
- package/esm/VcfTabixAdapter/index.js.map +1 -1
- package/esm/extensionPoints.d.ts +3 -0
- package/esm/extensionPoints.js +49 -0
- package/esm/extensionPoints.js.map +1 -0
- package/esm/index.js +12 -95
- package/esm/index.js.map +1 -1
- package/package.json +2 -3
- package/src/LinearVariantDisplay/index.ts +19 -2
- package/src/VariantFeatureWidget/AnnotGrid.tsx +28 -0
- package/src/VariantFeatureWidget/BreakendPanel.tsx +94 -0
- package/src/VariantFeatureWidget/VariantAnnPanel.tsx +31 -0
- package/src/VariantFeatureWidget/VariantCsqPanel.tsx +31 -0
- package/src/VariantFeatureWidget/VariantFeatureWidget.tsx +17 -198
- package/src/VariantFeatureWidget/VariantSampleGrid.tsx +121 -0
- package/src/VariantFeatureWidget/__snapshots__/VariantFeatureWidget.test.js.snap +6 -0
- package/src/VariantFeatureWidget/index.ts +15 -0
- package/src/VariantTrack/index.ts +26 -0
- package/src/VcfAdapter/VcfAdapter.ts +15 -16
- package/src/VcfAdapter/index.ts +14 -1
- package/src/VcfTabixAdapter/index.ts +15 -0
- package/src/__snapshots__/index.test.js.snap +4 -4
- package/src/extensionPoints.ts +74 -0
- package/src/index.ts +12 -155
package/src/VcfAdapter/index.ts
CHANGED
|
@@ -1 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
import PluginManager from '@jbrowse/core/PluginManager'
|
|
2
|
+
import AdapterType from '@jbrowse/core/pluggableElementTypes/AdapterType'
|
|
3
|
+
import configSchema from './configSchema'
|
|
4
|
+
|
|
5
|
+
export default (pluginManager: PluginManager) => {
|
|
6
|
+
pluginManager.addAdapterType(
|
|
7
|
+
() =>
|
|
8
|
+
new AdapterType({
|
|
9
|
+
name: 'VcfAdapter',
|
|
10
|
+
configSchema,
|
|
11
|
+
getAdapterClass: () => import('./VcfAdapter').then(r => r.default),
|
|
12
|
+
}),
|
|
13
|
+
)
|
|
14
|
+
}
|
|
@@ -1 +1,16 @@
|
|
|
1
|
+
import PluginManager from '@jbrowse/core/PluginManager'
|
|
2
|
+
import AdapterType from '@jbrowse/core/pluggableElementTypes/AdapterType'
|
|
3
|
+
import configSchema from './configSchema'
|
|
4
|
+
|
|
1
5
|
export { default as configSchema } from './configSchema'
|
|
6
|
+
|
|
7
|
+
export default (pluginManager: PluginManager) => {
|
|
8
|
+
pluginManager.addAdapterType(
|
|
9
|
+
() =>
|
|
10
|
+
new AdapterType({
|
|
11
|
+
name: 'VcfTabixAdapter',
|
|
12
|
+
configSchema,
|
|
13
|
+
getAdapterClass: () => import('./VcfTabixAdapter').then(r => r.default),
|
|
14
|
+
}),
|
|
15
|
+
)
|
|
16
|
+
}
|
|
@@ -5,14 +5,14 @@ exports[`plugin in a stock JBrowse 1`] = `Object {}`;
|
|
|
5
5
|
exports[`plugin in a stock JBrowse 2`] = `
|
|
6
6
|
Object {
|
|
7
7
|
"displays": Array [
|
|
8
|
-
Object {
|
|
9
|
-
"displayId": "trackId0-ChordVariantDisplay",
|
|
10
|
-
"type": "ChordVariantDisplay",
|
|
11
|
-
},
|
|
12
8
|
Object {
|
|
13
9
|
"displayId": "trackId0-LinearVariantDisplay",
|
|
14
10
|
"type": "LinearVariantDisplay",
|
|
15
11
|
},
|
|
12
|
+
Object {
|
|
13
|
+
"displayId": "trackId0-ChordVariantDisplay",
|
|
14
|
+
"type": "ChordVariantDisplay",
|
|
15
|
+
},
|
|
16
16
|
],
|
|
17
17
|
"trackId": "trackId0",
|
|
18
18
|
"type": "VariantTrack",
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import PluginManager from '@jbrowse/core/PluginManager'
|
|
2
|
+
import { FileLocation } from '@jbrowse/core/util/types'
|
|
3
|
+
import {
|
|
4
|
+
makeIndex,
|
|
5
|
+
makeIndexType,
|
|
6
|
+
getFileName,
|
|
7
|
+
AdapterGuesser,
|
|
8
|
+
TrackTypeGuesser,
|
|
9
|
+
} from '@jbrowse/core/util/tracks'
|
|
10
|
+
|
|
11
|
+
export default (pluginManager: PluginManager) => {
|
|
12
|
+
pluginManager.addToExtensionPoint(
|
|
13
|
+
'Core-guessAdapterForLocation',
|
|
14
|
+
(adapterGuesser: AdapterGuesser) => {
|
|
15
|
+
return (
|
|
16
|
+
file: FileLocation,
|
|
17
|
+
index?: FileLocation,
|
|
18
|
+
adapterHint?: string,
|
|
19
|
+
) => {
|
|
20
|
+
const regexGuess = /\.vcf\.b?gz$/i
|
|
21
|
+
const adapterName = 'VcfTabixAdapter'
|
|
22
|
+
const fileName = getFileName(file)
|
|
23
|
+
const indexName = index && getFileName(index)
|
|
24
|
+
const obj = {
|
|
25
|
+
type: adapterName,
|
|
26
|
+
vcfGzLocation: file,
|
|
27
|
+
index: {
|
|
28
|
+
location: index || makeIndex(file, '.tbi'),
|
|
29
|
+
indexType: makeIndexType(indexName, 'CSI', 'TBI'),
|
|
30
|
+
},
|
|
31
|
+
}
|
|
32
|
+
if (regexGuess.test(fileName) && !adapterHint) {
|
|
33
|
+
return obj
|
|
34
|
+
} else if (adapterHint === adapterName) {
|
|
35
|
+
return obj
|
|
36
|
+
}
|
|
37
|
+
return adapterGuesser(file, index, adapterHint)
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
)
|
|
41
|
+
pluginManager.addToExtensionPoint(
|
|
42
|
+
'Core-guessTrackTypeForLocation',
|
|
43
|
+
(trackTypeGuesser: TrackTypeGuesser) => {
|
|
44
|
+
return (adapterName: string) => {
|
|
45
|
+
if (adapterName === 'VcfTabixAdapter' || adapterName === 'VcfAdapter') {
|
|
46
|
+
return 'VariantTrack'
|
|
47
|
+
}
|
|
48
|
+
return trackTypeGuesser(adapterName)
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
pluginManager.addToExtensionPoint(
|
|
54
|
+
'Core-guessAdapterForLocation',
|
|
55
|
+
(adapterGuesser: AdapterGuesser) => {
|
|
56
|
+
return (
|
|
57
|
+
file: FileLocation,
|
|
58
|
+
index?: FileLocation,
|
|
59
|
+
adapterHint?: string,
|
|
60
|
+
) => {
|
|
61
|
+
const regexGuess = /\.vcf$/i
|
|
62
|
+
const adapterName = 'VcfAdapter'
|
|
63
|
+
const fileName = getFileName(file)
|
|
64
|
+
if (regexGuess.test(fileName) || adapterHint === adapterName) {
|
|
65
|
+
return {
|
|
66
|
+
type: adapterName,
|
|
67
|
+
vcfLocation: file,
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return adapterGuesser(file, index, adapterHint)
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
)
|
|
74
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -1,175 +1,32 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
createBaseTrackConfig,
|
|
7
|
-
createBaseTrackModel,
|
|
8
|
-
} from '@jbrowse/core/pluggableElementTypes/models'
|
|
9
|
-
import { FileLocation } from '@jbrowse/core/util/types'
|
|
10
|
-
import TrackType from '@jbrowse/core/pluggableElementTypes/TrackType'
|
|
11
|
-
import WidgetType from '@jbrowse/core/pluggableElementTypes/WidgetType'
|
|
1
|
+
import VcfAdapterF from './VcfAdapter'
|
|
2
|
+
import VcfTabixAdapterF from './VcfTabixAdapter'
|
|
3
|
+
import ExtensionPointsF from './extensionPoints'
|
|
4
|
+
import VariantTrackF from './VariantTrack'
|
|
12
5
|
import Plugin from '@jbrowse/core/Plugin'
|
|
13
6
|
import PluginManager from '@jbrowse/core/PluginManager'
|
|
14
|
-
import { BaseLinearDisplayComponent } from '@jbrowse/plugin-linear-genome-view'
|
|
15
7
|
import ChordVariantDisplay from './ChordVariantDisplay'
|
|
16
|
-
import
|
|
17
|
-
configSchemaFactory as linearVariantDisplayConfigSchemaFactory,
|
|
18
|
-
modelFactory as linearVariantDisplayModelFactory,
|
|
19
|
-
} from './LinearVariantDisplay'
|
|
8
|
+
import LinearVariantDisplayF from './LinearVariantDisplay'
|
|
20
9
|
import StructuralVariantChordRendererFactory from './StructuralVariantChordRenderer'
|
|
21
|
-
import
|
|
22
|
-
configSchema as variantFeatureWidgetConfigSchema,
|
|
23
|
-
stateModelFactory as variantFeatureWidgetStateModelFactory,
|
|
24
|
-
} from './VariantFeatureWidget'
|
|
25
|
-
import { configSchema as vcfTabixAdapterConfigSchema } from './VcfTabixAdapter'
|
|
26
|
-
import { configSchema as vcfAdapterConfigSchema } from './VcfAdapter'
|
|
27
|
-
import {
|
|
28
|
-
makeIndex,
|
|
29
|
-
makeIndexType,
|
|
30
|
-
AdapterGuesser,
|
|
31
|
-
getFileName,
|
|
32
|
-
TrackTypeGuesser,
|
|
33
|
-
} from '@jbrowse/core/util/tracks'
|
|
10
|
+
import VariantFeatureWidgetF from './VariantFeatureWidget'
|
|
34
11
|
|
|
35
12
|
export default class VariantsPlugin extends Plugin {
|
|
36
13
|
name = 'VariantsPlugin'
|
|
37
14
|
|
|
38
15
|
install(pluginManager: PluginManager) {
|
|
39
|
-
pluginManager
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
import('./VcfTabixAdapter/VcfTabixAdapter').then(r => r.default),
|
|
46
|
-
}),
|
|
47
|
-
)
|
|
48
|
-
pluginManager.addToExtensionPoint(
|
|
49
|
-
'Core-guessAdapterForLocation',
|
|
50
|
-
(adapterGuesser: AdapterGuesser) => {
|
|
51
|
-
return (
|
|
52
|
-
file: FileLocation,
|
|
53
|
-
index?: FileLocation,
|
|
54
|
-
adapterHint?: string,
|
|
55
|
-
) => {
|
|
56
|
-
const regexGuess = /\.vcf\.b?gz$/i
|
|
57
|
-
const adapterName = 'VcfTabixAdapter'
|
|
58
|
-
const fileName = getFileName(file)
|
|
59
|
-
const indexName = index && getFileName(index)
|
|
60
|
-
const obj = {
|
|
61
|
-
type: adapterName,
|
|
62
|
-
vcfGzLocation: file,
|
|
63
|
-
index: {
|
|
64
|
-
location: index || makeIndex(file, '.tbi'),
|
|
65
|
-
indexType: makeIndexType(indexName, 'CSI', 'TBI'),
|
|
66
|
-
},
|
|
67
|
-
}
|
|
68
|
-
if (regexGuess.test(fileName) && !adapterHint) {
|
|
69
|
-
return obj
|
|
70
|
-
} else if (adapterHint === adapterName) {
|
|
71
|
-
return obj
|
|
72
|
-
}
|
|
73
|
-
return adapterGuesser(file, index, adapterHint)
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
)
|
|
77
|
-
pluginManager.addToExtensionPoint(
|
|
78
|
-
'Core-guessTrackTypeForLocation',
|
|
79
|
-
(trackTypeGuesser: TrackTypeGuesser) => {
|
|
80
|
-
return (adapterName: string) => {
|
|
81
|
-
if (
|
|
82
|
-
adapterName === 'VcfTabixAdapter' ||
|
|
83
|
-
adapterName === 'VcfAdapter'
|
|
84
|
-
) {
|
|
85
|
-
return 'VariantTrack'
|
|
86
|
-
}
|
|
87
|
-
return trackTypeGuesser(adapterName)
|
|
88
|
-
}
|
|
89
|
-
},
|
|
90
|
-
)
|
|
91
|
-
|
|
92
|
-
pluginManager.addAdapterType(
|
|
93
|
-
() =>
|
|
94
|
-
new AdapterType({
|
|
95
|
-
name: 'VcfAdapter',
|
|
96
|
-
configSchema: vcfAdapterConfigSchema,
|
|
97
|
-
getAdapterClass: () =>
|
|
98
|
-
import('./VcfAdapter/VcfAdapter').then(r => r.default),
|
|
99
|
-
}),
|
|
100
|
-
)
|
|
101
|
-
|
|
102
|
-
pluginManager.addToExtensionPoint(
|
|
103
|
-
'Core-guessAdapterForLocation',
|
|
104
|
-
(adapterGuesser: AdapterGuesser) => {
|
|
105
|
-
return (
|
|
106
|
-
file: FileLocation,
|
|
107
|
-
index?: FileLocation,
|
|
108
|
-
adapterHint?: string,
|
|
109
|
-
) => {
|
|
110
|
-
const regexGuess = /\.vcf$/i
|
|
111
|
-
const adapterName = 'VcfAdapter'
|
|
112
|
-
const fileName = getFileName(file)
|
|
113
|
-
if (regexGuess.test(fileName) || adapterHint === adapterName) {
|
|
114
|
-
return {
|
|
115
|
-
type: adapterName,
|
|
116
|
-
vcfLocation: file,
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
return adapterGuesser(file, index, adapterHint)
|
|
120
|
-
}
|
|
121
|
-
},
|
|
122
|
-
)
|
|
16
|
+
VcfAdapterF(pluginManager)
|
|
17
|
+
VcfTabixAdapterF(pluginManager)
|
|
18
|
+
VariantFeatureWidgetF(pluginManager)
|
|
19
|
+
VariantTrackF(pluginManager)
|
|
20
|
+
ExtensionPointsF(pluginManager)
|
|
21
|
+
LinearVariantDisplayF(pluginManager)
|
|
123
22
|
|
|
124
23
|
pluginManager.addRendererType(() =>
|
|
125
24
|
pluginManager.jbrequire(StructuralVariantChordRendererFactory),
|
|
126
25
|
)
|
|
127
|
-
pluginManager.addTrackType(() => {
|
|
128
|
-
const configSchema = ConfigurationSchema(
|
|
129
|
-
'VariantTrack',
|
|
130
|
-
{},
|
|
131
|
-
{ baseConfiguration: createBaseTrackConfig(pluginManager) },
|
|
132
|
-
)
|
|
133
|
-
return new TrackType({
|
|
134
|
-
name: 'VariantTrack',
|
|
135
|
-
configSchema,
|
|
136
|
-
stateModel: createBaseTrackModel(
|
|
137
|
-
pluginManager,
|
|
138
|
-
'VariantTrack',
|
|
139
|
-
configSchema,
|
|
140
|
-
),
|
|
141
|
-
})
|
|
142
|
-
})
|
|
143
26
|
|
|
144
27
|
pluginManager.addDisplayType(() =>
|
|
145
28
|
pluginManager.jbrequire(ChordVariantDisplay),
|
|
146
29
|
)
|
|
147
|
-
|
|
148
|
-
pluginManager.addDisplayType(() => {
|
|
149
|
-
const configSchema =
|
|
150
|
-
linearVariantDisplayConfigSchemaFactory(pluginManager)
|
|
151
|
-
return new DisplayType({
|
|
152
|
-
name: 'LinearVariantDisplay',
|
|
153
|
-
configSchema,
|
|
154
|
-
stateModel: linearVariantDisplayModelFactory(configSchema),
|
|
155
|
-
trackType: 'VariantTrack',
|
|
156
|
-
viewType: 'LinearGenomeView',
|
|
157
|
-
ReactComponent: BaseLinearDisplayComponent,
|
|
158
|
-
})
|
|
159
|
-
})
|
|
160
|
-
|
|
161
|
-
pluginManager.addWidgetType(
|
|
162
|
-
() =>
|
|
163
|
-
new WidgetType({
|
|
164
|
-
name: 'VariantFeatureWidget',
|
|
165
|
-
heading: 'Feature details',
|
|
166
|
-
configSchema: variantFeatureWidgetConfigSchema,
|
|
167
|
-
stateModel: variantFeatureWidgetStateModelFactory(pluginManager),
|
|
168
|
-
ReactComponent: lazy(
|
|
169
|
-
() => import('./VariantFeatureWidget/VariantFeatureWidget'),
|
|
170
|
-
),
|
|
171
|
-
}),
|
|
172
|
-
)
|
|
173
30
|
}
|
|
174
31
|
}
|
|
175
32
|
|