Skip to content

a Master-Detail demo app (the same available in SAPUI5/OpenUI5 SDK) using TypeScript with npm ui5ts package

Notifications You must be signed in to change notification settings

apazureck/ui5-typescript-example

 
 

Repository files navigation

ui5-typescript-example

A Master-Detail demo app (the same available in SAPUI5/OpenUI5 SDK) using TypeScript with npm ui5ts package.

How to run

git clone https://github.com/lmcarreiro/ui5-typescript-example.git
cd ui5-typescript-example
npm install
npm start

UI5 TypeScript example class

import UIComponent  from "sap/ui/core/UIComponent";
import models       from "typescript/example/ui5app/model/models";

@UI5("typescript.example.ui5app.Component")
export default class Component extends UIComponent
{
    public static metadata: any = {
        manifest : "json"
    };

    public init(): void {
        // set the device model
        this.setModel(models.createDeviceModel(), "device");
        // call the base component's init function and create the App view
        super.init();
        // create the views based on the url/hash
        this.getRouter().initialize();
    }
}

Progress

I've published an incomplete work, not all classes of this example app was converted to typescript yet. But it is running fine, without error, and the core idea of working ui5 with typescript is the npm ui5ts package, that already works.

I hope that the classes in this example that is already converted to typescript are enough for you to understand how to do it, and start using typescript in your own ui5 projects.

  • /controller
    • App.controller.js -> App.controller.ts
    • BaseController.js -> BaseController.ts
    • Detail.controller.js -> Detail.controller.ts
    • ErrorHandler.js -> ErrorHandler.ts
    • ListSelector.js -> ListSelector.ts
    • Master.controller.js
  • /localService
    • mockserver.js -> mockserver.ts
  • /model
    • formatter.js -> formatter.ts
    • grouper.js -> grouper.ts
    • GroupSortState.js -> GroupSortState.ts
    • models.js -> models.ts
  • /test
  • Component.js -> Component.ts

References

About

a Master-Detail demo app (the same available in SAPUI5/OpenUI5 SDK) using TypeScript with npm ui5ts package

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 99.3%
  • Other 0.7%