@rcsb/rcsb-saguaro-app
Version:
RCSB 1D Saguaro Web App
64 lines (63 loc) • 2.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = tslib_1.__importDefault(require("react"));
const RcsbFvBuilder_1 = require("../RcsbFvWeb/RcsbFvBuilder");
const DataContainer_1 = require("../RcsbUtils/Helpers/DataContainer");
const fvContainer = new DataContainer_1.DataContainer();
class UiComponent extends react_1.default.Component {
render() {
return ((0, jsx_runtime_1.jsx)("div", { onClick: () => {
var _a;
(_a = this.props.fvContainer.get()) === null || _a === void 0 ? void 0 : _a.getFv().setSelection({ elements: { begin: 10, end: 50 }, mode: "select" });
}, children: this.props.text }));
}
}
(0, RcsbFvBuilder_1.buildSequenceIdentityAlignmentFv)("pfv", "1_30", undefined, {
boardConfig: {
selectionChangeCallback: (selection) => {
console.log(selection);
}
},
page: {
first: 200,
after: 0
},
externalTrackBuilder: {
filterAlignments: (data) => {
console.log("filterAlignments!!!!!!!!");
return new Promise(resolve => resolve(data.alignments));
}
},
trackConfigModifier: {
alignment: (alignmentContext, targetAlignment) => {
return new Promise(resolve => {
resolve({
metadata: {
targetId: targetAlignment.target_id
}
});
});
}
},
beforeChangeCallback: (module) => {
console.log("This happens before change");
},
onChangeCallback: () => {
console.log("This happens after change");
},
externalUiComponents: {
replace: [{
component: UiComponent,
props: {
text: "Bring Top",
fvContainer,
b: ""
}
}]
},
}).then(pfv => {
fvContainer.set(pfv);
console.log(pfv, "rendered");
});