Festi ThemeAssets

A comprehensive package of frontend assets for Festi Framework projects, providing essential JavaScript and CSS libraries to enhance your application's UI and user experience.

  • jQuery: Cross-platform JavaScript library for DOM manipulation
  • Bootstrap: Responsive CSS and JS framework for modern web development
  • jimbo.js: Custom utility library with Festi-specific functionality

Jimbo.JS

The jimbo.js library provides a variety of utility functions for common frontend tasks:

AJAX Operations

  • Jimbo.ajax(): Perform AJAX requests with customizable options
  • Jimbo.response(): Main function for handling responses from the backend

UI Elements

  • Jimbo.showMessages(): Display notification messages
  • Jimbo.showLoadingBar()/Jimbo.hideLoadingBar(): Control loading indicators
  • Jimbo.dialog(): Show modal dialogs
  • Jimbo.confirm(): Display confirmation dialogs
  • Jimbo.growlCreate(): Create toast notifications
  • Jimbo.addListener(): Attach event listeners to DOM elements

Examples

Display Loading Bar

// Show loading indicator
Jimbo.showLoadingBar();

// Perform some operation using AJAX
Jimbo.ajax({
    url: 'api/users/save',
    method: 'POST',
    data: {
        id: userId,
        name: userName
    },
    success: function(data) {
        // Hide loading indicator
        Jimbo.hideLoadingBar();

        // Process response
        Jimbo.response(data, function(response) {
            if (response.status === 'success') {
                Jimbo.showMessages('Success', ['User saved successfully']);
            } else {
                Jimbo.showMessages('Error', response.messages || ['Failed to save user']);
            }
        });
    },
    error: function() {
        Jimbo.hideLoadingBar();
        Jimbo.showMessages('Error', ['Network error occurred']);
    }
});

Create Notification

// Create a temporary notification
Jimbo.growlCreate('Information', 'Your changes have been applied', false);

// Create a persistent notification
Jimbo.growlCreate('Warning', 'Please save your changes before leaving', true);