--- /dev/null
+// Matrix ERP Feed Active Toggle Functions
+
+function toggleFeedActive(id, isActive) {
+ // Попробуем получить CSRF токен из мета-тега
+ let csrfToken = $('meta[name=csrf-token]').attr('content');
+ if (!csrfToken) {
+ csrfToken = window.csrfToken || '';
+ }
+
+ $.ajax({
+ url: window.matrixErpToggleFeedActiveUrl,
+ type: 'POST',
+ data: {
+ id: id,
+ is_feed_active: isActive ? 1 : 0,
+ _csrf: csrfToken
+ },
+ success: function(response) {
+ showAlert(response.success ? 'success' : 'danger', response.message);
+ },
+ error: function(xhr, status, error) {
+ let message = 'Произошла ошибка при обновлении статуса фида';
+ if (xhr.responseJSON && xhr.responseJSON.message) {
+ message = xhr.responseJSON.message;
+ }
+ showAlert('danger', message);
+ }
+ });
+}
+
+function showAlert(type, message) {
+ // Проверяем, что jQuery доступен
+ if (typeof $ === 'undefined') {
+ console.error('jQuery not found!');
+ alert(message); // fallback
+ return;
+ }
+
+ const alertContainer = $('#feed-alert-container');
+ if (alertContainer.length === 0) {
+ console.error('Alert container not found!');
+ alert(message); // fallback
+ return;
+ }
+
+ const alertId = 'alert-' + Date.now();
+ const alertHtml = `
+ <div id="${alertId}" class="alert alert-${type} alert-dismissible fade show" role="alert" style="margin-bottom: 0px;">
+ ${message}
+ <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close">×</button>
+ </div>
+ `;
+
+ alertContainer.append(alertHtml);
+
+ // Auto remove after 5 seconds
+ setTimeout(function() {
+ const alertElement = $('#' + alertId);
+ if (alertElement.length > 0) {
+ alertElement.fadeOut(function() {
+ $(this).remove();
+ });
+ }
+ }, 5000);
+}
+
+// Functions for Matrix ERP Feed Active Toggle