OpenUI5

repository·master·Indexed 25 days ago

https://github.com/ui5/openui5

An 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.

Tokens
34.4K
Snippets
84
Records
211
Agent score
84%

What's inside OpenUI5

  1. Overview of OpenUI5

    master
    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.
  2. Follow JavaScript naming conventions for OpenUI5 modules

    master

    OpenUI5 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 in sap.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 window object. The first segment of your namespace must not conflict with existing global properties like name, location, top, or self.

    Important Restriction: The sap namespace is reserved for SAP. Do not use any namespace starting with the sap prefix for application code, custom controls, or any non-OpenUI5 content.

  3. Set up the OpenUI5 Basic Development Environment

    master

    Use 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.

    1. Install Node.js (includes npm).
    2. Clone the repository:
      git clone https://github.com/UI5/openui5.git
    3. Install dependencies:
      cd openui5
      npm install
    4. Start the server:
      npm start
    5. Access the TestSuite at http://localhost:8080/test-resources/testsuite/testframe.html.

    Tip: Use npm run testsuite to 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 start
  4. Git Commit Message Format

    master

    Commit messages should follow a structured format:

    1. Summary (First Line): 50-70 characters. Prefix with [FIX], [FEATURE], or [INTERNAL]. Do not use brackets inside the summary text.
    2. Description: Explain the problem being fixed and the technical details of the change.
    3. 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