OpenUI5
repository·master·Indexed 25 days ago
https://github.com/ui5/openui5An open-source, enterprise-grade JavaScript framework for building responsive web applications. It provides a client-side HTML5 rendering library with a rich set of controls and supports data binding for JSON, XML, and OData models. The framework includes various libraries such as sap.m, sap.ui.core, and sap.ui.table, which can be managed via the UI5 CLI.
What's inside OpenUI5
- OpenUI5 is an open-source, JavaScript-based framework for building enterprise-ready, responsive web applications that follow web standards. It provides a client-side HTML5 rendering library with a rich set of controls and supports data binding to JSON, XML, and OData models. OpenUI5 is licensed under the Apache License, Version 2.0.
Understand restricted utility functions in sap/base/util/restricted
masterThesap/base/util/restricteddirectory contains utility functions intended exclusively for framework libraries. These functions are internal to the framework and are subject to change without prior notice. They should not be used in public documentation or application-level examples.Execute ESLint code checks
masterTo run the static code checks (ESLint) for the project, refer to the 'Running the Static Code Checks (ESLint)' section in the Developing guide.Add @openui5/sap.ui.documentation to your project
masterTo use the
sap.ui.documentationlibrary in your UI5 project, add it as a dependency using the UI5 CLI.ui5 add sap.ui.documentationExplore OpenUI5 controls and samples
masterTo see the framework in action, you can explore the control playground to inspect individual controls or browse various sample applications.Follow JavaScript naming conventions for OpenUI5 modules
masterOpenUI5 modules (classes, components, controls) must use a consistent qualified naming scheme to ensure they reside in unique namespaces.
Naming Rules:
- Namespaces: Must be lowercase, with words separated by dots (
.) (e.g.,my.app). When defining dependencies insap.ui.define, use slashes (/) instead of dots (e.g.,my/app/MyControl). - Class Names: Must be camelcase and start with a capital letter (e.g.,
MyControl). - Global Object Safety: The namespace is attached to the global
windowobject. The first segment of your namespace must not conflict with existing global properties likename,location,top, orself.
Important Restriction: The
sapnamespace is reserved for SAP. Do not use any namespace starting with thesapprefix for application code, custom controls, or any non-OpenUI5 content.- Namespaces: Must be lowercase, with words separated by dots (
Set up the OpenUI5 Basic Development Environment
masterUse the basic setup to quickly start a development server for older versions of OpenUI5. This method is convenient for modifying source files without a build step, though it does not provide optimized runtime performance.
- Install Node.js (includes npm).
- Clone the repository:
git clone https://github.com/UI5/openui5.git - Install dependencies:
cd openui5 npm install - Start the server:
npm start - Access the TestSuite at
http://localhost:8080/test-resources/testsuite/testframe.html.
Tip: Use
npm run testsuiteto start the server and open the TestSuite URL automatically in your browser.git clone https://github.com/UI5/openui5.git cd openui5 npm install npm startAdd the sap_bluecrystal theme library to your project
masterYou can add the
sap_bluecrystaltheme library to your UI5 project using the UI5 CLI.Warning: This library is deprecated and should not be used for new projects.
ui5 add themelib_sap_bluecrystalAdd @openui5/sap.ui.suite to your project
masterTo include the
sap.ui.suitelibrary in your UI5 project, use the UI5 CLI to add it as a dependency.Warning: This library is deprecated and should not be used for new projects.
ui5 add sap.ui.suiteGit Commit Message Format
masterCommit messages should follow a structured format:
- Summary (First Line): 50-70 characters. Prefix with
[FIX],[FEATURE], or[INTERNAL]. Do not use brackets inside the summary text. - Description: Explain the problem being fixed and the technical details of the change.
- Data Section: Include name-value pairs for tracking:
Fixes: https://github.com/UI5/openui5/issues/(issueNumber)Closes: https://github.com/UI5/openui5/pull/(pullRequestNumber)
Example:
[FIX] sap.m.Popover: scrolling is removed after Popover is rerendered - this was caused by the special treatment in dealing with rerendering - Now the normal invalidation is used... Change-Id: I3c7d6e4d52fa71e9412b729b7a234a112915c2a4 Fixes: https://github.com/UI5/openui5/issues/1[FIX] sap.m.Popover: scrolling is removed after Popover is rerendered - this was caused by the special treatment in dealing with rerendering - Now the normal invalidation is used and Popup.js takes care of the - focus/blur event listener in onBefore/AfterRerendering Change-Id: I3c7d6e4d52fa71e9412b729b7a234a112915c2a4 Fixes: https://github.com/UI5/openui5/issues/1- Summary (First Line): 50-70 characters. Prefix with
Add the @openui5/sap.tnt library to your project
masterTo use the
sap.tntlibrary in your UI5 project, add it as a dependency using the UI5 CLI. This library provides runtime resources for thesap.tntUI library.ui5 add sap.tntAdd @openui5/sap.ui.core to your project
masterTo include the OpenUI5 Core Library (
sap.ui.core) as a dependency in your UI5 project, use the UI5 CLI. This library provides the essential runtime resources for the OpenUI5 framework.ui5 add sap.ui.core