JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.
CUBA Platform. Developer's Manual
4.5. Generic User Interface
Sidebar
Prev
|
Up
|
Next
4.5.7. Creating Application Themes
Theme is used to manage visual presentation of an application.
Contents
Search
Preface
Intended Audience
Further Reading
Feedback
Introduction
Overview
Technical Requirements
Release Notes
Installation and Setup
CUBA Studio Installation
IDE Integration
Quick Start
Application Details
Creating a Project
Creating Entities
Creating Database Tables
Creating User Interface Screens
Screens for Customer
Order Screens
Application Menu
Customer Editor With a List of Orders
Running the Application
The Framework
Architecture
Application Tiers and Blocks
Application Modules
Base Projects
Application Structure
Common Components
Data Model
Base Entity Classes
Entity Annotations
Class Annotations
Attribute Annotations
Enum Attributes
Soft Deletion
Use of Soft Deletion
Related Entities Processing Policy
Unique Restrictions at Database Level
Metadata Framework
Metadata Interfaces
Metadata Building
Datatype
Example of Data Formatting in UI
Examples of Date and Number Formatting in the Application Code
Example of a Custom Datatype
Meta-Annotations
Views
Views Creation
Managed Beans
Creating a Bean
Using the Bean
JMX Beans
Creating a JMX Bean
The Platform JMX Beans
CachingFacadeMBean
ConfigStorageMBean
EmailerMBean
PersistenceManagerMBean
ScriptingManagerMBean
ServerInfoMBean
Infrastructure Interfaces
Configuration
Messages
MessageTools
Metadata
MetadataTools
Resources
Scripting
Security
TimeSource
UserSessionSource
UuidSource
DataManager
Queries with distinct
Sequential Queries
AppContext
Application Properties
Access to Properties
Storing Properties in Files
Storing Properties in the Database
Configuration Interfaces
Using Configuration Interfaces
Property Types
Default Values
Messages Localization
Message Packs
Main Message Pack
Entity and Attributes Names Localization
Enum Localization
User Authentication
UserSession
Login
SecurityContext
Exceptions Handling
Exception Classes
Passing Middleware Exceptions
Client-Level Exception Handlers
Database Components
DBMS Types
Support for Other DBMSs
DBMS Version
Scripts to Create and Update the Database
The Structure of SQL Scripts
The Structure of Groovy scripts
The Execution of Database Scripts by Gradle Tasks
The Execution of Database Scripts by the Server
Middleware Components
Services
Creating a Service
Using the Service
DataService
System Authentication
The Persistence Interface
PersistenceTools
PersistenceHelper
DbTypeConverter
ORM Layer
EntityManager
Entity States
Lazy Loading
Executing JPQL Queries
Case-Insensitive Substring Search
Macros in JPQL
Running SQL Queries
Entity Listeners
Transaction Management
Programmatic Transaction Management
Declarative Transaction Management
Examples of Transactions Interaction
Rollback of a Nested Transaction
Reading and Modifying Data in a Nested Transaction
Transaction Timeout
Implementation Specifics for Different DBMS
Generic User Interface
Screens
Screen Types
Frame
Simple Screen
Lookup Screen
Edit Screen
XML-Descriptor
Screen Controller
AbstractFrame
AbstractWindow
AbstractLookup
AbstractEditor
Controller Dependency Injection
Controller Companions
Visual Components Library
Components
Button
Bulk Editor
CheckBox
DateField
Embedded
FieldGroup
FileMultiUploadField
FileUploadField
Filter
Using a Filter
Filter Component
User Permissions
External Filter Control Parameters
Applying Filters Sequentially
GroupTable
Label
Link
LinkButton
LookupField
LookupPickerField
MaskedField
OptionsGroup
PasswordField
PickerField
PopupButton
ProgressBar
Related Entities
RichTextArea
SearchPickerField
Table
TextArea
TextField
TimeField
TokenList
Tree
TreeTable
TwinColumn
Containers
BoxLayout
ButtonsPanel
GridLayout
GroupBoxLayout
IFrame
ScrollBoxLayout
SplitPanel
TabSheet
Miscellaneous
Formatter
Presentation
Timer
Validator
XML-Attributes of Components
Datasources
Creating Datasources
Declarative Creation
Programmatic Creation
Proper Implementation Classes
CollectionDatasourceImpl Queries
Returned values
Query Parameters
Query Filter
Case-Insensitive Search for a Substring
Data Source Listeners
DsContext
DataSupplier
Actions. The Action Interface
Declarative Creation of Actions
Standard Actions
Standard Actions over Collection
CreateAction
EditAction
RemoveAction
RefreshAction
AddAction
ExcludeAction
ExcelAction
Standard Actions of the Picker Field
LookupAction
ClearAction
OpenAction
BaseAction
Dialogs and Notifications
Dialogs
Notifications
Background Tasks
Using Background Tasks
Setting Up Environment
Creating Application Themes
Themes in Web Applications
Using Existing Themes
Extending an Existing Theme
Creating a Custom Theme
Themes in Desktop Applications
Web Client Specifics
Working with Vaadin Components
Main Window Layout
Desktop Client Specifics
Working with Swing Components
Creating Custom Components
Using Third-Party Vaadin Components
Integration with Generic UI
Keyboard Shortcuts
Portal Components
Basic Functionality
REST API
Including in a Project
Describing Functions
Login
Logout
Loading a Persistent Object Instance From the Database by Identifier
Executing JPQL Query to Retrieve Data
Committing New and Modified Instances, Removal
Uploading Files from Storage
Obtaining Data Model Description in HTML Format
Creating New Views on Server
Service Calls
Service Call by GET Request
Service Call by GET Request
Supported Service Method Parameter Types
Service Call Result
Platform Features
Scheduled Tasks Execution
Spring TaskScheduler
CUBA Scheduled Tasks
Task Registration
Tasks Handling Control
Implementation Specifics
Email Sending
Sending Methods
Email Attachments
Configuring Email Sending Parameters
Dynamic Attributes
Managing Dynamic Attributes
Categorized Entities
Dynamic Attributes in REST API
Pessimistic Locking
Entity Editing Locks
Locking Arbitrary Processes
Lock Monitoring
Entity Statistics
Entity Log
Setting Up Entity Log
Viewing the Entity Log
Entity Snapshots
Saving Snapshots
Viewing Snapshots
File Storage
Uploading Files
Downloading Files
Standard File Storage Implementation
Sequence Generation
Running SQL Using QueryRunner
Integration with MyBatis
Folders Panel
Application Folders
Search Folders
Record Sets
Screen Links
Entity Inspector
Information about Software Components
Functionality Extension
Extending an Entity
Extending Screens
Extending Business Logic
Application Development
Recommended Code Style
Project File Structure
Build Scripts Overview
The Structure of build.gradle
Starting Build Tasks
Building on a Continuous Integration Server
Creating a Project
Designing the Database
Creating the DB Schema
Connecting to HSQLDB with External Tools
Connecting with Squirrel SQL
Connecting with IntelliJ IDEA Ultimate
PostgreSQL Specifics
MS SQL Server Specifics
Oracle Database Specifics
Logging
Setting up Logging in Tomcat
Setting up Logging in The Desktop Client
Debugging and Testing
Connecting a Debugger
Debugging Web Widgets
Testing
Unit Tests
Middleware Integration Tests
Client Tier Integration Tests
Development Recipes
Getting Localized Messages
Assigning Initial Values
Entity Fields Initialization
Initialization Using CreateAction
Using initNewItem Method
Editing Composite Entities
Implementing a Composition
Deep Composition
Running Code at Application Start
Loading and Displaying Images
Creating Custom Visual Components
Example of Using a Third-party Vaadin Component
Example of Integrating a Vaadin Component into the Generic UI
Application Deployment
Application Directories
Configuration Directory
Work Directory
Log Directory
Temporary Directory
Database Scripts Directory
Deployment Options
Fast Deployment in Tomcat
Using Tomcat in Production
Deployment in WAR
Application Scaling
Setting up a Web Client Cluster
Installing and Setting up a Load Balancer
Setting up Web Client Servers
Setting up a Middleware Cluster
Setting up Connection to the Middleware Cluster
Configuring Interaction between Middleware Servers
Server ID
Using JMX Tools
Built-In JMX Console
Setting up a Remote JMX Connection
Tomcat JMX for Windows
Tomcat JMX for Linux
Creating and Updating the Database in Production
Execution of Database Scripts by Server
Initializing and Updating a Database from The Command Line
License File Usage
Security Subsystem
Security Subsystem Components
Login Screen
Users
User Substitution
Time Zone
Permissions
Roles
Access Groups
Constraints
Session Attributes
Integration with LDAP
Basic Active Directory Integration
Setting Up Authentication Using Jespa
Including the Library
Setting Up Configuration
Access Control Examples
Configuring Roles
Creating Local Administrators
Configuration Files
context.xml
datatypes.xml
dispatcher-spring.xml
menu.xml
metadata.xml
permissions.xml
persistence.xml
remoting-spring.xml
screens.xml
spring.xml
views.xml
web.xml
Application Properties
System Properties
Glossary
Search Highlighter (On/Off)