OpenUI5 Version for the OpenUI5 Demo Kit
- OpenUI5: UI Development Toolkit for HTML5
- What's New in OpenUI5
- What's New in OpenUI5 1.87
- Previous Versions
- What's New in OpenUI5 1.86
- What's New in OpenUI5 1.85
- What's New in OpenUI5 1.84
- What's New in OpenUI5 1.82
- What's New in OpenUI5 1.81
- What's New in OpenUI5 1.80
- What's New in OpenUI5 1.79
- What's New in OpenUI5 1.78
- What's New in OpenUI5 1.77
- What's New in OpenUI5 1.76
- What's New in OpenUI5 1.75
- What's New in OpenUI5 1.74
- What's New in OpenUI5 1.73
- What's New in OpenUI5 1.72
- What's New in OpenUI5 1.71
- What's New in OpenUI5 1.70
- What's New in OpenUI5 1.69
- What's New in OpenUI5 1.68
- What's New in OpenUI5 1.67
- What's New in OpenUI5 1.66
- What's New in OpenUI5 1.65
- What's New in OpenUI5 1.64
- What's New in OpenUI5 1.63
- What's New in OpenUI5 1.62
- What's New in OpenUI5 1.61
- What's New in OpenUI5 1.60
- What's New in OpenUI5 1.58
- What's New in OpenUI5 1.56
- What's New in OpenUI5 1.54
- What's New in OpenUI5 1.52
- What's New in OpenUI5 1.50
- What's New in OpenUI5 1.48
- What's New in OpenUI5 1.46
- What's New in OpenUI5 1.44
- What's New in OpenUI5 1.42
- What's New in OpenUI5 1.40
- What's New in OpenUI5 1.38
- Read Me First
- Get Started: Setup, Tutorials, and Demo Apps
- Development Environment
- Quick Start
- Walkthrough
- Step 1: Hello World!
- Step 2: Bootstrap
- Step 3: Controls
- Step 4: XML Views
- Step 5: Controllers
- Step 6: Modules
- Step 7: JSON Model
- Step 8: Translatable Texts
- Step 9: Component Configuration
- Step 10: Descriptor for Applications
- Step 11: Pages and Panels
- Step 12: Shell Control as Container
- Step 13: Margins and Paddings
- Step 14: Custom CSS and Theme Colors
- Step 15: Nested Views
- Step 16: Dialogs and Fragments
- Step 17: Fragment Callbacks
- Step 18: Icons
- Step 19: Reuse Dialogs
- Step 20: Aggregation Binding
- Step 21: Data Types
- Step 22: Expression Binding
- Step 23: Custom Formatters
- Step 24: Filtering
- Step 25: Sorting and Grouping
- Step 26: Remote OData Service
- Step 27: Mock Server Configuration
- Step 28: Unit Test with QUnit
- Step 29: Integration Test with OPA
- Step 30: Debugging Tools
- Step 31: Routing and Navigation
- Step 32: Routing with Parameters
- Step 33: Routing Back and History
- Step 34: Custom Controls
- Step 35: Responsiveness
- Step 36: Device Adaptation
- Step 37: Content Density
- Step 38: Accessibility
- Troubleshooting
- Data Binding
- Step 1: No Data Binding
- Step 2: Creating a Model
- Step 3: Create Property Binding
- Step 4: Two-Way Data Binding
- Step 5: One-Way Data Binding
- Step 6: Resource Models
- Step 7: (Optional) Resource Bundles and Multiple Languages
- Step 8: Binding Paths: Accessing Properties in Hierarchically Structured Models
- Step 9: Formatting Values
- Step 10: Property Formatting Using Data Types
- Step 11: Validation Using the Message Manager
- Step 12: Aggregation Binding Using Templates
- Step 13: Element Binding
- Step 14: Expression Binding
- Step 15: Aggregation Binding Using a Factory Function
- OData V4
- Navigation and Routing
- Step 1: Set Up the Initial App
- Step 2: Enable Routing
- Step 3: Catch Invalid Hashes
- Step 4: Add a Back Button to Not Found Page
- Step 5: Display a Target Without Changing the Hash
- Step 6: Navigate to Routes with Hard-Coded Patterns
- Step 7: Navigate to Routes with Mandatory Parameters
- Step 8: Navigate with Flip Transition
- Step 9: Allow Bookmarkable Tabs with Optional Query Parameters
- Step 10: Implement "Lazy Loading"
- Step 11: Assign Multiple Targets
- Step 12: Make a Search Bookmarkable
- Step 13: Make Table Sorting Bookmarkable
- Step 14: Make Dialogs Bookmarkable
- Step 15: Reuse an Existing Route
- Step 16: Handle Invalid Hashes by Listening to Bypassed Events
- Step 17: Listen to Matched Events of Any Route
- Testing
- Step 1: Overview and Testing Strategy
- Step 2: A First Unit Test
- Step 3: Adding the Price Formatter
- Step 4: Testing a New Module
- Step 5: Adding a Flag Button
- Step 6: A First OPA Test
- Step 7: Changing the Table to a Growing Table
- Step 8: Testing Navigation
- Step 9: Adding the Post Page
- Step 10: Test Suite and Automated Testing
- Step 11: Testing User Input
- Step 12: Adding a Search
- Step 13: Testing User Interaction
- Step 14: Adding Tabs
- Step 15: Writing a Short Date Formatter Using TDD
- Step 16: Adding the Date Formatter
- OData V2 Mock Server
- Worklist App
- Flexible Column Layout App
- Step 1: Setting Up the Initial App
- Step 2: Creating an Empty Flexible Column Layout
- Step 3: Using Dynamic Page for the Master View
- Step 4: Adding a Detail Page
- Step 5: Using Object Page Layout as a Detail Page
- Step 6: Adding a Floating Footer
- Step 7: Routing
- Step 8: Enhancing the Detail Page
- Step 9: Adding a Detail-Detail Page
- Step 10: Adding More Pages
- Step 11: Using the Flexible Column Layout Semantic Helper
- Step 12: Starting with Two Columns
- Step 13: Setting the Master-Detail Pattern
- Demo Apps
- Best Practices for App Developers
- Essentials
- Bootstrapping: Loading and Initializing
- Structuring: Components and Descriptor
- Components
- Descriptor for Applications, Components, and Libraries
- Migrating from Component Metadata to Descriptor
- Descriptor for Libraries
- Descriptor for Components (Inside Libraries)
- The resources.json File
- Creating a Descriptor File for Existing Apps
- Descriptor Dependencies to Libraries and Components
- Manifest Model Preload
- Enabling the Automatic SAP Fiori 2.0 Header Adaptation in the Descriptor
- Model View Controller (MVC)
- Data Binding
- Binding Types
- Binding Syntax
- Formatting, Parsing, and Validating Data
- Models
- OData V2 Model
- Creating the Model Instance
- Service Metadata
- Adding Additional URL Parameters
- Custom HTTP Headers
- Addressing Entities: Binding Path Syntax
- Accessing Data from an OData Model
- Creating Entities
- CRUD Operations
- Concurrency Control and ETags
- XSRF Token
- Refreshing the Model
- Batch Processing
- Two-Way Binding
- Binding-specific Parameters
- Optimizing Dependent Bindings
- Function Import
- Language
- Meta Model for OData V2
- OData V4 Model
- Model Instantiation and Data Access
- Bindings
- Binding Events
- Filtering
- Sorting
- Value Lists
- OData Operations
- Batch Control
- Meta Model for OData V4
- Performance Aspects
- Unsupported Superclass Methods and Events
- Changes Compared to OData V2 Model
- Creating an Entity
- Deleting an Entity
- Consuming OData V2 Services with the OData V4 Model
- Extension for Data Aggregation
- Server Messages in OData V4 Model
- Currencies and Units
- JSON Model
- XML Model
- Resource Model
- Custom Model
- Assigning the Model to the UI
- Setting the Default Binding Mode
- OData V2 Model
- Using Data Binding for Data Export
- Reusing UI Parts: Fragments
- XML Templating
- Working with Controls
- Declarative Support
- Error, Warning, and Info Messages
- Routing and Navigation
- Modules and Dependencies
- Optimizing Applications
- Adapting to Operating Systems And Devices
- Testing
- Theming
- Localization
- Accessibility
- Drag and Drop
- Troubleshooting
- Developing Apps
- Continuous Integration: Ensure Code Quality
- App Templates: Kick Start Your App Development
- App Overview: The Basic Files of Your App
- App Initialization: What Happens When an App Is Started?
- Folder Structure: Where to Put Your Files
- Device Adaptation: Using Device Models for Your App
- Performance: Speed Up Your App
- Stable IDs: All You Need to Know
- Reacting on User Input Events
- Coding Issues to Avoid
- Securing Apps
- Right-to-Left Support
- Accessibility
- Extending Apps
- Developing Controls
- Development Conventions and Guidelines
- The library.js File
- Creating Control and Class Modules
- Defining the Control Metadata
- Adding Method Implementations
- Device-specific Behavior of Controls
- Examples for Creating and Extending Controls
- Writing a Control Renderer
- Implementing Animation Modes
- Implementing Focus Handling
- Item Navigation - Supporting Keyboard Handling in List-like Controls
- Right-to-Left Support in Controls
- Defining Groups for Fast Navigation (F6)
- Composite Controls
- Accessibility Aspects
- Writing a Control: FAQ
- More About Controls
- Busy Indicators
- Cards
- Date and Time Related Controls: Data Binding
- Grid Controls
- Hyphenation for Text Controls
- Semantic Pages
- Tables: Which One Should I Choose?
- sap.f
- sap.m
- App and Nav Container
- Facet Filter
- Feed Input
- Feed List Item
- Flex Box
- Generic Tile
- Image
- List, List Item, and Table
- Message Handling
- Message Popover
- PDF Viewer
- Personalization Dialog
- Scrolling
- Sliders
- Split App
- Team Calendar
- Text
- Upload Collection
- URL Helper
- sap.tnt
- sap.ui.codeeditor
- sap.ui.core
- sap.ui.table
- sap.uxap
- Glossary
- What's New in OpenUI5
