%PDF- %PDF-
Direktori : /home/lightco1/www/quoizel.com.au/plugins/system/jsnframework/assets/joomlashine/js/ |
Current File : /home/lightco1/www/quoizel.com.au/plugins/system/jsnframework/assets/joomlashine/js/media.js |
/** * @version $Id$ * @package JSN_Framework * @author JoomlaShine Team <support@joomlashine.com> * @copyright Copyright (C) 2012 JoomlaShine.com. All Rights Reserved. * @license GNU/GPL v2 or later http://www.gnu.org/licenses/gpl-2.0.html * * Websites: http://www.joomlashine.com * Technical Support: Feedback - http://www.joomlashine.com/contact-us/get-support.html */ define([ 'jquery', 'jsn/libs/modal' ], function ($, modal) { // Declare JSNMedia contructor var JSNMedia = function(params) { // Object parameters this.params = $.extend({}, params); this.lang = this.params.language || {}; // Set event handler $(document).ready($.proxy(function() { this.modalLink = $(this.params.field).next(); this.initialize(); }, this)); }; JSNMedia.prototype = { initialize: function() { // Register event to show modal window this.modalLink.click($.proxy(function(event) { event.preventDefault(); this.modal = this.modal || new modal({ title: this.lang['JSN_EXTFW_CONFIG_CLICK_TO_SELECT'], width: $(window).width() - 72, height: $(window).height() - 72, buttons: [{text: JSNCoreLanguage['JSN_EXTFW_GENERAL_CLOSE'], click: $.proxy(function() { this.modal.close(); }, this)}] }); this.modal.options.url = this.params.url.replace(/current=[^&]*/, 'current=' + $(this.params.field).attr('value')); this.modal.show(); }, this)); // Handle window resize event $(window).resize($.proxy(function() { if (this.modal) { this.modal.setOption('width', $(window).width() - 72); this.modal.setOption('height', $(window).height() - 72); } }, this)); // Setup clear button if (this.modalLink.next('button')) { this.modalLink.next('button').click($.proxy(function() { this.update(''); }, this)); } // Create selection update function window.JSNMediaUpdateField = $.proxy(this.update, this); }, update: function(selected, field) { field = field || this.params.field; $(field).attr('value', selected); $(field).trigger('change'); this.modal && this.modal.close(); } }; return JSNMedia; });