var SuperSearchUi = (function ($) { 'use strict'; var me = { init: function () { me.registerEvents(); }, registerEvents: function () { $('#supersearch-fullindex-task-trigger').on('click', function (e) { e.preventDefault(); me.onClickExecuteFullIndexTask(); }); $('.button-provider-activate').on('click', function (e) { e.preventDefault(); var indexName = $(this).data('indexName'); me.onClickActivateProvider(indexName); }); $('.button-provider-deactivate').on('click', function (e) { e.preventDefault(); var indexName = $(this).data('indexName'); me.onClickDeactivateProvider(indexName); }); }, onClickExecuteFullIndexTask: function () { var $container = $('#supersearch-fullindex-task-wrapper'); $.ajax({ url: 'index.php?module=supersearch&action=settings', data: { cmd: 'run-full-index-task' }, method: 'post', dataType: 'json', beforeSend: function () { $container.loadingOverlay(); }, success: function () { var message = '<div class="success">Such-Index wurde erfolgreich neu aufgebaut.</div>'; message += '<a class="button button-primary" href="index.php?module=supersearch&action=settings">'; message += 'Seite neuladen</a>'; $container.html(message); }, error: function (jqXhr) { var errorMessage = 'Unbekannter Fehler'; if (jqXhr.hasOwnProperty('responseJSON') && jqXhr.responseJSON.hasOwnProperty('error')) { errorMessage = jqXhr.responseJSON.error; } var message = '<div class="warning">'; message += 'Fehler beim Aufbau des Such-Indexes: '; message += errorMessage; message += '</div>'; $container.html(message); }, complete: function () { $container.loadingOverlay('remove'); } }); }, /** * @param {string} indexName */ onClickActivateProvider: function (indexName) { $.ajax({ url: 'index.php?module=supersearch&action=settings', data: { cmd: 'activate-provider', index_name: indexName }, method: 'post', dataType: 'json', success: function () { window.location.reload(); }, error: function (jqXhr) { var errorMessage = 'Unbekannter Fehler'; if (jqXhr.hasOwnProperty('responseJSON') && jqXhr.responseJSON.hasOwnProperty('error')) { errorMessage = jqXhr.responseJSON.error; } alert('Fehler beim Aktivieren des Providers: ' + errorMessage); } }); }, /** * @param {string} indexName */ onClickDeactivateProvider: function (indexName) { $.ajax({ url: 'index.php?module=supersearch&action=settings', data: { cmd: 'deactivate-provider', index_name: indexName }, method: 'post', dataType: 'json', success: function () { window.location.reload(); }, error: function (jqXhr) { var errorMessage = 'Unbekannter Fehler'; if (jqXhr.hasOwnProperty('responseJSON') && jqXhr.responseJSON.hasOwnProperty('error')) { errorMessage = jqXhr.responseJSON.error; } alert('Fehler beim Deaktivieren des Providers: ' + errorMessage); } }); } }; return { init: me.init }; })(jQuery); $(document).ready(function () { SuperSearchUi.init(); });