/** * IPS Community Suite 4 * (c) 2013 Invision Power Services - http://www.invisionpower.com * * ips.checkout.register.js - Register form during checkout * * Author: Rikki Tissier */ ;( function($, _, undefined){ "use strict"; ips.controller.register('nexus.front.checkout.register', { initialize: function () { this.on( 'click', '[data-action="newMember"]', this.showRegistrationForm ); if ( $(this.scope).attr('data-regform') ) { this._showRegistrationForm(); } }, showRegistrationForm: function (e) { e.preventDefault(); this._showRegistrationForm(); }, _showRegistrationForm: function() { this.scope.find('[data-role="memberChoice"]').hide(); this.scope.find('[data-role="newCustomerForm"]').show(); } }); }(jQuery, _)); /** * IPS Community Suite 4 * (c) 2013 Invision Power Services - http://www.invisionpower.com * * ips.checkout.review.js - Review page in checkout process * * Author: Rikki Tissier */ ;( function($, _, undefined){ "use strict"; ips.controller.register('nexus.front.checkout.review', { initialize: function () { this.on( 'submit', '[data-role="couponForm"]', this.submitCoupon ); this.setup(); }, setup: function () { var button = this.scope.find('[data-role="couponForm"] button[type="submit"]'); var textbox = this.scope.find('[data-role="couponForm"] input[type="text"]'); button.prop('disabled', true); textbox.on('keyup', function (e) { button.prop( 'disabled', false ); }); }, submitCoupon: function (e) { e.preventDefault(); } }); }(jQuery, _)); /** * IPS Community Suite 4 * (c) 2013 Invision Power Services - http://www.invisionpower.com * * ips.checkout.shippingForm.js - Address book for shipping form * * Author: Rikki Tissier */ ;( function($, _, undefined){ "use strict"; ips.controller.register('nexus.front.checkout.shippingForm', { initialize: function () { this.on( 'change', 'select', this.selectNew ); this.on( 'keypress', 'input[type="text"]', this.selectNew ); }, selectNew: function () { this.scope.find('[name="shipping_address"][value="0"]').prop( 'checked', true ); } }); }(jQuery, _)); /** * IPS Community Suite 4 * (c) 2013 Invision Power Services - http://www.invisionpower.com * * ips.clients.referrals.js - Referrals section * * Author: Rikki Tissier */ ;( function($, _, undefined){ "use strict"; ips.controller.register('nexus.front.clients.referrals', { initialize: function () { this.on( 'focus', 'input[type="text"]', this.focusText ); }, /** * Focus in a txt field * * @param {event} e Event object * @returns {void} */ focusText: function (e) { e.preventDefault(); e.currentTarget.select(); } }); }(jQuery, _)); /** * IPS Community Suite 4 * (c) 2016 Invision Power Services - http://www.invisionpower.com * * ips.nexus.customer.stats.js * * Author: Mark Wade */ ;( function($, _, undefined){ "use strict"; ips.controller.register('nexus.admin.customer.stats', { /** * Init */ initialize: function () { var scope = $(this.scope); ips.getAjax()( scope.attr('data-standingUrl') ).done(function(response){ scope.html( response ); $( document ).trigger( 'contentChange', [ scope ] ); }); }, }); }(jQuery, _)); ').attr( 'name', i ).attr( 'value', data[i] ) ); } var expmonth = $(this.scope).find('[data-card="exp_month"]').val(); if ( expmonth && expmonth.length == 1 ) { expmonth = '0' + expmonth; } $( e.currentTarget ).append( $('').attr( 'name', 'x_card_num' ).attr( 'value', $(this.scope).find('[data-card="number"]').val() ) ); $( e.currentTarget ).append( $('').attr( 'name', 'x_exp_date' ).attr( 'value', expmonth + '-' + $(this.scope).find('[data-card="exp_year"]').val() ) ); $( e.currentTarget ).append( $('').attr( 'name', 'x_card_code' ).attr( 'value', $(this.scope).find('[data-card="ccv"]').val() ) ); $( e.currentTarget ).attr( 'action', $(this.scope).attr('data-url') ); } } }); }(jQuery, _));]]> ').attr('data-role', 'loading').addClass('ipsLoading').hide(); scope.closest('[data-ipswizard]').append( loading ); } var dims = { width: wizardContainer.outerWidth(), height: wizardContainer.outerHeight() }; loading .css({ width: dims.width + 'px', height: dims.height + 'px' }) .show(); wizardContainer .hide() .after( loading.show() ); /* Send to Stripe */ var expmonth = scope.find('[data-card="exp_month"]').val(); if ( expmonth && expmonth.length == 1 ) { expmonth = '0' + expmonth; } Stripe.setPublishableKey( scope.attr('data-key') ); Stripe.card.createToken({ number: scope.find('[data-card="number"]').val(), cvc: scope.find('[data-card="ccv"]').val(), exp_month: expmonth, exp_year: scope.find('[data-card="exp_year"]').val(), }, function(status,response){ loading.remove(); wizardContainer.show(); if ( response.error ) { if ( response.error.type == 'card_error' ) { if ( response.error.param ) { switch ( response.error.param ) { case 'number': scope.find('[data-warning="number"]').text( response.error.message ); break; case 'exp_month': case 'exp_year': scope.find('[data-warning="exp"]').text( response.error.message ); break; case 'cvc': scope.find('[data-warning="ccv"]').text( response.error.message ); break; } } else { ips.ui.alert.show({ type: 'alert', icon: 'warn', message: response.error.message, }); } } else { ips.ui.alert.show({ type: 'alert', icon: 'warn', message: ips.getString('payment_error') }); } } else { scope.closest('form').append( $('').attr( 'name', scope.attr('data-id') + '_card[token]' ).val( response.id ) ); scope.closest('form').submit(); } }); } } }); }(jQuery, _));]]> /** * IPS Community Suite 4 * (c) 2013 Invision Power Services - http://www.invisionpower.com * * ips.nexus.hosting.accountform.js * * Author: Mark Wade */ ;( function($, _, undefined){ "use strict"; ips.controller.register('nexus.admin.hosting.accountform', { /** * Init */ initialize: function () { $( document ).on( 'nodeItemSelected', function(){ $('#form_account_server_warning').show(); }); $('[data-role="editWarning"]').hide(); $( 'input[name^="account_"], input[name^="p_"]' ).change(function(){ $(this).parent().find('[data-role="editWarning"]').show(); $('[data-role="editWarningBox"]').show(); }); $('#form_account_server_warning').hide(); }, }); }(jQuery, _)); /** * IPS Community Suite 4 * (c) 2013 Invision Power Services - http://www.invisionpower.com * * ips.misc.print.js - Makes the page print * * Author: Rikki Tissier */ ;( function($, _, undefined){ "use strict"; ips.controller.register('nexus.global.misc.print', { /** * Init */ initialize: function () { window.print(); }, }); }(jQuery, _)); /** * IPS Community Suite 4 * (c) 2013 Invision Power Services - http://www.invisionpower.com * * ips.store.cartReview.js - Cart review screen * * Author: Rikki Tissier */ ;( function($, _, undefined){ "use strict"; ips.controller.register('nexus.front.store.cartReview', { initialize: function () { this.on( 'click', '[data-action="removeFromCart"]', this.removeFromCart ); this.on( 'submit', '[data-role="quantityForm"]', this.quantityForm ); this.on( 'click', '[data-action="checkout"]', this.checkout ); }, /** * Prevent checkout button being clicked more than once * * @param {event} e Event object * @returns {void} */ checkout: function (e) { if ( $(e.target).hasClass('ipsButton_disabled') ) { e.preventDefault(); } else { $(e.target).addClass('ipsButton_disabled'); } }, /** * Removes the item from the cart * * @param {event} e Event object * @returns {void} */ removeFromCart: function (e) { e.preventDefault(); var self = this; var url = $( e.currentTarget ).attr('href'); ips.ui.alert.show({ type: 'confirm', message: ips.getString('confirmRemoveItem'), icon: 'warn', callbacks: { ok: function () { ips.getAjax()( url ) .done( function (response) { self.scope.find('[data-role="cart"]').html( response ); }); } } }); }, /** * Handles submitting the quantity form * * @param {event} e Event object * @returns {void} */ quantityForm: function (e) { e.preventDefault(); var self = this; var form = $( e.currentTarget ); var menu = form.closest('.ipsMenu'); // Set menu to loading and hide form menu .css({ height: menu.outerHeight() + 'px' }) .addClass('ipsLoading'); form.hide(); // Do ajax request to update it ips.getAjax()( form.attr('action'), { data: form.serialize() }) .done( function (response) { self.scope.find('[data-role="cart"]').html( response ); }) .fail(function(response){ menu.removeClass( 'ipsLoading' ); form.show(); ips.ui.alert.show( { type: 'alert', icon: 'warn', message: response.responseJSON }); }); } }); }(jQuery, _)); /** * IPS Community Suite 4 * (c) 2015 Invision Power Services - http://www.invisionpower.com * * ips.store.currencySelect.js - Alert when changing currency * * Author: Mark Wade */ ;( function($, _, undefined){ "use strict"; ips.controller.register('nexus.front.store.currencySelect', { initialize: function () { this.on( 'click', 'a', this.currencyChangeWarning ); }, /** * Prevent checkout button being clicked more than once * * @param {event} e Event object * @returns {void} */ currencyChangeWarning: function (e) { e.preventDefault(); ips.ui.alert.show({ type: 'confirm', message: ips.getString('store_currency_change_warning'), icon: 'warn', callbacks: { ok: function () { window.location = $(e.currentTarget).attr('href'); } } }); } }); }(jQuery, _)); ').addClass('ipsLoading'); form.after( loadingElem ); loadingElem.css({ top: formPos.offsetPos.top + 'px', left: formPos.offsetPos.left + 'px', width: formDims.outerWidth + 'px', height: formDims.outerHeight + 'px' }); // Trigger an event for adding to cart, so that we can capture it // and do something else with it if necessary this.trigger( 'addToCart.nexus', { url: form.attr('action'), formData: form.serialize() }); }, /** * Adds the item to cart via ajax, and creates a dialog to let the user know * * @param {event} e Event object * @param {object} data Event data object * @returns {void} */ addToCart: function (e, data) { var self = this; ips.getAjax()( data.url, { data: data.formData, type: 'post' }) .done( function (response) { // Are we already running inside of a dialog? if( self.scope.closest('.ipsDialog').length ){ var dialogContent = self.scope.closest('.ipsDialog').find('.ipsDialog_content'); //see https://community.invisionpower.com/4bugtrack/active-reports/4013-adding-consecutive-items-from-the-list-to-the-cart-increases-number-of-continuecheckout-windows-r8137/ // We need to destroy this controller before updating the content so that event handlers are unregistered, // otherwise this controller will continue listening for addToCart events and trigger multiple dialogs. self.trigger('destroy'); dialogContent.html( response.dialog ).show(); $( document ).trigger( 'contentChange', [ dialogContent ] ); } else { var contentElem = $('
').html( response.dialog ); var loadingElem = self.scope.find('form').next('.ipsLoading'); ips.getContainer().append( contentElem ); // Show a dialog var dialogRef = ips.ui.dialog.create({ title: $(self.scope).attr('data-itemTitle'), content: contentElem, forceReload: true, size: 'medium' }); dialogRef.show(); $( document ).trigger( 'contentChange', [ contentElem ] ); // Remove loading elem loadingElem.remove(); self.updatePriceAndStock(); } if ( response.cart ) { $('#elCart_container').replaceWith( $( '
' + response.cart + '
' ).find('.cUserNav_icon') ); $('#elCart_sep').removeClass('ipsHide'); } }) .fail(function(response){ var loadingElem = self.scope.find('form').next('.ipsLoading'); loadingElem.remove(); if ( response.responseJSON ) { ips.ui.alert.show({ type: 'alert', message: response.responseJSON, icon: 'warn' }); } else { var form = $(e.target).find('form'); try { var newForm = $(response.responseText); } catch (err) { form.attr('data-noajax', 'true'); form.submit(); } form.replaceWith( newForm ); $( document ).trigger('contentChange' ); } }); }, /** * Updates the stock and price information when custom fields change * * @returns {void} */ updatePriceAndStock: function () { var self = this; var form = this.scope.find('form'); ips.getAjax()( form.attr('action'), { dataType: 'json', data: form.serialize() + '&stockCheck=1', type: 'post' }) .done( function (response) { self.scope.find('[data-role="price"]').html( response.price ); self.scope.find('[data-role="stock"]').html( response.stock ); self.scope.find('[data-role="renewalTerm"]').html( response.renewal ); if( response.okay ){ self.scope.find('button').removeAttr('disabled').text( ips.getString('add_to_cart_js') ); } else { self.scope.find('button').attr( 'disabled','disabled' ).text( ips.getString('out_of_stock') ); } }) .fail(function(response){ Debug.error(response); }); } }); }(jQuery, _));]]> /** * IPS Community Suite 4 * (c) 2013 Invision Power Services - http://www.invisionpower.com * * ips.support.emailsetup.js * * Author: Mark Wade */ ;( function($, _, undefined){ "use strict"; ips.controller.register('nexus.admin.support.emailsetup', { /** * Init */ initialize: function () { var self = this; var scope = $(this.scope); scope.find('[data-role="toggleView"]').click(function(e){ e.preventDefault(); var height = scope.height(); scope.html('').css( 'min-height', height ).addClass('ipsLoading'); ips.getAjax()( $(e.currentTarget).attr('href') ) .done(function( response ){ scope.removeClass('ipsLoading').css( 'min-height', 0 ).html( response ); self.initialize(); }) .fail(function(){ window.location = $(e.currentTarget).attr('href'); }); }); }, }); }(jQuery, _)); /** * IPS Community Suite 4 * (c) 2016 Invision Power Services - http://www.invisionpower.com * * ips.support.filterForm.js * * Author: Mark Wade */ ;( function($, _, undefined){ "use strict"; ips.controller.register('nexus.admin.support.filterCheckboxSet', { /** * Init */ initialize: function () { this.on( 'click', '[data-action="checkAll"]', this.checkAll ); this.on( 'click', '[data-action="checkNone"]', this.checkNone ); }, /** * Check all * * @param {event} e Event object * @returns {void} */ checkAll: function (e) { e.preventDefault(); $( this.scope ).find('input[type="checkbox"]').prop( 'checked', true ); }, /** * Uncheck all * * @param {event} e Event object * @returns {void} */ checkNone: function (e) { e.preventDefault(); $( this.scope ).find('input[type="checkbox"]').prop( 'checked', false ); } }); }(jQuery, _));
' ); if( this._ajaxObj && _.isFunction( this._ajaxObj.abort ) ){ this._ajaxObj.abort(); } var self = this; this._ajaxObj = ips.getAjax()( url ) .done( function ( response, status, jqxhr ) { form.html( response ); $( document ).trigger( 'contentChange', [ form ] ); $('#elFilterFormFull').show(); }) .fail( function () { window.location = url; }); }, /** * Reload the table * * @param {string} url The URL * @returns {void} */ _reloadTable: function (url) { var scope = $(this.scope); var mainTable = scope.find('[data-role="mainTable"]'); var resultsTable = scope.find('[data-role="resultsTable"]'); var form = scope.find('[data-role="filterForm"]'); resultsTable.addClass('ipsLoading').css( { opacity: 0.4 } ); if( this._ajaxObj && _.isFunction( this._ajaxObj.abort ) ){ this._ajaxObj.abort(); } this._ajaxObj = ips.getAjax()( url ) .done( function ( response, status, jqxhr ) { form.html(response.form); mainTable.html(response.results); resultsTable.removeClass('ipsLoading').css( { opacity: 1 } ); $( document ).trigger( 'contentChange', [ scope ] ); }) .fail( function () { window.location = url; }); }, /** * Event handler for clicking a clickable row * * @param {event} e Event object * @returns {void} */ rowClick: function (e) { var target = $( e.target ); // Ignore if we clicked something clickable (besides the row) if ( target.is('a') || target.is('i') || target.is('input') || target.is('textarea') || target.closest('a').length || target.closest('.ipsMenu').length ) { return; } // Ignore if we didn't use the left mouse button. 1 is left mouse button, 2 is middle // We allow 2 through here because we'll treat it differently shortly if( e.which !== 1 && e.which !== 2 ){ return; } // Ignore if special keys are pressed if( e.altKey || e.shiftKey ){ return; } // If we clicked into a cell with a checkbox, check that checkbox rather than redirect if ( target.is('td') ) { var checkbox = target.find('input[type="checkbox"]'); if ( checkbox.length ) { checkbox.prop( 'checked', !checkbox.prop( 'checked' ) ); return; } } var link = $( e.currentTarget ).find('[data-role="supportLink"]'); // If we are using the meta key or middle mouse button, we're going to adjust the link // to include _blank, so that it opens in a new tab if( e.metaKey || e.ctrlKey || e.which == 2 ){ link.attr('target', '_blank'); link.get(0).click(); link.attr('target', ''); } else { // Okay, we can go... link.get(0).click(); } } }); }(jQuery, _));]]>
'); icon.on( 'click', function () { ips.ui.alert.show( { type: 'alert', icon: 'info', message: _.escape( realUrl ), }); }); elem.after( icon ).after(' '); } } }); }(jQuery, _));]]> ').attr( 'value', j ).text( response[i][j] ) ); } } else if ( i == 'purchaseWarning' ) { $('[data-role="purchaseWarning"]').hide(); if ( response[i] ) { $('[data-purchaseWarning="' + response[i] + '"]').show(); } } else if ( i.substr( 0, 5 ) == 'note_' ) { $('#elNoteForm_form [name="' + i.substr( 5 ) + '"]').val( response[i] ); } else { $('#elSupportReplyForm [name="' + i + '"]').val( response[i] ); } } }) .fail(function(){ ips.ui.alert.show( { type: 'alert', icon: 'info', message: ips.getString('support_ajax_error') }); }) } ); this.on( 'menuOpened', this.startListeningForKeyPress ); this.on( 'menuClosed', this.stopListeningForKeyPress ); }, /** * Start listening for key presses * * @param {event} e Event object * @returns {void} */ startListeningForKeyPress: function (e) { $( '#' + $(this.scope).attr('id') + '_menu ul' ).find('.ipsMenu_hover').removeClass('ipsMenu_hover'); this._boundKeyPress = _.bind( this.keyPress, this ); $( document ).on( 'keydown', this._boundKeyPress ); }, /** * Stop listening for key presses * * @param {event} e Event object * @returns {void} */ stopListeningForKeyPress: function (e) { $( '#' + $(this.scope).attr('id') + '_menu ul' ).removeClass('ipsMenu_keyNav'); $( '#' + $(this.scope).attr('id') + '_menu ul' ).find('.ipsMenu_hover').removeClass('ipsMenu_hover'); $( document ).off( 'keydown', this._boundKeyPress ); }, /** * Handles key press * * @param {event} e Event object * @param {obj} data Data object * @returns {void} */ keyPress: function (e, data) { e.preventDefault(); var menuList = $( '#' + $(this.scope).attr('id') + '_menu ul' ); menuList.addClass('ipsMenu_keyNav'); var active = menuList.find('.ipsMenu_hover'); switch ( e.which ) { case 38: // up if ( active.length ) { active.removeClass('ipsMenu_hover'); var prev = active.prev(); if ( prev.length ) { prev.addClass('ipsMenu_hover'); } else { menuList.children().last().addClass('ipsMenu_hover'); } } else { menuList.children().last().addClass('ipsMenu_hover'); } break; case 40: // down if ( active.length ) { active.removeClass('ipsMenu_hover'); var next = active.next(); if ( next.length ) { next.addClass('ipsMenu_hover'); } else { menuList.children().first().addClass('ipsMenu_hover'); } } else { menuList.children().first().addClass('ipsMenu_hover'); } break; case 13: // enter if ( active.length ) { active.find('a').click(); } break; case 27: // esc $(this.scope).click(); break; } } }); }(jQuery, _));]]> 1 ) ? ips.pluralize( ips.getString( 'delete_confirm_many' ), count ) : ips.getString('delete_confirm'), callbacks: { ok: function () { $( document ).trigger('moderationSubmitted'); self._bypassDeleteCheck = true; self.scope.find('[data-role="moderationTools"]').submit(); } } }); }, /** * Handles a move/split action from the moderation bar * * @param {event} e Event object * @returns {void} */ _modActionDialog: function (e, title, size) { e.preventDefault(); var form = this.scope.find('[data-role="moderationTools"]'); // Create dialog to show the form var moveDialog = ips.ui.dialog.create({ url: form.attr('action') + '&' + form.serialize().replace( /%5B/g, '[' ).replace( /%5D/g, ']' ), modal: true, title: ips.getString(title), forceReload: true, remoteVerify: false, size: size }); $( form ).data('_dialog', moveDialog ); moveDialog.show(); $( document ).trigger('moderationSubmitted'); } }); }(jQuery, _));]]> /** * IPS Community Suite 4 * (c) 2013 Invision Power Services - http://www.invisionpower.com * * ips.support.pendingalert.js - Shows an alert * * Author: Mark Wade */ ;( function($, _, undefined){ "use strict"; ips.controller.register('nexus.admin.support.pendingalert', { /** * Init */ initialize: function () { ips.ui.alert.show( { type: 'alert', icon: 'warn', message: $(this.scope).text(), }); $(this.scope).remove(); }, }); }(jQuery, _)); 500 ){ cite.siblings().hide(); cite.removeClass('ipsQuote_open').addClass('ipsQuote_closed'); } } }, /** * Handles key press * * @param {event} e Event object * @returns {void} */ keyPress: function (e) { var tag = e.target.tagName.toLowerCase(); if ( tag != 'body' ) { return; } switch ( e.which ) { case 114: // r e.preventDefault(); this.scope.find('[data-role="replyTab"]').click(); var editor = ips.ui.editor.getObj( this.scope.find('[data-role="replyForm"] [data-ipsEditor]') ); editor.unminimize(); editor.focus(); break; case 110: // n e.preventDefault(); this.scope.find('[data-role="noteTab"]').click(); var editor = ips.ui.editor.getObj( this.scope.find('[data-role="noteForm"] [data-ipsEditor]') ); editor.unminimize(); editor.focus(); break; case 115: // s this.scope.find('[data-role="statusMenu"]').click(); break; case 118: // v this.scope.find('[data-role="severityMenu"]').click(); break; case 100: // d this.scope.find('[data-role="departmentMenu"]').click(); break; case 97: // a this.scope.find('[data-role="staffMenu"]').click(); break; case 116: // t this.scope.find('[data-role="trackMenu"]').click(); break; case 112: // p this.scope.find('[data-role="associatePurchaseMenu"]').click(); break; case 107: // k var next = this.scope.find('[data-role="nextRequestLink"]'); if ( next.length ) { window.location = next.attr('href'); } break; case 106: // j var prev = this.scope.find('[data-role="prevRequestLink"]'); if ( prev.length ) { window.location = prev.attr('href'); } break; } } }); }(jQuery, _));]]> /** * IPS Community Suite 4 * (c) 2016 Invision Power Services - http://www.invisionpower.com * * ips.support.splitForm.js - Controller for link panel in editor * * Author: Mark Wade */ ;( function($, _, undefined){ "use strict"; ips.controller.register('nexus.admin.support.splitForm', { initialize: function () { this.on( 'submit', this.formSubmit ); }, /** * Event handler for submitting the form * * @param {event} e Event object * @returns {void} */ formSubmit: function (e) { e.preventDefault(); var form = $(this.scope); if( form.attr('data-bypassValidation') ){ return false; } var dialog = ips.ui.dialog.getObj( $('[data-role="moderationTools"]') ); dialog.setLoading(true); var newWindow = window.open( '', '_blank' ); newWindow.blur(); window.focus(); ips.getAjax()( form.attr('action'), { data: form.serialize(), type: 'post' } ) .done( function (response, status, jqXHR) { if( jqXHR.getAllResponseHeaders().indexOf('X-IPS-FormError: true') !== -1 || jqXHR.getAllResponseHeaders().indexOf('X-IPS-FormNoSubmit: true') !== -1 || jqXHR.getAllResponseHeaders().indexOf('x-ips-formerror: true') !== -1 || jqXHR.getAllResponseHeaders().indexOf('x-ips-formnosubmit: true') !== -1 ){ dialog.setLoading( false ); dialog.updateContent( response ); } else { try { var json = $.parseJSON( jqXHR.responseText ); newWindow.location = json.newUrl; window.location = json.oldUrl; } catch (err) { newWindow.close(); dialog.setLoading( false ); dialog.updateContent( response ); } } }) .fail(function(response){ newWindow.close(); form.attr( 'data-bypassValidation', true ).submit(); }); } }); }(jQuery, _)); /** * IPS Community Suite 4 * (c) 2013 Invision Power Services - http://www.invisionpower.com * * ips.support.rate.js * * Author: Mark Wade */ ;( function($, _, undefined){ "use strict"; ips.controller.register('nexus.front.support.rate', { initialize: function () { this.on( 'submitDialog', this.update ); }, update: function (e, data) { $(this.scope).html( data.response ); } }); }(jQuery, _)); \ \
\ {{#status}}\ {{{status}}}\ \ {{/status}}\ {{#thumb}}\ {{{thumb}}}\ {{/thumb}}\
\

{{title}}

\

{{size}} · {{statusText}}

\ \ "); ]]>
\ \ \ ");]]> templates common/ips.loader.js common/ui common/utils common controllers underscore jquery mustache jstz Debug.js app.js jquery.js jquery.history.js jquery.transform.js