diff --git a/examples/demo.js b/examples/demo.js index 0281dba1..a05dcd44 100644 --- a/examples/demo.js +++ b/examples/demo.js @@ -1,34 +1,4 @@ window.onload = function() { - function generatePreview(previewStepName, customValues, path) { - var previewSequencer = ImageSequencer(); - - function insertPreview(src) { - var img = document.createElement('img'); - img.classList.add('img-thumbnail') - img.classList.add('no-border'); - img.src = src; - $(img).css("max-width", "200%"); - $(img).css("transform", "translateX(-20%)"); - var stepDiv = $('#addStep .row').find('div').each(function() { - if ($(this).find('div').attr('data-value') === previewStepName) { - $(this).find('div').append(img); - } - }); - } - function loadPreview() { - previewSequencer = previewSequencer.addSteps('resize', { resize: "40%" }); - - if (previewStepName === "crop") { - previewSequencer.addSteps(previewStepName, customValues).run(insertPreview); - } - else { - previewSequencer.addSteps(previewStepName, { [previewStepName]: customValues }).run(insertPreview); - } - } - previewSequencer.loadImage(path, loadPreview); - } - - sequencer = ImageSequencer(); function refreshOptions() { @@ -210,10 +180,12 @@ window.onload = function() { onLoad: function onFileReaderLoad(progress) { var reader = progress.target; var step = sequencer.images.image1.steps[0]; + var util=IntermediateHtmlStepUi(sequencer); step.output.src = reader.result; sequencer.run({ index: 0 }); step.options.step.imgElement.src = reader.result; - updatePreviews(reader.result); + updatePreviews(reader.result,'addStep'); + updatePreviews(sequencer.images.image1.steps[0].options.step.imgElement.src,'insertStep'); }, onTakePhoto: function (url) { var step = sequencer.images.image1.steps[0]; @@ -224,32 +196,10 @@ window.onload = function() { }); setupCache(); - - function updatePreviews(src) { - $('#addStep img').remove(); - - var previewSequencerSteps = { - "brightness": "175", - "saturation": "0.5", - "rotate": 90, - "contrast": 90, - "crop": { - "x": 0, - "y": 0, - "w": "(50%)", - "h": "(50%)", - "noUI": true - } - } - - Object.keys(previewSequencerSteps).forEach(function(step, index) { - generatePreview(step, Object.values(previewSequencerSteps)[index], src); - }); - } if (getUrlHashParameter('src')) { - updatePreviews(getUrlHashParameter('src')); + updatePreviews(getUrlHashParameter('src'),'addStep'); } else { - updatePreviews("images/tulips.png"); + updatePreviews("images/tulips.png",'addStep'); } -}; +}; \ No newline at end of file diff --git a/examples/index.html b/examples/index.html index 63053b4c..17f6e525 100644 --- a/examples/index.html +++ b/examples/index.html @@ -21,6 +21,7 @@ + diff --git a/examples/lib/insertPreview.js b/examples/lib/insertPreview.js new file mode 100644 index 00000000..bd104ecd --- /dev/null +++ b/examples/lib/insertPreview.js @@ -0,0 +1,50 @@ +function generatePreview(previewStepName, customValues, path, selector) { + + var previewSequencer = ImageSequencer(); + function insertPreview(src) { + var img = document.createElement('img'); + img.classList.add('img-thumbnail') + img.classList.add('no-border'); + img.src = src; + $(img).css("max-width", "200%"); + $(img).css("transform", "translateX(-20%)"); + var stepDiv = $('#'+selector+' .row').find('div').each(function() { + if ($(this).find('div').attr('data-value') === previewStepName) { + $(this).find('div').append(img); + } + }); + } + + function loadPreview() { + previewSequencer = previewSequencer.addSteps('resize', { resize: "40%" }); + if (previewStepName === "crop") { + previewSequencer.addSteps(previewStepName, customValues).run(insertPreview); + } + else { + previewSequencer.addSteps(previewStepName, { [previewStepName]: customValues }).run(insertPreview); + } + } + previewSequencer.loadImage(path, loadPreview); + } + + function updatePreviews(src, selector) { + $('#'+selector+' img').remove(); + + var previewSequencerSteps = { + "brightness": "20", + "saturation": "5", + "rotate": 90, + "contrast": 90, + "crop": { + "x": 0, + "y": 0, + "w": "(50%)", + "h": "(50%)", + "noUI": true + } + } + + Object.keys(previewSequencerSteps).forEach(function (step, index) { + generatePreview(step, Object.values(previewSequencerSteps)[index], src, selector); + }); + } \ No newline at end of file diff --git a/examples/lib/intermediateHtmlStepUi.js b/examples/lib/intermediateHtmlStepUi.js index b9c865a1..8b09a75a 100644 --- a/examples/lib/intermediateHtmlStepUi.js +++ b/examples/lib/intermediateHtmlStepUi.js @@ -1,40 +1,40 @@ function IntermediateHtmlStepUi(_sequencer, step, options) { function stepUI() { return '
\ -
\ +
\
\
\
\

Select a new module to add to your sequence.

\
\
\ - \ +
\ + \ +
\

Brightness

\
\
\ - \ +
\ + \ +
\

Contrast

\
\
\ - \ +
\ + \ +
\

Saturation

\
\
\ - \ +
\ + \ +
\

Rotate

\
\
\ - \ +
\ + \ +
\

Crop

\
\
\ @@ -50,12 +50,14 @@ function IntermediateHtmlStepUi(_sequencer, step, options) {
\
'; } + + function selectNewStepUi() { var m = $("#insertStep select").val(); $("#insertStep .info").html(_sequencer.modulesInfo(m).description); $("#insertStep #add-step-btn").prop("disabled", false); } - insertStep = function(id) { + insertStep = function (id) { var modulesInfo = _sequencer.modulesInfo(); var parser = new DOMParser(); var addStepUI = stepUI(); @@ -65,6 +67,7 @@ function IntermediateHtmlStepUi(_sequencer, step, options) { .insertAdjacentElement('afterend', addStepUI ); + updatePreviews(step.output,'insertStep'); var insertStepSelect = $("#insertStep select"); insertStepSelect.html(""); // Add modules to the insertStep dropdown @@ -78,7 +81,7 @@ function IntermediateHtmlStepUi(_sequencer, step, options) { $('#insertStep #add-step-btn').prop('disabled', true); insertStepSelect.append(''); - $('#insertStep .radio-group .radio').on("click", function() { + $('#insertStep .radio-group .radio').on("click", function () { $(this).parent().find('.radio').removeClass('selected'); $(this).addClass('selected'); newStep = $(this).attr('data-value'); @@ -88,7 +91,7 @@ function IntermediateHtmlStepUi(_sequencer, step, options) { $(this).removeClass('selected'); }); $(step.ui.querySelector("#insertStep select")).on('change', selectNewStepUi); - $(step.ui.querySelector("#insertStep #add-step-btn")).on('click', function() { insert(id) }); + $(step.ui.querySelector("#insertStep #add-step-btn")).on('click', function () { insert(id) }); } function insert(id) { @@ -112,7 +115,8 @@ function IntermediateHtmlStepUi(_sequencer, step, options) { setUrlHashParameter("steps", _sequencer.toString()); } + return { insertStep } -} \ No newline at end of file +}