mirror of
https://github.com/publiclab/image-sequencer.git
synced 2025-12-14 20:30:01 +01:00
* initial createMetaModule * fixes * fix * Update createMetaModule.js * Update createMetaModule.js * refactor and fix Signed-off-by: tech4GT <varun.gupta1798@gmail.com> * update ndvi-colormap Signed-off-by: tech4GT <varun.gupta1798@gmail.com> * fix test Signed-off-by: tech4GT <varun.gupta1798@gmail.com> * add docs Signed-off-by: tech4GT <varun.gupta1798@gmail.com>
64 lines
1.8 KiB
JavaScript
64 lines
1.8 KiB
JavaScript
const getStepUtils = require('./util/getStep.js');
|
|
|
|
// insert one or more steps at a given index in the sequencer
|
|
function InsertStep(ref, image, index, name, o) {
|
|
if (ref.sequences[name]) {
|
|
return ref.importJSON(ref.sequences[name]);
|
|
}
|
|
|
|
function insertStep(image, index, name, o_) {
|
|
if (ref.modules[name]) var moduleInfo = ref.modules[name][1];
|
|
else {
|
|
console.log('Module ' + name + ' not found.');
|
|
}
|
|
|
|
var o = ref.copy(o_);
|
|
o.number = ref.options.sequencerCounter++; //Gives a Unique ID to each step
|
|
o.name = o_.name || name || moduleInfo.name;
|
|
o.description = o_.description || moduleInfo.description;
|
|
o.selector = o_.selector || 'ismod-' + name;
|
|
o.container = o_.container || ref.options.selector;
|
|
o.image = image;
|
|
o.inBrowser = ref.options.inBrowser;
|
|
|
|
if (index == -1) index = ref.images[image].steps.length;
|
|
|
|
o.step = {
|
|
name: o.name,
|
|
description: o.description,
|
|
ID: o.number,
|
|
imageName: o.image,
|
|
inBrowser: ref.options.inBrowser,
|
|
ui: ref.options.ui,
|
|
options: o
|
|
};
|
|
var UI = ref.events;
|
|
|
|
// define the expandSteps function for sequencer
|
|
ref.modules[name].expandSteps = function expandSteps(stepsArray) {
|
|
for (var i in stepsArray) {
|
|
let step = stepsArray[i];
|
|
ref.insertSteps(index + Number.parseInt(i), step['name'], step['options']);
|
|
// ref.addSteps(step['name'], step['options']);
|
|
}
|
|
}
|
|
|
|
// Tell UI that a step has been set up.
|
|
o = o || {};
|
|
|
|
if (!ref.modules[name][1].length) {
|
|
UI.onSetup(o.step, { index: index });
|
|
ref.images[image].steps.splice(index, 0, ref.modules[name][0](o, UI));
|
|
} else {
|
|
ref.modules[name][0](o, UI);
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
insertStep(image, index, name, o);
|
|
ref.steps = ref.images[image].steps;
|
|
|
|
}
|
|
module.exports = InsertStep;
|