;(function($) { var defaults = { }; var filebox = { selected : null, /** * pop up the file box */ open : function(input_obj, filter) { this.selected = input_obj; var url = request_uri .setQuery('module', 'module') .setQuery('act', 'dispModuleFileBox') .setQuery('input', this.selected.name) .setQuery('filter', filter); popopen(url, 'filebox'); }, /** * select a file */ selectFile : function(file_url, module_filebox_srl){ var target = $(opener.XE.filebox.selected); var target_name = target.attr('name'); target.val(file_url); var html = _displayMultimedia(file_url, '100%', '100%'); $('#filebox_preview_' + target_name, opener.document).html(html).show(); $('#filebox_cancel_' + target_name, opener.document).show(); window.close(); }, /** * cancel */ cancel : function(name) { $('[name=' + name + ']').val(''); $('#filebox_preview_' + name).hide().html(''); $('#filebox_cancel_' + name).hide(); }, /** * delete a file */ deleteFile : function(module_filebox_srl){ var params = { 'module_filebox_srl' : module_filebox_srl }; $.exec_json('module.procModuleFileBoxDelete', params, function() { document.location.reload(); }); }, /** * initialize */ init : function(name) { var file; if(opener && opener.selectedWidget && opener.selectedWidget.getAttribute("widget")) { file = opener.selectedWidget.getAttribute(name); } else if($('[name=' + name + ']').val()) { file = $('[name=' + name + ']').val(); } if(file) { var html = _displayMultimedia(file, '100%', '100%'); $('#filebox_preview_' + name).html(html).show(); $('#filebox_cancel_' + name).show(); } } }; // put the file into XE $.extend(window.XE, {'filebox' : filebox}); }) (jQuery); function addRow(){ var $ = jQuery; var $attributes = $('.__attribute'); var $last = $attributes.last(); var count = $last.data('count') + 1; var $clone = $last.clone().data('count', count); $last.find('.__addBtn').hide(); $clone.find('.__attribute_name').attr('value', '').attr("id", "attribute_name"+count); $clone.find('.__attribute_name_label').attr('for', 'attribute_name'+count); $clone.find('.__attribute_value').attr('value', '').attr("id", "attribute_value"+count); $clone.find('.__attribute_value_label').attr('for', 'attribute_value'+count); $last.after($clone); } function clearRow(target){ var $ = jQuery; var $attributes = $('.__attribute'); var $controlGroup = $(target).closest('.x_control-group'); var count = $attributes.length; if (count <= 1){ return; } $controlGroup.remove(); $('.__attribute').last().find('.__addBtn').show(); } var $current_filebox; jQuery(document).ready(function($){ $('.filebox').bind('before-open.mw', function(){ var $attributes = $('.__attribute'); var count = $attributes.length; for(var i = count - 1; i > 0; i--){ clearRow($($attributes.get(i))); } $('#new_filebox_upload').find('input[name^=attribute_name], input[name^=attribute_value], input[name=addfile]').val(''); }); $('.filebox').click(function(){ $current_filebox = $(this); }); $('#new_filebox_upload').submit(function(){ if ($('iframe[name=iframeTarget]').length < 1){ var $iframe = $(document.createElement('iframe')); $iframe.css('display', 'none'); $iframe.attr('src', '#'); $iframe.attr('name', 'iframeTarget'); $iframe.load(function(){ var content = window.iframeTarget.document.getElementsByTagName('pre'); if (!content) { content = window.iframeTarget.document.getElementsByTagName('body'); } if (!content) { alert('Error'); return; } var data = JSON.parse($.trim($(content).html())); if (data.error){ alert(data.message); return; } $current_filebox.trigger('filebox.selected', [data.save_filename]); $current_filebox.trigger('close.mw'); }); $('body').append($iframe.get(0)); $(this).attr('target', 'iframeTarget'); } }); });