%PDF- %PDF-
Direktori : /home/vacivi36/intranet.vacivitta.com.br/assets/65275c5b/js/ |
Current File : /home/vacivi36/intranet.vacivitta.com.br/assets/65275c5b/js/humhub.marketplace.js |
humhub.module('marketplace', function (module, require, $) { const client = require('client'); const loader = require('ui.loader'); const status = require('ui.status'); const update = function (evt) { startUpdate(evt); client.post(evt).then(function (response) { endSuccessUpdate(evt, response); }).catch(function (err) { endFailedUpdate(evt, err); }); }; const startUpdate = function(evt) { const card = evt.$trigger.closest('.card'); card.css({width: card.outerWidth(), height: card.outerHeight()}); evt.$trigger.parent().hide(); evt.$trigger.removeAttr('data-update-status'); loader.set(evt.$trigger.parent().prev(), {size: '12px'}); } const endSuccessUpdate = function (evt, response) { const card = evt.$trigger.closest('.card'); const body = card.find('.card-body'); body.html('<div class="text-center"><span class="fa fa-check"></span></div>'); const resultIcon = body.find('.fa').css({fontSize: 0, opacity: 0}); resultIcon.animate({fontSize: '50px', opacity: 1}, 1000, function () { $(this).after('<div style="padding-top:20px">' + response.status + '</div>'); setTimeout(function () { card.css({ position: 'absolute', top: card.position().top, left: card.position().left, }); card.after('<div class="' + card.attr('class') + '"><div class="card-panel"></div></div>'); card.next() .css({opacity: 0, minHeight: card.outerHeight()}) .animate({width: 0}, 'slow', function () {$(this).remove()}); card.animate({opacity: 0}, 'slow', function () { $(this).remove(); const availableUpdates = $('[data-action-click="marketplace.update"]').length; $('.group-modules-count-availableUpdates').html(availableUpdates); if (availableUpdates === 0) { $('[data-action-click="marketplace.updateAll"]').remove(); $('.container-module-updates').animate({opacity: 0, height: 0, padding: 0, margin: 0}, 2000); } }); module.log.success('success.saved', true); status.success(response.message); evt.$trigger.attr('data-update-status', 'success'); runNextUpdate(); }, 1000); }); } const endFailedUpdate = function(evt, response) { module.log.error(response); status.error(response.message); evt.$trigger.attr('data-update-status', 'failed') .attr('title', response.message); evt.$trigger.parent().show(); loader.reset(evt.$trigger.parent().prev()); runNextUpdate(); } const updateAll = function (evt) { const btn = evt.$trigger; if (btn.data('is-updating-all')) { stopUpdateAll(); return; } btn.data('is-updating-all', true) .data('orig-title', btn.html()) .data('orig-class', btn.attr('class')) .html(btn.data('stop-title')) .attr('class', btn.data('stop-class')); $('[data-action-click="marketplace.update"]').removeAttr('data-update-status'); runNextUpdate(); } const runNextUpdate = function() { const updateAllButton = $('[data-action-click="marketplace.updateAll"]'); if (!updateAllButton.data('is-updating-all')) { return; } const nextButton = $('[data-action-click="marketplace.update"]:not([data-update-status=failed]):first'); if (nextButton.length) { nextButton.click(); } else { stopUpdateAll(); } } const stopUpdateAll = function () { const updateAllButton = $('[data-action-click="marketplace.updateAll"]'); updateAllButton.data('is-updating-all', false) .html(updateAllButton.data('orig-title')) .attr('class', updateAllButton.data('orig-class')); } const registerLicenceKey = function(evt) { const form = evt.$trigger.closest('form'); const licenceKey = form.find('input[name=licenceKey]').val(); loader.set(form); client.post(form.attr('action'), {data: {licenceKey}}).then(function (response) { form.closest('.modal-dialog').after(response.html).remove(); }).catch(function (err) { module.log.error(err); status.error(err.message); loader.reset(form); }); } module.export({ update, updateAll, registerLicenceKey, }); });