From 56e73ace2ad175788492cd8b71f8369304be485d Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 15 Aug 2012 16:08:07 +0200 Subject: [PATCH 1/2] some fixes in 'Transformation' widget --- .../Transformation.wgt/js/lib/ubw-main.js | 481 ++++++++++-------- .../Transformation.wgt/js/main.js | 339 ++++++------ 2 files changed, 430 insertions(+), 390 deletions(-) diff --git a/resources/library/interactivities/Transformation.wgt/js/lib/ubw-main.js b/resources/library/interactivities/Transformation.wgt/js/lib/ubw-main.js index 06213d1c..149854fd 100644 --- a/resources/library/interactivities/Transformation.wgt/js/lib/ubw-main.js +++ b/resources/library/interactivities/Transformation.wgt/js/lib/ubw-main.js @@ -13,257 +13,294 @@ * along with this program. If not, see . */ function log(object) { - console.log(object); + console.log(object); } function initAfterI18nMessagesLoaded(reload, templates, callbacks) { - document.title = fr.njin.i18n.document.title; + document.title = fr.njin.i18n.document.title; - var ubwidget = $("#ubwidget"); + var ubwidget = $("#ubwidget"); - var parameters = Object.create(Parameters,{ - container: { - value: ubwidget - }, - delegate: { - value: window.sankore || Object.create(ParametersDelegate) - } - }); + var parameters = Object.create(Parameters,{ + container: { + value: ubwidget + }, + delegate: { + value: window.sankore || Object.create(ParametersDelegate) + } + }); - var app = Object.create(App, { - container: { - value: ubwidget - }, - parameters: { - value: parameters - }, - reload: { - value: reload - } - }); + var app = Object.create(App, { + container: { + value: ubwidget + }, + parameters: { + value: parameters + }, + reload: { + value: reload + } + }); - app.init(); - app.onEdit = false; + app.init(); + app.onEdit = false; - if(templates.toolbar) { - $("#toolbar").html(Mustache.render(templates.toolbar, window)); - } - if(templates.parameters) { - $("#parameters").html(Mustache.render(templates.parameters, window)); - } + if(templates.toolbar) { + $("#toolbar").html(Mustache.render(templates.toolbar, window)); + } + if(templates.parameters) { + $("#parameters").html(Mustache.render(templates.parameters, window)); + } - if(callbacks.onTemplatesLoaded && typeof callbacks.onTemplatesLoaded === 'function') { - callbacks.onTemplatesLoaded(app); - } + if(callbacks.onTemplatesLoaded && typeof callbacks.onTemplatesLoaded === 'function') { + callbacks.onTemplatesLoaded(app); + } - log("Update setting views with stored parameters"); - $("#parameters (input|select)[role=parameter]").each(function(i, input) { - (function(input){ - var key = input.name; - var type = input.type; - var isRadioOrcheckbox = (type !== undefined && (type === "checkbox" || type === "radio")); - var stored = parameters.value(key); - if(isRadioOrcheckbox) - $(input).attr("checked", (typeof stored === "string" ? stored === "true" : stored)); - else - $(input).val(stored); - $(input).change(function(){ - var val = (isRadioOrcheckbox ? $(this).is(":checked") : $(this).val()); - parameters.value(key, val); - }); - })(input); - }); + log("Update setting views with stored parameters"); + $("#parameters (input|select)[role=parameter]").each(function(i, input) { + (function(input){ + var key = input.name; + var type = input.type; + var isRadioOrcheckbox = (type !== undefined && (type === "checkbox" || type === "radio")); + var stored = parameters.value(key); + if(isRadioOrcheckbox) + $(input).attr("checked", (typeof stored === "string" ? stored === "true" : stored)); + else + $(input).val(stored); + $(input).change(function(){ + var val = (isRadioOrcheckbox ? $(this).is(":checked") : $(this).val()); + parameters.value(key, val); + }); + })(input); + }); - log("Toobar Initialisation"); - $("button[role=edit]").click(function(){ - app.onEdit = true; - $(document.body).addClass("onEdit"); - if(callbacks.onEdit && typeof callbacks.onEdit === 'function') { - callbacks.onEdit(app); - } - }); - $("button[role=view]").click(function(){ - app.onEdit = false; - $(document.body).removeClass("onEdit"); - if(callbacks.onView && typeof callbacks.onView === 'function') { - callbacks.onView(app); - } - }); - $("button[role=reload]").click(function(){ - app.reload(); - }); - $("button[role=help]").click(function(){ - $("body").toggleClass("showHelp"); - }); + log("Toobar Initialisation"); + $("button[role=edit]").click(function(){ + app.onEdit = true; + if(window.sankore) + window.sankore.enableDropOnWidget(app.onEdit); + $(document.body).addClass("onEdit"); + if(callbacks.onEdit && typeof callbacks.onEdit === 'function') { + callbacks.onEdit(app); + } + }); + $("button[role=view]").click(function(){ + app.onEdit = false; + if(window.sankore) + window.sankore.enableDropOnWidget(app.onEdit); + $(document.body).removeClass("onEdit"); + if(callbacks.onView && typeof callbacks.onView === 'function') { + callbacks.onView(app); + } + }); + $("button[role=reload]").click(function(){ + app.reload(); + }); + $("button[role=help]").click(function(){ + $("body").toggleClass("showHelp"); + }); - $("select[name='themes']").change(function() { - $("body").get(0).className = $("body")[0].className.replace(/\btheme-[^\s]*\b/gi, ''); - $("body").addClass("theme-"+$(this).val()); - }); - $("body").addClass("theme-"+$("select[name='themes']").val()); + $("select[name='themes']").change(function() { + $("body").get(0).className = $("body")[0].className.replace(/\btheme-[^\s]*\b/gi, ''); + $("body").addClass("theme-"+$(this).val()); + }); + $("body").addClass("theme-"+$("select[name='themes']").val()); } function init(reload, templates, callbacks){ - var locale = window.sankore ? sankore.locale() : ""; - $.i18n.properties({ - name: 'Messages', - path: 'i18n/', - language: locale, - callback: function(){ - initAfterI18nMessagesLoaded(reload, templates, callbacks); - } - }); + var locale = window.sankore ? sankore.locale() : ""; + $.i18n.properties({ + name: 'Messages', + path: 'i18n/', + language: locale, + callback: function(){ + initAfterI18nMessagesLoaded(reload, templates, callbacks); + } + }); } var Parameters = (function(){ - var self = Object.create({}, { - container: { - value: null - }, - delegate: { - value: null - }, - value: { - value: function(key, value) { - if(value === undefined) { - var val = this.delegate.preference(key); - log("Retrieve parameter value ["+val+"] as type ["+(typeof val)+"] for key : ["+key+"]"); - return (val !== undefined && (typeof val !== "string" || val)) ? val : $("#ubwidget").data(key); - } - else { - log("Set parameter value ["+value+"] for key : ["+key+"]"); - this.delegate.setPreference(key, value); - this.container.trigger("preferenceChange", {key: key, value: value}); - } - } - } - }); - return self; + var self = Object.create({}, { + container: { + value: null + }, + delegate: { + value: null + }, + value: { + value: function(key, value) { + if(value === undefined) { + var val = this.delegate.preference(key); + log("Retrieve parameter value ["+val+"] as type ["+(typeof val)+"] for key : ["+key+"]"); + return (val !== undefined && (typeof val !== "string" || val)) ? val : $("#ubwidget").data(key); + } + else { + log("Set parameter value ["+value+"] for key : ["+key+"]"); + this.delegate.setPreference(key, value); + this.container.trigger("preferenceChange", { + key: key, + value: value + }); + } + } + } + }); + return self; })(); var ParametersDelegate = (function(){ - var self = Object.create({}, { - preference: { - value: function(key) { - return this[key]; - } - }, - setPreference: { - value: function(key, value) { - this[key] = value; - } - } - }); - return self; + var self = Object.create({}, { + preference: { + value: function(key) { + return this[key]; + } + }, + setPreference: { + value: function(key, value) { + this[key] = value; + } + } + }); + return self; })(); var App = (function() { var self = Object.create({}, { - container: { - value: null - }, - parameters: { - value: null - }, + container: { + value: null + }, + parameters: { + value: null + }, init: { - value: function() { - var that = this; - this.container.bind("preferenceChange", function(evt, parameter) { - that.reload(parameter); - }); - this.reload(); - } + value: function() { + var that = this; + this.container.bind("preferenceChange", function(evt, parameter) { + that.reload(parameter); + }); + this.reload(); + } + }, + reload: { + value: function(parameter) { + if(parameter === undefined) + log("Reload"); + else + log("Update"); + } }, - reload: { - value: function(parameter) { - if(parameter === undefined) - log("Reload"); - else - log("Update"); - } - }, - utils: { - value: Object.create({}, { - shuffle: { - value: function(array) { - var unpickedSize = array.length; - while(unpickedSize > 0) { - var n = Math.floor(Math.random()*unpickedSize); - var temp = array[unpickedSize-1]; - array[unpickedSize-1] = array[n]; - array[n] = temp; - unpickedSize--; - } - } - }, - guid: { - value: function() { - var S4 = function() { - return (((1+Math.random())*0x10000)|0).toString(16).substring(1); - }; - return (S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4()); - } - }, - droppable: { - value: function($e, callback) { - $e.bind("dragover", function(){ - $(this).addClass("hover"); - return false; - }); - $e.bind("dragleave", function(){ - $(this).removeClass("hover"); - return false; - }); - $e.bind("drop", function(e){ - $(this).removeClass("hover"); - e = e || window.event; - e.preventDefault(); - // jQuery wraps the originalEvent, so we try to detect that here... - e = e.originalEvent || e; + utils: { + value: Object.create({}, { + shuffle: { + value: function(array) { + var unpickedSize = array.length; + while(unpickedSize > 0) { + var n = Math.floor(Math.random()*unpickedSize); + var temp = array[unpickedSize-1]; + array[unpickedSize-1] = array[n]; + array[n] = temp; + unpickedSize--; + } + } + }, + guid: { + value: function() { + var S4 = function() { + return (((1+Math.random())*0x10000)|0).toString(16).substring(1); + }; + return (S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4()); + } + }, + droppable: { + value: function($e, callback) { + $e.bind("dragover", function(){ + $(this).addClass("hover"); + return false; + }); + $e.bind("dragleave", function(){ + $(this).removeClass("hover"); + return false; + }); + $e.bind("drop", function(e){ + $(this).removeClass("hover"); + e = e || window.event; + e.preventDefault(); + // jQuery wraps the originalEvent, so we try to detect that here... + e = e.originalEvent || e; - if(window.sankore) { - function stringToXML(text){ - if (window.ActiveXObject){ - var doc=new ActiveXObject('Microsoft.XMLDOM'); - doc.async='false'; - doc.loadXML(text); - } else { - var parser=new DOMParser(); - doc=parser.parseFromString(text,'text/xml'); - } - return doc; - } - var file = stringToXML(e.dataTransfer.getData("text/plain")); - callback({ - src: $(file).find("path:eq(0)").text() - }); - return false; - } + if(window.sankore) { + function stringToXML(text){ + if (window.ActiveXObject){ + var doc=new ActiveXObject('Microsoft.XMLDOM'); + doc.async='false'; + doc.loadXML(text); + } else { + var parser=new DOMParser(); + doc=parser.parseFromString(text,'text/xml'); + } + return doc; + } + var file = stringToXML(e.dataTransfer.getData("text/plain")); + var tmp_img = $("").attr("src", $(file).find("path:eq(0)").text()); + var w = 0; + var h = 0; + $(this).append(tmp_img); + setTimeout(function(){ + if(tmp_img.height() >= tmp_img.width()){ + if(tmp_img.height() > 180){ + h = 180; + tmp_img.attr("height",h); + w = tmp_img.width(); + } else { + h = tmp_img.height(); + w = tmp_img.width(); + } + + } + else{ + if(tmp_img.width() > 180){ + w = 180; + tmp_img.attr("width",w); + h = tmp_img.height(); + } else { + h = tmp_img.height(); + w = tmp_img.width(); + } + } + callback({ + src: $(file).find("path:eq(0)").text(), + width: w, + height: h + }); + tmp_img.remove(); + }, 6) + return false; + } - // Using e.files with fallback because e.dataTransfer is immutable and can't be overridden in Polyfills (http://sandbox.knarly.com/js/dropfiles/). - var files = (e.files || e.dataTransfer.files); - for (var i = 0; i < files.length; i++) { - // Loop through our files with a closure so each of our FileReader's are isolated. - (function (i) { - if(typeof FileReader !== "undefined") { - var reader = new FileReader(); - reader.onload = function (event) { - callback({ - src: event.target.result, - title: (files[i].name), - alt: (files[i].name) - }); - }; - reader.readAsDataURL(files[i]); - } - })(i); - } - return false; - }); - } - } - }) - } + // Using e.files with fallback because e.dataTransfer is immutable and can't be overridden in Polyfills (http://sandbox.knarly.com/js/dropfiles/). + var files = (e.files || e.dataTransfer.files); + for (var i = 0; i < files.length; i++) { + // Loop through our files with a closure so each of our FileReader's are isolated. + (function (i) { + if(typeof FileReader !== "undefined") { + var reader = new FileReader(); + reader.onload = function (event) { + callback({ + src: event.target.result, + title: (files[i].name), + alt: (files[i].name) + }); + }; + reader.readAsDataURL(files[i]); + } + })(i); + } + return false; + }); + } + } + }) + } }); return self; })(); \ No newline at end of file diff --git a/resources/library/interactivities/Transformation.wgt/js/main.js b/resources/library/interactivities/Transformation.wgt/js/main.js index 0777887b..ff614cb8 100644 --- a/resources/library/interactivities/Transformation.wgt/js/main.js +++ b/resources/library/interactivities/Transformation.wgt/js/main.js @@ -3,197 +3,200 @@ function onTemplateLoadedCallback() { } function editRow(app, index) { - var parameters = app.parameters; - var row = $("
"); - row.append("
"+fr.njin.i18n.transformation.row.label(index+1)+"
"); - var cards = $("
"); - row.append(cards); + var parameters = app.parameters; + var row = $("
"); + row.append("
"+fr.njin.i18n.transformation.row.label(index+1)+"
"); + var cards = $("
"); + row.append(cards); - var beforecontent = parameters.value("#"+index+"before"); - var aftercontent = parameters.value("#"+index+"after"); + var beforecontent = parameters.value("#"+index+"before"); + var aftercontent = parameters.value("#"+index+"after"); - var before = $("
"+( beforecontent !== undefined ? beforecontent : "" )+"
"+fr.njin.i18n.transformation.label.drop+"
"+fr.njin.i18n.transformation.label.before+"
"); - var after = $("
"+( aftercontent !== undefined ? aftercontent : "" )+"
"+fr.njin.i18n.transformation.label.drop+"
"+fr.njin.i18n.transformation.label.after+"
"); + var before = $("
"+( beforecontent !== undefined ? beforecontent : "" )+"
"+fr.njin.i18n.transformation.label.drop+"
"+fr.njin.i18n.transformation.label.before+"
"); + var after = $("
"+( aftercontent !== undefined ? aftercontent : "" )+"
"+fr.njin.i18n.transformation.label.drop+"
"+fr.njin.i18n.transformation.label.after+"
"); - makeEditable(app, before, index); - makeEditable(app, after, index); + makeEditable(app, before, index); + makeEditable(app, after, index); - cards.append(before); - cards.append(after); + cards.append(before); + cards.append(after); - return row; + return row; } function cards(app, index) { - var parameters = app.parameters; - var beforecard = $("
"); - var aftercard = $("
"); - - var beforecontent = parameters.value("#"+index+"before"); - var aftercontent = parameters.value("#"+index+"after"); - - var before = $("
"+( beforecontent !== undefined ? beforecontent : "" )+"
"); - var after = $("
"+( aftercontent !== undefined ? aftercontent : "" )+"
"); - - var usePicture = parameters.value("#UsePicture"+index+"before") === "true" - || parameters.value("#UsePicture"+index+"before") == true; - - if(usePicture) { - before.addClass("usePicture"); - var f = $.parseJSON(parameters.value("#Picture"+index+"before")); - if(f !== null) { - var $img = $('').attr(f); - before.find(".picture>div:eq(0)").append($img); - } - } - - usePicture = parameters.value("#UsePicture"+index+"after") === "true" - || parameters.value("#UsePicture"+index+"after") == true; - - if(usePicture) { - after.addClass("usePicture"); - var f = $.parseJSON(parameters.value("#Picture"+index+"after")); - if(f !== null) { - var $img = $('').attr(f); - after.find(".picture>div:eq(0)").append($img); - } - } - - beforecard.append(before); - aftercard.append(after); - - return [beforecard, aftercard]; + var parameters = app.parameters; + var beforecard = $("
"); + var aftercard = $("
"); + + var beforecontent = parameters.value("#"+index+"before"); + var aftercontent = parameters.value("#"+index+"after"); + + var before = $("
"+( beforecontent !== undefined ? beforecontent : "" )+"
"); + var after = $("
"+( aftercontent !== undefined ? aftercontent : "" )+"
"); + + var usePicture = parameters.value("#UsePicture"+index+"before") === "true" + || parameters.value("#UsePicture"+index+"before") == true; + + if(usePicture) { + before.addClass("usePicture"); + var f = $.parseJSON(parameters.value("#Picture"+index+"before")); + if(f !== null) { + var $img = $('').attr(f); + before.find(".picture>div:eq(0)").append($img); + } + } + + usePicture = parameters.value("#UsePicture"+index+"after") === "true" + || parameters.value("#UsePicture"+index+"after") == true; + + if(usePicture) { + after.addClass("usePicture"); + var f = $.parseJSON(parameters.value("#Picture"+index+"after")); + if(f !== null) { + var $img = $('').attr(f); + after.find(".picture>div:eq(0)").append($img); + } + } + + beforecard.append(before); + aftercard.append(after); + + return [beforecard, aftercard]; } function makeEditable(app, row, index) { - var parameters = app.parameters; - var editable = row.find(".text>div").eq(0); - var key = index+editable.parent().parent().parent().attr('rel'); - editable.get(0).contentEditable = true; - editable.bind('blur keyup paste', function(){ - parameters.value("#"+key, $(this).html()); - }); - - var checkbox = row.find("input[name='switch']"); - - function setSwicth() { - var val = parameters.value("#UsePicture"+key) === "true" - || parameters.value("#UsePicture"+key) === true; - if(val) { - row.addClass("usePicture"); - }else { - row.removeClass("usePicture"); - } - checkbox.attr("checked", val); - } - - checkbox.change(function() { - parameters.value("#UsePicture"+key, $(this).is(':checked')); - setSwicth(); - }); - setSwicth(); - - var dropzone = row.find(".dropzone"); - var pictureHolder = dropzone.parent().find(">div:eq(0)"); + var parameters = app.parameters; + var editable = row.find(".text>div").eq(0); + var key = index+editable.parent().parent().parent().attr('rel'); + editable.get(0).contentEditable = true; + editable.bind('blur keyup paste', function(){ + parameters.value("#"+key, $(this).html()); + }); + + var checkbox = row.find("input[name='switch']"); + + function setSwicth() { + var val = parameters.value("#UsePicture"+key) === "true" + || parameters.value("#UsePicture"+key) === true; + if(val) { + row.addClass("usePicture"); + }else { + row.removeClass("usePicture"); + } + checkbox.attr("checked", val); + } + + checkbox.change(function() { + parameters.value("#UsePicture"+key, $(this).is(':checked')); + setSwicth(); + }); + setSwicth(); + + var dropzone = row.find(".dropzone"); + var pictureHolder = dropzone.parent().find(">div:eq(0)"); - function setPicture() { - var f = $.parseJSON(parameters.value("#Picture"+key)); - if(f !== null) { - var $img = $('').attr(f); - pictureHolder.empty(); - pictureHolder.append($img); - } - } + function setPicture() { + var f = $.parseJSON(parameters.value("#Picture"+key)); + if(f !== null) { + var $img = $('').attr(f); + pictureHolder.empty(); + pictureHolder.append($img); + } + } - app.utils.droppable(dropzone, function(f) { - parameters.value("#Picture"+key, JSON.stringify(f)); - setPicture(); - }); - setPicture(); + app.utils.droppable(dropzone, function(f) { + parameters.value("#Picture"+key, JSON.stringify(f)); + setPicture(); + }); + setPicture(); } function reloadApp(app) { - var number = app.parameters.value("number"); - - var scene = $("#scene"); - scene.empty(); - - if(app.onEdit) { - var editcards = $("#edit-cards"); - editcards.empty(); - for(var i=0 ; i"); - scene.append(table); - - var before = $("
"); - var box = $("
"); - var after = $("
"); - - if(number === 0) - before.addClass("empty"); - after.addClass("empty"); - - table.append(before); - table.append(box); - table.append(after); - - box.find(">div").css("z-index", number+1); - - var beforeDeck = before.find(">div"); - var afterDeck = after.find(">div"); - var beforeLeftPosition = box.find(">div").position().left - beforeDeck.position().left + 10 + 40; //10px de padding dans la box + 40px d'ombre dans l'image - - function makeCard(i, cards) { - beforeDeck.append(cards[0]); - afterDeck.append(cards[1]); - cards[1].css("left", -beforeLeftPosition+"px"); - cards[1].css("z-index", i); + var number = app.parameters.value("number"); + + var scene = $("#scene"); + scene.empty(); + + if(app.onEdit) { + var editcards = $("#edit-cards"); + editcards.empty(); + for(var i=0 ; i"); + scene.append(table); + + var before = $("
"); + var box = $("
"); + var after = $("
"); + + if(number === 0) + before.addClass("empty"); + after.addClass("empty"); + + table.append(before); + table.append(box); + table.append(after); + + box.find(">div").css("z-index", number+1); + + var beforeDeck = before.find(">div"); + var afterDeck = after.find(">div"); + var beforeLeftPosition = box.find(">div").position().left - beforeDeck.position().left + 10 + 40; //10px de padding dans la box + 40px d'ombre dans l'image + + function makeCard(i, cards) { + beforeDeck.append(cards[0]); + afterDeck.append(cards[1]); + cards[1].css("left", -beforeLeftPosition+"px"); + cards[1].css("z-index", i); - cards[0].click(function(e) { - var c = $(this); - c.removeClass("closed"); - c.unbind(e); - c.animate({ - left : beforeLeftPosition - }, 1000, function(){ - setTimeout(function(){ - cards[1].animate({ - left: 0 - }, 1000, function(){ - after.removeClass("empty"); - }); - }, 1000); - c.remove(); - }); - if(i === 0) { - before.addClass("empty"); - } - }); - } + cards[0].click(function(e) { + var c = $(this); + c.removeClass("closed"); + c.unbind(e); + c.animate({ + left : beforeLeftPosition + }, 1000, function(){ + setTimeout(function(){ + cards[1].animate({ + left: 0 + }, 1000, function(){ + after.removeClass("empty"); + }); + }, 1000); + c.remove(); + }); + if(i === 0) { + before.addClass("empty"); + } + }); + } - for(var i=number ; i>0 ; i--) { - makeCard(i-1, cards(app, i-1)); - } + for(var i=number ; i>0 ; i--) { + makeCard(i-1, cards(app, i-1)); + } - if(window.sankore) - window.sankore.enableDropOnWidget(app.onEdit); + if(window.sankore) + window.sankore.enableDropOnWidget(app.onEdit); } function reloadCallback(parameter) { - if(parameter === undefined || parameter.key === "number" ) - reloadApp(this); + if(parameter === undefined || parameter.key === "number" ) + reloadApp(this); } $(document).ready(function(){ - var callbacks = { - onTemplatesLoaded: onTemplateLoadedCallback, - onEdit: reloadApp, - onView: reloadApp - }; - init(reloadCallback, {toolbar: toolbarTemplate, parameters: parametersTemplate}, callbacks); + var callbacks = { + onTemplatesLoaded: onTemplateLoadedCallback, + onEdit: reloadApp, + onView: reloadApp + }; + init(reloadCallback, { + toolbar: toolbarTemplate, + parameters: parametersTemplate + }, callbacks); }); \ No newline at end of file From c8ffde9ff959a22bcf1853513b4557b4ba3c1052 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 15 Aug 2012 16:08:52 +0200 Subject: [PATCH 2/2] some fixes in 'Transformation' widget --- .../Transformation.wgt/css/images/trgDown.png | Bin 0 -> 475 bytes .../Transformation.wgt/css/images/trgLeft.png | Bin 0 -> 434 bytes .../css/images/trgRight.png | Bin 0 -> 447 bytes .../Transformation.wgt/css/images/trgUp.png | Bin 0 -> 448 bytes .../Transformation.wgt/css/ubw-main.css | 57 ++++++++++++++++++ 5 files changed, 57 insertions(+) create mode 100644 resources/library/interactivities/Transformation.wgt/css/images/trgDown.png create mode 100644 resources/library/interactivities/Transformation.wgt/css/images/trgLeft.png create mode 100644 resources/library/interactivities/Transformation.wgt/css/images/trgRight.png create mode 100644 resources/library/interactivities/Transformation.wgt/css/images/trgUp.png diff --git a/resources/library/interactivities/Transformation.wgt/css/images/trgDown.png b/resources/library/interactivities/Transformation.wgt/css/images/trgDown.png new file mode 100644 index 0000000000000000000000000000000000000000..632be5fb5560dde4c9a5c76430e7878d817381b7 GIT binary patch literal 475 zcmV<10VMv3P)g(&fl=1oV=d#Yu&ZkvXRmDX`MZpSKSy>s_*w|1o z4-XH++qZ8ScJAEybnDiwrc4qN5|7*3+S1OPIm5ur%*?>T!UD%217L=L+LB44j;tU>bx41qB&)?AXEJ>gw9(?d`o2 zq=)hU|NkJG;memV+)hqT$F;Pybk)_>!D1jk@$&LA+`4s(;lzm(XMxVN;o{=@0g?mT z2m(MqeC_Y=Pd#?**iTSkaC37r02ML({ri_;`}XbMdwYA+V46@gf`GNP^~w17_y(Xt zu#@@t_!w5NUd;d$t1>e)JBO?m?o=26+Q8)H<+aDaz`zj{J=d>a-?4e~W>1hSPyk3H zI=*q^hO&l+#usgE?e}-@-j&CuhJ^tO00z$8l9G~qU{w58Qc`+|O$|VR0RRFkn+8)O RIpF{R002ovPDHLkV1k0cZqC!B0y|>jeu7%O|V~K7anqot>RMMOs?=zrVl#e<1yqg#is5J$lr)J0AVI3CJ2s;i(9m5( zDJebNym_;yhlfYulqplb-@0{+K|nx&ft{TltPt!@kUNmUsZ*znii?Y9@$vB)12uw! z2dMcS)&T$d^(zN3EPHfxbpF-U)cgm=&Re`uxMj;0cT-c-CtO@ypBM-widU~*Nrs1q cPX`Dv06C)vT*igEsQ>@~07*qoM6N<$f)ca5Y5)KL literal 0 HcmV?d00001 diff --git a/resources/library/interactivities/Transformation.wgt/css/images/trgRight.png b/resources/library/interactivities/Transformation.wgt/css/images/trgRight.png new file mode 100644 index 0000000000000000000000000000000000000000..05646be0a3c495e86927bb846e7eed294d08ed94 GIT binary patch literal 447 zcmV;w0YLtVP)gTH8uZrbaeg|78dq={rZ&yn?k0aKYua^3kx%(rKK_6 zym_%3P7sHYk&yvp11l>l zgQcY_jrs=B)RU9cNLx?v^&eaz_Ur+PU7kOGeyX*#^+}ZQk(QQz>+kRXA4vbt&d#3l`SWLPtT6+0_$Q#RUjW_W phc^m?f`aBefBsySP@(_`FaZ5oAyt9V@9zKr002ovPDHLkV1jvi#&`e# literal 0 HcmV?d00001 diff --git a/resources/library/interactivities/Transformation.wgt/css/images/trgUp.png b/resources/library/interactivities/Transformation.wgt/css/images/trgUp.png new file mode 100644 index 0000000000000000000000000000000000000000..869adf5bd0b50d47f0cea601330d8705b1bc14bf GIT binary patch literal 448 zcmV;x0YCnUP)dU|>azJLGjVQ6T`prxh7@Z-l1$BvGUGIVt)8c&@%WwdbN!nV-R zP=-&RJ~4d!_>sZW(~|)x)^PObQFCOqaHoFz_Km~c-TjD#g@v)2ni|9B&z~87{`?7+ zyLs~_!?kPIF7Mm7&yt6S=PQbhH8nLYe0+RhO&>mdU;sK7)wQc_YNCAt+A6`d$f z-MV$F`|jPli#$9$7~a2s57q#}$eN9ej2Jd-*pR((<3>NQQ(wJ$CF$+$eH!RYX<=bu zhA&^fF#P)U3k3t?li}aLe+;i*zh=07`}WJdd-s~M