@rcsb/rcsb-saguaro-app
Version:
RCSB 1D Saguaro Web App
61 lines • 1.96 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import React from "react";
import { buildSequenceIdentityAlignmentFv } from "../RcsbFvWeb/RcsbFvBuilder";
import { DataContainer } from "../RcsbUtils/Helpers/DataContainer";
const fvContainer = new DataContainer();
class UiComponent extends React.Component {
render() {
return (_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 }));
}
}
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");
});
//# sourceMappingURL=SequenceIdentityGroupAlignmentFv.js.map