|
@@ -47,7 +47,7 @@
|
|
|
<body>
|
|
|
<div id='controls'>
|
|
|
<h3>Source</h3>
|
|
|
- <input type='text' id='url' placeholder='url' />
|
|
|
+ <input type='text' id='url' placeholder='url' style='width: 400px' />
|
|
|
<input type='text' id='assemblyId' placeholder='assembly id' />
|
|
|
<select id='format'>
|
|
|
<option value='cif' selected>CIF</option>
|
|
@@ -57,7 +57,9 @@
|
|
|
<div id="app"></div>
|
|
|
<script>
|
|
|
// create an instance of the plugin
|
|
|
- var MolStarProteopediaWrapper = new MolStarProteopediaWrapper();
|
|
|
+ var PluginWrapper = new MolStarProteopediaWrapper();
|
|
|
+
|
|
|
+ console.log('Wrapper version', MolStarProteopediaWrapper.VERSION_MAJOR);
|
|
|
|
|
|
function $(id) { return document.getElementById(id); }
|
|
|
|
|
@@ -76,22 +78,22 @@
|
|
|
// var format = 'pdb';
|
|
|
// var assemblyId = 'deposited';
|
|
|
|
|
|
- MolStarProteopediaWrapper.init('app' /** or document.getElementById('app') */);
|
|
|
- MolStarProteopediaWrapper.setBackground(0xffffff);
|
|
|
- MolStarProteopediaWrapper.load({ url: url, format: format, assemblyId: assemblyId });
|
|
|
- MolStarProteopediaWrapper.toggleSpin();
|
|
|
+ PluginWrapper.init('app' /** or document.getElementById('app') */);
|
|
|
+ PluginWrapper.setBackground(0xffffff);
|
|
|
+ PluginWrapper.load({ url: url, format: format, assemblyId: assemblyId });
|
|
|
+ PluginWrapper.toggleSpin();
|
|
|
|
|
|
- MolStarProteopediaWrapper.events.modelInfo.subscribe(function (info) {
|
|
|
+ PluginWrapper.events.modelInfo.subscribe(function (info) {
|
|
|
console.log('Model Info', info);
|
|
|
});
|
|
|
|
|
|
- addControl('Load Asym Unit', () => MolStarProteopediaWrapper.load({ url: url, format: format }));
|
|
|
- addControl('Load Assembly', () => MolStarProteopediaWrapper.load({ url: url, format: format, assemblyId: assemblyId }));
|
|
|
+ addControl('Load Asym Unit', () => PluginWrapper.load({ url: url, format: format }));
|
|
|
+ addControl('Load Assembly', () => PluginWrapper.load({ url: url, format: format, assemblyId: assemblyId }));
|
|
|
|
|
|
addSeparator();
|
|
|
|
|
|
addHeader('Camera');
|
|
|
- addControl('Toggle Spin', () => MolStarProteopediaWrapper.toggleSpin());
|
|
|
+ addControl('Toggle Spin', () => PluginWrapper.toggleSpin());
|
|
|
|
|
|
addSeparator();
|
|
|
|
|
@@ -99,19 +101,35 @@
|
|
|
|
|
|
// adjust this number to make the animation faster or slower
|
|
|
// requires to "restart" the animation if changed
|
|
|
- MolStarProteopediaWrapper.animate.modelIndex.maxFPS = 30;
|
|
|
+ PluginWrapper.animate.modelIndex.maxFPS = 30;
|
|
|
|
|
|
- addControl('Play To End', () => MolStarProteopediaWrapper.animate.modelIndex.onceForward());
|
|
|
- addControl('Play To Start', () => MolStarProteopediaWrapper.animate.modelIndex.onceBackward());
|
|
|
- addControl('Play Palindrome', () => MolStarProteopediaWrapper.animate.modelIndex.palindrome());
|
|
|
- addControl('Play Loop', () => MolStarProteopediaWrapper.animate.modelIndex.loop());
|
|
|
- addControl('Stop', () => MolStarProteopediaWrapper.animate.modelIndex.stop());
|
|
|
+ addControl('Play To End', () => PluginWrapper.animate.modelIndex.onceForward());
|
|
|
+ addControl('Play To Start', () => PluginWrapper.animate.modelIndex.onceBackward());
|
|
|
+ addControl('Play Palindrome', () => PluginWrapper.animate.modelIndex.palindrome());
|
|
|
+ addControl('Play Loop', () => PluginWrapper.animate.modelIndex.loop());
|
|
|
+ addControl('Stop', () => PluginWrapper.animate.modelIndex.stop());
|
|
|
|
|
|
addSeparator();
|
|
|
addHeader('Misc');
|
|
|
|
|
|
- addControl('Apply Evo Cons', () => MolStarProteopediaWrapper.coloring.evolutionaryConservation());
|
|
|
- addControl('Default Visuals', () => MolStarProteopediaWrapper.updateStyle());
|
|
|
+ addControl('Apply Evo Cons', () => PluginWrapper.coloring.evolutionaryConservation());
|
|
|
+ addControl('Default Visuals', () => PluginWrapper.updateStyle());
|
|
|
+
|
|
|
+ addSeparator();
|
|
|
+ addHeader('State');
|
|
|
+
|
|
|
+ var snapshot;
|
|
|
+ addControl('Create Snapshot', () => {
|
|
|
+ snapshot = PluginWrapper.snapshot.get();
|
|
|
+ // could use JSON.stringify(snapshot) and upload the data
|
|
|
+ });
|
|
|
+ addControl('Apply Snapshot', () => {
|
|
|
+ if (!snapshot) return;
|
|
|
+ PluginWrapper.snapshot.set(snapshot);
|
|
|
+
|
|
|
+ // or download snapshot using fetch or ajax or whatever
|
|
|
+ // or PluginWrapper.snapshot.download(url);
|
|
|
+ });
|
|
|
|
|
|
////////////////////////////////////////////////////////
|
|
|
|