ES6 JSGUI Client library for delivery to the browser. This module provides client-side functionality for building web applications with the JSGUI framework.
The jsgui3-client
package extends the base jsgui3-html
framework with browser-specific functionality, including HTTP communication, client resource management, page context handling, and UI controls optimized for client-side execution.
- GET, POST, DELETE requests: Built-in HTTP methods with Promise/callback support
- Automatic JSON handling: Serialization and parsing of JSON data
- Timeout support: Configurable request timeouts (default: 2500ms)
- Error handling: Comprehensive status code and error response handling
- Client Resource Pool: Manages client-side resources with HTTP endpoint connectivity
- Data Resources: HTTP-based data resources with GET/POST/DELETE operations
- Resource Registration: Server resource registration and management
- Client Page Context: Extended page context class with browser-specific features
- Modal Support: Built-in modal dialog functionality
- Element Management: DOM element mapping and control
- Control Integration: Seamless integration with JSGUI controls
- Active HTML Document: Enhanced HTML document control with automatic activation
- Standard Control Updates: Automatic control registration and updates
npm install jsgui3-client
- jsgui3-html: ^0.0.163 - Core JSGUI HTML framework
- fnl: 0.0.36 - Functional library utilities
- Node.js >= 15.0.0
Main entry point that sets up the global jsgui
object with client-specific functionality including HTTP methods and resource management.
Defines client-side resources that can communicate with server endpoints via HTTP.
Manages pools of client resources, extending the base resource pool with client-specific capabilities.
Provides Client_Page_Context
class that extends the base page context with browser-specific features like modals and DOM management.
Implements HTTP-based data resources supporting standard CRUD operations over HTTP.
An enhanced HTML document control that automatically activates when instantiated.
// The library automatically extends the global jsgui object when loaded
const jsgui = require('jsgui3-client');
// HTTP requests
jsgui.http('/api/data').then(data => {
console.log('Retrieved data:', data);
});
// POST data
jsgui.http_post('/api/data', {name: 'example'}).then(response => {
console.log('Posted successfully:', response);
});
// Create page context
const context = new jsgui.Client_Page_Context({
document: document
});
// Use modal
context.modal.show('Hello World!');
This module is designed to work in browser environments and provides the client-side counterpart to jsgui3-server
. It handles:
- Browser-specific DOM operations
- HTTP communication with server resources
- Client-side resource pooling and management
- UI controls optimized for browser execution
MIT
James Vickers [email protected]