diff --git a/src/js/fs.js b/src/js/fs.js index 4350ba4e..e3af3659 100644 --- a/src/js/fs.js +++ b/src/js/fs.js @@ -527,7 +527,9 @@ $(function() { // remove the temp input element input.remove(); }); - input.click(); + setTimeout(function() { + input.click(); + }, 0); }, /** diff --git a/src/js/views/property.js b/src/js/views/property.js index 6be0924a..d3c62872 100644 --- a/src/js/views/property.js +++ b/src/js/views/property.js @@ -160,6 +160,26 @@ value.find("#" + valueId).attr("checked", "checked"); } break; + case "url-uploadable": + $('') + .attr('id', valueId) + .addClass('title labelInput') + .appendTo(value); + //set default value + value.find('#' + valueId).val(valueVal); + $('') + .addClass('buttonStyle') + .click(function (e) { + var target, saveDir; + target = $(this).prev("input:text"); + saveDir = $.rib.pmUtils.ProjectDir + "/" + $.rib.pmUtils.getActive() + "/images/"; + $.rib.fsUtils.uploadAndSave("image", saveDir, $(this).parent(), function (file) { + target.val(file.toURL()); + target.trigger('change'); + }); + }) + .appendTo(value); + break; case "record-array": $('') .attr('id', 'selectOption') diff --git a/src/js/widgets.js b/src/js/widgets.js index 97a4b161..5408e1ab 100644 --- a/src/js/widgets.js +++ b/src/js/widgets.js @@ -216,7 +216,7 @@ var BWidgetRegistry = { parent: "Base", properties: { background: { - type: "string", + type: "url-uploadable", defaultValue: "", htmlAttribute: { name: "style", @@ -660,7 +660,7 @@ var BWidgetRegistry = { template: '', properties: { src: { - type: "string", + type: "url-uploadable", defaultValue: "src/css/images/widgets/tizen_image.svg", htmlAttribute: "src", forceAttribute: true