Sha256: 7262df74572861b98f8b914f58280693b3ae8579f0ab5cedb0d1c896f336e690
Contents?: true
Size: 1.87 KB
Versions: 2
Compression:
Stored size: 1.87 KB
Contents
/** * @namespace WORKAREA.paypalButtons */ WORKAREA.registerModule('paypalButtons', (function () { 'use strict'; var requestWrapper = function (requestData) { var deferred = $.Deferred(); $.ajax(requestData) .done(function(data) { deferred.resolve(data); }) .fail(function(data, status, xhr) { deferred.reject(xhr); }); return deferred.promise(); }, createOrder = function() { return requestWrapper({ url: WORKAREA.routes.storefront.paypalPath(), type: 'post', dataType: 'json' }).then(function (data) { return data.id; }); }, onApprove = function(data) { return requestWrapper({ url: WORKAREA.routes.storefront.paypalApprovedPath({ id: data.orderID }), type: 'put', dataType: 'json' }).then(function(data) { window.location = data.redirect_url; } ); }, getConfig = function () { return _.assign({}, WORKAREA.config.paypalButtons, { createOrder: createOrder, onApprove: onApprove }); }, setup = function($container) { paypal .Buttons(getConfig()) .render($container[0]); }, /** * @method * @name init * @memberof WORKAREA.paypalButtons */ init = function($scope) { WORKAREA.paypal.ready(function() { var $buttonContainer = $('#paypal-button-container', $scope); if (_.isEmpty($buttonContainer)) { return; } setup($buttonContainer); }); }; return { init: init }; }()));
Version data entries
2 entries across 2 versions & 1 rubygems