From 9053fca3e417a23681d289136b30bdb4067c93ec Mon Sep 17 00:00:00 2001 From: margopolo Date: Mon, 29 Jan 2024 18:16:25 +0000 Subject: [PATCH] deploy: ec9fe2ae8e266d302210c0c213ff88ec460d341a --- index.md | 131 ++++++++++++++++++ step-01/Component-preload.js | 5 + step-01/Component-preload.js.map | 1 + step-01/index.html | 10 ++ step-01/manifest.json | 11 ++ step-02/Component-preload.js | 8 ++ step-02/Component-preload.js.map | 1 + step-02/index-cdn.html | 21 +++ step-02/index-dbg.js | 4 + step-02/index-dbg.js.map | 1 + step-02/index.html | 21 +++ step-02/index.js | 2 + step-02/index.js.map | 1 + step-02/index.ts | 1 + step-02/manifest.json | 11 ++ step-03/Component-preload.js | 8 ++ step-03/Component-preload.js.map | 1 + step-03/index-cdn.html | 20 +++ step-03/index-dbg.js | 10 ++ step-03/index-dbg.js.map | 1 + step-03/index.html | 20 +++ step-03/index.js | 2 + step-03/index.js.map | 1 + step-03/index.ts | 5 + step-03/manifest.json | 11 ++ step-04/Component-preload.js | 9 ++ step-04/Component-preload.js.map | 1 + step-04/index-cdn.html | 20 +++ step-04/index-dbg.js | 13 ++ step-04/index-dbg.js.map | 1 + step-04/index.html | 20 +++ step-04/index.js | 2 + step-04/index.js.map | 1 + step-04/index.ts | 8 ++ step-04/manifest.json | 11 ++ step-04/view/App.view.xml | 5 + step-05/Component-preload.js | 12 ++ step-05/Component-preload.js.map | 1 + step-05/controller/App-dbg.controller.js | 18 +++ step-05/controller/App-dbg.controller.js.map | 1 + step-05/controller/App.controller.js | 2 + step-05/controller/App.controller.js.map | 1 + step-05/controller/App.controller.ts | 11 ++ step-05/index-cdn.html | 20 +++ step-05/index-dbg.js | 13 ++ step-05/index-dbg.js.map | 1 + step-05/index.html | 20 +++ step-05/index.js | 2 + step-05/index.js.map | 1 + step-05/index.ts | 8 ++ step-05/manifest.json | 11 ++ step-05/view/App.view.xml | 7 + step-06/Component-preload.js | 12 ++ step-06/Component-preload.js.map | 1 + step-06/controller/App-dbg.controller.js | 17 +++ step-06/controller/App-dbg.controller.js.map | 1 + step-06/controller/App.controller.js | 2 + step-06/controller/App.controller.js.map | 1 + step-06/controller/App.controller.ts | 11 ++ step-06/index-cdn.html | 20 +++ step-06/index-dbg.js | 13 ++ step-06/index-dbg.js.map | 1 + step-06/index.html | 20 +++ step-06/index.js | 2 + step-06/index.js.map | 1 + step-06/index.ts | 8 ++ step-06/manifest.json | 11 ++ step-06/view/App.view.xml | 7 + step-07/Component-preload.js | 12 ++ step-07/Component-preload.js.map | 1 + step-07/controller/App-dbg.controller.js | 28 ++++ step-07/controller/App-dbg.controller.js.map | 1 + step-07/controller/App.controller.js | 2 + step-07/controller/App.controller.js.map | 1 + step-07/controller/App.controller.ts | 24 ++++ step-07/index-cdn.html | 20 +++ step-07/index-dbg.js | 13 ++ step-07/index-dbg.js.map | 1 + step-07/index.html | 20 +++ step-07/index.js | 2 + step-07/index.js.map | 1 + step-07/index.ts | 8 ++ step-07/manifest.json | 11 ++ step-07/view/App.view.xml | 12 ++ step-08/Component-preload.js | 13 ++ step-08/Component-preload.js.map | 1 + step-08/controller/App-dbg.controller.js | 39 ++++++ step-08/controller/App-dbg.controller.js.map | 1 + step-08/controller/App.controller.js | 2 + step-08/controller/App.controller.js.map | 1 + step-08/controller/App.controller.ts | 37 +++++ step-08/i18n/i18n.properties | 2 + step-08/index-cdn.html | 20 +++ step-08/index-dbg.js | 13 ++ step-08/index-dbg.js.map | 1 + step-08/index.html | 20 +++ step-08/index.js | 2 + step-08/index.js.map | 1 + step-08/index.ts | 8 ++ step-08/manifest.json | 11 ++ step-08/view/App.view.xml | 12 ++ step-09/Component-dbg.js | 41 ++++++ step-09/Component-dbg.js.map | 1 + step-09/Component-preload.js | 16 +++ step-09/Component-preload.js.map | 1 + step-09/Component.js | 2 + step-09/Component.js.map | 1 + step-09/Component.ts | 38 +++++ step-09/controller/App-dbg.controller.js | 23 +++ step-09/controller/App-dbg.controller.js.map | 1 + step-09/controller/App.controller.js | 2 + step-09/controller/App.controller.js.map | 1 + step-09/controller/App.controller.ts | 20 +++ step-09/i18n/i18n.properties | 2 + step-09/index-cdn.html | 20 +++ step-09/index-dbg.js | 16 +++ step-09/index-dbg.js.map | 1 + step-09/index.html | 20 +++ step-09/index.js | 2 + step-09/index.js.map | 1 + step-09/index.ts | 11 ++ step-09/manifest.json | 11 ++ step-09/view/App.view.xml | 12 ++ step-10/Component-dbg.js | 31 +++++ step-10/Component-dbg.js.map | 1 + step-10/Component-preload.js | 13 ++ step-10/Component-preload.js.map | 1 + step-10/Component.js | 2 + step-10/Component.js.map | 1 + step-10/Component.ts | 25 ++++ step-10/controller/App-dbg.controller.js | 22 +++ step-10/controller/App-dbg.controller.js.map | 1 + step-10/controller/App.controller.js | 2 + step-10/controller/App.controller.js.map | 1 + step-10/controller/App.controller.ts | 19 +++ step-10/i18n/i18n.properties | 7 + step-10/index-cdn.html | 21 +++ step-10/index.html | 21 +++ step-10/manifest.json | 53 +++++++ step-10/view/App.view.xml | 12 ++ step-11/Component-dbg.js | 31 +++++ step-11/Component-dbg.js.map | 1 + step-11/Component-preload.js | 13 ++ step-11/Component-preload.js.map | 1 + step-11/Component.js | 2 + step-11/Component.js.map | 1 + step-11/Component.ts | 25 ++++ step-11/controller/App-dbg.controller.js | 22 +++ step-11/controller/App-dbg.controller.js.map | 1 + step-11/controller/App.controller.js | 2 + step-11/controller/App.controller.js.map | 1 + step-11/controller/App.controller.ts | 19 +++ step-11/i18n/i18n.properties | 9 ++ step-11/index-cdn.html | 21 +++ step-11/index.html | 21 +++ step-11/manifest.json | 53 +++++++ step-11/view/App.view.xml | 27 ++++ step-12/Component-dbg.js | 31 +++++ step-12/Component-dbg.js.map | 1 + step-12/Component-preload.js | 13 ++ step-12/Component-preload.js.map | 1 + step-12/Component.js | 2 + step-12/Component.js.map | 1 + step-12/Component.ts | 25 ++++ step-12/controller/App-dbg.controller.js | 22 +++ step-12/controller/App-dbg.controller.js.map | 1 + step-12/controller/App.controller.js | 2 + step-12/controller/App.controller.js.map | 1 + step-12/controller/App.controller.ts | 19 +++ step-12/i18n/i18n.properties | 9 ++ step-12/index-cdn.html | 21 +++ step-12/index.html | 21 +++ step-12/manifest.json | 53 +++++++ step-12/view/App.view.xml | 29 ++++ step-13/Component-dbg.js | 31 +++++ step-13/Component-dbg.js.map | 1 + step-13/Component-preload.js | 13 ++ step-13/Component-preload.js.map | 1 + step-13/Component.js | 2 + step-13/Component.js.map | 1 + step-13/Component.ts | 25 ++++ step-13/controller/App-dbg.controller.js | 22 +++ step-13/controller/App-dbg.controller.js.map | 1 + step-13/controller/App.controller.js | 2 + step-13/controller/App.controller.js.map | 1 + step-13/controller/App.controller.ts | 19 +++ step-13/i18n/i18n.properties | 9 ++ step-13/index-cdn.html | 21 +++ step-13/index.html | 21 +++ step-13/manifest.json | 53 +++++++ step-13/view/App.view.xml | 34 +++++ step-14/Component-dbg.js | 31 +++++ step-14/Component-dbg.js.map | 1 + step-14/Component-preload.js | 13 ++ step-14/Component-preload.js.map | 1 + step-14/Component.js | 2 + step-14/Component.js.map | 1 + step-14/Component.ts | 25 ++++ step-14/controller/App-dbg.controller.js | 22 +++ step-14/controller/App-dbg.controller.js.map | 1 + step-14/controller/App.controller.js | 2 + step-14/controller/App.controller.js.map | 1 + step-14/controller/App.controller.ts | 19 +++ step-14/css/style.css | 13 ++ step-14/i18n/i18n.properties | 9 ++ step-14/index-cdn.html | 21 +++ step-14/index.html | 21 +++ step-14/manifest.json | 60 ++++++++ step-14/view/App.view.xml | 34 +++++ step-15/Component-dbg.js | 31 +++++ step-15/Component-dbg.js.map | 1 + step-15/Component-preload.js | 17 +++ step-15/Component-preload.js.map | 1 + step-15/Component.js | 2 + step-15/Component.js.map | 1 + step-15/Component.ts | 25 ++++ step-15/controller/App-dbg.controller.js | 13 ++ step-15/controller/App-dbg.controller.js.map | 1 + step-15/controller/App.controller.js | 2 + step-15/controller/App.controller.js.map | 1 + step-15/controller/App.controller.ts | 7 + .../controller/HelloPanel-dbg.controller.js | 22 +++ .../HelloPanel-dbg.controller.js.map | 1 + step-15/controller/HelloPanel.controller.js | 2 + .../controller/HelloPanel.controller.js.map | 1 + step-15/controller/HelloPanel.controller.ts | 20 +++ step-15/css/style.css | 13 ++ step-15/i18n/i18n.properties | 9 ++ step-15/index-cdn.html | 21 +++ step-15/index.html | 21 +++ step-15/manifest.json | 60 ++++++++ step-15/view/App.view.xml | 18 +++ step-15/view/HelloPanel.view.xml | 23 +++ step-16/Component-dbg.js | 31 +++++ step-16/Component-dbg.js.map | 1 + step-16/Component-preload.js | 18 +++ step-16/Component-preload.js.map | 1 + step-16/Component.js | 2 + step-16/Component.js.map | 1 + step-16/Component.ts | 25 ++++ step-16/controller/App-dbg.controller.js | 13 ++ step-16/controller/App-dbg.controller.js.map | 1 + step-16/controller/App.controller.js | 2 + step-16/controller/App.controller.js.map | 1 + step-16/controller/App.controller.ts | 8 ++ .../controller/HelloPanel-dbg.controller.js | 33 +++++ .../HelloPanel-dbg.controller.js.map | 1 + step-16/controller/HelloPanel.controller.js | 2 + .../controller/HelloPanel.controller.js.map | 1 + step-16/controller/HelloPanel.controller.ts | 33 +++++ step-16/css/style.css | 13 ++ step-16/i18n/i18n.properties | 10 ++ step-16/index-cdn.html | 21 +++ step-16/index.html | 22 +++ step-16/manifest.json | 60 ++++++++ step-16/view/App.view.xml | 18 +++ step-16/view/HelloDialog.fragment.xml | 7 + step-16/view/HelloPanel.view.xml | 28 ++++ step-17/Component-dbg.js | 31 +++++ step-17/Component-dbg.js.map | 1 + step-17/Component-preload.js | 18 +++ step-17/Component-preload.js.map | 1 + step-17/Component.js | 2 + step-17/Component.js.map | 1 + step-17/Component.ts | 25 ++++ step-17/controller/App-dbg.controller.js | 13 ++ step-17/controller/App-dbg.controller.js.map | 1 + step-17/controller/App.controller.js | 2 + step-17/controller/App.controller.js.map | 1 + step-17/controller/App.controller.ts | 8 ++ .../controller/HelloPanel-dbg.controller.js | 38 +++++ .../HelloPanel-dbg.controller.js.map | 1 + step-17/controller/HelloPanel.controller.js | 2 + .../controller/HelloPanel.controller.js.map | 1 + step-17/controller/HelloPanel.controller.ts | 38 +++++ step-17/css/style.css | 13 ++ step-17/i18n/i18n.properties | 11 ++ step-17/index-cdn.html | 21 +++ step-17/index.html | 21 +++ step-17/manifest.json | 60 ++++++++ step-17/view/App.view.xml | 18 +++ step-17/view/HelloDialog.fragment.xml | 13 ++ step-17/view/HelloPanel.view.xml | 28 ++++ step-18/Component-dbg.js | 31 +++++ step-18/Component-dbg.js.map | 1 + step-18/Component-preload.js | 18 +++ step-18/Component-preload.js.map | 1 + step-18/Component.js | 2 + step-18/Component.js.map | 1 + step-18/Component.ts | 25 ++++ step-18/controller/App-dbg.controller.js | 13 ++ step-18/controller/App-dbg.controller.js.map | 1 + step-18/controller/App.controller.js | 2 + step-18/controller/App.controller.js.map | 1 + step-18/controller/App.controller.ts | 8 ++ .../controller/HelloPanel-dbg.controller.js | 38 +++++ .../HelloPanel-dbg.controller.js.map | 1 + step-18/controller/HelloPanel.controller.js | 2 + .../controller/HelloPanel.controller.js.map | 1 + step-18/controller/HelloPanel.controller.ts | 38 +++++ step-18/css/style.css | 13 ++ step-18/i18n/i18n.properties | 11 ++ step-18/index-cdn.html | 21 +++ step-18/index.html | 21 +++ step-18/manifest.json | 60 ++++++++ step-18/view/App.view.xml | 18 +++ step-18/view/HelloDialog.fragment.xml | 19 +++ step-18/view/HelloPanel.view.xml | 29 ++++ step-19/Component-dbg.js | 31 +++++ step-19/Component-dbg.js.map | 1 + step-19/Component-preload.js | 19 +++ step-19/Component-preload.js.map | 1 + step-19/Component.js | 2 + step-19/Component.js.map | 1 + step-19/Component.ts | 25 ++++ step-19/controller/App-dbg.controller.js | 13 ++ step-19/controller/App-dbg.controller.js.map | 1 + step-19/controller/App.controller.js | 2 + step-19/controller/App.controller.js.map | 1 + step-19/controller/App.controller.ts | 8 ++ .../controller/HelloPanel-dbg.controller.js | 38 +++++ .../HelloPanel-dbg.controller.js.map | 1 + step-19/controller/HelloPanel.controller.js | 2 + .../controller/HelloPanel.controller.js.map | 1 + step-19/controller/HelloPanel.controller.ts | 38 +++++ step-19/css/style.css | 13 ++ step-19/i18n/i18n.properties | 14 ++ step-19/index-cdn.html | 21 +++ step-19/index.html | 21 +++ step-19/manifest.json | 64 +++++++++ step-19/model/localInvoices.json | 44 ++++++ step-19/view/App.view.xml | 19 +++ step-19/view/HelloDialog.fragment.xml | 19 +++ step-19/view/HelloPanel.view.xml | 29 ++++ step-19/view/InvoiceList.view.xml | 14 ++ step-20/Component-dbg.js | 31 +++++ step-20/Component-dbg.js.map | 1 + step-20/Component-preload.js | 22 +++ step-20/Component-preload.js.map | 1 + step-20/Component.js | 2 + step-20/Component.js.map | 1 + step-20/Component.ts | 25 ++++ step-20/controller/App-dbg.controller.js | 13 ++ step-20/controller/App-dbg.controller.js.map | 1 + step-20/controller/App.controller.js | 2 + step-20/controller/App.controller.js.map | 1 + step-20/controller/App.controller.ts | 8 ++ .../controller/HelloPanel-dbg.controller.js | 38 +++++ .../HelloPanel-dbg.controller.js.map | 1 + step-20/controller/HelloPanel.controller.js | 2 + .../controller/HelloPanel.controller.js.map | 1 + step-20/controller/HelloPanel.controller.ts | 38 +++++ .../controller/InvoiceList-dbg.controller.js | 20 +++ .../InvoiceList-dbg.controller.js.map | 1 + step-20/controller/InvoiceList.controller.js | 2 + .../controller/InvoiceList.controller.js.map | 1 + step-20/controller/InvoiceList.controller.ts | 15 ++ step-20/css/style.css | 13 ++ step-20/i18n/i18n.properties | 14 ++ step-20/index-cdn.html | 21 +++ step-20/index.html | 21 +++ step-20/manifest.json | 64 +++++++++ step-20/model/localInvoices.json | 44 ++++++ step-20/view/App.view.xml | 19 +++ step-20/view/HelloDialog.fragment.xml | 19 +++ step-20/view/HelloPanel.view.xml | 29 ++++ step-20/view/InvoiceList.view.xml | 26 ++++ step-21/Component-dbg.js | 31 +++++ step-21/Component-dbg.js.map | 1 + step-21/Component-preload.js | 22 +++ step-21/Component-preload.js.map | 1 + step-21/Component.js | 2 + step-21/Component.js.map | 1 + step-21/Component.ts | 25 ++++ step-21/controller/App-dbg.controller.js | 13 ++ step-21/controller/App-dbg.controller.js.map | 1 + step-21/controller/App.controller.js | 2 + step-21/controller/App.controller.js.map | 1 + step-21/controller/App.controller.ts | 8 ++ .../controller/HelloPanel-dbg.controller.js | 38 +++++ .../HelloPanel-dbg.controller.js.map | 1 + step-21/controller/HelloPanel.controller.js | 2 + .../controller/HelloPanel.controller.js.map | 1 + step-21/controller/HelloPanel.controller.ts | 38 +++++ .../controller/InvoiceList-dbg.controller.js | 20 +++ .../InvoiceList-dbg.controller.js.map | 1 + step-21/controller/InvoiceList.controller.js | 2 + .../controller/InvoiceList.controller.js.map | 1 + step-21/controller/InvoiceList.controller.ts | 14 ++ step-21/css/style.css | 13 ++ step-21/i18n/i18n.properties | 14 ++ step-21/index-cdn.html | 21 +++ step-21/index.html | 21 +++ step-21/manifest.json | 64 +++++++++ step-21/model/localInvoices.json | 44 ++++++ step-21/view/App.view.xml | 18 +++ step-21/view/HelloDialog.fragment.xml | 19 +++ step-21/view/HelloPanel.view.xml | 29 ++++ step-21/view/InvoiceList.view.xml | 27 ++++ step-22/Component-dbg.js | 31 +++++ step-22/Component-dbg.js.map | 1 + step-22/Component-preload.js | 25 ++++ step-22/Component-preload.js.map | 1 + step-22/Component.js | 2 + step-22/Component.js.map | 1 + step-22/Component.ts | 25 ++++ step-22/controller/App-dbg.controller.js | 13 ++ step-22/controller/App-dbg.controller.js.map | 1 + step-22/controller/App.controller.js | 2 + step-22/controller/App.controller.js.map | 1 + step-22/controller/App.controller.ts | 8 ++ .../controller/HelloPanel-dbg.controller.js | 38 +++++ .../HelloPanel-dbg.controller.js.map | 1 + step-22/controller/HelloPanel.controller.js | 2 + .../controller/HelloPanel.controller.js.map | 1 + step-22/controller/HelloPanel.controller.ts | 38 +++++ .../controller/InvoiceList-dbg.controller.js | 28 ++++ .../InvoiceList-dbg.controller.js.map | 1 + step-22/controller/InvoiceList.controller.js | 2 + .../controller/InvoiceList.controller.js.map | 1 + step-22/controller/InvoiceList.controller.ts | 17 +++ step-22/css/style.css | 13 ++ step-22/i18n/i18n.properties | 17 +++ step-22/index-cdn.html | 21 +++ step-22/index.html | 21 +++ step-22/manifest.json | 64 +++++++++ step-22/model/formatter-dbg.js | 23 +++ step-22/model/formatter-dbg.js.map | 1 + step-22/model/formatter.js | 2 + step-22/model/formatter.js.map | 1 + step-22/model/formatter.ts | 19 +++ step-22/model/localInvoices.json | 44 ++++++ step-22/view/App.view.xml | 19 +++ step-22/view/HelloDialog.fragment.xml | 19 +++ step-22/view/HelloPanel.view.xml | 29 ++++ step-22/view/InvoiceList.view.xml | 34 +++++ step-23/Component-dbg.js | 31 +++++ step-23/Component-dbg.js.map | 1 + step-23/Component-preload.js | 25 ++++ step-23/Component-preload.js.map | 1 + step-23/Component.js | 2 + step-23/Component.js.map | 1 + step-23/Component.ts | 25 ++++ step-23/controller/App-dbg.controller.js | 13 ++ step-23/controller/App-dbg.controller.js.map | 1 + step-23/controller/App.controller.js | 2 + step-23/controller/App.controller.js.map | 1 + step-23/controller/App.controller.ts | 8 ++ .../controller/HelloPanel-dbg.controller.js | 38 +++++ .../HelloPanel-dbg.controller.js.map | 1 + step-23/controller/HelloPanel.controller.js | 2 + .../controller/HelloPanel.controller.js.map | 1 + step-23/controller/HelloPanel.controller.ts | 38 +++++ .../controller/InvoiceList-dbg.controller.js | 41 ++++++ .../InvoiceList-dbg.controller.js.map | 1 + step-23/controller/InvoiceList.controller.js | 2 + .../controller/InvoiceList.controller.js.map | 1 + step-23/controller/InvoiceList.controller.ts | 35 +++++ step-23/css/style.css | 13 ++ step-23/i18n/i18n.properties | 17 +++ step-23/index-cdn.html | 21 +++ step-23/index.html | 21 +++ step-23/manifest.json | 64 +++++++++ step-23/model/formatter-dbg.js | 23 +++ step-23/model/formatter-dbg.js.map | 1 + step-23/model/formatter.js | 2 + step-23/model/formatter.js.map | 1 + step-23/model/formatter.ts | 19 +++ step-23/model/localInvoices.json | 44 ++++++ step-23/view/App.view.xml | 19 +++ step-23/view/HelloDialog.fragment.xml | 19 +++ step-23/view/HelloPanel.view.xml | 29 ++++ step-23/view/InvoiceList.view.xml | 41 ++++++ step-24/Component-dbg.js | 31 +++++ step-24/Component-dbg.js.map | 1 + step-24/Component-preload.js | 25 ++++ step-24/Component-preload.js.map | 1 + step-24/Component.js | 2 + step-24/Component.js.map | 1 + step-24/Component.ts | 25 ++++ step-24/controller/App-dbg.controller.js | 13 ++ step-24/controller/App-dbg.controller.js.map | 1 + step-24/controller/App.controller.js | 2 + step-24/controller/App.controller.js.map | 1 + step-24/controller/App.controller.ts | 8 ++ .../controller/HelloPanel-dbg.controller.js | 38 +++++ .../HelloPanel-dbg.controller.js.map | 1 + step-24/controller/HelloPanel.controller.js | 2 + .../controller/HelloPanel.controller.js.map | 1 + step-24/controller/HelloPanel.controller.ts | 38 +++++ .../controller/InvoiceList-dbg.controller.js | 41 ++++++ .../InvoiceList-dbg.controller.js.map | 1 + step-24/controller/InvoiceList.controller.js | 2 + .../controller/InvoiceList.controller.js.map | 1 + step-24/controller/InvoiceList.controller.ts | 35 +++++ step-24/css/style.css | 13 ++ step-24/i18n/i18n.properties | 17 +++ step-24/index-cdn.html | 21 +++ step-24/index.html | 21 +++ step-24/manifest.json | 64 +++++++++ step-24/model/formatter-dbg.js | 23 +++ step-24/model/formatter-dbg.js.map | 1 + step-24/model/formatter.js | 2 + step-24/model/formatter.js.map | 1 + step-24/model/formatter.ts | 19 +++ step-24/model/localInvoices.json | 44 ++++++ step-24/view/App.view.xml | 19 +++ step-24/view/HelloDialog.fragment.xml | 19 +++ step-24/view/HelloPanel.view.xml | 29 ++++ step-24/view/InvoiceList.view.xml | 47 +++++++ step-25/Component-dbg.js | 31 +++++ step-25/Component-dbg.js.map | 1 + step-25/Component-preload.js | 25 ++++ step-25/Component-preload.js.map | 1 + step-25/Component.js | 2 + step-25/Component.js.map | 1 + step-25/Component.ts | 25 ++++ step-25/controller/App-dbg.controller.js | 13 ++ step-25/controller/App-dbg.controller.js.map | 1 + step-25/controller/App.controller.js | 2 + step-25/controller/App.controller.js.map | 1 + step-25/controller/App.controller.ts | 8 ++ .../controller/HelloPanel-dbg.controller.js | 38 +++++ .../HelloPanel-dbg.controller.js.map | 1 + step-25/controller/HelloPanel.controller.js | 2 + .../controller/HelloPanel.controller.js.map | 1 + step-25/controller/HelloPanel.controller.ts | 38 +++++ .../controller/InvoiceList-dbg.controller.js | 41 ++++++ .../InvoiceList-dbg.controller.js.map | 1 + step-25/controller/InvoiceList.controller.js | 2 + .../controller/InvoiceList.controller.js.map | 1 + step-25/controller/InvoiceList.controller.ts | 35 +++++ step-25/css/style.css | 13 ++ step-25/i18n/i18n.properties | 17 +++ step-25/index-cdn.html | 21 +++ step-25/index.html | 21 +++ step-25/manifest.json | 72 ++++++++++ step-25/model/formatter-dbg.js | 23 +++ step-25/model/formatter-dbg.js.map | 1 + step-25/model/formatter.js | 2 + step-25/model/formatter.js.map | 1 + step-25/model/formatter.ts | 19 +++ step-25/view/App.view.xml | 19 +++ step-25/view/HelloDialog.fragment.xml | 19 +++ step-25/view/HelloPanel.view.xml | 29 ++++ step-25/view/InvoiceList.view.xml | 47 +++++++ step-26/Component-dbg.js | 31 +++++ step-26/Component-dbg.js.map | 1 + step-26/Component-preload.js | 28 ++++ step-26/Component-preload.js.map | 1 + step-26/Component.js | 2 + step-26/Component.js.map | 1 + step-26/Component.ts | 25 ++++ step-26/controller/App-dbg.controller.js | 13 ++ step-26/controller/App-dbg.controller.js.map | 1 + step-26/controller/App.controller.js | 2 + step-26/controller/App.controller.js.map | 1 + step-26/controller/App.controller.ts | 8 ++ .../controller/HelloPanel-dbg.controller.js | 38 +++++ .../HelloPanel-dbg.controller.js.map | 1 + step-26/controller/HelloPanel.controller.js | 2 + .../controller/HelloPanel.controller.js.map | 1 + step-26/controller/HelloPanel.controller.ts | 38 +++++ .../controller/InvoiceList-dbg.controller.js | 41 ++++++ .../InvoiceList-dbg.controller.js.map | 1 + step-26/controller/InvoiceList.controller.js | 2 + .../controller/InvoiceList.controller.js.map | 1 + step-26/controller/InvoiceList.controller.ts | 35 +++++ step-26/css/style.css | 13 ++ step-26/i18n/i18n.properties | 17 +++ step-26/index-cdn.html | 21 +++ step-26/index.html | 21 +++ step-26/localService/metadata.xml | 29 ++++ step-26/localService/mockdata/Invoices.json | 42 ++++++ step-26/localService/mockserver-dbg.js | 30 ++++ step-26/localService/mockserver-dbg.js.map | 1 + step-26/localService/mockserver.js | 2 + step-26/localService/mockserver.js.map | 1 + step-26/localService/mockserver.ts | 26 ++++ step-26/manifest.json | 72 ++++++++++ step-26/model/formatter-dbg.js | 23 +++ step-26/model/formatter-dbg.js.map | 1 + step-26/model/formatter.js | 2 + step-26/model/formatter.js.map | 1 + step-26/model/formatter.ts | 19 +++ step-26/test/initMockServer-dbg.js | 32 +++++ step-26/test/initMockServer-dbg.js.map | 1 + step-26/test/initMockServer.js | 2 + step-26/test/initMockServer.js.map | 1 + step-26/test/initMockServer.ts | 7 + step-26/test/mockServer-cdn.html | 22 +++ step-26/test/mockServer.html | 22 +++ step-26/view/App.view.xml | 19 +++ step-26/view/HelloDialog.fragment.xml | 19 +++ step-26/view/HelloPanel.view.xml | 29 ++++ step-26/view/InvoiceList.view.xml | 47 +++++++ step-27/Component-dbg.js | 31 +++++ step-27/Component-dbg.js.map | 1 + step-27/Component-preload.js | 28 ++++ step-27/Component-preload.js.map | 1 + step-27/Component.js | 2 + step-27/Component.js.map | 1 + step-27/Component.ts | 25 ++++ step-27/controller/App-dbg.controller.js | 13 ++ step-27/controller/App-dbg.controller.js.map | 1 + step-27/controller/App.controller.js | 2 + step-27/controller/App.controller.js.map | 1 + step-27/controller/App.controller.ts | 8 ++ .../controller/HelloPanel-dbg.controller.js | 38 +++++ .../HelloPanel-dbg.controller.js.map | 1 + step-27/controller/HelloPanel.controller.js | 2 + .../controller/HelloPanel.controller.js.map | 1 + step-27/controller/HelloPanel.controller.ts | 38 +++++ .../controller/InvoiceList-dbg.controller.js | 41 ++++++ .../InvoiceList-dbg.controller.js.map | 1 + step-27/controller/InvoiceList.controller.js | 2 + .../controller/InvoiceList.controller.js.map | 1 + step-27/controller/InvoiceList.controller.ts | 35 +++++ step-27/css/style.css | 13 ++ step-27/i18n/i18n.properties | 17 +++ step-27/index-cdn.html | 21 +++ step-27/index.html | 21 +++ step-27/localService/metadata.xml | 29 ++++ step-27/localService/mockdata/Invoices.json | 42 ++++++ step-27/localService/mockserver-dbg.js | 30 ++++ step-27/localService/mockserver-dbg.js.map | 1 + step-27/localService/mockserver.js | 2 + step-27/localService/mockserver.js.map | 1 + step-27/localService/mockserver.ts | 26 ++++ step-27/manifest.json | 72 ++++++++++ step-27/model/formatter-dbg.js | 23 +++ step-27/model/formatter-dbg.js.map | 1 + step-27/model/formatter.js | 2 + step-27/model/formatter.js.map | 1 + step-27/model/formatter.ts | 19 +++ step-27/test/initMockServer-dbg.js | 32 +++++ step-27/test/initMockServer-dbg.js.map | 1 + step-27/test/initMockServer.js | 2 + step-27/test/initMockServer.js.map | 1 + step-27/test/initMockServer.ts | 7 + step-27/test/mockServer-cdn.html | 22 +++ step-27/test/mockServer.html | 22 +++ step-27/test/unit/model/formatter-dbg.js | 37 +++++ step-27/test/unit/model/formatter-dbg.js.map | 1 + step-27/test/unit/model/formatter.js | 2 + step-27/test/unit/model/formatter.js.map | 1 + step-27/test/unit/model/formatter.ts | 34 +++++ step-27/test/unit/unitTests-cdn.qunit.html | 27 ++++ step-27/test/unit/unitTests.qunit-dbg.js | 30 ++++ step-27/test/unit/unitTests.qunit-dbg.js.map | 1 + step-27/test/unit/unitTests.qunit.html | 27 ++++ step-27/test/unit/unitTests.qunit.js | 2 + step-27/test/unit/unitTests.qunit.js.map | 1 + step-27/test/unit/unitTests.qunit.ts | 8 ++ step-27/view/App.view.xml | 19 +++ step-27/view/HelloDialog.fragment.xml | 19 +++ step-27/view/HelloPanel.view.xml | 29 ++++ step-27/view/InvoiceList.view.xml | 47 +++++++ step-28/Component-dbg.js | 31 +++++ step-28/Component-dbg.js.map | 1 + step-28/Component-preload.js | 28 ++++ step-28/Component-preload.js.map | 1 + step-28/Component.js | 2 + step-28/Component.js.map | 1 + step-28/Component.ts | 25 ++++ step-28/controller/App-dbg.controller.js | 13 ++ step-28/controller/App-dbg.controller.js.map | 1 + step-28/controller/App.controller.js | 2 + step-28/controller/App.controller.js.map | 1 + step-28/controller/App.controller.ts | 8 ++ .../controller/HelloPanel-dbg.controller.js | 38 +++++ .../HelloPanel-dbg.controller.js.map | 1 + step-28/controller/HelloPanel.controller.js | 2 + .../controller/HelloPanel.controller.js.map | 1 + step-28/controller/HelloPanel.controller.ts | 38 +++++ .../controller/InvoiceList-dbg.controller.js | 41 ++++++ .../InvoiceList-dbg.controller.js.map | 1 + step-28/controller/InvoiceList.controller.js | 2 + .../controller/InvoiceList.controller.js.map | 1 + step-28/controller/InvoiceList.controller.ts | 35 +++++ step-28/css/style.css | 13 ++ step-28/i18n/i18n.properties | 17 +++ step-28/index-cdn.html | 21 +++ step-28/index.html | 21 +++ step-28/localService/metadata.xml | 29 ++++ step-28/localService/mockdata/Invoices.json | 42 ++++++ step-28/localService/mockserver-dbg.js | 30 ++++ step-28/localService/mockserver-dbg.js.map | 1 + step-28/localService/mockserver.js | 2 + step-28/localService/mockserver.js.map | 1 + step-28/localService/mockserver.ts | 26 ++++ step-28/manifest.json | 72 ++++++++++ step-28/model/formatter-dbg.js | 23 +++ step-28/model/formatter-dbg.js.map | 1 + step-28/model/formatter.js | 2 + step-28/model/formatter.js.map | 1 + step-28/model/formatter.ts | 19 +++ step-28/test/initMockServer-dbg.js | 32 +++++ step-28/test/initMockServer-dbg.js.map | 1 + step-28/test/initMockServer.js | 2 + step-28/test/initMockServer.js.map | 1 + step-28/test/initMockServer.ts | 7 + .../test/integration/NavigationJourney-dbg.js | 30 ++++ .../integration/NavigationJourney-dbg.js.map | 1 + step-28/test/integration/NavigationJourney.js | 2 + .../test/integration/NavigationJourney.js.map | 1 + step-28/test/integration/NavigationJourney.ts | 25 ++++ .../test/integration/opaTests-cdn.qunit.html | 29 ++++ .../test/integration/opaTests.qunit-dbg.js | 30 ++++ .../integration/opaTests.qunit-dbg.js.map | 1 + step-28/test/integration/opaTests.qunit.html | 29 ++++ step-28/test/integration/opaTests.qunit.js | 2 + .../test/integration/opaTests.qunit.js.map | 1 + step-28/test/integration/opaTests.qunit.ts | 9 ++ .../integration/pages/HelloPanelPage-dbg.js | 33 +++++ .../pages/HelloPanelPage-dbg.js.map | 1 + .../test/integration/pages/HelloPanelPage.js | 2 + .../integration/pages/HelloPanelPage.js.map | 1 + .../test/integration/pages/HelloPanelPage.ts | 28 ++++ step-28/test/mockServer-cdn.html | 22 +++ step-28/test/mockServer.html | 22 +++ step-28/test/unit/model/formatter-dbg.js | 37 +++++ step-28/test/unit/model/formatter-dbg.js.map | 1 + step-28/test/unit/model/formatter.js | 2 + step-28/test/unit/model/formatter.js.map | 1 + step-28/test/unit/model/formatter.ts | 34 +++++ step-28/test/unit/unitTests-cdn.qunit.html | 27 ++++ step-28/test/unit/unitTests.qunit-dbg.js | 30 ++++ step-28/test/unit/unitTests.qunit-dbg.js.map | 1 + step-28/test/unit/unitTests.qunit.html | 27 ++++ step-28/test/unit/unitTests.qunit.js | 2 + step-28/test/unit/unitTests.qunit.js.map | 1 + step-28/test/unit/unitTests.qunit.ts | 8 ++ step-28/view/App.view.xml | 19 +++ step-28/view/HelloDialog.fragment.xml | 19 +++ step-28/view/HelloPanel.view.xml | 29 ++++ step-28/view/InvoiceList.view.xml | 47 +++++++ step-29/Component-dbg.js | 31 +++++ step-29/Component-dbg.js.map | 1 + step-29/Component-preload.js | 28 ++++ step-29/Component-preload.js.map | 1 + step-29/Component.js | 2 + step-29/Component.js.map | 1 + step-29/Component.ts | 25 ++++ step-29/controller/App-dbg.controller.js | 13 ++ step-29/controller/App-dbg.controller.js.map | 1 + step-29/controller/App.controller.js | 2 + step-29/controller/App.controller.js.map | 1 + step-29/controller/App.controller.ts | 8 ++ .../controller/HelloPanel-dbg.controller.js | 38 +++++ .../HelloPanel-dbg.controller.js.map | 1 + step-29/controller/HelloPanel.controller.js | 2 + .../controller/HelloPanel.controller.js.map | 1 + step-29/controller/HelloPanel.controller.ts | 38 +++++ .../controller/InvoiceList-dbg.controller.js | 41 ++++++ .../InvoiceList-dbg.controller.js.map | 1 + step-29/controller/InvoiceList.controller.js | 2 + .../controller/InvoiceList.controller.js.map | 1 + step-29/controller/InvoiceList.controller.ts | 35 +++++ step-29/css/style.css | 13 ++ step-29/i18n/i18n.properties | 17 +++ step-29/index-cdn.html | 21 +++ step-29/index.html | 21 +++ step-29/localService/metadata.xml | 29 ++++ step-29/localService/mockdata/Invoices.json | 42 ++++++ step-29/localService/mockserver-dbg.js | 30 ++++ step-29/localService/mockserver-dbg.js.map | 1 + step-29/localService/mockserver.js | 2 + step-29/localService/mockserver.js.map | 1 + step-29/localService/mockserver.ts | 26 ++++ step-29/manifest.json | 72 ++++++++++ step-29/model/formatter-dbg.js | 23 +++ step-29/model/formatter-dbg.js.map | 1 + step-29/model/formatter.js | 2 + step-29/model/formatter.js.map | 1 + step-29/model/formatter.ts | 19 +++ step-29/test/initMockServer-dbg.js | 32 +++++ step-29/test/initMockServer-dbg.js.map | 1 + step-29/test/initMockServer.js | 2 + step-29/test/initMockServer.js.map | 1 + step-29/test/initMockServer.ts | 7 + .../test/integration/NavigationJourney-dbg.js | 30 ++++ .../integration/NavigationJourney-dbg.js.map | 1 + step-29/test/integration/NavigationJourney.js | 2 + .../test/integration/NavigationJourney.js.map | 1 + step-29/test/integration/NavigationJourney.ts | 25 ++++ .../test/integration/opaTests-cdn.qunit.html | 29 ++++ .../test/integration/opaTests.qunit-dbg.js | 30 ++++ .../integration/opaTests.qunit-dbg.js.map | 1 + step-29/test/integration/opaTests.qunit.html | 29 ++++ step-29/test/integration/opaTests.qunit.js | 2 + .../test/integration/opaTests.qunit.js.map | 1 + step-29/test/integration/opaTests.qunit.ts | 9 ++ .../integration/pages/HelloPanelPage-dbg.js | 33 +++++ .../pages/HelloPanelPage-dbg.js.map | 1 + .../test/integration/pages/HelloPanelPage.js | 2 + .../integration/pages/HelloPanelPage.js.map | 1 + .../test/integration/pages/HelloPanelPage.ts | 28 ++++ step-29/test/mockServer-cdn.html | 22 +++ step-29/test/mockServer.html | 22 +++ step-29/test/unit/model/formatter-dbg.js | 37 +++++ step-29/test/unit/model/formatter-dbg.js.map | 1 + step-29/test/unit/model/formatter.js | 2 + step-29/test/unit/model/formatter.js.map | 1 + step-29/test/unit/model/formatter.ts | 34 +++++ step-29/test/unit/unitTests-cdn.qunit.html | 27 ++++ step-29/test/unit/unitTests.qunit-dbg.js | 30 ++++ step-29/test/unit/unitTests.qunit-dbg.js.map | 1 + step-29/test/unit/unitTests.qunit.html | 27 ++++ step-29/test/unit/unitTests.qunit.js | 2 + step-29/test/unit/unitTests.qunit.js.map | 1 + step-29/test/unit/unitTests.qunit.ts | 8 ++ step-29/view/App.view.xml | 19 +++ step-29/view/HelloDialog.fragment.xml | 19 +++ step-29/view/HelloPanel.view.xml | 29 ++++ step-29/view/InvoiceList.view.xml | 47 +++++++ step-30/Component-dbg.js | 34 +++++ step-30/Component-dbg.js.map | 1 + step-30/Component-preload.js | 30 ++++ step-30/Component-preload.js.map | 1 + step-30/Component.js | 2 + step-30/Component.js.map | 1 + step-30/Component.ts | 28 ++++ step-30/controller/App-dbg.controller.js | 13 ++ step-30/controller/App-dbg.controller.js.map | 1 + step-30/controller/App.controller.js | 2 + step-30/controller/App.controller.js.map | 1 + step-30/controller/App.controller.ts | 8 ++ .../controller/HelloPanel-dbg.controller.js | 38 +++++ .../HelloPanel-dbg.controller.js.map | 1 + step-30/controller/HelloPanel.controller.js | 2 + .../controller/HelloPanel.controller.js.map | 1 + step-30/controller/HelloPanel.controller.ts | 38 +++++ .../controller/InvoiceList-dbg.controller.js | 45 ++++++ .../InvoiceList-dbg.controller.js.map | 1 + step-30/controller/InvoiceList.controller.js | 2 + .../controller/InvoiceList.controller.js.map | 1 + step-30/controller/InvoiceList.controller.ts | 41 ++++++ step-30/css/style.css | 13 ++ step-30/i18n/i18n.properties | 20 +++ step-30/index-cdn.html | 21 +++ step-30/index.html | 21 +++ step-30/localService/metadata.xml | 29 ++++ step-30/localService/mockdata/Invoices.json | 42 ++++++ step-30/localService/mockserver-dbg.js | 30 ++++ step-30/localService/mockserver-dbg.js.map | 1 + step-30/localService/mockserver.js | 2 + step-30/localService/mockserver.js.map | 1 + step-30/localService/mockserver.ts | 26 ++++ step-30/manifest.json | 104 ++++++++++++++ step-30/model/formatter-dbg.js | 23 +++ step-30/model/formatter-dbg.js.map | 1 + step-30/model/formatter.js | 2 + step-30/model/formatter.js.map | 1 + step-30/model/formatter.ts | 19 +++ step-30/test/initMockServer-dbg.js | 32 +++++ step-30/test/initMockServer-dbg.js.map | 1 + step-30/test/initMockServer.js | 2 + step-30/test/initMockServer.js.map | 1 + step-30/test/initMockServer.ts | 7 + .../test/integration/NavigationJourney-dbg.js | 30 ++++ .../integration/NavigationJourney-dbg.js.map | 1 + step-30/test/integration/NavigationJourney.js | 2 + .../test/integration/NavigationJourney.js.map | 1 + step-30/test/integration/NavigationJourney.ts | 25 ++++ .../test/integration/opaTests-cdn.qunit.html | 29 ++++ .../test/integration/opaTests.qunit-dbg.js | 30 ++++ .../integration/opaTests.qunit-dbg.js.map | 1 + step-30/test/integration/opaTests.qunit.html | 29 ++++ step-30/test/integration/opaTests.qunit.js | 2 + .../test/integration/opaTests.qunit.js.map | 1 + step-30/test/integration/opaTests.qunit.ts | 9 ++ .../integration/pages/HelloPanelPage-dbg.js | 33 +++++ .../pages/HelloPanelPage-dbg.js.map | 1 + .../test/integration/pages/HelloPanelPage.js | 2 + .../integration/pages/HelloPanelPage.js.map | 1 + .../test/integration/pages/HelloPanelPage.ts | 28 ++++ step-30/test/mockServer-cdn.html | 22 +++ step-30/test/mockServer.html | 22 +++ step-30/test/unit/model/formatter-dbg.js | 37 +++++ step-30/test/unit/model/formatter-dbg.js.map | 1 + step-30/test/unit/model/formatter.js | 2 + step-30/test/unit/model/formatter.js.map | 1 + step-30/test/unit/model/formatter.ts | 34 +++++ step-30/test/unit/unitTests-cdn.qunit.html | 27 ++++ step-30/test/unit/unitTests.qunit-dbg.js | 30 ++++ step-30/test/unit/unitTests.qunit-dbg.js.map | 1 + step-30/test/unit/unitTests.qunit.html | 27 ++++ step-30/test/unit/unitTests.qunit.js | 2 + step-30/test/unit/unitTests.qunit.js.map | 1 + step-30/test/unit/unitTests.qunit.ts | 8 ++ step-30/view/App.view.xml | 11 ++ step-30/view/Detail.view.xml | 9 ++ step-30/view/HelloDialog.fragment.xml | 19 +++ step-30/view/HelloPanel.view.xml | 29 ++++ step-30/view/InvoiceList.view.xml | 49 +++++++ step-30/view/Overview.view.xml | 12 ++ step-31/Component-dbg.js | 34 +++++ step-31/Component-dbg.js.map | 1 + step-31/Component-preload.js | 33 +++++ step-31/Component-preload.js.map | 1 + step-31/Component.js | 2 + step-31/Component.js.map | 1 + step-31/Component.ts | 28 ++++ step-31/controller/App-dbg.controller.js | 13 ++ step-31/controller/App-dbg.controller.js.map | 1 + step-31/controller/App.controller.js | 2 + step-31/controller/App.controller.js.map | 1 + step-31/controller/App.controller.ts | 8 ++ step-31/controller/Detail-dbg.controller.js | 24 ++++ .../controller/Detail-dbg.controller.js.map | 1 + step-31/controller/Detail.controller.js | 2 + step-31/controller/Detail.controller.js.map | 1 + step-31/controller/Detail.controller.ts | 21 +++ .../controller/HelloPanel-dbg.controller.js | 38 +++++ .../HelloPanel-dbg.controller.js.map | 1 + step-31/controller/HelloPanel.controller.js | 2 + .../controller/HelloPanel.controller.js.map | 1 + step-31/controller/HelloPanel.controller.ts | 38 +++++ .../controller/InvoiceList-dbg.controller.js | 48 +++++++ .../InvoiceList-dbg.controller.js.map | 1 + step-31/controller/InvoiceList.controller.js | 2 + .../controller/InvoiceList.controller.js.map | 1 + step-31/controller/InvoiceList.controller.ts | 46 ++++++ step-31/css/style.css | 13 ++ step-31/i18n/i18n.properties | 20 +++ step-31/index-cdn.html | 21 +++ step-31/index.html | 21 +++ step-31/localService/metadata.xml | 29 ++++ step-31/localService/mockdata/Invoices.json | 42 ++++++ step-31/localService/mockserver-dbg.js | 30 ++++ step-31/localService/mockserver-dbg.js.map | 1 + step-31/localService/mockserver.js | 2 + step-31/localService/mockserver.js.map | 1 + step-31/localService/mockserver.ts | 26 ++++ step-31/manifest.json | 104 ++++++++++++++ step-31/model/formatter-dbg.js | 23 +++ step-31/model/formatter-dbg.js.map | 1 + step-31/model/formatter.js | 2 + step-31/model/formatter.js.map | 1 + step-31/model/formatter.ts | 19 +++ step-31/test/initMockServer-dbg.js | 32 +++++ step-31/test/initMockServer-dbg.js.map | 1 + step-31/test/initMockServer.js | 2 + step-31/test/initMockServer.js.map | 1 + step-31/test/initMockServer.ts | 7 + .../test/integration/NavigationJourney-dbg.js | 30 ++++ .../integration/NavigationJourney-dbg.js.map | 1 + step-31/test/integration/NavigationJourney.js | 2 + .../test/integration/NavigationJourney.js.map | 1 + step-31/test/integration/NavigationJourney.ts | 25 ++++ .../test/integration/opaTests-cdn.qunit.html | 29 ++++ .../test/integration/opaTests.qunit-dbg.js | 30 ++++ .../integration/opaTests.qunit-dbg.js.map | 1 + step-31/test/integration/opaTests.qunit.html | 29 ++++ step-31/test/integration/opaTests.qunit.js | 2 + .../test/integration/opaTests.qunit.js.map | 1 + step-31/test/integration/opaTests.qunit.ts | 9 ++ .../integration/pages/HelloPanelPage-dbg.js | 33 +++++ .../pages/HelloPanelPage-dbg.js.map | 1 + .../test/integration/pages/HelloPanelPage.js | 2 + .../integration/pages/HelloPanelPage.js.map | 1 + .../test/integration/pages/HelloPanelPage.ts | 28 ++++ step-31/test/mockServer-cdn.html | 22 +++ step-31/test/mockServer.html | 22 +++ step-31/test/unit/model/formatter-dbg.js | 37 +++++ step-31/test/unit/model/formatter-dbg.js.map | 1 + step-31/test/unit/model/formatter.js | 2 + step-31/test/unit/model/formatter.js.map | 1 + step-31/test/unit/model/formatter.ts | 34 +++++ step-31/test/unit/unitTests-cdn.qunit.html | 27 ++++ step-31/test/unit/unitTests.qunit-dbg.js | 30 ++++ step-31/test/unit/unitTests.qunit-dbg.js.map | 1 + step-31/test/unit/unitTests.qunit.html | 27 ++++ step-31/test/unit/unitTests.qunit.js | 2 + step-31/test/unit/unitTests.qunit.js.map | 1 + step-31/test/unit/unitTests.qunit.ts | 8 ++ step-31/view/App.view.xml | 11 ++ step-31/view/Detail.view.xml | 11 ++ step-31/view/HelloDialog.fragment.xml | 19 +++ step-31/view/HelloPanel.view.xml | 29 ++++ step-31/view/InvoiceList.view.xml | 49 +++++++ step-31/view/Overview.view.xml | 12 ++ step-32/Component-dbg.js | 34 +++++ step-32/Component-dbg.js.map | 1 + step-32/Component-preload.js | 33 +++++ step-32/Component-preload.js.map | 1 + step-32/Component.js | 2 + step-32/Component.js.map | 1 + step-32/Component.ts | 28 ++++ step-32/controller/App-dbg.controller.js | 13 ++ step-32/controller/App-dbg.controller.js.map | 1 + step-32/controller/App.controller.js | 2 + step-32/controller/App.controller.js.map | 1 + step-32/controller/App.controller.ts | 8 ++ step-32/controller/Detail-dbg.controller.js | 34 +++++ .../controller/Detail-dbg.controller.js.map | 1 + step-32/controller/Detail.controller.js | 2 + step-32/controller/Detail.controller.js.map | 1 + step-32/controller/Detail.controller.ts | 34 +++++ .../controller/HelloPanel-dbg.controller.js | 38 +++++ .../HelloPanel-dbg.controller.js.map | 1 + step-32/controller/HelloPanel.controller.js | 2 + .../controller/HelloPanel.controller.js.map | 1 + step-32/controller/HelloPanel.controller.ts | 38 +++++ .../controller/InvoiceList-dbg.controller.js | 48 +++++++ .../InvoiceList-dbg.controller.js.map | 1 + step-32/controller/InvoiceList.controller.js | 2 + .../controller/InvoiceList.controller.js.map | 1 + step-32/controller/InvoiceList.controller.ts | 46 ++++++ step-32/css/style.css | 13 ++ step-32/i18n/i18n.properties | 20 +++ step-32/index-cdn.html | 21 +++ step-32/index.html | 21 +++ step-32/localService/metadata.xml | 29 ++++ step-32/localService/mockdata/Invoices.json | 42 ++++++ step-32/localService/mockserver-dbg.js | 30 ++++ step-32/localService/mockserver-dbg.js.map | 1 + step-32/localService/mockserver.js | 2 + step-32/localService/mockserver.js.map | 1 + step-32/localService/mockserver.ts | 26 ++++ step-32/manifest.json | 104 ++++++++++++++ step-32/model/formatter-dbg.js | 23 +++ step-32/model/formatter-dbg.js.map | 1 + step-32/model/formatter.js | 2 + step-32/model/formatter.js.map | 1 + step-32/model/formatter.ts | 19 +++ step-32/test/initMockServer-dbg.js | 32 +++++ step-32/test/initMockServer-dbg.js.map | 1 + step-32/test/initMockServer.js | 2 + step-32/test/initMockServer.js.map | 1 + step-32/test/initMockServer.ts | 7 + .../test/integration/NavigationJourney-dbg.js | 30 ++++ .../integration/NavigationJourney-dbg.js.map | 1 + step-32/test/integration/NavigationJourney.js | 2 + .../test/integration/NavigationJourney.js.map | 1 + step-32/test/integration/NavigationJourney.ts | 25 ++++ .../test/integration/opaTests-cdn.qunit.html | 29 ++++ .../test/integration/opaTests.qunit-dbg.js | 30 ++++ .../integration/opaTests.qunit-dbg.js.map | 1 + step-32/test/integration/opaTests.qunit.html | 29 ++++ step-32/test/integration/opaTests.qunit.js | 2 + .../test/integration/opaTests.qunit.js.map | 1 + step-32/test/integration/opaTests.qunit.ts | 9 ++ .../integration/pages/HelloPanelPage-dbg.js | 33 +++++ .../pages/HelloPanelPage-dbg.js.map | 1 + .../test/integration/pages/HelloPanelPage.js | 2 + .../integration/pages/HelloPanelPage.js.map | 1 + .../test/integration/pages/HelloPanelPage.ts | 28 ++++ step-32/test/mockServer-cdn.html | 22 +++ step-32/test/mockServer.html | 22 +++ step-32/test/unit/model/formatter-dbg.js | 37 +++++ step-32/test/unit/model/formatter-dbg.js.map | 1 + step-32/test/unit/model/formatter.js | 2 + step-32/test/unit/model/formatter.js.map | 1 + step-32/test/unit/model/formatter.ts | 34 +++++ step-32/test/unit/unitTests-cdn.qunit.html | 27 ++++ step-32/test/unit/unitTests.qunit-dbg.js | 30 ++++ step-32/test/unit/unitTests.qunit-dbg.js.map | 1 + step-32/test/unit/unitTests.qunit.html | 27 ++++ step-32/test/unit/unitTests.qunit.js | 2 + step-32/test/unit/unitTests.qunit.js.map | 1 + step-32/test/unit/unitTests.qunit.ts | 8 ++ step-32/view/App.view.xml | 11 ++ step-32/view/Detail.view.xml | 13 ++ step-32/view/HelloDialog.fragment.xml | 19 +++ step-32/view/HelloPanel.view.xml | 29 ++++ step-32/view/InvoiceList.view.xml | 49 +++++++ step-32/view/Overview.view.xml | 12 ++ step-33/Component-dbg.js | 34 +++++ step-33/Component-dbg.js.map | 1 + step-33/Component-preload.js | 36 +++++ step-33/Component-preload.js.map | 1 + step-33/Component.js | 2 + step-33/Component.js.map | 1 + step-33/Component.ts | 28 ++++ step-33/control/ProductRating-dbg.js | 108 +++++++++++++++ step-33/control/ProductRating-dbg.js.map | 1 + step-33/control/ProductRating.js | 2 + step-33/control/ProductRating.js.map | 1 + step-33/control/ProductRating.ts | 121 ++++++++++++++++ step-33/controller/App-dbg.controller.js | 13 ++ step-33/controller/App-dbg.controller.js.map | 1 + step-33/controller/App.controller.js | 2 + step-33/controller/App.controller.js.map | 1 + step-33/controller/App.controller.ts | 8 ++ step-33/controller/Detail-dbg.controller.js | 40 ++++++ .../controller/Detail-dbg.controller.js.map | 1 + step-33/controller/Detail.controller.js | 2 + step-33/controller/Detail.controller.js.map | 1 + step-33/controller/Detail.controller.ts | 47 +++++++ .../controller/HelloPanel-dbg.controller.js | 38 +++++ .../HelloPanel-dbg.controller.js.map | 1 + step-33/controller/HelloPanel.controller.js | 2 + .../controller/HelloPanel.controller.js.map | 1 + step-33/controller/HelloPanel.controller.ts | 38 +++++ .../controller/InvoiceList-dbg.controller.js | 48 +++++++ .../InvoiceList-dbg.controller.js.map | 1 + step-33/controller/InvoiceList.controller.js | 2 + .../controller/InvoiceList.controller.js.map | 1 + step-33/controller/InvoiceList.controller.ts | 46 ++++++ step-33/css/style.css | 20 +++ step-33/i18n/i18n.properties | 27 ++++ step-33/index-cdn.html | 21 +++ step-33/index.html | 21 +++ step-33/localService/metadata.xml | 29 ++++ step-33/localService/mockdata/Invoices.json | 42 ++++++ step-33/localService/mockserver-dbg.js | 30 ++++ step-33/localService/mockserver-dbg.js.map | 1 + step-33/localService/mockserver.js | 2 + step-33/localService/mockserver.js.map | 1 + step-33/localService/mockserver.ts | 26 ++++ step-33/manifest.json | 104 ++++++++++++++ step-33/model/formatter-dbg.js | 23 +++ step-33/model/formatter-dbg.js.map | 1 + step-33/model/formatter.js | 2 + step-33/model/formatter.js.map | 1 + step-33/model/formatter.ts | 19 +++ step-33/test/initMockServer-dbg.js | 32 +++++ step-33/test/initMockServer-dbg.js.map | 1 + step-33/test/initMockServer.js | 2 + step-33/test/initMockServer.js.map | 1 + step-33/test/initMockServer.ts | 7 + .../test/integration/NavigationJourney-dbg.js | 30 ++++ .../integration/NavigationJourney-dbg.js.map | 1 + step-33/test/integration/NavigationJourney.js | 2 + .../test/integration/NavigationJourney.js.map | 1 + step-33/test/integration/NavigationJourney.ts | 25 ++++ .../test/integration/opaTests-cdn.qunit.html | 29 ++++ .../test/integration/opaTests.qunit-dbg.js | 30 ++++ .../integration/opaTests.qunit-dbg.js.map | 1 + step-33/test/integration/opaTests.qunit.html | 29 ++++ step-33/test/integration/opaTests.qunit.js | 2 + .../test/integration/opaTests.qunit.js.map | 1 + step-33/test/integration/opaTests.qunit.ts | 9 ++ .../integration/pages/HelloPanelPage-dbg.js | 33 +++++ .../pages/HelloPanelPage-dbg.js.map | 1 + .../test/integration/pages/HelloPanelPage.js | 2 + .../integration/pages/HelloPanelPage.js.map | 1 + .../test/integration/pages/HelloPanelPage.ts | 28 ++++ step-33/test/mockServer-cdn.html | 22 +++ step-33/test/mockServer.html | 22 +++ step-33/test/unit/model/formatter-dbg.js | 37 +++++ step-33/test/unit/model/formatter-dbg.js.map | 1 + step-33/test/unit/model/formatter.js | 2 + step-33/test/unit/model/formatter.js.map | 1 + step-33/test/unit/model/formatter.ts | 34 +++++ step-33/test/unit/unitTests-cdn.qunit.html | 27 ++++ step-33/test/unit/unitTests.qunit-dbg.js | 30 ++++ step-33/test/unit/unitTests.qunit-dbg.js.map | 1 + step-33/test/unit/unitTests.qunit.html | 27 ++++ step-33/test/unit/unitTests.qunit.js | 2 + step-33/test/unit/unitTests.qunit.js.map | 1 + step-33/test/unit/unitTests.qunit.ts | 8 ++ step-33/view/App.view.xml | 11 ++ step-33/view/Detail.view.xml | 19 +++ step-33/view/HelloDialog.fragment.xml | 19 +++ step-33/view/HelloPanel.view.xml | 29 ++++ step-33/view/InvoiceList.view.xml | 49 +++++++ step-33/view/Overview.view.xml | 12 ++ step-34/Component-dbg.js | 34 +++++ step-34/Component-dbg.js.map | 1 + step-34/Component-preload.js | 36 +++++ step-34/Component-preload.js.map | 1 + step-34/Component.js | 2 + step-34/Component.js.map | 1 + step-34/Component.ts | 28 ++++ step-34/control/ProductRating-dbg.js | 108 +++++++++++++++ step-34/control/ProductRating-dbg.js.map | 1 + step-34/control/ProductRating.js | 2 + step-34/control/ProductRating.js.map | 1 + step-34/control/ProductRating.ts | 121 ++++++++++++++++ step-34/controller/App-dbg.controller.js | 13 ++ step-34/controller/App-dbg.controller.js.map | 1 + step-34/controller/App.controller.js | 2 + step-34/controller/App.controller.js.map | 1 + step-34/controller/App.controller.ts | 8 ++ step-34/controller/Detail-dbg.controller.js | 40 ++++++ .../controller/Detail-dbg.controller.js.map | 1 + step-34/controller/Detail.controller.js | 2 + step-34/controller/Detail.controller.js.map | 1 + step-34/controller/Detail.controller.ts | 47 +++++++ .../controller/HelloPanel-dbg.controller.js | 38 +++++ .../HelloPanel-dbg.controller.js.map | 1 + step-34/controller/HelloPanel.controller.js | 2 + .../controller/HelloPanel.controller.js.map | 1 + step-34/controller/HelloPanel.controller.ts | 38 +++++ .../controller/InvoiceList-dbg.controller.js | 48 +++++++ .../InvoiceList-dbg.controller.js.map | 1 + step-34/controller/InvoiceList.controller.js | 2 + .../controller/InvoiceList.controller.js.map | 1 + step-34/controller/InvoiceList.controller.ts | 46 ++++++ step-34/css/style.css | 19 +++ step-34/i18n/i18n.properties | 32 +++++ step-34/index-cdn.html | 21 +++ step-34/index.html | 21 +++ step-34/localService/metadata.xml | 29 ++++ step-34/localService/mockdata/Invoices.json | 42 ++++++ step-34/localService/mockserver-dbg.js | 30 ++++ step-34/localService/mockserver-dbg.js.map | 1 + step-34/localService/mockserver.js | 2 + step-34/localService/mockserver.js.map | 1 + step-34/localService/mockserver.ts | 26 ++++ step-34/manifest.json | 104 ++++++++++++++ step-34/model/formatter-dbg.js | 23 +++ step-34/model/formatter-dbg.js.map | 1 + step-34/model/formatter.js | 2 + step-34/model/formatter.js.map | 1 + step-34/model/formatter.ts | 19 +++ step-34/test/initMockServer-dbg.js | 32 +++++ step-34/test/initMockServer-dbg.js.map | 1 + step-34/test/initMockServer.js | 2 + step-34/test/initMockServer.js.map | 1 + step-34/test/initMockServer.ts | 7 + .../test/integration/NavigationJourney-dbg.js | 30 ++++ .../integration/NavigationJourney-dbg.js.map | 1 + step-34/test/integration/NavigationJourney.js | 2 + .../test/integration/NavigationJourney.js.map | 1 + step-34/test/integration/NavigationJourney.ts | 25 ++++ .../test/integration/opaTests-cdn.qunit.html | 29 ++++ .../test/integration/opaTests.qunit-dbg.js | 30 ++++ .../integration/opaTests.qunit-dbg.js.map | 1 + step-34/test/integration/opaTests.qunit.html | 29 ++++ step-34/test/integration/opaTests.qunit.js | 2 + .../test/integration/opaTests.qunit.js.map | 1 + step-34/test/integration/opaTests.qunit.ts | 9 ++ .../integration/pages/HelloPanelPage-dbg.js | 33 +++++ .../pages/HelloPanelPage-dbg.js.map | 1 + .../test/integration/pages/HelloPanelPage.js | 2 + .../integration/pages/HelloPanelPage.js.map | 1 + .../test/integration/pages/HelloPanelPage.ts | 28 ++++ step-34/test/mockServer-cdn.html | 22 +++ step-34/test/mockServer.html | 22 +++ step-34/test/unit/model/formatter-dbg.js | 37 +++++ step-34/test/unit/model/formatter-dbg.js.map | 1 + step-34/test/unit/model/formatter.js | 2 + step-34/test/unit/model/formatter.js.map | 1 + step-34/test/unit/model/formatter.ts | 34 +++++ step-34/test/unit/unitTests-cdn.qunit.html | 27 ++++ step-34/test/unit/unitTests.qunit-dbg.js | 30 ++++ step-34/test/unit/unitTests.qunit-dbg.js.map | 1 + step-34/test/unit/unitTests.qunit.html | 27 ++++ step-34/test/unit/unitTests.qunit.js | 2 + step-34/test/unit/unitTests.qunit.js.map | 1 + step-34/test/unit/unitTests.qunit.ts | 8 ++ step-34/view/App.view.xml | 11 ++ step-34/view/Detail.view.xml | 19 +++ step-34/view/HelloDialog.fragment.xml | 19 +++ step-34/view/HelloPanel.view.xml | 29 ++++ step-34/view/InvoiceList.view.xml | 82 +++++++++++ step-34/view/Overview.view.xml | 12 ++ step-35/Component-dbg.js | 39 ++++++ step-35/Component-dbg.js.map | 1 + step-35/Component-preload.js | 36 +++++ step-35/Component-preload.js.map | 1 + step-35/Component.js | 2 + step-35/Component.js.map | 1 + step-35/Component.ts | 34 +++++ step-35/control/ProductRating-dbg.js | 108 +++++++++++++++ step-35/control/ProductRating-dbg.js.map | 1 + step-35/control/ProductRating.js | 2 + step-35/control/ProductRating.js.map | 1 + step-35/control/ProductRating.ts | 121 ++++++++++++++++ step-35/controller/App-dbg.controller.js | 13 ++ step-35/controller/App-dbg.controller.js.map | 1 + step-35/controller/App.controller.js | 2 + step-35/controller/App.controller.js.map | 1 + step-35/controller/App.controller.ts | 8 ++ step-35/controller/Detail-dbg.controller.js | 44 ++++++ .../controller/Detail-dbg.controller.js.map | 1 + step-35/controller/Detail.controller.js | 2 + step-35/controller/Detail.controller.js.map | 1 + step-35/controller/Detail.controller.ts | 53 +++++++ .../controller/HelloPanel-dbg.controller.js | 38 +++++ .../HelloPanel-dbg.controller.js.map | 1 + step-35/controller/HelloPanel.controller.js | 2 + .../controller/HelloPanel.controller.js.map | 1 + step-35/controller/HelloPanel.controller.ts | 38 +++++ .../controller/InvoiceList-dbg.controller.js | 48 +++++++ .../InvoiceList-dbg.controller.js.map | 1 + step-35/controller/InvoiceList.controller.js | 2 + .../controller/InvoiceList.controller.js.map | 1 + step-35/controller/InvoiceList.controller.ts | 46 ++++++ step-35/css/style.css | 19 +++ step-35/i18n/i18n.properties | 34 +++++ step-35/index-cdn.html | 21 +++ step-35/index.html | 21 +++ step-35/localService/metadata.xml | 29 ++++ step-35/localService/mockdata/Invoices.json | 42 ++++++ step-35/localService/mockserver-dbg.js | 30 ++++ step-35/localService/mockserver-dbg.js.map | 1 + step-35/localService/mockserver.js | 2 + step-35/localService/mockserver.js.map | 1 + step-35/localService/mockserver.ts | 26 ++++ step-35/manifest.json | 104 ++++++++++++++ step-35/model/formatter-dbg.js | 23 +++ step-35/model/formatter-dbg.js.map | 1 + step-35/model/formatter.js | 2 + step-35/model/formatter.js.map | 1 + step-35/model/formatter.ts | 19 +++ step-35/test/initMockServer-dbg.js | 32 +++++ step-35/test/initMockServer-dbg.js.map | 1 + step-35/test/initMockServer.js | 2 + step-35/test/initMockServer.js.map | 1 + step-35/test/initMockServer.ts | 7 + .../test/integration/NavigationJourney-dbg.js | 30 ++++ .../integration/NavigationJourney-dbg.js.map | 1 + step-35/test/integration/NavigationJourney.js | 2 + .../test/integration/NavigationJourney.js.map | 1 + step-35/test/integration/NavigationJourney.ts | 25 ++++ .../test/integration/opaTests-cdn.qunit.html | 29 ++++ .../test/integration/opaTests.qunit-dbg.js | 30 ++++ .../integration/opaTests.qunit-dbg.js.map | 1 + step-35/test/integration/opaTests.qunit.html | 29 ++++ step-35/test/integration/opaTests.qunit.js | 2 + .../test/integration/opaTests.qunit.js.map | 1 + step-35/test/integration/opaTests.qunit.ts | 9 ++ .../integration/pages/HelloPanelPage-dbg.js | 33 +++++ .../pages/HelloPanelPage-dbg.js.map | 1 + .../test/integration/pages/HelloPanelPage.js | 2 + .../integration/pages/HelloPanelPage.js.map | 1 + .../test/integration/pages/HelloPanelPage.ts | 28 ++++ step-35/test/mockServer-cdn.html | 22 +++ step-35/test/mockServer.html | 22 +++ step-35/test/unit/model/formatter-dbg.js | 37 +++++ step-35/test/unit/model/formatter-dbg.js.map | 1 + step-35/test/unit/model/formatter.js | 2 + step-35/test/unit/model/formatter.js.map | 1 + step-35/test/unit/model/formatter.ts | 34 +++++ step-35/test/unit/unitTests-cdn.qunit.html | 27 ++++ step-35/test/unit/unitTests.qunit-dbg.js | 30 ++++ step-35/test/unit/unitTests.qunit-dbg.js.map | 1 + step-35/test/unit/unitTests.qunit.html | 27 ++++ step-35/test/unit/unitTests.qunit.js | 2 + step-35/test/unit/unitTests.qunit.js.map | 1 + step-35/test/unit/unitTests.qunit.ts | 8 ++ step-35/view/App.view.xml | 11 ++ step-35/view/Detail.view.xml | 44 ++++++ step-35/view/HelloDialog.fragment.xml | 19 +++ step-35/view/HelloPanel.view.xml | 31 +++++ step-35/view/InvoiceList.view.xml | 82 +++++++++++ step-35/view/Overview.view.xml | 12 ++ step-36/Component-dbg.js | 42 ++++++ step-36/Component-dbg.js.map | 1 + step-36/Component-preload.js | 36 +++++ step-36/Component-preload.js.map | 1 + step-36/Component.js | 2 + step-36/Component.js.map | 1 + step-36/Component.ts | 38 +++++ step-36/control/ProductRating-dbg.js | 108 +++++++++++++++ step-36/control/ProductRating-dbg.js.map | 1 + step-36/control/ProductRating.js | 2 + step-36/control/ProductRating.js.map | 1 + step-36/control/ProductRating.ts | 121 ++++++++++++++++ step-36/controller/App-dbg.controller.js | 17 +++ step-36/controller/App-dbg.controller.js.map | 1 + step-36/controller/App.controller.js | 2 + step-36/controller/App.controller.js.map | 1 + step-36/controller/App.controller.ts | 11 ++ step-36/controller/Detail-dbg.controller.js | 44 ++++++ .../controller/Detail-dbg.controller.js.map | 1 + step-36/controller/Detail.controller.js | 2 + step-36/controller/Detail.controller.js.map | 1 + step-36/controller/Detail.controller.ts | 53 +++++++ .../controller/HelloPanel-dbg.controller.js | 38 +++++ .../HelloPanel-dbg.controller.js.map | 1 + step-36/controller/HelloPanel.controller.js | 2 + .../controller/HelloPanel.controller.js.map | 1 + step-36/controller/HelloPanel.controller.ts | 38 +++++ .../controller/InvoiceList-dbg.controller.js | 48 +++++++ .../InvoiceList-dbg.controller.js.map | 1 + step-36/controller/InvoiceList.controller.js | 2 + .../controller/InvoiceList.controller.js.map | 1 + step-36/controller/InvoiceList.controller.ts | 46 ++++++ step-36/css/style.css | 19 +++ step-36/i18n/i18n.properties | 34 +++++ step-36/index-cdn.html | 21 +++ step-36/index.html | 21 +++ step-36/localService/metadata.xml | 29 ++++ step-36/localService/mockdata/Invoices.json | 42 ++++++ step-36/localService/mockserver-dbg.js | 30 ++++ step-36/localService/mockserver-dbg.js.map | 1 + step-36/localService/mockserver.js | 2 + step-36/localService/mockserver.js.map | 1 + step-36/localService/mockserver.ts | 26 ++++ step-36/manifest.json | 108 +++++++++++++++ step-36/model/formatter-dbg.js | 23 +++ step-36/model/formatter-dbg.js.map | 1 + step-36/model/formatter.js | 2 + step-36/model/formatter.js.map | 1 + step-36/model/formatter.ts | 19 +++ step-36/test/initMockServer-dbg.js | 32 +++++ step-36/test/initMockServer-dbg.js.map | 1 + step-36/test/initMockServer.js | 2 + step-36/test/initMockServer.js.map | 1 + step-36/test/initMockServer.ts | 7 + .../test/integration/NavigationJourney-dbg.js | 30 ++++ .../integration/NavigationJourney-dbg.js.map | 1 + step-36/test/integration/NavigationJourney.js | 2 + .../test/integration/NavigationJourney.js.map | 1 + step-36/test/integration/NavigationJourney.ts | 25 ++++ .../test/integration/opaTests-cdn.qunit.html | 29 ++++ .../test/integration/opaTests.qunit-dbg.js | 30 ++++ .../integration/opaTests.qunit-dbg.js.map | 1 + step-36/test/integration/opaTests.qunit.html | 29 ++++ step-36/test/integration/opaTests.qunit.js | 2 + .../test/integration/opaTests.qunit.js.map | 1 + step-36/test/integration/opaTests.qunit.ts | 9 ++ .../integration/pages/HelloPanelPage-dbg.js | 33 +++++ .../pages/HelloPanelPage-dbg.js.map | 1 + .../test/integration/pages/HelloPanelPage.js | 2 + .../integration/pages/HelloPanelPage.js.map | 1 + .../test/integration/pages/HelloPanelPage.ts | 28 ++++ step-36/test/mockServer-cdn.html | 22 +++ step-36/test/mockServer.html | 22 +++ step-36/test/unit/model/formatter-dbg.js | 37 +++++ step-36/test/unit/model/formatter-dbg.js.map | 1 + step-36/test/unit/model/formatter.js | 2 + step-36/test/unit/model/formatter.js.map | 1 + step-36/test/unit/model/formatter.ts | 34 +++++ step-36/test/unit/unitTests-cdn.qunit.html | 27 ++++ step-36/test/unit/unitTests.qunit-dbg.js | 30 ++++ step-36/test/unit/unitTests.qunit-dbg.js.map | 1 + step-36/test/unit/unitTests.qunit.html | 27 ++++ step-36/test/unit/unitTests.qunit.js | 2 + step-36/test/unit/unitTests.qunit.js.map | 1 + step-36/test/unit/unitTests.qunit.ts | 8 ++ step-36/view/App.view.xml | 11 ++ step-36/view/Detail.view.xml | 50 +++++++ step-36/view/HelloDialog.fragment.xml | 19 +++ step-36/view/HelloPanel.view.xml | 31 +++++ step-36/view/InvoiceList.view.xml | 82 +++++++++++ step-36/view/Overview.view.xml | 12 ++ step-37/Component-dbg.js | 42 ++++++ step-37/Component-dbg.js.map | 1 + step-37/Component-preload.js | 36 +++++ step-37/Component-preload.js.map | 1 + step-37/Component.js | 2 + step-37/Component.js.map | 1 + step-37/Component.ts | 38 +++++ step-37/control/ProductRating-dbg.js | 108 +++++++++++++++ step-37/control/ProductRating-dbg.js.map | 1 + step-37/control/ProductRating.js | 2 + step-37/control/ProductRating.js.map | 1 + step-37/control/ProductRating.ts | 121 ++++++++++++++++ step-37/controller/App-dbg.controller.js | 17 +++ step-37/controller/App-dbg.controller.js.map | 1 + step-37/controller/App.controller.js | 2 + step-37/controller/App.controller.js.map | 1 + step-37/controller/App.controller.ts | 11 ++ step-37/controller/Detail-dbg.controller.js | 44 ++++++ .../controller/Detail-dbg.controller.js.map | 1 + step-37/controller/Detail.controller.js | 2 + step-37/controller/Detail.controller.js.map | 1 + step-37/controller/Detail.controller.ts | 53 +++++++ .../controller/HelloPanel-dbg.controller.js | 38 +++++ .../HelloPanel-dbg.controller.js.map | 1 + step-37/controller/HelloPanel.controller.js | 2 + .../controller/HelloPanel.controller.js.map | 1 + step-37/controller/HelloPanel.controller.ts | 38 +++++ .../controller/InvoiceList-dbg.controller.js | 48 +++++++ .../InvoiceList-dbg.controller.js.map | 1 + step-37/controller/InvoiceList.controller.js | 2 + .../controller/InvoiceList.controller.js.map | 1 + step-37/controller/InvoiceList.controller.ts | 46 ++++++ step-37/css/style.css | 19 +++ step-37/i18n/i18n.properties | 39 ++++++ step-37/index-cdn.html | 21 +++ step-37/index.html | 21 +++ step-37/localService/metadata.xml | 29 ++++ step-37/localService/mockdata/Invoices.json | 42 ++++++ step-37/localService/mockserver-dbg.js | 30 ++++ step-37/localService/mockserver-dbg.js.map | 1 + step-37/localService/mockserver.js | 2 + step-37/localService/mockserver.js.map | 1 + step-37/localService/mockserver.ts | 26 ++++ step-37/manifest.json | 108 +++++++++++++++ step-37/model/formatter-dbg.js | 23 +++ step-37/model/formatter-dbg.js.map | 1 + step-37/model/formatter.js | 2 + step-37/model/formatter.js.map | 1 + step-37/model/formatter.ts | 19 +++ step-37/test/initMockServer-dbg.js | 32 +++++ step-37/test/initMockServer-dbg.js.map | 1 + step-37/test/initMockServer.js | 2 + step-37/test/initMockServer.js.map | 1 + step-37/test/initMockServer.ts | 7 + .../test/integration/NavigationJourney-dbg.js | 30 ++++ .../integration/NavigationJourney-dbg.js.map | 1 + step-37/test/integration/NavigationJourney.js | 2 + .../test/integration/NavigationJourney.js.map | 1 + step-37/test/integration/NavigationJourney.ts | 25 ++++ .../test/integration/opaTests-cdn.qunit.html | 29 ++++ .../test/integration/opaTests.qunit-dbg.js | 30 ++++ .../integration/opaTests.qunit-dbg.js.map | 1 + step-37/test/integration/opaTests.qunit.html | 29 ++++ step-37/test/integration/opaTests.qunit.js | 2 + .../test/integration/opaTests.qunit.js.map | 1 + step-37/test/integration/opaTests.qunit.ts | 9 ++ .../integration/pages/HelloPanelPage-dbg.js | 33 +++++ .../pages/HelloPanelPage-dbg.js.map | 1 + .../test/integration/pages/HelloPanelPage.js | 2 + .../integration/pages/HelloPanelPage.js.map | 1 + .../test/integration/pages/HelloPanelPage.ts | 28 ++++ step-37/test/mockServer-cdn.html | 22 +++ step-37/test/mockServer.html | 22 +++ step-37/test/unit/model/formatter-dbg.js | 37 +++++ step-37/test/unit/model/formatter-dbg.js.map | 1 + step-37/test/unit/model/formatter.js | 2 + step-37/test/unit/model/formatter.js.map | 1 + step-37/test/unit/model/formatter.ts | 34 +++++ step-37/test/unit/unitTests-cdn.qunit.html | 27 ++++ step-37/test/unit/unitTests.qunit-dbg.js | 30 ++++ step-37/test/unit/unitTests.qunit-dbg.js.map | 1 + step-37/test/unit/unitTests.qunit.html | 27 ++++ step-37/test/unit/unitTests.qunit.js | 2 + step-37/test/unit/unitTests.qunit.js.map | 1 + step-37/test/unit/unitTests.qunit.ts | 8 ++ step-37/view/App.view.xml | 11 ++ step-37/view/Detail.view.xml | 44 ++++++ step-37/view/HelloDialog.fragment.xml | 19 +++ step-37/view/HelloPanel.view.xml | 32 +++++ step-37/view/InvoiceList.view.xml | 86 ++++++++++++ step-37/view/Overview.view.xml | 21 +++ step-38/Component-dbg.js | 42 ++++++ step-38/Component-dbg.js.map | 1 + step-38/Component-preload.js | 39 ++++++ step-38/Component-preload.js.map | 1 + step-38/Component.js | 2 + step-38/Component.js.map | 1 + step-38/Component.ts | 38 +++++ step-38/control/ProductRating-dbg.js | 108 +++++++++++++++ step-38/control/ProductRating-dbg.js.map | 1 + step-38/control/ProductRating.js | 2 + step-38/control/ProductRating.js.map | 1 + step-38/control/ProductRating.ts | 121 ++++++++++++++++ step-38/controller/App-dbg.controller.js | 17 +++ step-38/controller/App-dbg.controller.js.map | 1 + step-38/controller/App.controller.js | 2 + step-38/controller/App.controller.js.map | 1 + step-38/controller/App.controller.ts | 11 ++ step-38/controller/Detail-dbg.controller.js | 44 ++++++ .../controller/Detail-dbg.controller.js.map | 1 + step-38/controller/Detail.controller.js | 2 + step-38/controller/Detail.controller.js.map | 1 + step-38/controller/Detail.controller.ts | 53 +++++++ .../controller/HelloPanel-dbg.controller.js | 38 +++++ .../HelloPanel-dbg.controller.js.map | 1 + step-38/controller/HelloPanel.controller.js | 2 + .../controller/HelloPanel.controller.js.map | 1 + step-38/controller/HelloPanel.controller.ts | 38 +++++ .../controller/InvoiceList-dbg.controller.js | 48 +++++++ .../InvoiceList-dbg.controller.js.map | 1 + step-38/controller/InvoiceList.controller.js | 2 + .../controller/InvoiceList.controller.js.map | 1 + step-38/controller/InvoiceList.controller.ts | 46 ++++++ step-38/css/style.css | 19 +++ step-38/i18n/i18n.properties | 39 ++++++ step-38/index-cdn.html | 21 +++ step-38/index-dbg.js | 14 ++ step-38/index-dbg.js.map | 1 + step-38/index.html | 21 +++ step-38/index.js | 2 + step-38/index.js.map | 1 + step-38/index.ts | 9 ++ step-38/localService/metadata.xml | 29 ++++ step-38/localService/mockdata/Invoices.json | 42 ++++++ step-38/localService/mockserver-dbg.js | 30 ++++ step-38/localService/mockserver-dbg.js.map | 1 + step-38/localService/mockserver.js | 2 + step-38/localService/mockserver.js.map | 1 + step-38/localService/mockserver.ts | 26 ++++ step-38/manifest.json | 108 +++++++++++++++ step-38/model/formatter-dbg.js | 23 +++ step-38/model/formatter-dbg.js.map | 1 + step-38/model/formatter.js | 2 + step-38/model/formatter.js.map | 1 + step-38/model/formatter.ts | 19 +++ step-38/test/initMockServer-dbg.js | 32 +++++ step-38/test/initMockServer-dbg.js.map | 1 + step-38/test/initMockServer.js | 2 + step-38/test/initMockServer.js.map | 1 + step-38/test/initMockServer.ts | 7 + .../test/integration/NavigationJourney-dbg.js | 30 ++++ .../integration/NavigationJourney-dbg.js.map | 1 + step-38/test/integration/NavigationJourney.js | 2 + .../test/integration/NavigationJourney.js.map | 1 + step-38/test/integration/NavigationJourney.ts | 25 ++++ .../test/integration/opaTests-cdn.qunit.html | 29 ++++ .../test/integration/opaTests.qunit-dbg.js | 30 ++++ .../integration/opaTests.qunit-dbg.js.map | 1 + step-38/test/integration/opaTests.qunit.html | 29 ++++ step-38/test/integration/opaTests.qunit.js | 2 + .../test/integration/opaTests.qunit.js.map | 1 + step-38/test/integration/opaTests.qunit.ts | 9 ++ .../integration/pages/HelloPanelPage-dbg.js | 33 +++++ .../pages/HelloPanelPage-dbg.js.map | 1 + .../test/integration/pages/HelloPanelPage.js | 2 + .../integration/pages/HelloPanelPage.js.map | 1 + .../test/integration/pages/HelloPanelPage.ts | 28 ++++ step-38/test/mockServer-cdn.html | 22 +++ step-38/test/mockServer.html | 22 +++ step-38/test/unit/model/formatter-dbg.js | 37 +++++ step-38/test/unit/model/formatter-dbg.js.map | 1 + step-38/test/unit/model/formatter.js | 2 + step-38/test/unit/model/formatter.js.map | 1 + step-38/test/unit/model/formatter.ts | 34 +++++ step-38/test/unit/unitTests-cdn.qunit.html | 27 ++++ step-38/test/unit/unitTests.qunit-dbg.js | 30 ++++ step-38/test/unit/unitTests.qunit-dbg.js.map | 1 + step-38/test/unit/unitTests.qunit.html | 27 ++++ step-38/test/unit/unitTests.qunit.js | 2 + step-38/test/unit/unitTests.qunit.js.map | 1 + step-38/test/unit/unitTests.qunit.ts | 8 ++ step-38/view/App.view.xml | 11 ++ step-38/view/Detail.view.xml | 44 ++++++ step-38/view/HelloDialog.fragment.xml | 19 +++ step-38/view/HelloPanel.view.xml | 32 +++++ step-38/view/InvoiceList.view.xml | 93 +++++++++++++ step-38/view/Overview.view.xml | 21 +++ ui5-typescript-walkthrough-step-01.zip | Bin 0 -> 4603 bytes ui5-typescript-walkthrough-step-02.zip | Bin 0 -> 7507 bytes ui5-typescript-walkthrough-step-03.zip | Bin 0 -> 4661 bytes ui5-typescript-walkthrough-step-04.zip | Bin 0 -> 5477 bytes ui5-typescript-walkthrough-step-05.zip | Bin 0 -> 5409 bytes ui5-typescript-walkthrough-step-06.zip | Bin 0 -> 4310 bytes ui5-typescript-walkthrough-step-07.zip | Bin 0 -> 6409 bytes ui5-typescript-walkthrough-step-08.zip | Bin 0 -> 7882 bytes ui5-typescript-walkthrough-step-09.zip | Bin 0 -> 7889 bytes ui5-typescript-walkthrough-step-10.zip | Bin 0 -> 10376 bytes ui5-typescript-walkthrough-step-11.zip | Bin 0 -> 6501 bytes ui5-typescript-walkthrough-step-12.zip | Bin 0 -> 6111 bytes ui5-typescript-walkthrough-step-13.zip | Bin 0 -> 6716 bytes ui5-typescript-walkthrough-step-14.zip | Bin 0 -> 8470 bytes ui5-typescript-walkthrough-step-15.zip | Bin 0 -> 7768 bytes ui5-typescript-walkthrough-step-16.zip | Bin 0 -> 9852 bytes ui5-typescript-walkthrough-step-17.zip | Bin 0 -> 8547 bytes ui5-typescript-walkthrough-step-18.zip | Bin 0 -> 8383 bytes ui5-typescript-walkthrough-step-19.zip | Bin 0 -> 10667 bytes ui5-typescript-walkthrough-step-20.zip | Bin 0 -> 10421 bytes ui5-typescript-walkthrough-step-21.zip | Bin 0 -> 9790 bytes ui5-typescript-walkthrough-step-22.zip | Bin 0 -> 11262 bytes ui5-typescript-walkthrough-step-23.zip | Bin 0 -> 11096 bytes ui5-typescript-walkthrough-step-24.zip | Bin 0 -> 10443 bytes ui5-typescript-walkthrough-step-25.zip | Bin 0 -> 11655 bytes ui5-typescript-walkthrough-step-26.zip | Bin 0 -> 16789 bytes ui5-typescript-walkthrough-step-27.zip | Bin 0 -> 17140 bytes ui5-typescript-walkthrough-step-28.zip | Bin 0 -> 21027 bytes ui5-typescript-walkthrough-step-29.zip | Bin 0 -> 20042 bytes ui5-typescript-walkthrough-step-30.zip | Bin 0 -> 22831 bytes ui5-typescript-walkthrough-step-31.zip | Bin 0 -> 22273 bytes ui5-typescript-walkthrough-step-32.zip | Bin 0 -> 20848 bytes ui5-typescript-walkthrough-step-33.zip | Bin 0 -> 30562 bytes ui5-typescript-walkthrough-step-34.zip | Bin 0 -> 24488 bytes ui5-typescript-walkthrough-step-35.zip | Bin 0 -> 25763 bytes ui5-typescript-walkthrough-step-36.zip | Bin 0 -> 24075 bytes ui5-typescript-walkthrough-step-37.zip | Bin 0 -> 24878 bytes ui5-typescript-walkthrough-step-38.zip | Bin 0 -> 24569 bytes 1658 files changed, 26042 insertions(+) create mode 100644 index.md create mode 100644 step-01/Component-preload.js create mode 100644 step-01/Component-preload.js.map create mode 100644 step-01/index.html create mode 100644 step-01/manifest.json create mode 100644 step-02/Component-preload.js create mode 100644 step-02/Component-preload.js.map create mode 100644 step-02/index-cdn.html create mode 100644 step-02/index-dbg.js create mode 100644 step-02/index-dbg.js.map create mode 100644 step-02/index.html create mode 100644 step-02/index.js create mode 100644 step-02/index.js.map create mode 100644 step-02/index.ts create mode 100644 step-02/manifest.json create mode 100644 step-03/Component-preload.js create mode 100644 step-03/Component-preload.js.map create mode 100644 step-03/index-cdn.html create mode 100644 step-03/index-dbg.js create mode 100644 step-03/index-dbg.js.map create mode 100644 step-03/index.html create mode 100644 step-03/index.js create mode 100644 step-03/index.js.map create mode 100644 step-03/index.ts create mode 100644 step-03/manifest.json create mode 100644 step-04/Component-preload.js create mode 100644 step-04/Component-preload.js.map create mode 100644 step-04/index-cdn.html create mode 100644 step-04/index-dbg.js create mode 100644 step-04/index-dbg.js.map create mode 100644 step-04/index.html create mode 100644 step-04/index.js create mode 100644 step-04/index.js.map create mode 100644 step-04/index.ts create mode 100644 step-04/manifest.json create mode 100644 step-04/view/App.view.xml create mode 100644 step-05/Component-preload.js create mode 100644 step-05/Component-preload.js.map create mode 100644 step-05/controller/App-dbg.controller.js create mode 100644 step-05/controller/App-dbg.controller.js.map create mode 100644 step-05/controller/App.controller.js create mode 100644 step-05/controller/App.controller.js.map create mode 100644 step-05/controller/App.controller.ts create mode 100644 step-05/index-cdn.html create mode 100644 step-05/index-dbg.js create mode 100644 step-05/index-dbg.js.map create mode 100644 step-05/index.html create mode 100644 step-05/index.js create mode 100644 step-05/index.js.map create mode 100644 step-05/index.ts create mode 100644 step-05/manifest.json create mode 100644 step-05/view/App.view.xml create mode 100644 step-06/Component-preload.js create mode 100644 step-06/Component-preload.js.map create mode 100644 step-06/controller/App-dbg.controller.js create mode 100644 step-06/controller/App-dbg.controller.js.map create mode 100644 step-06/controller/App.controller.js create mode 100644 step-06/controller/App.controller.js.map create mode 100644 step-06/controller/App.controller.ts create mode 100644 step-06/index-cdn.html create mode 100644 step-06/index-dbg.js create mode 100644 step-06/index-dbg.js.map create mode 100644 step-06/index.html create mode 100644 step-06/index.js create mode 100644 step-06/index.js.map create mode 100644 step-06/index.ts create mode 100644 step-06/manifest.json create mode 100644 step-06/view/App.view.xml create mode 100644 step-07/Component-preload.js create mode 100644 step-07/Component-preload.js.map create mode 100644 step-07/controller/App-dbg.controller.js create mode 100644 step-07/controller/App-dbg.controller.js.map create mode 100644 step-07/controller/App.controller.js create mode 100644 step-07/controller/App.controller.js.map create mode 100644 step-07/controller/App.controller.ts create mode 100644 step-07/index-cdn.html create mode 100644 step-07/index-dbg.js create mode 100644 step-07/index-dbg.js.map create mode 100644 step-07/index.html create mode 100644 step-07/index.js create mode 100644 step-07/index.js.map create mode 100644 step-07/index.ts create mode 100644 step-07/manifest.json create mode 100644 step-07/view/App.view.xml create mode 100644 step-08/Component-preload.js create mode 100644 step-08/Component-preload.js.map create mode 100644 step-08/controller/App-dbg.controller.js create mode 100644 step-08/controller/App-dbg.controller.js.map create mode 100644 step-08/controller/App.controller.js create mode 100644 step-08/controller/App.controller.js.map create mode 100644 step-08/controller/App.controller.ts create mode 100644 step-08/i18n/i18n.properties create mode 100644 step-08/index-cdn.html create mode 100644 step-08/index-dbg.js create mode 100644 step-08/index-dbg.js.map create mode 100644 step-08/index.html create mode 100644 step-08/index.js create mode 100644 step-08/index.js.map create mode 100644 step-08/index.ts create mode 100644 step-08/manifest.json create mode 100644 step-08/view/App.view.xml create mode 100644 step-09/Component-dbg.js create mode 100644 step-09/Component-dbg.js.map create mode 100644 step-09/Component-preload.js create mode 100644 step-09/Component-preload.js.map create mode 100644 step-09/Component.js create mode 100644 step-09/Component.js.map create mode 100644 step-09/Component.ts create mode 100644 step-09/controller/App-dbg.controller.js create mode 100644 step-09/controller/App-dbg.controller.js.map create mode 100644 step-09/controller/App.controller.js create mode 100644 step-09/controller/App.controller.js.map create mode 100644 step-09/controller/App.controller.ts create mode 100644 step-09/i18n/i18n.properties create mode 100644 step-09/index-cdn.html create mode 100644 step-09/index-dbg.js create mode 100644 step-09/index-dbg.js.map create mode 100644 step-09/index.html create mode 100644 step-09/index.js create mode 100644 step-09/index.js.map create mode 100644 step-09/index.ts create mode 100644 step-09/manifest.json create mode 100644 step-09/view/App.view.xml create mode 100644 step-10/Component-dbg.js create mode 100644 step-10/Component-dbg.js.map create mode 100644 step-10/Component-preload.js create mode 100644 step-10/Component-preload.js.map create mode 100644 step-10/Component.js create mode 100644 step-10/Component.js.map create mode 100644 step-10/Component.ts create mode 100644 step-10/controller/App-dbg.controller.js create mode 100644 step-10/controller/App-dbg.controller.js.map create mode 100644 step-10/controller/App.controller.js create mode 100644 step-10/controller/App.controller.js.map create mode 100644 step-10/controller/App.controller.ts create mode 100644 step-10/i18n/i18n.properties create mode 100644 step-10/index-cdn.html create mode 100644 step-10/index.html create mode 100644 step-10/manifest.json create mode 100644 step-10/view/App.view.xml create mode 100644 step-11/Component-dbg.js create mode 100644 step-11/Component-dbg.js.map create mode 100644 step-11/Component-preload.js create mode 100644 step-11/Component-preload.js.map create mode 100644 step-11/Component.js create mode 100644 step-11/Component.js.map create mode 100644 step-11/Component.ts create mode 100644 step-11/controller/App-dbg.controller.js create mode 100644 step-11/controller/App-dbg.controller.js.map create mode 100644 step-11/controller/App.controller.js create mode 100644 step-11/controller/App.controller.js.map create mode 100644 step-11/controller/App.controller.ts create mode 100644 step-11/i18n/i18n.properties create mode 100644 step-11/index-cdn.html create mode 100644 step-11/index.html create mode 100644 step-11/manifest.json create mode 100644 step-11/view/App.view.xml create mode 100644 step-12/Component-dbg.js create mode 100644 step-12/Component-dbg.js.map create mode 100644 step-12/Component-preload.js create mode 100644 step-12/Component-preload.js.map create mode 100644 step-12/Component.js create mode 100644 step-12/Component.js.map create mode 100644 step-12/Component.ts create mode 100644 step-12/controller/App-dbg.controller.js create mode 100644 step-12/controller/App-dbg.controller.js.map create mode 100644 step-12/controller/App.controller.js create mode 100644 step-12/controller/App.controller.js.map create mode 100644 step-12/controller/App.controller.ts create mode 100644 step-12/i18n/i18n.properties create mode 100644 step-12/index-cdn.html create mode 100644 step-12/index.html create mode 100644 step-12/manifest.json create mode 100644 step-12/view/App.view.xml create mode 100644 step-13/Component-dbg.js create mode 100644 step-13/Component-dbg.js.map create mode 100644 step-13/Component-preload.js create mode 100644 step-13/Component-preload.js.map create mode 100644 step-13/Component.js create mode 100644 step-13/Component.js.map create mode 100644 step-13/Component.ts create mode 100644 step-13/controller/App-dbg.controller.js create mode 100644 step-13/controller/App-dbg.controller.js.map create mode 100644 step-13/controller/App.controller.js create mode 100644 step-13/controller/App.controller.js.map create mode 100644 step-13/controller/App.controller.ts create mode 100644 step-13/i18n/i18n.properties create mode 100644 step-13/index-cdn.html create mode 100644 step-13/index.html create mode 100644 step-13/manifest.json create mode 100644 step-13/view/App.view.xml create mode 100644 step-14/Component-dbg.js create mode 100644 step-14/Component-dbg.js.map create mode 100644 step-14/Component-preload.js create mode 100644 step-14/Component-preload.js.map create mode 100644 step-14/Component.js create mode 100644 step-14/Component.js.map create mode 100644 step-14/Component.ts create mode 100644 step-14/controller/App-dbg.controller.js create mode 100644 step-14/controller/App-dbg.controller.js.map create mode 100644 step-14/controller/App.controller.js create mode 100644 step-14/controller/App.controller.js.map create mode 100644 step-14/controller/App.controller.ts create mode 100644 step-14/css/style.css create mode 100644 step-14/i18n/i18n.properties create mode 100644 step-14/index-cdn.html create mode 100644 step-14/index.html create mode 100644 step-14/manifest.json create mode 100644 step-14/view/App.view.xml create mode 100644 step-15/Component-dbg.js create mode 100644 step-15/Component-dbg.js.map create mode 100644 step-15/Component-preload.js create mode 100644 step-15/Component-preload.js.map create mode 100644 step-15/Component.js create mode 100644 step-15/Component.js.map create mode 100644 step-15/Component.ts create mode 100644 step-15/controller/App-dbg.controller.js create mode 100644 step-15/controller/App-dbg.controller.js.map create mode 100644 step-15/controller/App.controller.js create mode 100644 step-15/controller/App.controller.js.map create mode 100644 step-15/controller/App.controller.ts create mode 100644 step-15/controller/HelloPanel-dbg.controller.js create mode 100644 step-15/controller/HelloPanel-dbg.controller.js.map create mode 100644 step-15/controller/HelloPanel.controller.js create mode 100644 step-15/controller/HelloPanel.controller.js.map create mode 100644 step-15/controller/HelloPanel.controller.ts create mode 100644 step-15/css/style.css create mode 100644 step-15/i18n/i18n.properties create mode 100644 step-15/index-cdn.html create mode 100644 step-15/index.html create mode 100644 step-15/manifest.json create mode 100644 step-15/view/App.view.xml create mode 100644 step-15/view/HelloPanel.view.xml create mode 100644 step-16/Component-dbg.js create mode 100644 step-16/Component-dbg.js.map create mode 100644 step-16/Component-preload.js create mode 100644 step-16/Component-preload.js.map create mode 100644 step-16/Component.js create mode 100644 step-16/Component.js.map create mode 100644 step-16/Component.ts create mode 100644 step-16/controller/App-dbg.controller.js create mode 100644 step-16/controller/App-dbg.controller.js.map create mode 100644 step-16/controller/App.controller.js create mode 100644 step-16/controller/App.controller.js.map create mode 100644 step-16/controller/App.controller.ts create mode 100644 step-16/controller/HelloPanel-dbg.controller.js create mode 100644 step-16/controller/HelloPanel-dbg.controller.js.map create mode 100644 step-16/controller/HelloPanel.controller.js create mode 100644 step-16/controller/HelloPanel.controller.js.map create mode 100644 step-16/controller/HelloPanel.controller.ts create mode 100644 step-16/css/style.css create mode 100644 step-16/i18n/i18n.properties create mode 100644 step-16/index-cdn.html create mode 100644 step-16/index.html create mode 100644 step-16/manifest.json create mode 100644 step-16/view/App.view.xml create mode 100644 step-16/view/HelloDialog.fragment.xml create mode 100644 step-16/view/HelloPanel.view.xml create mode 100644 step-17/Component-dbg.js create mode 100644 step-17/Component-dbg.js.map create mode 100644 step-17/Component-preload.js create mode 100644 step-17/Component-preload.js.map create mode 100644 step-17/Component.js create mode 100644 step-17/Component.js.map create mode 100644 step-17/Component.ts create mode 100644 step-17/controller/App-dbg.controller.js create mode 100644 step-17/controller/App-dbg.controller.js.map create mode 100644 step-17/controller/App.controller.js create mode 100644 step-17/controller/App.controller.js.map create mode 100644 step-17/controller/App.controller.ts create mode 100644 step-17/controller/HelloPanel-dbg.controller.js create mode 100644 step-17/controller/HelloPanel-dbg.controller.js.map create mode 100644 step-17/controller/HelloPanel.controller.js create mode 100644 step-17/controller/HelloPanel.controller.js.map create mode 100644 step-17/controller/HelloPanel.controller.ts create mode 100644 step-17/css/style.css create mode 100644 step-17/i18n/i18n.properties create mode 100644 step-17/index-cdn.html create mode 100644 step-17/index.html create mode 100644 step-17/manifest.json create mode 100644 step-17/view/App.view.xml create mode 100644 step-17/view/HelloDialog.fragment.xml create mode 100644 step-17/view/HelloPanel.view.xml create mode 100644 step-18/Component-dbg.js create mode 100644 step-18/Component-dbg.js.map create mode 100644 step-18/Component-preload.js create mode 100644 step-18/Component-preload.js.map create mode 100644 step-18/Component.js create mode 100644 step-18/Component.js.map create mode 100644 step-18/Component.ts create mode 100644 step-18/controller/App-dbg.controller.js create mode 100644 step-18/controller/App-dbg.controller.js.map create mode 100644 step-18/controller/App.controller.js create mode 100644 step-18/controller/App.controller.js.map create mode 100644 step-18/controller/App.controller.ts create mode 100644 step-18/controller/HelloPanel-dbg.controller.js create mode 100644 step-18/controller/HelloPanel-dbg.controller.js.map create mode 100644 step-18/controller/HelloPanel.controller.js create mode 100644 step-18/controller/HelloPanel.controller.js.map create mode 100644 step-18/controller/HelloPanel.controller.ts create mode 100644 step-18/css/style.css create mode 100644 step-18/i18n/i18n.properties create mode 100644 step-18/index-cdn.html create mode 100644 step-18/index.html create mode 100644 step-18/manifest.json create mode 100644 step-18/view/App.view.xml create mode 100644 step-18/view/HelloDialog.fragment.xml create mode 100644 step-18/view/HelloPanel.view.xml create mode 100644 step-19/Component-dbg.js create mode 100644 step-19/Component-dbg.js.map create mode 100644 step-19/Component-preload.js create mode 100644 step-19/Component-preload.js.map create mode 100644 step-19/Component.js create mode 100644 step-19/Component.js.map create mode 100644 step-19/Component.ts create mode 100644 step-19/controller/App-dbg.controller.js create mode 100644 step-19/controller/App-dbg.controller.js.map create mode 100644 step-19/controller/App.controller.js create mode 100644 step-19/controller/App.controller.js.map create mode 100644 step-19/controller/App.controller.ts create mode 100644 step-19/controller/HelloPanel-dbg.controller.js create mode 100644 step-19/controller/HelloPanel-dbg.controller.js.map create mode 100644 step-19/controller/HelloPanel.controller.js create mode 100644 step-19/controller/HelloPanel.controller.js.map create mode 100644 step-19/controller/HelloPanel.controller.ts create mode 100644 step-19/css/style.css create mode 100644 step-19/i18n/i18n.properties create mode 100644 step-19/index-cdn.html create mode 100644 step-19/index.html create mode 100644 step-19/manifest.json create mode 100644 step-19/model/localInvoices.json create mode 100644 step-19/view/App.view.xml create mode 100644 step-19/view/HelloDialog.fragment.xml create mode 100644 step-19/view/HelloPanel.view.xml create mode 100644 step-19/view/InvoiceList.view.xml create mode 100644 step-20/Component-dbg.js create mode 100644 step-20/Component-dbg.js.map create mode 100644 step-20/Component-preload.js create mode 100644 step-20/Component-preload.js.map create mode 100644 step-20/Component.js create mode 100644 step-20/Component.js.map create mode 100644 step-20/Component.ts create mode 100644 step-20/controller/App-dbg.controller.js create mode 100644 step-20/controller/App-dbg.controller.js.map create mode 100644 step-20/controller/App.controller.js create mode 100644 step-20/controller/App.controller.js.map create mode 100644 step-20/controller/App.controller.ts create mode 100644 step-20/controller/HelloPanel-dbg.controller.js create mode 100644 step-20/controller/HelloPanel-dbg.controller.js.map create mode 100644 step-20/controller/HelloPanel.controller.js create mode 100644 step-20/controller/HelloPanel.controller.js.map create mode 100644 step-20/controller/HelloPanel.controller.ts create mode 100644 step-20/controller/InvoiceList-dbg.controller.js create mode 100644 step-20/controller/InvoiceList-dbg.controller.js.map create mode 100644 step-20/controller/InvoiceList.controller.js create mode 100644 step-20/controller/InvoiceList.controller.js.map create mode 100644 step-20/controller/InvoiceList.controller.ts create mode 100644 step-20/css/style.css create mode 100644 step-20/i18n/i18n.properties create mode 100644 step-20/index-cdn.html create mode 100644 step-20/index.html create mode 100644 step-20/manifest.json create mode 100644 step-20/model/localInvoices.json create mode 100644 step-20/view/App.view.xml create mode 100644 step-20/view/HelloDialog.fragment.xml create mode 100644 step-20/view/HelloPanel.view.xml create mode 100644 step-20/view/InvoiceList.view.xml create mode 100644 step-21/Component-dbg.js create mode 100644 step-21/Component-dbg.js.map create mode 100644 step-21/Component-preload.js create mode 100644 step-21/Component-preload.js.map create mode 100644 step-21/Component.js create mode 100644 step-21/Component.js.map create mode 100644 step-21/Component.ts create mode 100644 step-21/controller/App-dbg.controller.js create mode 100644 step-21/controller/App-dbg.controller.js.map create mode 100644 step-21/controller/App.controller.js create mode 100644 step-21/controller/App.controller.js.map create mode 100644 step-21/controller/App.controller.ts create mode 100644 step-21/controller/HelloPanel-dbg.controller.js create mode 100644 step-21/controller/HelloPanel-dbg.controller.js.map create mode 100644 step-21/controller/HelloPanel.controller.js create mode 100644 step-21/controller/HelloPanel.controller.js.map create mode 100644 step-21/controller/HelloPanel.controller.ts create mode 100644 step-21/controller/InvoiceList-dbg.controller.js create mode 100644 step-21/controller/InvoiceList-dbg.controller.js.map create mode 100644 step-21/controller/InvoiceList.controller.js create mode 100644 step-21/controller/InvoiceList.controller.js.map create mode 100644 step-21/controller/InvoiceList.controller.ts create mode 100644 step-21/css/style.css create mode 100644 step-21/i18n/i18n.properties create mode 100644 step-21/index-cdn.html create mode 100644 step-21/index.html create mode 100644 step-21/manifest.json create mode 100644 step-21/model/localInvoices.json create mode 100644 step-21/view/App.view.xml create mode 100644 step-21/view/HelloDialog.fragment.xml create mode 100644 step-21/view/HelloPanel.view.xml create mode 100644 step-21/view/InvoiceList.view.xml create mode 100644 step-22/Component-dbg.js create mode 100644 step-22/Component-dbg.js.map create mode 100644 step-22/Component-preload.js create mode 100644 step-22/Component-preload.js.map create mode 100644 step-22/Component.js create mode 100644 step-22/Component.js.map create mode 100644 step-22/Component.ts create mode 100644 step-22/controller/App-dbg.controller.js create mode 100644 step-22/controller/App-dbg.controller.js.map create mode 100644 step-22/controller/App.controller.js create mode 100644 step-22/controller/App.controller.js.map create mode 100644 step-22/controller/App.controller.ts create mode 100644 step-22/controller/HelloPanel-dbg.controller.js create mode 100644 step-22/controller/HelloPanel-dbg.controller.js.map create mode 100644 step-22/controller/HelloPanel.controller.js create mode 100644 step-22/controller/HelloPanel.controller.js.map create mode 100644 step-22/controller/HelloPanel.controller.ts create mode 100644 step-22/controller/InvoiceList-dbg.controller.js create mode 100644 step-22/controller/InvoiceList-dbg.controller.js.map create mode 100644 step-22/controller/InvoiceList.controller.js create mode 100644 step-22/controller/InvoiceList.controller.js.map create mode 100644 step-22/controller/InvoiceList.controller.ts create mode 100644 step-22/css/style.css create mode 100644 step-22/i18n/i18n.properties create mode 100644 step-22/index-cdn.html create mode 100644 step-22/index.html create mode 100644 step-22/manifest.json create mode 100644 step-22/model/formatter-dbg.js create mode 100644 step-22/model/formatter-dbg.js.map create mode 100644 step-22/model/formatter.js create mode 100644 step-22/model/formatter.js.map create mode 100644 step-22/model/formatter.ts create mode 100644 step-22/model/localInvoices.json create mode 100644 step-22/view/App.view.xml create mode 100644 step-22/view/HelloDialog.fragment.xml create mode 100644 step-22/view/HelloPanel.view.xml create mode 100644 step-22/view/InvoiceList.view.xml create mode 100644 step-23/Component-dbg.js create mode 100644 step-23/Component-dbg.js.map create mode 100644 step-23/Component-preload.js create mode 100644 step-23/Component-preload.js.map create mode 100644 step-23/Component.js create mode 100644 step-23/Component.js.map create mode 100644 step-23/Component.ts create mode 100644 step-23/controller/App-dbg.controller.js create mode 100644 step-23/controller/App-dbg.controller.js.map create mode 100644 step-23/controller/App.controller.js create mode 100644 step-23/controller/App.controller.js.map create mode 100644 step-23/controller/App.controller.ts create mode 100644 step-23/controller/HelloPanel-dbg.controller.js create mode 100644 step-23/controller/HelloPanel-dbg.controller.js.map create mode 100644 step-23/controller/HelloPanel.controller.js create mode 100644 step-23/controller/HelloPanel.controller.js.map create mode 100644 step-23/controller/HelloPanel.controller.ts create mode 100644 step-23/controller/InvoiceList-dbg.controller.js create mode 100644 step-23/controller/InvoiceList-dbg.controller.js.map create mode 100644 step-23/controller/InvoiceList.controller.js create mode 100644 step-23/controller/InvoiceList.controller.js.map create mode 100644 step-23/controller/InvoiceList.controller.ts create mode 100644 step-23/css/style.css create mode 100644 step-23/i18n/i18n.properties create mode 100644 step-23/index-cdn.html create mode 100644 step-23/index.html create mode 100644 step-23/manifest.json create mode 100644 step-23/model/formatter-dbg.js create mode 100644 step-23/model/formatter-dbg.js.map create mode 100644 step-23/model/formatter.js create mode 100644 step-23/model/formatter.js.map create mode 100644 step-23/model/formatter.ts create mode 100644 step-23/model/localInvoices.json create mode 100644 step-23/view/App.view.xml create mode 100644 step-23/view/HelloDialog.fragment.xml create mode 100644 step-23/view/HelloPanel.view.xml create mode 100644 step-23/view/InvoiceList.view.xml create mode 100644 step-24/Component-dbg.js create mode 100644 step-24/Component-dbg.js.map create mode 100644 step-24/Component-preload.js create mode 100644 step-24/Component-preload.js.map create mode 100644 step-24/Component.js create mode 100644 step-24/Component.js.map create mode 100644 step-24/Component.ts create mode 100644 step-24/controller/App-dbg.controller.js create mode 100644 step-24/controller/App-dbg.controller.js.map create mode 100644 step-24/controller/App.controller.js create mode 100644 step-24/controller/App.controller.js.map create mode 100644 step-24/controller/App.controller.ts create mode 100644 step-24/controller/HelloPanel-dbg.controller.js create mode 100644 step-24/controller/HelloPanel-dbg.controller.js.map create mode 100644 step-24/controller/HelloPanel.controller.js create mode 100644 step-24/controller/HelloPanel.controller.js.map create mode 100644 step-24/controller/HelloPanel.controller.ts create mode 100644 step-24/controller/InvoiceList-dbg.controller.js create mode 100644 step-24/controller/InvoiceList-dbg.controller.js.map create mode 100644 step-24/controller/InvoiceList.controller.js create mode 100644 step-24/controller/InvoiceList.controller.js.map create mode 100644 step-24/controller/InvoiceList.controller.ts create mode 100644 step-24/css/style.css create mode 100644 step-24/i18n/i18n.properties create mode 100644 step-24/index-cdn.html create mode 100644 step-24/index.html create mode 100644 step-24/manifest.json create mode 100644 step-24/model/formatter-dbg.js create mode 100644 step-24/model/formatter-dbg.js.map create mode 100644 step-24/model/formatter.js create mode 100644 step-24/model/formatter.js.map create mode 100644 step-24/model/formatter.ts create mode 100644 step-24/model/localInvoices.json create mode 100644 step-24/view/App.view.xml create mode 100644 step-24/view/HelloDialog.fragment.xml create mode 100644 step-24/view/HelloPanel.view.xml create mode 100644 step-24/view/InvoiceList.view.xml create mode 100644 step-25/Component-dbg.js create mode 100644 step-25/Component-dbg.js.map create mode 100644 step-25/Component-preload.js create mode 100644 step-25/Component-preload.js.map create mode 100644 step-25/Component.js create mode 100644 step-25/Component.js.map create mode 100644 step-25/Component.ts create mode 100644 step-25/controller/App-dbg.controller.js create mode 100644 step-25/controller/App-dbg.controller.js.map create mode 100644 step-25/controller/App.controller.js create mode 100644 step-25/controller/App.controller.js.map create mode 100644 step-25/controller/App.controller.ts create mode 100644 step-25/controller/HelloPanel-dbg.controller.js create mode 100644 step-25/controller/HelloPanel-dbg.controller.js.map create mode 100644 step-25/controller/HelloPanel.controller.js create mode 100644 step-25/controller/HelloPanel.controller.js.map create mode 100644 step-25/controller/HelloPanel.controller.ts create mode 100644 step-25/controller/InvoiceList-dbg.controller.js create mode 100644 step-25/controller/InvoiceList-dbg.controller.js.map create mode 100644 step-25/controller/InvoiceList.controller.js create mode 100644 step-25/controller/InvoiceList.controller.js.map create mode 100644 step-25/controller/InvoiceList.controller.ts create mode 100644 step-25/css/style.css create mode 100644 step-25/i18n/i18n.properties create mode 100644 step-25/index-cdn.html create mode 100644 step-25/index.html create mode 100644 step-25/manifest.json create mode 100644 step-25/model/formatter-dbg.js create mode 100644 step-25/model/formatter-dbg.js.map create mode 100644 step-25/model/formatter.js create mode 100644 step-25/model/formatter.js.map create mode 100644 step-25/model/formatter.ts create mode 100644 step-25/view/App.view.xml create mode 100644 step-25/view/HelloDialog.fragment.xml create mode 100644 step-25/view/HelloPanel.view.xml create mode 100644 step-25/view/InvoiceList.view.xml create mode 100644 step-26/Component-dbg.js create mode 100644 step-26/Component-dbg.js.map create mode 100644 step-26/Component-preload.js create mode 100644 step-26/Component-preload.js.map create mode 100644 step-26/Component.js create mode 100644 step-26/Component.js.map create mode 100644 step-26/Component.ts create mode 100644 step-26/controller/App-dbg.controller.js create mode 100644 step-26/controller/App-dbg.controller.js.map create mode 100644 step-26/controller/App.controller.js create mode 100644 step-26/controller/App.controller.js.map create mode 100644 step-26/controller/App.controller.ts create mode 100644 step-26/controller/HelloPanel-dbg.controller.js create mode 100644 step-26/controller/HelloPanel-dbg.controller.js.map create mode 100644 step-26/controller/HelloPanel.controller.js create mode 100644 step-26/controller/HelloPanel.controller.js.map create mode 100644 step-26/controller/HelloPanel.controller.ts create mode 100644 step-26/controller/InvoiceList-dbg.controller.js create mode 100644 step-26/controller/InvoiceList-dbg.controller.js.map create mode 100644 step-26/controller/InvoiceList.controller.js create mode 100644 step-26/controller/InvoiceList.controller.js.map create mode 100644 step-26/controller/InvoiceList.controller.ts create mode 100644 step-26/css/style.css create mode 100644 step-26/i18n/i18n.properties create mode 100644 step-26/index-cdn.html create mode 100644 step-26/index.html create mode 100644 step-26/localService/metadata.xml create mode 100644 step-26/localService/mockdata/Invoices.json create mode 100644 step-26/localService/mockserver-dbg.js create mode 100644 step-26/localService/mockserver-dbg.js.map create mode 100644 step-26/localService/mockserver.js create mode 100644 step-26/localService/mockserver.js.map create mode 100644 step-26/localService/mockserver.ts create mode 100644 step-26/manifest.json create mode 100644 step-26/model/formatter-dbg.js create mode 100644 step-26/model/formatter-dbg.js.map create mode 100644 step-26/model/formatter.js create mode 100644 step-26/model/formatter.js.map create mode 100644 step-26/model/formatter.ts create mode 100644 step-26/test/initMockServer-dbg.js create mode 100644 step-26/test/initMockServer-dbg.js.map create mode 100644 step-26/test/initMockServer.js create mode 100644 step-26/test/initMockServer.js.map create mode 100644 step-26/test/initMockServer.ts create mode 100644 step-26/test/mockServer-cdn.html create mode 100644 step-26/test/mockServer.html create mode 100644 step-26/view/App.view.xml create mode 100644 step-26/view/HelloDialog.fragment.xml create mode 100644 step-26/view/HelloPanel.view.xml create mode 100644 step-26/view/InvoiceList.view.xml create mode 100644 step-27/Component-dbg.js create mode 100644 step-27/Component-dbg.js.map create mode 100644 step-27/Component-preload.js create mode 100644 step-27/Component-preload.js.map create mode 100644 step-27/Component.js create mode 100644 step-27/Component.js.map create mode 100644 step-27/Component.ts create mode 100644 step-27/controller/App-dbg.controller.js create mode 100644 step-27/controller/App-dbg.controller.js.map create mode 100644 step-27/controller/App.controller.js create mode 100644 step-27/controller/App.controller.js.map create mode 100644 step-27/controller/App.controller.ts create mode 100644 step-27/controller/HelloPanel-dbg.controller.js create mode 100644 step-27/controller/HelloPanel-dbg.controller.js.map create mode 100644 step-27/controller/HelloPanel.controller.js create mode 100644 step-27/controller/HelloPanel.controller.js.map create mode 100644 step-27/controller/HelloPanel.controller.ts create mode 100644 step-27/controller/InvoiceList-dbg.controller.js create mode 100644 step-27/controller/InvoiceList-dbg.controller.js.map create mode 100644 step-27/controller/InvoiceList.controller.js create mode 100644 step-27/controller/InvoiceList.controller.js.map create mode 100644 step-27/controller/InvoiceList.controller.ts create mode 100644 step-27/css/style.css create mode 100644 step-27/i18n/i18n.properties create mode 100644 step-27/index-cdn.html create mode 100644 step-27/index.html create mode 100644 step-27/localService/metadata.xml create mode 100644 step-27/localService/mockdata/Invoices.json create mode 100644 step-27/localService/mockserver-dbg.js create mode 100644 step-27/localService/mockserver-dbg.js.map create mode 100644 step-27/localService/mockserver.js create mode 100644 step-27/localService/mockserver.js.map create mode 100644 step-27/localService/mockserver.ts create mode 100644 step-27/manifest.json create mode 100644 step-27/model/formatter-dbg.js create mode 100644 step-27/model/formatter-dbg.js.map create mode 100644 step-27/model/formatter.js create mode 100644 step-27/model/formatter.js.map create mode 100644 step-27/model/formatter.ts create mode 100644 step-27/test/initMockServer-dbg.js create mode 100644 step-27/test/initMockServer-dbg.js.map create mode 100644 step-27/test/initMockServer.js create mode 100644 step-27/test/initMockServer.js.map create mode 100644 step-27/test/initMockServer.ts create mode 100644 step-27/test/mockServer-cdn.html create mode 100644 step-27/test/mockServer.html create mode 100644 step-27/test/unit/model/formatter-dbg.js create mode 100644 step-27/test/unit/model/formatter-dbg.js.map create mode 100644 step-27/test/unit/model/formatter.js create mode 100644 step-27/test/unit/model/formatter.js.map create mode 100644 step-27/test/unit/model/formatter.ts create mode 100644 step-27/test/unit/unitTests-cdn.qunit.html create mode 100644 step-27/test/unit/unitTests.qunit-dbg.js create mode 100644 step-27/test/unit/unitTests.qunit-dbg.js.map create mode 100644 step-27/test/unit/unitTests.qunit.html create mode 100644 step-27/test/unit/unitTests.qunit.js create mode 100644 step-27/test/unit/unitTests.qunit.js.map create mode 100644 step-27/test/unit/unitTests.qunit.ts create mode 100644 step-27/view/App.view.xml create mode 100644 step-27/view/HelloDialog.fragment.xml create mode 100644 step-27/view/HelloPanel.view.xml create mode 100644 step-27/view/InvoiceList.view.xml create mode 100644 step-28/Component-dbg.js create mode 100644 step-28/Component-dbg.js.map create mode 100644 step-28/Component-preload.js create mode 100644 step-28/Component-preload.js.map create mode 100644 step-28/Component.js create mode 100644 step-28/Component.js.map create mode 100644 step-28/Component.ts create mode 100644 step-28/controller/App-dbg.controller.js create mode 100644 step-28/controller/App-dbg.controller.js.map create mode 100644 step-28/controller/App.controller.js create mode 100644 step-28/controller/App.controller.js.map create mode 100644 step-28/controller/App.controller.ts create mode 100644 step-28/controller/HelloPanel-dbg.controller.js create mode 100644 step-28/controller/HelloPanel-dbg.controller.js.map create mode 100644 step-28/controller/HelloPanel.controller.js create mode 100644 step-28/controller/HelloPanel.controller.js.map create mode 100644 step-28/controller/HelloPanel.controller.ts create mode 100644 step-28/controller/InvoiceList-dbg.controller.js create mode 100644 step-28/controller/InvoiceList-dbg.controller.js.map create mode 100644 step-28/controller/InvoiceList.controller.js create mode 100644 step-28/controller/InvoiceList.controller.js.map create mode 100644 step-28/controller/InvoiceList.controller.ts create mode 100644 step-28/css/style.css create mode 100644 step-28/i18n/i18n.properties create mode 100644 step-28/index-cdn.html create mode 100644 step-28/index.html create mode 100644 step-28/localService/metadata.xml create mode 100644 step-28/localService/mockdata/Invoices.json create mode 100644 step-28/localService/mockserver-dbg.js create mode 100644 step-28/localService/mockserver-dbg.js.map create mode 100644 step-28/localService/mockserver.js create mode 100644 step-28/localService/mockserver.js.map create mode 100644 step-28/localService/mockserver.ts create mode 100644 step-28/manifest.json create mode 100644 step-28/model/formatter-dbg.js create mode 100644 step-28/model/formatter-dbg.js.map create mode 100644 step-28/model/formatter.js create mode 100644 step-28/model/formatter.js.map create mode 100644 step-28/model/formatter.ts create mode 100644 step-28/test/initMockServer-dbg.js create mode 100644 step-28/test/initMockServer-dbg.js.map create mode 100644 step-28/test/initMockServer.js create mode 100644 step-28/test/initMockServer.js.map create mode 100644 step-28/test/initMockServer.ts create mode 100644 step-28/test/integration/NavigationJourney-dbg.js create mode 100644 step-28/test/integration/NavigationJourney-dbg.js.map create mode 100644 step-28/test/integration/NavigationJourney.js create mode 100644 step-28/test/integration/NavigationJourney.js.map create mode 100644 step-28/test/integration/NavigationJourney.ts create mode 100644 step-28/test/integration/opaTests-cdn.qunit.html create mode 100644 step-28/test/integration/opaTests.qunit-dbg.js create mode 100644 step-28/test/integration/opaTests.qunit-dbg.js.map create mode 100644 step-28/test/integration/opaTests.qunit.html create mode 100644 step-28/test/integration/opaTests.qunit.js create mode 100644 step-28/test/integration/opaTests.qunit.js.map create mode 100644 step-28/test/integration/opaTests.qunit.ts create mode 100644 step-28/test/integration/pages/HelloPanelPage-dbg.js create mode 100644 step-28/test/integration/pages/HelloPanelPage-dbg.js.map create mode 100644 step-28/test/integration/pages/HelloPanelPage.js create mode 100644 step-28/test/integration/pages/HelloPanelPage.js.map create mode 100644 step-28/test/integration/pages/HelloPanelPage.ts create mode 100644 step-28/test/mockServer-cdn.html create mode 100644 step-28/test/mockServer.html create mode 100644 step-28/test/unit/model/formatter-dbg.js create mode 100644 step-28/test/unit/model/formatter-dbg.js.map create mode 100644 step-28/test/unit/model/formatter.js create mode 100644 step-28/test/unit/model/formatter.js.map create mode 100644 step-28/test/unit/model/formatter.ts create mode 100644 step-28/test/unit/unitTests-cdn.qunit.html create mode 100644 step-28/test/unit/unitTests.qunit-dbg.js create mode 100644 step-28/test/unit/unitTests.qunit-dbg.js.map create mode 100644 step-28/test/unit/unitTests.qunit.html create mode 100644 step-28/test/unit/unitTests.qunit.js create mode 100644 step-28/test/unit/unitTests.qunit.js.map create mode 100644 step-28/test/unit/unitTests.qunit.ts create mode 100644 step-28/view/App.view.xml create mode 100644 step-28/view/HelloDialog.fragment.xml create mode 100644 step-28/view/HelloPanel.view.xml create mode 100644 step-28/view/InvoiceList.view.xml create mode 100644 step-29/Component-dbg.js create mode 100644 step-29/Component-dbg.js.map create mode 100644 step-29/Component-preload.js create mode 100644 step-29/Component-preload.js.map create mode 100644 step-29/Component.js create mode 100644 step-29/Component.js.map create mode 100644 step-29/Component.ts create mode 100644 step-29/controller/App-dbg.controller.js create mode 100644 step-29/controller/App-dbg.controller.js.map create mode 100644 step-29/controller/App.controller.js create mode 100644 step-29/controller/App.controller.js.map create mode 100644 step-29/controller/App.controller.ts create mode 100644 step-29/controller/HelloPanel-dbg.controller.js create mode 100644 step-29/controller/HelloPanel-dbg.controller.js.map create mode 100644 step-29/controller/HelloPanel.controller.js create mode 100644 step-29/controller/HelloPanel.controller.js.map create mode 100644 step-29/controller/HelloPanel.controller.ts create mode 100644 step-29/controller/InvoiceList-dbg.controller.js create mode 100644 step-29/controller/InvoiceList-dbg.controller.js.map create mode 100644 step-29/controller/InvoiceList.controller.js create mode 100644 step-29/controller/InvoiceList.controller.js.map create mode 100644 step-29/controller/InvoiceList.controller.ts create mode 100644 step-29/css/style.css create mode 100644 step-29/i18n/i18n.properties create mode 100644 step-29/index-cdn.html create mode 100644 step-29/index.html create mode 100644 step-29/localService/metadata.xml create mode 100644 step-29/localService/mockdata/Invoices.json create mode 100644 step-29/localService/mockserver-dbg.js create mode 100644 step-29/localService/mockserver-dbg.js.map create mode 100644 step-29/localService/mockserver.js create mode 100644 step-29/localService/mockserver.js.map create mode 100644 step-29/localService/mockserver.ts create mode 100644 step-29/manifest.json create mode 100644 step-29/model/formatter-dbg.js create mode 100644 step-29/model/formatter-dbg.js.map create mode 100644 step-29/model/formatter.js create mode 100644 step-29/model/formatter.js.map create mode 100644 step-29/model/formatter.ts create mode 100644 step-29/test/initMockServer-dbg.js create mode 100644 step-29/test/initMockServer-dbg.js.map create mode 100644 step-29/test/initMockServer.js create mode 100644 step-29/test/initMockServer.js.map create mode 100644 step-29/test/initMockServer.ts create mode 100644 step-29/test/integration/NavigationJourney-dbg.js create mode 100644 step-29/test/integration/NavigationJourney-dbg.js.map create mode 100644 step-29/test/integration/NavigationJourney.js create mode 100644 step-29/test/integration/NavigationJourney.js.map create mode 100644 step-29/test/integration/NavigationJourney.ts create mode 100644 step-29/test/integration/opaTests-cdn.qunit.html create mode 100644 step-29/test/integration/opaTests.qunit-dbg.js create mode 100644 step-29/test/integration/opaTests.qunit-dbg.js.map create mode 100644 step-29/test/integration/opaTests.qunit.html create mode 100644 step-29/test/integration/opaTests.qunit.js create mode 100644 step-29/test/integration/opaTests.qunit.js.map create mode 100644 step-29/test/integration/opaTests.qunit.ts create mode 100644 step-29/test/integration/pages/HelloPanelPage-dbg.js create mode 100644 step-29/test/integration/pages/HelloPanelPage-dbg.js.map create mode 100644 step-29/test/integration/pages/HelloPanelPage.js create mode 100644 step-29/test/integration/pages/HelloPanelPage.js.map create mode 100644 step-29/test/integration/pages/HelloPanelPage.ts create mode 100644 step-29/test/mockServer-cdn.html create mode 100644 step-29/test/mockServer.html create mode 100644 step-29/test/unit/model/formatter-dbg.js create mode 100644 step-29/test/unit/model/formatter-dbg.js.map create mode 100644 step-29/test/unit/model/formatter.js create mode 100644 step-29/test/unit/model/formatter.js.map create mode 100644 step-29/test/unit/model/formatter.ts create mode 100644 step-29/test/unit/unitTests-cdn.qunit.html create mode 100644 step-29/test/unit/unitTests.qunit-dbg.js create mode 100644 step-29/test/unit/unitTests.qunit-dbg.js.map create mode 100644 step-29/test/unit/unitTests.qunit.html create mode 100644 step-29/test/unit/unitTests.qunit.js create mode 100644 step-29/test/unit/unitTests.qunit.js.map create mode 100644 step-29/test/unit/unitTests.qunit.ts create mode 100644 step-29/view/App.view.xml create mode 100644 step-29/view/HelloDialog.fragment.xml create mode 100644 step-29/view/HelloPanel.view.xml create mode 100644 step-29/view/InvoiceList.view.xml create mode 100644 step-30/Component-dbg.js create mode 100644 step-30/Component-dbg.js.map create mode 100644 step-30/Component-preload.js create mode 100644 step-30/Component-preload.js.map create mode 100644 step-30/Component.js create mode 100644 step-30/Component.js.map create mode 100644 step-30/Component.ts create mode 100644 step-30/controller/App-dbg.controller.js create mode 100644 step-30/controller/App-dbg.controller.js.map create mode 100644 step-30/controller/App.controller.js create mode 100644 step-30/controller/App.controller.js.map create mode 100644 step-30/controller/App.controller.ts create mode 100644 step-30/controller/HelloPanel-dbg.controller.js create mode 100644 step-30/controller/HelloPanel-dbg.controller.js.map create mode 100644 step-30/controller/HelloPanel.controller.js create mode 100644 step-30/controller/HelloPanel.controller.js.map create mode 100644 step-30/controller/HelloPanel.controller.ts create mode 100644 step-30/controller/InvoiceList-dbg.controller.js create mode 100644 step-30/controller/InvoiceList-dbg.controller.js.map create mode 100644 step-30/controller/InvoiceList.controller.js create mode 100644 step-30/controller/InvoiceList.controller.js.map create mode 100644 step-30/controller/InvoiceList.controller.ts create mode 100644 step-30/css/style.css create mode 100644 step-30/i18n/i18n.properties create mode 100644 step-30/index-cdn.html create mode 100644 step-30/index.html create mode 100644 step-30/localService/metadata.xml create mode 100644 step-30/localService/mockdata/Invoices.json create mode 100644 step-30/localService/mockserver-dbg.js create mode 100644 step-30/localService/mockserver-dbg.js.map create mode 100644 step-30/localService/mockserver.js create mode 100644 step-30/localService/mockserver.js.map create mode 100644 step-30/localService/mockserver.ts create mode 100644 step-30/manifest.json create mode 100644 step-30/model/formatter-dbg.js create mode 100644 step-30/model/formatter-dbg.js.map create mode 100644 step-30/model/formatter.js create mode 100644 step-30/model/formatter.js.map create mode 100644 step-30/model/formatter.ts create mode 100644 step-30/test/initMockServer-dbg.js create mode 100644 step-30/test/initMockServer-dbg.js.map create mode 100644 step-30/test/initMockServer.js create mode 100644 step-30/test/initMockServer.js.map create mode 100644 step-30/test/initMockServer.ts create mode 100644 step-30/test/integration/NavigationJourney-dbg.js create mode 100644 step-30/test/integration/NavigationJourney-dbg.js.map create mode 100644 step-30/test/integration/NavigationJourney.js create mode 100644 step-30/test/integration/NavigationJourney.js.map create mode 100644 step-30/test/integration/NavigationJourney.ts create mode 100644 step-30/test/integration/opaTests-cdn.qunit.html create mode 100644 step-30/test/integration/opaTests.qunit-dbg.js create mode 100644 step-30/test/integration/opaTests.qunit-dbg.js.map create mode 100644 step-30/test/integration/opaTests.qunit.html create mode 100644 step-30/test/integration/opaTests.qunit.js create mode 100644 step-30/test/integration/opaTests.qunit.js.map create mode 100644 step-30/test/integration/opaTests.qunit.ts create mode 100644 step-30/test/integration/pages/HelloPanelPage-dbg.js create mode 100644 step-30/test/integration/pages/HelloPanelPage-dbg.js.map create mode 100644 step-30/test/integration/pages/HelloPanelPage.js create mode 100644 step-30/test/integration/pages/HelloPanelPage.js.map create mode 100644 step-30/test/integration/pages/HelloPanelPage.ts create mode 100644 step-30/test/mockServer-cdn.html create mode 100644 step-30/test/mockServer.html create mode 100644 step-30/test/unit/model/formatter-dbg.js create mode 100644 step-30/test/unit/model/formatter-dbg.js.map create mode 100644 step-30/test/unit/model/formatter.js create mode 100644 step-30/test/unit/model/formatter.js.map create mode 100644 step-30/test/unit/model/formatter.ts create mode 100644 step-30/test/unit/unitTests-cdn.qunit.html create mode 100644 step-30/test/unit/unitTests.qunit-dbg.js create mode 100644 step-30/test/unit/unitTests.qunit-dbg.js.map create mode 100644 step-30/test/unit/unitTests.qunit.html create mode 100644 step-30/test/unit/unitTests.qunit.js create mode 100644 step-30/test/unit/unitTests.qunit.js.map create mode 100644 step-30/test/unit/unitTests.qunit.ts create mode 100644 step-30/view/App.view.xml create mode 100644 step-30/view/Detail.view.xml create mode 100644 step-30/view/HelloDialog.fragment.xml create mode 100644 step-30/view/HelloPanel.view.xml create mode 100644 step-30/view/InvoiceList.view.xml create mode 100644 step-30/view/Overview.view.xml create mode 100644 step-31/Component-dbg.js create mode 100644 step-31/Component-dbg.js.map create mode 100644 step-31/Component-preload.js create mode 100644 step-31/Component-preload.js.map create mode 100644 step-31/Component.js create mode 100644 step-31/Component.js.map create mode 100644 step-31/Component.ts create mode 100644 step-31/controller/App-dbg.controller.js create mode 100644 step-31/controller/App-dbg.controller.js.map create mode 100644 step-31/controller/App.controller.js create mode 100644 step-31/controller/App.controller.js.map create mode 100644 step-31/controller/App.controller.ts create mode 100644 step-31/controller/Detail-dbg.controller.js create mode 100644 step-31/controller/Detail-dbg.controller.js.map create mode 100644 step-31/controller/Detail.controller.js create mode 100644 step-31/controller/Detail.controller.js.map create mode 100644 step-31/controller/Detail.controller.ts create mode 100644 step-31/controller/HelloPanel-dbg.controller.js create mode 100644 step-31/controller/HelloPanel-dbg.controller.js.map create mode 100644 step-31/controller/HelloPanel.controller.js create mode 100644 step-31/controller/HelloPanel.controller.js.map create mode 100644 step-31/controller/HelloPanel.controller.ts create mode 100644 step-31/controller/InvoiceList-dbg.controller.js create mode 100644 step-31/controller/InvoiceList-dbg.controller.js.map create mode 100644 step-31/controller/InvoiceList.controller.js create mode 100644 step-31/controller/InvoiceList.controller.js.map create mode 100644 step-31/controller/InvoiceList.controller.ts create mode 100644 step-31/css/style.css create mode 100644 step-31/i18n/i18n.properties create mode 100644 step-31/index-cdn.html create mode 100644 step-31/index.html create mode 100644 step-31/localService/metadata.xml create mode 100644 step-31/localService/mockdata/Invoices.json create mode 100644 step-31/localService/mockserver-dbg.js create mode 100644 step-31/localService/mockserver-dbg.js.map create mode 100644 step-31/localService/mockserver.js create mode 100644 step-31/localService/mockserver.js.map create mode 100644 step-31/localService/mockserver.ts create mode 100644 step-31/manifest.json create mode 100644 step-31/model/formatter-dbg.js create mode 100644 step-31/model/formatter-dbg.js.map create mode 100644 step-31/model/formatter.js create mode 100644 step-31/model/formatter.js.map create mode 100644 step-31/model/formatter.ts create mode 100644 step-31/test/initMockServer-dbg.js create mode 100644 step-31/test/initMockServer-dbg.js.map create mode 100644 step-31/test/initMockServer.js create mode 100644 step-31/test/initMockServer.js.map create mode 100644 step-31/test/initMockServer.ts create mode 100644 step-31/test/integration/NavigationJourney-dbg.js create mode 100644 step-31/test/integration/NavigationJourney-dbg.js.map create mode 100644 step-31/test/integration/NavigationJourney.js create mode 100644 step-31/test/integration/NavigationJourney.js.map create mode 100644 step-31/test/integration/NavigationJourney.ts create mode 100644 step-31/test/integration/opaTests-cdn.qunit.html create mode 100644 step-31/test/integration/opaTests.qunit-dbg.js create mode 100644 step-31/test/integration/opaTests.qunit-dbg.js.map create mode 100644 step-31/test/integration/opaTests.qunit.html create mode 100644 step-31/test/integration/opaTests.qunit.js create mode 100644 step-31/test/integration/opaTests.qunit.js.map create mode 100644 step-31/test/integration/opaTests.qunit.ts create mode 100644 step-31/test/integration/pages/HelloPanelPage-dbg.js create mode 100644 step-31/test/integration/pages/HelloPanelPage-dbg.js.map create mode 100644 step-31/test/integration/pages/HelloPanelPage.js create mode 100644 step-31/test/integration/pages/HelloPanelPage.js.map create mode 100644 step-31/test/integration/pages/HelloPanelPage.ts create mode 100644 step-31/test/mockServer-cdn.html create mode 100644 step-31/test/mockServer.html create mode 100644 step-31/test/unit/model/formatter-dbg.js create mode 100644 step-31/test/unit/model/formatter-dbg.js.map create mode 100644 step-31/test/unit/model/formatter.js create mode 100644 step-31/test/unit/model/formatter.js.map create mode 100644 step-31/test/unit/model/formatter.ts create mode 100644 step-31/test/unit/unitTests-cdn.qunit.html create mode 100644 step-31/test/unit/unitTests.qunit-dbg.js create mode 100644 step-31/test/unit/unitTests.qunit-dbg.js.map create mode 100644 step-31/test/unit/unitTests.qunit.html create mode 100644 step-31/test/unit/unitTests.qunit.js create mode 100644 step-31/test/unit/unitTests.qunit.js.map create mode 100644 step-31/test/unit/unitTests.qunit.ts create mode 100644 step-31/view/App.view.xml create mode 100644 step-31/view/Detail.view.xml create mode 100644 step-31/view/HelloDialog.fragment.xml create mode 100644 step-31/view/HelloPanel.view.xml create mode 100644 step-31/view/InvoiceList.view.xml create mode 100644 step-31/view/Overview.view.xml create mode 100644 step-32/Component-dbg.js create mode 100644 step-32/Component-dbg.js.map create mode 100644 step-32/Component-preload.js create mode 100644 step-32/Component-preload.js.map create mode 100644 step-32/Component.js create mode 100644 step-32/Component.js.map create mode 100644 step-32/Component.ts create mode 100644 step-32/controller/App-dbg.controller.js create mode 100644 step-32/controller/App-dbg.controller.js.map create mode 100644 step-32/controller/App.controller.js create mode 100644 step-32/controller/App.controller.js.map create mode 100644 step-32/controller/App.controller.ts create mode 100644 step-32/controller/Detail-dbg.controller.js create mode 100644 step-32/controller/Detail-dbg.controller.js.map create mode 100644 step-32/controller/Detail.controller.js create mode 100644 step-32/controller/Detail.controller.js.map create mode 100644 step-32/controller/Detail.controller.ts create mode 100644 step-32/controller/HelloPanel-dbg.controller.js create mode 100644 step-32/controller/HelloPanel-dbg.controller.js.map create mode 100644 step-32/controller/HelloPanel.controller.js create mode 100644 step-32/controller/HelloPanel.controller.js.map create mode 100644 step-32/controller/HelloPanel.controller.ts create mode 100644 step-32/controller/InvoiceList-dbg.controller.js create mode 100644 step-32/controller/InvoiceList-dbg.controller.js.map create mode 100644 step-32/controller/InvoiceList.controller.js create mode 100644 step-32/controller/InvoiceList.controller.js.map create mode 100644 step-32/controller/InvoiceList.controller.ts create mode 100644 step-32/css/style.css create mode 100644 step-32/i18n/i18n.properties create mode 100644 step-32/index-cdn.html create mode 100644 step-32/index.html create mode 100644 step-32/localService/metadata.xml create mode 100644 step-32/localService/mockdata/Invoices.json create mode 100644 step-32/localService/mockserver-dbg.js create mode 100644 step-32/localService/mockserver-dbg.js.map create mode 100644 step-32/localService/mockserver.js create mode 100644 step-32/localService/mockserver.js.map create mode 100644 step-32/localService/mockserver.ts create mode 100644 step-32/manifest.json create mode 100644 step-32/model/formatter-dbg.js create mode 100644 step-32/model/formatter-dbg.js.map create mode 100644 step-32/model/formatter.js create mode 100644 step-32/model/formatter.js.map create mode 100644 step-32/model/formatter.ts create mode 100644 step-32/test/initMockServer-dbg.js create mode 100644 step-32/test/initMockServer-dbg.js.map create mode 100644 step-32/test/initMockServer.js create mode 100644 step-32/test/initMockServer.js.map create mode 100644 step-32/test/initMockServer.ts create mode 100644 step-32/test/integration/NavigationJourney-dbg.js create mode 100644 step-32/test/integration/NavigationJourney-dbg.js.map create mode 100644 step-32/test/integration/NavigationJourney.js create mode 100644 step-32/test/integration/NavigationJourney.js.map create mode 100644 step-32/test/integration/NavigationJourney.ts create mode 100644 step-32/test/integration/opaTests-cdn.qunit.html create mode 100644 step-32/test/integration/opaTests.qunit-dbg.js create mode 100644 step-32/test/integration/opaTests.qunit-dbg.js.map create mode 100644 step-32/test/integration/opaTests.qunit.html create mode 100644 step-32/test/integration/opaTests.qunit.js create mode 100644 step-32/test/integration/opaTests.qunit.js.map create mode 100644 step-32/test/integration/opaTests.qunit.ts create mode 100644 step-32/test/integration/pages/HelloPanelPage-dbg.js create mode 100644 step-32/test/integration/pages/HelloPanelPage-dbg.js.map create mode 100644 step-32/test/integration/pages/HelloPanelPage.js create mode 100644 step-32/test/integration/pages/HelloPanelPage.js.map create mode 100644 step-32/test/integration/pages/HelloPanelPage.ts create mode 100644 step-32/test/mockServer-cdn.html create mode 100644 step-32/test/mockServer.html create mode 100644 step-32/test/unit/model/formatter-dbg.js create mode 100644 step-32/test/unit/model/formatter-dbg.js.map create mode 100644 step-32/test/unit/model/formatter.js create mode 100644 step-32/test/unit/model/formatter.js.map create mode 100644 step-32/test/unit/model/formatter.ts create mode 100644 step-32/test/unit/unitTests-cdn.qunit.html create mode 100644 step-32/test/unit/unitTests.qunit-dbg.js create mode 100644 step-32/test/unit/unitTests.qunit-dbg.js.map create mode 100644 step-32/test/unit/unitTests.qunit.html create mode 100644 step-32/test/unit/unitTests.qunit.js create mode 100644 step-32/test/unit/unitTests.qunit.js.map create mode 100644 step-32/test/unit/unitTests.qunit.ts create mode 100644 step-32/view/App.view.xml create mode 100644 step-32/view/Detail.view.xml create mode 100644 step-32/view/HelloDialog.fragment.xml create mode 100644 step-32/view/HelloPanel.view.xml create mode 100644 step-32/view/InvoiceList.view.xml create mode 100644 step-32/view/Overview.view.xml create mode 100644 step-33/Component-dbg.js create mode 100644 step-33/Component-dbg.js.map create mode 100644 step-33/Component-preload.js create mode 100644 step-33/Component-preload.js.map create mode 100644 step-33/Component.js create mode 100644 step-33/Component.js.map create mode 100644 step-33/Component.ts create mode 100644 step-33/control/ProductRating-dbg.js create mode 100644 step-33/control/ProductRating-dbg.js.map create mode 100644 step-33/control/ProductRating.js create mode 100644 step-33/control/ProductRating.js.map create mode 100644 step-33/control/ProductRating.ts create mode 100644 step-33/controller/App-dbg.controller.js create mode 100644 step-33/controller/App-dbg.controller.js.map create mode 100644 step-33/controller/App.controller.js create mode 100644 step-33/controller/App.controller.js.map create mode 100644 step-33/controller/App.controller.ts create mode 100644 step-33/controller/Detail-dbg.controller.js create mode 100644 step-33/controller/Detail-dbg.controller.js.map create mode 100644 step-33/controller/Detail.controller.js create mode 100644 step-33/controller/Detail.controller.js.map create mode 100644 step-33/controller/Detail.controller.ts create mode 100644 step-33/controller/HelloPanel-dbg.controller.js create mode 100644 step-33/controller/HelloPanel-dbg.controller.js.map create mode 100644 step-33/controller/HelloPanel.controller.js create mode 100644 step-33/controller/HelloPanel.controller.js.map create mode 100644 step-33/controller/HelloPanel.controller.ts create mode 100644 step-33/controller/InvoiceList-dbg.controller.js create mode 100644 step-33/controller/InvoiceList-dbg.controller.js.map create mode 100644 step-33/controller/InvoiceList.controller.js create mode 100644 step-33/controller/InvoiceList.controller.js.map create mode 100644 step-33/controller/InvoiceList.controller.ts create mode 100644 step-33/css/style.css create mode 100644 step-33/i18n/i18n.properties create mode 100644 step-33/index-cdn.html create mode 100644 step-33/index.html create mode 100644 step-33/localService/metadata.xml create mode 100644 step-33/localService/mockdata/Invoices.json create mode 100644 step-33/localService/mockserver-dbg.js create mode 100644 step-33/localService/mockserver-dbg.js.map create mode 100644 step-33/localService/mockserver.js create mode 100644 step-33/localService/mockserver.js.map create mode 100644 step-33/localService/mockserver.ts create mode 100644 step-33/manifest.json create mode 100644 step-33/model/formatter-dbg.js create mode 100644 step-33/model/formatter-dbg.js.map create mode 100644 step-33/model/formatter.js create mode 100644 step-33/model/formatter.js.map create mode 100644 step-33/model/formatter.ts create mode 100644 step-33/test/initMockServer-dbg.js create mode 100644 step-33/test/initMockServer-dbg.js.map create mode 100644 step-33/test/initMockServer.js create mode 100644 step-33/test/initMockServer.js.map create mode 100644 step-33/test/initMockServer.ts create mode 100644 step-33/test/integration/NavigationJourney-dbg.js create mode 100644 step-33/test/integration/NavigationJourney-dbg.js.map create mode 100644 step-33/test/integration/NavigationJourney.js create mode 100644 step-33/test/integration/NavigationJourney.js.map create mode 100644 step-33/test/integration/NavigationJourney.ts create mode 100644 step-33/test/integration/opaTests-cdn.qunit.html create mode 100644 step-33/test/integration/opaTests.qunit-dbg.js create mode 100644 step-33/test/integration/opaTests.qunit-dbg.js.map create mode 100644 step-33/test/integration/opaTests.qunit.html create mode 100644 step-33/test/integration/opaTests.qunit.js create mode 100644 step-33/test/integration/opaTests.qunit.js.map create mode 100644 step-33/test/integration/opaTests.qunit.ts create mode 100644 step-33/test/integration/pages/HelloPanelPage-dbg.js create mode 100644 step-33/test/integration/pages/HelloPanelPage-dbg.js.map create mode 100644 step-33/test/integration/pages/HelloPanelPage.js create mode 100644 step-33/test/integration/pages/HelloPanelPage.js.map create mode 100644 step-33/test/integration/pages/HelloPanelPage.ts create mode 100644 step-33/test/mockServer-cdn.html create mode 100644 step-33/test/mockServer.html create mode 100644 step-33/test/unit/model/formatter-dbg.js create mode 100644 step-33/test/unit/model/formatter-dbg.js.map create mode 100644 step-33/test/unit/model/formatter.js create mode 100644 step-33/test/unit/model/formatter.js.map create mode 100644 step-33/test/unit/model/formatter.ts create mode 100644 step-33/test/unit/unitTests-cdn.qunit.html create mode 100644 step-33/test/unit/unitTests.qunit-dbg.js create mode 100644 step-33/test/unit/unitTests.qunit-dbg.js.map create mode 100644 step-33/test/unit/unitTests.qunit.html create mode 100644 step-33/test/unit/unitTests.qunit.js create mode 100644 step-33/test/unit/unitTests.qunit.js.map create mode 100644 step-33/test/unit/unitTests.qunit.ts create mode 100644 step-33/view/App.view.xml create mode 100644 step-33/view/Detail.view.xml create mode 100644 step-33/view/HelloDialog.fragment.xml create mode 100644 step-33/view/HelloPanel.view.xml create mode 100644 step-33/view/InvoiceList.view.xml create mode 100644 step-33/view/Overview.view.xml create mode 100644 step-34/Component-dbg.js create mode 100644 step-34/Component-dbg.js.map create mode 100644 step-34/Component-preload.js create mode 100644 step-34/Component-preload.js.map create mode 100644 step-34/Component.js create mode 100644 step-34/Component.js.map create mode 100644 step-34/Component.ts create mode 100644 step-34/control/ProductRating-dbg.js create mode 100644 step-34/control/ProductRating-dbg.js.map create mode 100644 step-34/control/ProductRating.js create mode 100644 step-34/control/ProductRating.js.map create mode 100644 step-34/control/ProductRating.ts create mode 100644 step-34/controller/App-dbg.controller.js create mode 100644 step-34/controller/App-dbg.controller.js.map create mode 100644 step-34/controller/App.controller.js create mode 100644 step-34/controller/App.controller.js.map create mode 100644 step-34/controller/App.controller.ts create mode 100644 step-34/controller/Detail-dbg.controller.js create mode 100644 step-34/controller/Detail-dbg.controller.js.map create mode 100644 step-34/controller/Detail.controller.js create mode 100644 step-34/controller/Detail.controller.js.map create mode 100644 step-34/controller/Detail.controller.ts create mode 100644 step-34/controller/HelloPanel-dbg.controller.js create mode 100644 step-34/controller/HelloPanel-dbg.controller.js.map create mode 100644 step-34/controller/HelloPanel.controller.js create mode 100644 step-34/controller/HelloPanel.controller.js.map create mode 100644 step-34/controller/HelloPanel.controller.ts create mode 100644 step-34/controller/InvoiceList-dbg.controller.js create mode 100644 step-34/controller/InvoiceList-dbg.controller.js.map create mode 100644 step-34/controller/InvoiceList.controller.js create mode 100644 step-34/controller/InvoiceList.controller.js.map create mode 100644 step-34/controller/InvoiceList.controller.ts create mode 100644 step-34/css/style.css create mode 100644 step-34/i18n/i18n.properties create mode 100644 step-34/index-cdn.html create mode 100644 step-34/index.html create mode 100644 step-34/localService/metadata.xml create mode 100644 step-34/localService/mockdata/Invoices.json create mode 100644 step-34/localService/mockserver-dbg.js create mode 100644 step-34/localService/mockserver-dbg.js.map create mode 100644 step-34/localService/mockserver.js create mode 100644 step-34/localService/mockserver.js.map create mode 100644 step-34/localService/mockserver.ts create mode 100644 step-34/manifest.json create mode 100644 step-34/model/formatter-dbg.js create mode 100644 step-34/model/formatter-dbg.js.map create mode 100644 step-34/model/formatter.js create mode 100644 step-34/model/formatter.js.map create mode 100644 step-34/model/formatter.ts create mode 100644 step-34/test/initMockServer-dbg.js create mode 100644 step-34/test/initMockServer-dbg.js.map create mode 100644 step-34/test/initMockServer.js create mode 100644 step-34/test/initMockServer.js.map create mode 100644 step-34/test/initMockServer.ts create mode 100644 step-34/test/integration/NavigationJourney-dbg.js create mode 100644 step-34/test/integration/NavigationJourney-dbg.js.map create mode 100644 step-34/test/integration/NavigationJourney.js create mode 100644 step-34/test/integration/NavigationJourney.js.map create mode 100644 step-34/test/integration/NavigationJourney.ts create mode 100644 step-34/test/integration/opaTests-cdn.qunit.html create mode 100644 step-34/test/integration/opaTests.qunit-dbg.js create mode 100644 step-34/test/integration/opaTests.qunit-dbg.js.map create mode 100644 step-34/test/integration/opaTests.qunit.html create mode 100644 step-34/test/integration/opaTests.qunit.js create mode 100644 step-34/test/integration/opaTests.qunit.js.map create mode 100644 step-34/test/integration/opaTests.qunit.ts create mode 100644 step-34/test/integration/pages/HelloPanelPage-dbg.js create mode 100644 step-34/test/integration/pages/HelloPanelPage-dbg.js.map create mode 100644 step-34/test/integration/pages/HelloPanelPage.js create mode 100644 step-34/test/integration/pages/HelloPanelPage.js.map create mode 100644 step-34/test/integration/pages/HelloPanelPage.ts create mode 100644 step-34/test/mockServer-cdn.html create mode 100644 step-34/test/mockServer.html create mode 100644 step-34/test/unit/model/formatter-dbg.js create mode 100644 step-34/test/unit/model/formatter-dbg.js.map create mode 100644 step-34/test/unit/model/formatter.js create mode 100644 step-34/test/unit/model/formatter.js.map create mode 100644 step-34/test/unit/model/formatter.ts create mode 100644 step-34/test/unit/unitTests-cdn.qunit.html create mode 100644 step-34/test/unit/unitTests.qunit-dbg.js create mode 100644 step-34/test/unit/unitTests.qunit-dbg.js.map create mode 100644 step-34/test/unit/unitTests.qunit.html create mode 100644 step-34/test/unit/unitTests.qunit.js create mode 100644 step-34/test/unit/unitTests.qunit.js.map create mode 100644 step-34/test/unit/unitTests.qunit.ts create mode 100644 step-34/view/App.view.xml create mode 100644 step-34/view/Detail.view.xml create mode 100644 step-34/view/HelloDialog.fragment.xml create mode 100644 step-34/view/HelloPanel.view.xml create mode 100644 step-34/view/InvoiceList.view.xml create mode 100644 step-34/view/Overview.view.xml create mode 100644 step-35/Component-dbg.js create mode 100644 step-35/Component-dbg.js.map create mode 100644 step-35/Component-preload.js create mode 100644 step-35/Component-preload.js.map create mode 100644 step-35/Component.js create mode 100644 step-35/Component.js.map create mode 100644 step-35/Component.ts create mode 100644 step-35/control/ProductRating-dbg.js create mode 100644 step-35/control/ProductRating-dbg.js.map create mode 100644 step-35/control/ProductRating.js create mode 100644 step-35/control/ProductRating.js.map create mode 100644 step-35/control/ProductRating.ts create mode 100644 step-35/controller/App-dbg.controller.js create mode 100644 step-35/controller/App-dbg.controller.js.map create mode 100644 step-35/controller/App.controller.js create mode 100644 step-35/controller/App.controller.js.map create mode 100644 step-35/controller/App.controller.ts create mode 100644 step-35/controller/Detail-dbg.controller.js create mode 100644 step-35/controller/Detail-dbg.controller.js.map create mode 100644 step-35/controller/Detail.controller.js create mode 100644 step-35/controller/Detail.controller.js.map create mode 100644 step-35/controller/Detail.controller.ts create mode 100644 step-35/controller/HelloPanel-dbg.controller.js create mode 100644 step-35/controller/HelloPanel-dbg.controller.js.map create mode 100644 step-35/controller/HelloPanel.controller.js create mode 100644 step-35/controller/HelloPanel.controller.js.map create mode 100644 step-35/controller/HelloPanel.controller.ts create mode 100644 step-35/controller/InvoiceList-dbg.controller.js create mode 100644 step-35/controller/InvoiceList-dbg.controller.js.map create mode 100644 step-35/controller/InvoiceList.controller.js create mode 100644 step-35/controller/InvoiceList.controller.js.map create mode 100644 step-35/controller/InvoiceList.controller.ts create mode 100644 step-35/css/style.css create mode 100644 step-35/i18n/i18n.properties create mode 100644 step-35/index-cdn.html create mode 100644 step-35/index.html create mode 100644 step-35/localService/metadata.xml create mode 100644 step-35/localService/mockdata/Invoices.json create mode 100644 step-35/localService/mockserver-dbg.js create mode 100644 step-35/localService/mockserver-dbg.js.map create mode 100644 step-35/localService/mockserver.js create mode 100644 step-35/localService/mockserver.js.map create mode 100644 step-35/localService/mockserver.ts create mode 100644 step-35/manifest.json create mode 100644 step-35/model/formatter-dbg.js create mode 100644 step-35/model/formatter-dbg.js.map create mode 100644 step-35/model/formatter.js create mode 100644 step-35/model/formatter.js.map create mode 100644 step-35/model/formatter.ts create mode 100644 step-35/test/initMockServer-dbg.js create mode 100644 step-35/test/initMockServer-dbg.js.map create mode 100644 step-35/test/initMockServer.js create mode 100644 step-35/test/initMockServer.js.map create mode 100644 step-35/test/initMockServer.ts create mode 100644 step-35/test/integration/NavigationJourney-dbg.js create mode 100644 step-35/test/integration/NavigationJourney-dbg.js.map create mode 100644 step-35/test/integration/NavigationJourney.js create mode 100644 step-35/test/integration/NavigationJourney.js.map create mode 100644 step-35/test/integration/NavigationJourney.ts create mode 100644 step-35/test/integration/opaTests-cdn.qunit.html create mode 100644 step-35/test/integration/opaTests.qunit-dbg.js create mode 100644 step-35/test/integration/opaTests.qunit-dbg.js.map create mode 100644 step-35/test/integration/opaTests.qunit.html create mode 100644 step-35/test/integration/opaTests.qunit.js create mode 100644 step-35/test/integration/opaTests.qunit.js.map create mode 100644 step-35/test/integration/opaTests.qunit.ts create mode 100644 step-35/test/integration/pages/HelloPanelPage-dbg.js create mode 100644 step-35/test/integration/pages/HelloPanelPage-dbg.js.map create mode 100644 step-35/test/integration/pages/HelloPanelPage.js create mode 100644 step-35/test/integration/pages/HelloPanelPage.js.map create mode 100644 step-35/test/integration/pages/HelloPanelPage.ts create mode 100644 step-35/test/mockServer-cdn.html create mode 100644 step-35/test/mockServer.html create mode 100644 step-35/test/unit/model/formatter-dbg.js create mode 100644 step-35/test/unit/model/formatter-dbg.js.map create mode 100644 step-35/test/unit/model/formatter.js create mode 100644 step-35/test/unit/model/formatter.js.map create mode 100644 step-35/test/unit/model/formatter.ts create mode 100644 step-35/test/unit/unitTests-cdn.qunit.html create mode 100644 step-35/test/unit/unitTests.qunit-dbg.js create mode 100644 step-35/test/unit/unitTests.qunit-dbg.js.map create mode 100644 step-35/test/unit/unitTests.qunit.html create mode 100644 step-35/test/unit/unitTests.qunit.js create mode 100644 step-35/test/unit/unitTests.qunit.js.map create mode 100644 step-35/test/unit/unitTests.qunit.ts create mode 100644 step-35/view/App.view.xml create mode 100644 step-35/view/Detail.view.xml create mode 100644 step-35/view/HelloDialog.fragment.xml create mode 100644 step-35/view/HelloPanel.view.xml create mode 100644 step-35/view/InvoiceList.view.xml create mode 100644 step-35/view/Overview.view.xml create mode 100644 step-36/Component-dbg.js create mode 100644 step-36/Component-dbg.js.map create mode 100644 step-36/Component-preload.js create mode 100644 step-36/Component-preload.js.map create mode 100644 step-36/Component.js create mode 100644 step-36/Component.js.map create mode 100644 step-36/Component.ts create mode 100644 step-36/control/ProductRating-dbg.js create mode 100644 step-36/control/ProductRating-dbg.js.map create mode 100644 step-36/control/ProductRating.js create mode 100644 step-36/control/ProductRating.js.map create mode 100644 step-36/control/ProductRating.ts create mode 100644 step-36/controller/App-dbg.controller.js create mode 100644 step-36/controller/App-dbg.controller.js.map create mode 100644 step-36/controller/App.controller.js create mode 100644 step-36/controller/App.controller.js.map create mode 100644 step-36/controller/App.controller.ts create mode 100644 step-36/controller/Detail-dbg.controller.js create mode 100644 step-36/controller/Detail-dbg.controller.js.map create mode 100644 step-36/controller/Detail.controller.js create mode 100644 step-36/controller/Detail.controller.js.map create mode 100644 step-36/controller/Detail.controller.ts create mode 100644 step-36/controller/HelloPanel-dbg.controller.js create mode 100644 step-36/controller/HelloPanel-dbg.controller.js.map create mode 100644 step-36/controller/HelloPanel.controller.js create mode 100644 step-36/controller/HelloPanel.controller.js.map create mode 100644 step-36/controller/HelloPanel.controller.ts create mode 100644 step-36/controller/InvoiceList-dbg.controller.js create mode 100644 step-36/controller/InvoiceList-dbg.controller.js.map create mode 100644 step-36/controller/InvoiceList.controller.js create mode 100644 step-36/controller/InvoiceList.controller.js.map create mode 100644 step-36/controller/InvoiceList.controller.ts create mode 100644 step-36/css/style.css create mode 100644 step-36/i18n/i18n.properties create mode 100644 step-36/index-cdn.html create mode 100644 step-36/index.html create mode 100644 step-36/localService/metadata.xml create mode 100644 step-36/localService/mockdata/Invoices.json create mode 100644 step-36/localService/mockserver-dbg.js create mode 100644 step-36/localService/mockserver-dbg.js.map create mode 100644 step-36/localService/mockserver.js create mode 100644 step-36/localService/mockserver.js.map create mode 100644 step-36/localService/mockserver.ts create mode 100644 step-36/manifest.json create mode 100644 step-36/model/formatter-dbg.js create mode 100644 step-36/model/formatter-dbg.js.map create mode 100644 step-36/model/formatter.js create mode 100644 step-36/model/formatter.js.map create mode 100644 step-36/model/formatter.ts create mode 100644 step-36/test/initMockServer-dbg.js create mode 100644 step-36/test/initMockServer-dbg.js.map create mode 100644 step-36/test/initMockServer.js create mode 100644 step-36/test/initMockServer.js.map create mode 100644 step-36/test/initMockServer.ts create mode 100644 step-36/test/integration/NavigationJourney-dbg.js create mode 100644 step-36/test/integration/NavigationJourney-dbg.js.map create mode 100644 step-36/test/integration/NavigationJourney.js create mode 100644 step-36/test/integration/NavigationJourney.js.map create mode 100644 step-36/test/integration/NavigationJourney.ts create mode 100644 step-36/test/integration/opaTests-cdn.qunit.html create mode 100644 step-36/test/integration/opaTests.qunit-dbg.js create mode 100644 step-36/test/integration/opaTests.qunit-dbg.js.map create mode 100644 step-36/test/integration/opaTests.qunit.html create mode 100644 step-36/test/integration/opaTests.qunit.js create mode 100644 step-36/test/integration/opaTests.qunit.js.map create mode 100644 step-36/test/integration/opaTests.qunit.ts create mode 100644 step-36/test/integration/pages/HelloPanelPage-dbg.js create mode 100644 step-36/test/integration/pages/HelloPanelPage-dbg.js.map create mode 100644 step-36/test/integration/pages/HelloPanelPage.js create mode 100644 step-36/test/integration/pages/HelloPanelPage.js.map create mode 100644 step-36/test/integration/pages/HelloPanelPage.ts create mode 100644 step-36/test/mockServer-cdn.html create mode 100644 step-36/test/mockServer.html create mode 100644 step-36/test/unit/model/formatter-dbg.js create mode 100644 step-36/test/unit/model/formatter-dbg.js.map create mode 100644 step-36/test/unit/model/formatter.js create mode 100644 step-36/test/unit/model/formatter.js.map create mode 100644 step-36/test/unit/model/formatter.ts create mode 100644 step-36/test/unit/unitTests-cdn.qunit.html create mode 100644 step-36/test/unit/unitTests.qunit-dbg.js create mode 100644 step-36/test/unit/unitTests.qunit-dbg.js.map create mode 100644 step-36/test/unit/unitTests.qunit.html create mode 100644 step-36/test/unit/unitTests.qunit.js create mode 100644 step-36/test/unit/unitTests.qunit.js.map create mode 100644 step-36/test/unit/unitTests.qunit.ts create mode 100644 step-36/view/App.view.xml create mode 100644 step-36/view/Detail.view.xml create mode 100644 step-36/view/HelloDialog.fragment.xml create mode 100644 step-36/view/HelloPanel.view.xml create mode 100644 step-36/view/InvoiceList.view.xml create mode 100644 step-36/view/Overview.view.xml create mode 100644 step-37/Component-dbg.js create mode 100644 step-37/Component-dbg.js.map create mode 100644 step-37/Component-preload.js create mode 100644 step-37/Component-preload.js.map create mode 100644 step-37/Component.js create mode 100644 step-37/Component.js.map create mode 100644 step-37/Component.ts create mode 100644 step-37/control/ProductRating-dbg.js create mode 100644 step-37/control/ProductRating-dbg.js.map create mode 100644 step-37/control/ProductRating.js create mode 100644 step-37/control/ProductRating.js.map create mode 100644 step-37/control/ProductRating.ts create mode 100644 step-37/controller/App-dbg.controller.js create mode 100644 step-37/controller/App-dbg.controller.js.map create mode 100644 step-37/controller/App.controller.js create mode 100644 step-37/controller/App.controller.js.map create mode 100644 step-37/controller/App.controller.ts create mode 100644 step-37/controller/Detail-dbg.controller.js create mode 100644 step-37/controller/Detail-dbg.controller.js.map create mode 100644 step-37/controller/Detail.controller.js create mode 100644 step-37/controller/Detail.controller.js.map create mode 100644 step-37/controller/Detail.controller.ts create mode 100644 step-37/controller/HelloPanel-dbg.controller.js create mode 100644 step-37/controller/HelloPanel-dbg.controller.js.map create mode 100644 step-37/controller/HelloPanel.controller.js create mode 100644 step-37/controller/HelloPanel.controller.js.map create mode 100644 step-37/controller/HelloPanel.controller.ts create mode 100644 step-37/controller/InvoiceList-dbg.controller.js create mode 100644 step-37/controller/InvoiceList-dbg.controller.js.map create mode 100644 step-37/controller/InvoiceList.controller.js create mode 100644 step-37/controller/InvoiceList.controller.js.map create mode 100644 step-37/controller/InvoiceList.controller.ts create mode 100644 step-37/css/style.css create mode 100644 step-37/i18n/i18n.properties create mode 100644 step-37/index-cdn.html create mode 100644 step-37/index.html create mode 100644 step-37/localService/metadata.xml create mode 100644 step-37/localService/mockdata/Invoices.json create mode 100644 step-37/localService/mockserver-dbg.js create mode 100644 step-37/localService/mockserver-dbg.js.map create mode 100644 step-37/localService/mockserver.js create mode 100644 step-37/localService/mockserver.js.map create mode 100644 step-37/localService/mockserver.ts create mode 100644 step-37/manifest.json create mode 100644 step-37/model/formatter-dbg.js create mode 100644 step-37/model/formatter-dbg.js.map create mode 100644 step-37/model/formatter.js create mode 100644 step-37/model/formatter.js.map create mode 100644 step-37/model/formatter.ts create mode 100644 step-37/test/initMockServer-dbg.js create mode 100644 step-37/test/initMockServer-dbg.js.map create mode 100644 step-37/test/initMockServer.js create mode 100644 step-37/test/initMockServer.js.map create mode 100644 step-37/test/initMockServer.ts create mode 100644 step-37/test/integration/NavigationJourney-dbg.js create mode 100644 step-37/test/integration/NavigationJourney-dbg.js.map create mode 100644 step-37/test/integration/NavigationJourney.js create mode 100644 step-37/test/integration/NavigationJourney.js.map create mode 100644 step-37/test/integration/NavigationJourney.ts create mode 100644 step-37/test/integration/opaTests-cdn.qunit.html create mode 100644 step-37/test/integration/opaTests.qunit-dbg.js create mode 100644 step-37/test/integration/opaTests.qunit-dbg.js.map create mode 100644 step-37/test/integration/opaTests.qunit.html create mode 100644 step-37/test/integration/opaTests.qunit.js create mode 100644 step-37/test/integration/opaTests.qunit.js.map create mode 100644 step-37/test/integration/opaTests.qunit.ts create mode 100644 step-37/test/integration/pages/HelloPanelPage-dbg.js create mode 100644 step-37/test/integration/pages/HelloPanelPage-dbg.js.map create mode 100644 step-37/test/integration/pages/HelloPanelPage.js create mode 100644 step-37/test/integration/pages/HelloPanelPage.js.map create mode 100644 step-37/test/integration/pages/HelloPanelPage.ts create mode 100644 step-37/test/mockServer-cdn.html create mode 100644 step-37/test/mockServer.html create mode 100644 step-37/test/unit/model/formatter-dbg.js create mode 100644 step-37/test/unit/model/formatter-dbg.js.map create mode 100644 step-37/test/unit/model/formatter.js create mode 100644 step-37/test/unit/model/formatter.js.map create mode 100644 step-37/test/unit/model/formatter.ts create mode 100644 step-37/test/unit/unitTests-cdn.qunit.html create mode 100644 step-37/test/unit/unitTests.qunit-dbg.js create mode 100644 step-37/test/unit/unitTests.qunit-dbg.js.map create mode 100644 step-37/test/unit/unitTests.qunit.html create mode 100644 step-37/test/unit/unitTests.qunit.js create mode 100644 step-37/test/unit/unitTests.qunit.js.map create mode 100644 step-37/test/unit/unitTests.qunit.ts create mode 100644 step-37/view/App.view.xml create mode 100644 step-37/view/Detail.view.xml create mode 100644 step-37/view/HelloDialog.fragment.xml create mode 100644 step-37/view/HelloPanel.view.xml create mode 100644 step-37/view/InvoiceList.view.xml create mode 100644 step-37/view/Overview.view.xml create mode 100644 step-38/Component-dbg.js create mode 100644 step-38/Component-dbg.js.map create mode 100644 step-38/Component-preload.js create mode 100644 step-38/Component-preload.js.map create mode 100644 step-38/Component.js create mode 100644 step-38/Component.js.map create mode 100644 step-38/Component.ts create mode 100644 step-38/control/ProductRating-dbg.js create mode 100644 step-38/control/ProductRating-dbg.js.map create mode 100644 step-38/control/ProductRating.js create mode 100644 step-38/control/ProductRating.js.map create mode 100644 step-38/control/ProductRating.ts create mode 100644 step-38/controller/App-dbg.controller.js create mode 100644 step-38/controller/App-dbg.controller.js.map create mode 100644 step-38/controller/App.controller.js create mode 100644 step-38/controller/App.controller.js.map create mode 100644 step-38/controller/App.controller.ts create mode 100644 step-38/controller/Detail-dbg.controller.js create mode 100644 step-38/controller/Detail-dbg.controller.js.map create mode 100644 step-38/controller/Detail.controller.js create mode 100644 step-38/controller/Detail.controller.js.map create mode 100644 step-38/controller/Detail.controller.ts create mode 100644 step-38/controller/HelloPanel-dbg.controller.js create mode 100644 step-38/controller/HelloPanel-dbg.controller.js.map create mode 100644 step-38/controller/HelloPanel.controller.js create mode 100644 step-38/controller/HelloPanel.controller.js.map create mode 100644 step-38/controller/HelloPanel.controller.ts create mode 100644 step-38/controller/InvoiceList-dbg.controller.js create mode 100644 step-38/controller/InvoiceList-dbg.controller.js.map create mode 100644 step-38/controller/InvoiceList.controller.js create mode 100644 step-38/controller/InvoiceList.controller.js.map create mode 100644 step-38/controller/InvoiceList.controller.ts create mode 100644 step-38/css/style.css create mode 100644 step-38/i18n/i18n.properties create mode 100644 step-38/index-cdn.html create mode 100644 step-38/index-dbg.js create mode 100644 step-38/index-dbg.js.map create mode 100644 step-38/index.html create mode 100644 step-38/index.js create mode 100644 step-38/index.js.map create mode 100644 step-38/index.ts create mode 100644 step-38/localService/metadata.xml create mode 100644 step-38/localService/mockdata/Invoices.json create mode 100644 step-38/localService/mockserver-dbg.js create mode 100644 step-38/localService/mockserver-dbg.js.map create mode 100644 step-38/localService/mockserver.js create mode 100644 step-38/localService/mockserver.js.map create mode 100644 step-38/localService/mockserver.ts create mode 100644 step-38/manifest.json create mode 100644 step-38/model/formatter-dbg.js create mode 100644 step-38/model/formatter-dbg.js.map create mode 100644 step-38/model/formatter.js create mode 100644 step-38/model/formatter.js.map create mode 100644 step-38/model/formatter.ts create mode 100644 step-38/test/initMockServer-dbg.js create mode 100644 step-38/test/initMockServer-dbg.js.map create mode 100644 step-38/test/initMockServer.js create mode 100644 step-38/test/initMockServer.js.map create mode 100644 step-38/test/initMockServer.ts create mode 100644 step-38/test/integration/NavigationJourney-dbg.js create mode 100644 step-38/test/integration/NavigationJourney-dbg.js.map create mode 100644 step-38/test/integration/NavigationJourney.js create mode 100644 step-38/test/integration/NavigationJourney.js.map create mode 100644 step-38/test/integration/NavigationJourney.ts create mode 100644 step-38/test/integration/opaTests-cdn.qunit.html create mode 100644 step-38/test/integration/opaTests.qunit-dbg.js create mode 100644 step-38/test/integration/opaTests.qunit-dbg.js.map create mode 100644 step-38/test/integration/opaTests.qunit.html create mode 100644 step-38/test/integration/opaTests.qunit.js create mode 100644 step-38/test/integration/opaTests.qunit.js.map create mode 100644 step-38/test/integration/opaTests.qunit.ts create mode 100644 step-38/test/integration/pages/HelloPanelPage-dbg.js create mode 100644 step-38/test/integration/pages/HelloPanelPage-dbg.js.map create mode 100644 step-38/test/integration/pages/HelloPanelPage.js create mode 100644 step-38/test/integration/pages/HelloPanelPage.js.map create mode 100644 step-38/test/integration/pages/HelloPanelPage.ts create mode 100644 step-38/test/mockServer-cdn.html create mode 100644 step-38/test/mockServer.html create mode 100644 step-38/test/unit/model/formatter-dbg.js create mode 100644 step-38/test/unit/model/formatter-dbg.js.map create mode 100644 step-38/test/unit/model/formatter.js create mode 100644 step-38/test/unit/model/formatter.js.map create mode 100644 step-38/test/unit/model/formatter.ts create mode 100644 step-38/test/unit/unitTests-cdn.qunit.html create mode 100644 step-38/test/unit/unitTests.qunit-dbg.js create mode 100644 step-38/test/unit/unitTests.qunit-dbg.js.map create mode 100644 step-38/test/unit/unitTests.qunit.html create mode 100644 step-38/test/unit/unitTests.qunit.js create mode 100644 step-38/test/unit/unitTests.qunit.js.map create mode 100644 step-38/test/unit/unitTests.qunit.ts create mode 100644 step-38/view/App.view.xml create mode 100644 step-38/view/Detail.view.xml create mode 100644 step-38/view/HelloDialog.fragment.xml create mode 100644 step-38/view/HelloPanel.view.xml create mode 100644 step-38/view/InvoiceList.view.xml create mode 100644 step-38/view/Overview.view.xml create mode 100644 ui5-typescript-walkthrough-step-01.zip create mode 100644 ui5-typescript-walkthrough-step-02.zip create mode 100644 ui5-typescript-walkthrough-step-03.zip create mode 100644 ui5-typescript-walkthrough-step-04.zip create mode 100644 ui5-typescript-walkthrough-step-05.zip create mode 100644 ui5-typescript-walkthrough-step-06.zip create mode 100644 ui5-typescript-walkthrough-step-07.zip create mode 100644 ui5-typescript-walkthrough-step-08.zip create mode 100644 ui5-typescript-walkthrough-step-09.zip create mode 100644 ui5-typescript-walkthrough-step-10.zip create mode 100644 ui5-typescript-walkthrough-step-11.zip create mode 100644 ui5-typescript-walkthrough-step-12.zip create mode 100644 ui5-typescript-walkthrough-step-13.zip create mode 100644 ui5-typescript-walkthrough-step-14.zip create mode 100644 ui5-typescript-walkthrough-step-15.zip create mode 100644 ui5-typescript-walkthrough-step-16.zip create mode 100644 ui5-typescript-walkthrough-step-17.zip create mode 100644 ui5-typescript-walkthrough-step-18.zip create mode 100644 ui5-typescript-walkthrough-step-19.zip create mode 100644 ui5-typescript-walkthrough-step-20.zip create mode 100644 ui5-typescript-walkthrough-step-21.zip create mode 100644 ui5-typescript-walkthrough-step-22.zip create mode 100644 ui5-typescript-walkthrough-step-23.zip create mode 100644 ui5-typescript-walkthrough-step-24.zip create mode 100644 ui5-typescript-walkthrough-step-25.zip create mode 100644 ui5-typescript-walkthrough-step-26.zip create mode 100644 ui5-typescript-walkthrough-step-27.zip create mode 100644 ui5-typescript-walkthrough-step-28.zip create mode 100644 ui5-typescript-walkthrough-step-29.zip create mode 100644 ui5-typescript-walkthrough-step-30.zip create mode 100644 ui5-typescript-walkthrough-step-31.zip create mode 100644 ui5-typescript-walkthrough-step-32.zip create mode 100644 ui5-typescript-walkthrough-step-33.zip create mode 100644 ui5-typescript-walkthrough-step-34.zip create mode 100644 ui5-typescript-walkthrough-step-35.zip create mode 100644 ui5-typescript-walkthrough-step-36.zip create mode 100644 ui5-typescript-walkthrough-step-37.zip create mode 100644 ui5-typescript-walkthrough-step-38.zip diff --git a/index.md b/index.md new file mode 100644 index 00000000..eb311298 --- /dev/null +++ b/index.md @@ -0,0 +1,131 @@ + + +[![REUSE status](https://api.reuse.software/badge/github.com/SAP-samples/ui5-typescript-walkthrough)](https://api.reuse.software/info/github.com/SAP-samples/ui5-typescript-walkthrough) + +# OpenUI5 TypeScript Walkthrough + +In this tutorial we'll introduce you to all major development paradigms of OpenUI5. We'll demonstrate the use of TypeScript with OpenUI5 and highlight the specific characteristics of this approach. + +## Description + +We first introduce you to the basic development paradigms like *Model-View-Controller* and establish a best-practice structure of our application. We'll do this along the classic example of “Hello World” and start a new app from scratch. Next, we'll introduce the fundamental data binding concepts of OpenUI5 and extend our app to show a list of invoices. We'll continue to add more functionality by adding navigation, extending controls, and making our app responsive. We'll also have look at the testing features and the built-in support tools of OpenUI5. + +### Preview + +![Preview of the OpenUI5 application that is going to be built in this tutorial. Contains a Hello World upper part with buttons and a text input. The lower part shows list of invoices with details, grouped by vendor names.](https://sdk.openui5.org/docs/topics/loiofb12cea5ac9b45bb9007aac5a1a8689f_LowRes.png) + +> :bulb: **Tip:**
+> You don't have to do all tutorial steps sequentially, you can also jump directly to any step you want. Just download the code from the previous step and make sure that the application runs as intended. +> +> You can view the samples for all steps here in this repository. +> +> For more information, read the [Getting Started](#getting-started) section below. + +### Steps + +The tutorial consists of the following steps. To start, just open the first link - you`ll be guided from there. + +- **[Step 1: Hello World!](/steps/01/README.md "As you know OpenUI5 is all about HTML5. Let’s get started with building a first “Hello World” with only HTML.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-01/index.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-01.zip)) +- **[Step 2: Bootstrap](/steps/02/README.md "Before we can do something with OpenUI5, we need to load and initialize it. This process of loading and initializing OpenUI5 is called bootstrapping. Once this bootstrapping is finished, we simply display an alert.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-02/index-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-02.zip)) +- **[Step 3: Controls](/steps/03/README.md "Now it is time to build our first little UI by replacing the \“Hello World\” text in the HTML body by the OpenUI5 control sap/m/Text. In the beginning, we will use the JavaScript control interface to set up the UI, the control instance is then placed into the HTML body. ")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-03/index-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-03.zip)) +- **[Step 4: XML Views](/steps/04/README.md "Putting all our UI into the index.ts file will very soon result in a messy setup, and there is quite a bit of work ahead of us. So let’s do a first modularization by putting the sap/m/Text control into a dedicated view.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-04/index-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-04.zip)) +- **[Step 5: Controllers](/steps/05/README.md "In this step, we replace the text with a button and show the /“Hello World/” message when the button is pressed. The handling of the button's press event is implemented in the controller of the view.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-05/index-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-05.zip)) +- **[Step 6: Modules](/steps/06/README.md "In OpenUI5, resources are often referred to as modules. In this step, we replace the alert from the last exercise with a proper Message Toast from the sap.m library.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-06/index-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-06.zip)) +- **[Step 7: JSON Model](/steps/07/README.md "Now that we have set up the view and controller, it’s about time to think about the M in MVC.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-07/index-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-07.zip)) +- **[Step 8: Translatable Texts](/steps/08/README.md "In this step we move the texts of our UI to a separate resource file.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-08/index-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-08.zip)) +- **[Step 9: Component Configuration](/steps/09/README.md "After we have introduced all three parts of the Model-View-Controller /(MVC/) concept, we now come to another important structural aspect of OpenUI5. ")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-09/index-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-09.zip)) +- **[Step 10: Descriptor for Applications](/steps/10/README.md "All application-specific configuration settings will now further be put in a separate descriptor file called manifest.json. This clearly separates the application coding from the configuration settings and makes our app even more flexible. For example, all SAP Fiori applications are realized as components and come with a descriptor file in order to be hosted in the SAP Fiori launchpad.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-10/index-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-10.zip)) +- **[Step 11: Pages and Panels](/steps/11/README.md "After all the work on the app structure it’s time to improve the look of our app. We will use two controls from the sap.m library to add a bit more "bling" to our UI. You will also learn about control aggregations in this step.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-11/index-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-11.zip)) +- **[Step 12: Shell Control as Container](/steps/12/README.md "Now we use a shell control as container for our app and use it as our new root element. The shell takes care of visual adaptation of the application to the device’s screen size by introducing a so-called letterbox on desktop screens.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-12/index-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-12.zip)) +- **[Step 13: Margins and Paddings](/steps/13/README.md "Our app content is still glued to the corners of the letterbox. To fine-tune our layout, we can add margins and paddings to the controls that we added in the previous step. ")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-13/index-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-13.zip)) +- **[Step 14: Custom CSS and Theme Colors](/steps/14/README.md "Sometimes we need to define some more fine-granular layouts and this is when we can use the flexibility of CSS by adding custom style classes to controls and style them as we like. ")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-14/index-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-14.zip)) +- **[Step 15: Nested Views](/steps/15/README.md "Our panel content is getting more and more complex and now it is time to move the panel content to a separate view. With that approach, the application structure is much easier to understand, and the individual parts of the app can be reused.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-15/index-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-15.zip)) +- **[Step 16: Dialogs and Fragments](1/steps/16/README.md "In this step, we will take a closer look at another element which can be used to assemble views: the fragment. ")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-16/index-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-16.zip)) +- **[Step 17: Fragment Callbacks](/steps/17/README.md "Now that we have integrated the dialog, it's time to add some user interaction. The user will definitely want to close the dialog again at some point, so we add a button to close the dialog and assign an event handler.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-17/index-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-17.zip)) +- **[Step 18: Icons](/steps/18/README.md "Our dialog is still pretty much empty. Since OpenUI5 is shipped with a large icon font that contains more than 500 icons, we will add an icon to greet our users when the dialog is opened.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-18/index-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-18.zip)) +- **[Step 19: Aggregation Binding](/steps/19/README.md "Now that we have established a good structure for our app, it's time to add some more functionality. We start exploring more features of data binding by adding some invoice data in JSON format that we display in a list below the panel.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-19/index-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-19.zip)) +- **[Step 20: Data Types](/steps/20/README.md "The list of invoices is already looking nice, but what is an invoice without a price assigned? Typically prices are stored in a technical format and with a /'./' delimiter in the data model. For example, our invoice for pineapples has the calculated price 87.2 without a currency. We are going to use the OpenUI5 data types to format the price properly, with a locale-dependent decimal separator and two digits after the separator.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-20/index-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-20.zip)) +- **[Step 21: Expression Binding](/steps/21/README.md "Sometimes the predefined types of OpenUI5 are not flexible enough and you want to do a simple calculation or formatting in the view - that is where expressions are really helpful. We use them to format our price according to the current number in the data model.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-21/index-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-21.zip)) +- **[Step 22: Custom Formatters](/steps/22/README.md "If we want to do a more complex logic for formatting properties of our data model, we can also write a custom formatting function. We will now add a localized status with a custom formatter, because the status in our data model is in a rather technical format.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-22/index-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-22.zip)) +- **[Step 23: Filtering](/steps/23/README.md "In this step, we add a search field for our product list and define a filter that represents the search term. When searching, the list is automatically updated to show only the items that match the search term.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-23/index-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-23.zip)) +- **[Step 24: Sorting and Grouping](/steps/24/README.md "To make our list of invoices even more user-friendly, we sort it alphabetically instead of just showing the order from the data model. Additionally, we introduce groups and add the company that ships the products so that the data is easier to consume.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-24/index-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-24.zip)) +- **[Step 25: Remote OData Service](/steps/25/README.md "So far we have worked with local JSON data, but now we will access a real OData service to visualize remote data.")** (preview output *unfeasible* | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-25.zip)) +- **[Step 26: Mock Server Configuration](/steps/26/README.md "We just ran our app against a real service, but for developing and testing our app we do not want to rely on the availability of the “real” service or put additional load on the system where the data service is located.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-26/test/mockServer-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-26.zip)) +- **[Step 27: Unit Test with QUnit](/steps/27/README.md "Now that we have a test folder in the app, we can start to increase our test coverage. ")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-27/test/unit/unitTests-cdn.qunit.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-27.zip)) +- **[Step 28: Integration Test with OPA](/steps/28/README.md "If we want to test interaction patterns or more visual features of our app, we can also write an integration test. ")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-28/test/integration/opaTests-cdn.qunit.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-28.zip)) +- **[Step 29: Debugging Tools](/steps/29/README.md "Even though we have added a basic test coverage in the previous steps, it seems like we accidentally broke our app, because it does not display prices to our invoices anymore. We need to debug the issue and fix it before someone finds out.")** (*code remains unchanged from the previous step*) +- **[Step 30: Routing and Navigation](/steps/30/README.md "So far, we have put all app content on one single page. As we add more and more features, we want to split the content and put it on separate pages.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-30/test/mockServer-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-30.zip)) +- **[Step 31: Routing with Parameters](/steps/31/README.md "We can now navigate between the overview and the detail page, but the actual item that we selected in the overview is not displayed on the detail page yet. A typical use case for our app is to show additional information for the selected item on the detail page. ")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-31/test/mockServer-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-31.zip)) +- **[Step 32: Routing Back and History](/steps/32/README.md "Now we can navigate to our detail page and display an invoice, but we cannot go back to the overview page yet. We'll add a back button to the detail page and implement a function that shows our overview page again.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-32/test/mockServer-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-32.zip)) +- **[Step 33: Custom Controls](/steps/33/README.md "In this step, we are going to extend the functionality of OpenUI5 with a custom control. We want to rate the product shown on the detail page, so we create a composition of multiple standard controls using the OpenUI5 extension mechanism and add some glue code to make them work nicely together. This way, we can reuse the control across the app and keep all related functionality in one module.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-33/test/mockServer-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-33.zip)) +- **[Step 34: Responsiveness](/steps/34/README.md "In this step, we improve the responsiveness of our app. OpenUI5 applications can be run on phone, tablet, and desktop devices and we can configure the application to make best use of the screen estate for each scenario. Fortunately, OpenUI5 controls like the sap.m.Table already deliver a lot of features that we can use.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-34/test/mockServer-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-34.zip)) +- **[Step 35: Device Adaptation](/steps/35/README.md "We now configure the visibility and properties of controls based on the device that we run the application on. By making use of the sap.ui.Device API and defining a device model we will make the app look great on many devices.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-35/test/mockServer-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-35.zip)) +- **[Step 36: Content Density](/steps/36/README.md "In this step of our Walkthrough tutorial, we adjust the content density based on the user’s device. OpenUI5 contains different content densities allowing you to display larger controls for touch-enabled devices and a smaller, more compact design for devices that are operated by mouse. In our app, we will detect the device and adjust the density accordingly.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-36/test/mockServer-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-36.zip)) +- **[Step 37: Accessibility](/steps/37/README.md "In this step we're going to improve the accessibility of our app.")** ([preview output](https://sap-samples.github.io/ui5-typescript-walkthrough/step-37/test/mockServer-cdn.html) | [download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-37.zip)) +- **[Step 38: Build Your Application](/steps/38/README.md "In this step we're going to build our application and consume the speed of a built OpenUI5 application.")** ([download all files](https://sap-samples.github.io/ui5-typescript-walkthrough/ui5-typescript-walkthrough-step-38.zip)) + +## Requirements + +The project uses npm workspaces and requires a [Node.js](https://nodejs.org/) version >= `16` to be installed. + +### Getting Started + +The project is setup as monorepo. All steps are located inside the `steps` folder and labelled with their step number. The monorepo uses `npm` workspaces to manage all steps together. But you can also run `npm` inside each individual step. + +To setup the monorepo you first need to install all depenedencies: + +```sh +npm install +``` + +To run any step, just execute one of the scripts from `package.json` via npm, e.g.: + +```sh +# Option 1: use workspace command to start the step +npm start -w ui5.walkthrough.step01 + +# Option 2: change to the folder of the step and start it +cd steps/01 +npm start +``` + +## Download and Installation + + + +## Known Issues + +No known issues. + +## How to obtain support + +[Create an issue](https://github.com/SAP-samples/ui5-typescript-walkthrough/issues) in this repository if you find a bug or have questions about the content. + +For additional support, [ask a question in OpenUI5 Community on Slack](https://ui5-slack-invite.cfapps.eu10.hana.ondemand.com/). + +## Contributing + +If you wish to contribute code, offer fixes or improvements, please send a pull request. Due to legal reasons, contributors will be asked to accept a DCO when they create the first pull request to this project. This happens in an automated fashion during the submission process. SAP uses [the standard DCO text of the Linux Foundation](https://developercertificate.org/). + +## License + +Copyright (c) 2023 SAP SE or an SAP affiliate company. All rights reserved. This project is licensed under the Apache Software License, version 2.0 except as noted otherwise in the [LICENSE](LICENSE) file. diff --git a/step-01/Component-preload.js b/step-01/Component-preload.js new file mode 100644 index 00000000..88291f82 --- /dev/null +++ b/step-01/Component-preload.js @@ -0,0 +1,5 @@ +//@ui5-bundle ui5/walkthrough/Component-preload.js +sap.ui.require.preload({ + "ui5/walkthrough/manifest.json":'{"_version":"1.60.0","sap.app":{"id":"ui5.walkthrough","type":"application","title":"OpenUI5 TypeScript Walkthrough","applicationVersion":{"version":"1.0.0"}}}' +}); +//# sourceMappingURL=Component-preload.js.map diff --git a/step-01/Component-preload.js.map b/step-01/Component-preload.js.map new file mode 100644 index 00000000..e7dc71c1 --- /dev/null +++ b/step-01/Component-preload.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Component-preload.js","sections":[{"offset":{"line":1,"column":0},"map":{"version":3,"names":[],"sources":["Component-preload.js?bundle-code-0"],"mappings":"AAAA;AACA","sourcesContent":["sap.ui.require.preload({\n"],"sourceRoot":""}}]} \ No newline at end of file diff --git a/step-01/index.html b/step-01/index.html new file mode 100644 index 00000000..7a02764e --- /dev/null +++ b/step-01/index.html @@ -0,0 +1,10 @@ + + + + + UI5 TypeScript Walkthrough + + +
Hello World
+ + \ No newline at end of file diff --git a/step-01/manifest.json b/step-01/manifest.json new file mode 100644 index 00000000..90f0f71b --- /dev/null +++ b/step-01/manifest.json @@ -0,0 +1,11 @@ +{ + "_version": "1.60.0", + "sap.app": { + "id": "ui5.walkthrough", + "type": "application", + "title": "OpenUI5 TypeScript Walkthrough", + "applicationVersion": { + "version": "1.0.0" + } + } +} diff --git a/step-02/Component-preload.js b/step-02/Component-preload.js new file mode 100644 index 00000000..b139c9cd --- /dev/null +++ b/step-02/Component-preload.js @@ -0,0 +1,8 @@ +//@ui5-bundle ui5/walkthrough/Component-preload.js +sap.ui.require.preload({ + "ui5/walkthrough/index.js":function(){ +"use strict";alert("UI5 is ready"); +}, + "ui5/walkthrough/manifest.json":'{"_version":"1.60.0","sap.app":{"id":"ui5.walkthrough","type":"application","title":"OpenUI5 TypeScript Walkthrough","applicationVersion":{"version":"1.0.0"}}}' +}); +//# sourceMappingURL=Component-preload.js.map diff --git a/step-02/Component-preload.js.map b/step-02/Component-preload.js.map new file mode 100644 index 00000000..745bd47d --- /dev/null +++ b/step-02/Component-preload.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Component-preload.js","sections":[{"offset":{"line":1,"column":0},"map":{"version":3,"names":[],"sources":["Component-preload.js?bundle-code-0"],"mappings":"AAAA;AACA","sourcesContent":["sap.ui.require.preload({\n"],"sourceRoot":""}},{"offset":{"line":3,"column":0},"map":{"version":3,"file":"index.js","names":["alert"],"sources":["index.ts"],"sourcesContent":["alert(\"UI5 is ready\");\n"],"mappings":"AAAA,aAAAA,MAAM","sourceRoot":""}}]} \ No newline at end of file diff --git a/step-02/index-cdn.html b/step-02/index-cdn.html new file mode 100644 index 00000000..d92d4f31 --- /dev/null +++ b/step-02/index-cdn.html @@ -0,0 +1,21 @@ + + + + + UI5 TypeScript Walkthrough + + + +
Hello World
+ + diff --git a/step-02/index-dbg.js b/step-02/index-dbg.js new file mode 100644 index 00000000..d7fabd75 --- /dev/null +++ b/step-02/index-dbg.js @@ -0,0 +1,4 @@ +"use strict"; + +alert("UI5 is ready"); +//# sourceMappingURL=index-dbg.js.map diff --git a/step-02/index-dbg.js.map b/step-02/index-dbg.js.map new file mode 100644 index 00000000..bc4d3282 --- /dev/null +++ b/step-02/index-dbg.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-dbg.js","names":["alert"],"sources":["index.ts"],"sourcesContent":["alert(\"UI5 is ready\");\n"],"mappings":";;AAAAA,KAAK,CAAC,cAAc,CAAC"} \ No newline at end of file diff --git a/step-02/index.html b/step-02/index.html new file mode 100644 index 00000000..b3e40090 --- /dev/null +++ b/step-02/index.html @@ -0,0 +1,21 @@ + + + + + UI5 TypeScript Walkthrough + + + +
Hello World
+ + diff --git a/step-02/index.js b/step-02/index.js new file mode 100644 index 00000000..544cbde9 --- /dev/null +++ b/step-02/index.js @@ -0,0 +1,2 @@ +"use strict";alert("UI5 is ready"); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/step-02/index.js.map b/step-02/index.js.map new file mode 100644 index 00000000..1782e21f --- /dev/null +++ b/step-02/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","names":["alert"],"sources":["index.ts"],"sourcesContent":["alert(\"UI5 is ready\");\n"],"mappings":"aAAAA,MAAM"} \ No newline at end of file diff --git a/step-02/index.ts b/step-02/index.ts new file mode 100644 index 00000000..a049a919 --- /dev/null +++ b/step-02/index.ts @@ -0,0 +1 @@ +alert("UI5 is ready"); diff --git a/step-02/manifest.json b/step-02/manifest.json new file mode 100644 index 00000000..90f0f71b --- /dev/null +++ b/step-02/manifest.json @@ -0,0 +1,11 @@ +{ + "_version": "1.60.0", + "sap.app": { + "id": "ui5.walkthrough", + "type": "application", + "title": "OpenUI5 TypeScript Walkthrough", + "applicationVersion": { + "version": "1.0.0" + } + } +} diff --git a/step-03/Component-preload.js b/step-03/Component-preload.js new file mode 100644 index 00000000..4a0f0b56 --- /dev/null +++ b/step-03/Component-preload.js @@ -0,0 +1,8 @@ +//@ui5-bundle ui5/walkthrough/Component-preload.js +sap.ui.require.preload({ + "ui5/walkthrough/index.js":function(){ +"use strict";sap.ui.define(["sap/m/Text"],function(t){"use strict";new t({text:"Hello World"}).placeAt("content")}); +}, + "ui5/walkthrough/manifest.json":'{"_version":"1.60.0","sap.app":{"id":"ui5.walkthrough","type":"application","title":"OpenUI5 TypeScript Walkthrough","applicationVersion":{"version":"1.0.0"}}}' +}); +//# sourceMappingURL=Component-preload.js.map diff --git a/step-03/Component-preload.js.map b/step-03/Component-preload.js.map new file mode 100644 index 00000000..2db59317 --- /dev/null +++ b/step-03/Component-preload.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Component-preload.js","sections":[{"offset":{"line":1,"column":0},"map":{"version":3,"names":[],"sources":["Component-preload.js?bundle-code-0"],"mappings":"AAAA;AACA","sourcesContent":["sap.ui.require.preload({\n"],"sourceRoot":""}},{"offset":{"line":3,"column":0},"map":{"version":3,"file":"index.js","names":["Text","text","placeAt"],"sources":["index.ts"],"sourcesContent":["import Text from \"sap/m/Text\";\n\nnew Text({\n text: \"Hello World\"\n}).placeAt(\"content\");\n"],"mappings":"AAAA,mEAEA,IAAIA,EAAK,CACLC,KAAM,gBACPC,QAAQ,UAAW","sourceRoot":""}}]} \ No newline at end of file diff --git a/step-03/index-cdn.html b/step-03/index-cdn.html new file mode 100644 index 00000000..00afa8d3 --- /dev/null +++ b/step-03/index-cdn.html @@ -0,0 +1,20 @@ + + + + + UI5 TypeScript Walkthrough + + + + + diff --git a/step-03/index-dbg.js b/step-03/index-dbg.js new file mode 100644 index 00000000..6176bcb8 --- /dev/null +++ b/step-03/index-dbg.js @@ -0,0 +1,10 @@ +"use strict"; + +sap.ui.define(["sap/m/Text"], function (Text) { + "use strict"; + + new Text({ + text: "Hello World" + }).placeAt("content"); +}); +//# sourceMappingURL=index-dbg.js.map diff --git a/step-03/index-dbg.js.map b/step-03/index-dbg.js.map new file mode 100644 index 00000000..69a9fb74 --- /dev/null +++ b/step-03/index-dbg.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-dbg.js","names":["Text","text","placeAt"],"sources":["index.ts"],"sourcesContent":["import Text from \"sap/m/Text\";\n\nnew Text({\n text: \"Hello World\"\n}).placeAt(\"content\");\n"],"mappings":";;;;;EAEA,IAAIA,IAAI,CAAC;IACLC,IAAI,EAAE;EACV,CAAC,CAAC,CAACC,OAAO,CAAC,SAAS,CAAC;AAAC"} \ No newline at end of file diff --git a/step-03/index.html b/step-03/index.html new file mode 100644 index 00000000..495059d7 --- /dev/null +++ b/step-03/index.html @@ -0,0 +1,20 @@ + + + + + UI5 TypeScript Walkthrough + + + + + diff --git a/step-03/index.js b/step-03/index.js new file mode 100644 index 00000000..b21cfe7f --- /dev/null +++ b/step-03/index.js @@ -0,0 +1,2 @@ +"use strict";sap.ui.define(["sap/m/Text"],function(t){"use strict";new t({text:"Hello World"}).placeAt("content")}); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/step-03/index.js.map b/step-03/index.js.map new file mode 100644 index 00000000..ef4b1094 --- /dev/null +++ b/step-03/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","names":["Text","text","placeAt"],"sources":["index.ts"],"sourcesContent":["import Text from \"sap/m/Text\";\n\nnew Text({\n text: \"Hello World\"\n}).placeAt(\"content\");\n"],"mappings":"mEAEA,IAAIA,EAAK,CACLC,KAAM,gBACPC,QAAQ,UAAW"} \ No newline at end of file diff --git a/step-03/index.ts b/step-03/index.ts new file mode 100644 index 00000000..4106ac87 --- /dev/null +++ b/step-03/index.ts @@ -0,0 +1,5 @@ +import Text from "sap/m/Text"; + +new Text({ + text: "Hello World" +}).placeAt("content"); diff --git a/step-03/manifest.json b/step-03/manifest.json new file mode 100644 index 00000000..90f0f71b --- /dev/null +++ b/step-03/manifest.json @@ -0,0 +1,11 @@ +{ + "_version": "1.60.0", + "sap.app": { + "id": "ui5.walkthrough", + "type": "application", + "title": "OpenUI5 TypeScript Walkthrough", + "applicationVersion": { + "version": "1.0.0" + } + } +} diff --git a/step-04/Component-preload.js b/step-04/Component-preload.js new file mode 100644 index 00000000..f0d6b6ab --- /dev/null +++ b/step-04/Component-preload.js @@ -0,0 +1,9 @@ +//@ui5-bundle ui5/walkthrough/Component-preload.js +sap.ui.require.preload({ + "ui5/walkthrough/index.js":function(){ +"use strict";sap.ui.define(["sap/ui/core/mvc/XMLView"],function(e){"use strict";e.create({viewName:"ui5.walkthrough.view.App",id:"app"}).then(function(e){e.placeAt("content")})}); +}, + "ui5/walkthrough/manifest.json":'{"_version":"1.60.0","sap.app":{"id":"ui5.walkthrough","type":"application","title":"OpenUI5 TypeScript Walkthrough","applicationVersion":{"version":"1.0.0"}}}', + "ui5/walkthrough/view/App.view.xml":'' +}); +//# sourceMappingURL=Component-preload.js.map diff --git a/step-04/Component-preload.js.map b/step-04/Component-preload.js.map new file mode 100644 index 00000000..cc49e4ef --- /dev/null +++ b/step-04/Component-preload.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Component-preload.js","sections":[{"offset":{"line":1,"column":0},"map":{"version":3,"names":[],"sources":["Component-preload.js?bundle-code-0"],"mappings":"AAAA;AACA","sourcesContent":["sap.ui.require.preload({\n"],"sourceRoot":""}},{"offset":{"line":3,"column":0},"map":{"version":3,"file":"index.js","names":["XMLView","create","viewName","id","then","view","placeAt"],"sources":["index.ts"],"sourcesContent":["import XMLView from \"sap/ui/core/mvc/XMLView\";\n\nXMLView.create({\n viewName: \"ui5.walkthrough.view.App\",\n id: \"app\"\n}).then(function (view) {\n view.placeAt(\"content\");\n});"],"mappings":"AAAA,gFAEAA,EAAQC,OAAO,CACXC,SAAU,2BACVC,GAAI,QACLC,KAAK,SAAUC,GACdA,EAAKC,QAAQ,UACjB,EAAG","sourceRoot":""}}]} \ No newline at end of file diff --git a/step-04/index-cdn.html b/step-04/index-cdn.html new file mode 100644 index 00000000..00afa8d3 --- /dev/null +++ b/step-04/index-cdn.html @@ -0,0 +1,20 @@ + + + + + UI5 TypeScript Walkthrough + + + + + diff --git a/step-04/index-dbg.js b/step-04/index-dbg.js new file mode 100644 index 00000000..a510cb95 --- /dev/null +++ b/step-04/index-dbg.js @@ -0,0 +1,13 @@ +"use strict"; + +sap.ui.define(["sap/ui/core/mvc/XMLView"], function (XMLView) { + "use strict"; + + XMLView.create({ + viewName: "ui5.walkthrough.view.App", + id: "app" + }).then(function (view) { + view.placeAt("content"); + }); +}); +//# sourceMappingURL=index-dbg.js.map diff --git a/step-04/index-dbg.js.map b/step-04/index-dbg.js.map new file mode 100644 index 00000000..3bf87746 --- /dev/null +++ b/step-04/index-dbg.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-dbg.js","names":["XMLView","create","viewName","id","then","view","placeAt"],"sources":["index.ts"],"sourcesContent":["import XMLView from \"sap/ui/core/mvc/XMLView\";\n\nXMLView.create({\n viewName: \"ui5.walkthrough.view.App\",\n id: \"app\"\n}).then(function (view) {\n view.placeAt(\"content\");\n});"],"mappings":";;;;;EAEAA,OAAO,CAACC,MAAM,CAAC;IACXC,QAAQ,EAAE,0BAA0B;IACpCC,EAAE,EAAE;EACR,CAAC,CAAC,CAACC,IAAI,CAAC,UAAUC,IAAI,EAAE;IACpBA,IAAI,CAACC,OAAO,CAAC,SAAS,CAAC;EAC3B,CAAC,CAAC;AAAC"} \ No newline at end of file diff --git a/step-04/index.html b/step-04/index.html new file mode 100644 index 00000000..495059d7 --- /dev/null +++ b/step-04/index.html @@ -0,0 +1,20 @@ + + + + + UI5 TypeScript Walkthrough + + + + + diff --git a/step-04/index.js b/step-04/index.js new file mode 100644 index 00000000..e0cfe4ab --- /dev/null +++ b/step-04/index.js @@ -0,0 +1,2 @@ +"use strict";sap.ui.define(["sap/ui/core/mvc/XMLView"],function(e){"use strict";e.create({viewName:"ui5.walkthrough.view.App",id:"app"}).then(function(e){e.placeAt("content")})}); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/step-04/index.js.map b/step-04/index.js.map new file mode 100644 index 00000000..29e85dce --- /dev/null +++ b/step-04/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","names":["XMLView","create","viewName","id","then","view","placeAt"],"sources":["index.ts"],"sourcesContent":["import XMLView from \"sap/ui/core/mvc/XMLView\";\n\nXMLView.create({\n viewName: \"ui5.walkthrough.view.App\",\n id: \"app\"\n}).then(function (view) {\n view.placeAt(\"content\");\n});"],"mappings":"gFAEAA,EAAQC,OAAO,CACXC,SAAU,2BACVC,GAAI,QACLC,KAAK,SAAUC,GACdA,EAAKC,QAAQ,UACjB,EAAG"} \ No newline at end of file diff --git a/step-04/index.ts b/step-04/index.ts new file mode 100644 index 00000000..1d9ef897 --- /dev/null +++ b/step-04/index.ts @@ -0,0 +1,8 @@ +import XMLView from "sap/ui/core/mvc/XMLView"; + +XMLView.create({ + viewName: "ui5.walkthrough.view.App", + id: "app" +}).then(function (view) { + view.placeAt("content"); +}); \ No newline at end of file diff --git a/step-04/manifest.json b/step-04/manifest.json new file mode 100644 index 00000000..90f0f71b --- /dev/null +++ b/step-04/manifest.json @@ -0,0 +1,11 @@ +{ + "_version": "1.60.0", + "sap.app": { + "id": "ui5.walkthrough", + "type": "application", + "title": "OpenUI5 TypeScript Walkthrough", + "applicationVersion": { + "version": "1.0.0" + } + } +} diff --git a/step-04/view/App.view.xml b/step-04/view/App.view.xml new file mode 100644 index 00000000..4cb117c1 --- /dev/null +++ b/step-04/view/App.view.xml @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/step-05/Component-preload.js b/step-05/Component-preload.js new file mode 100644 index 00000000..2eb243fc --- /dev/null +++ b/step-05/Component-preload.js @@ -0,0 +1,12 @@ +//@ui5-bundle ui5/walkthrough/Component-preload.js +sap.ui.require.preload({ + "ui5/walkthrough/controller/App.controller.js":function(){ +"use strict";sap.ui.define(["sap/ui/core/mvc/Controller"],function(o){"use strict";const e=o.extend("ui5.walkthrough.controller.App",{onShowHello:function o(){alert("Hello World")}});return e}); +}, + "ui5/walkthrough/index.js":function(){ +"use strict";sap.ui.define(["sap/ui/core/mvc/XMLView"],function(e){"use strict";e.create({viewName:"ui5.walkthrough.view.App",id:"app"}).then(function(e){e.placeAt("content")})}); +}, + "ui5/walkthrough/manifest.json":'{"_version":"1.60.0","sap.app":{"id":"ui5.walkthrough","type":"application","title":"OpenUI5 TypeScript Walkthrough","applicationVersion":{"version":"1.0.0"}}}', + "ui5/walkthrough/view/App.view.xml":'' +}); +//# sourceMappingURL=Component-preload.js.map diff --git a/step-05/Component-preload.js.map b/step-05/Component-preload.js.map new file mode 100644 index 00000000..444429b2 --- /dev/null +++ b/step-05/Component-preload.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Component-preload.js","sections":[{"offset":{"line":1,"column":0},"map":{"version":3,"names":[],"sources":["Component-preload.js?bundle-code-0"],"mappings":"AAAA;AACA","sourcesContent":["sap.ui.require.preload({\n"],"sourceRoot":""}},{"offset":{"line":3,"column":0},"map":{"version":3,"file":"App.controller.js","names":["AppController","Controller","extend","onShowHello","_onShowHello","alert"],"sources":["App.controller.ts"],"sourcesContent":["import Controller from \"sap/ui/core/mvc/Controller\";\n\n/**\n * @name ui5.walkthrough.controller.App\n */\nexport default class AppController extends Controller {\n onShowHello(): void {\n // show a native JavaScript alert\n alert(\"Hello World\");\n }\n};\n"],"mappings":"AAAA,mFAEA,MAGqBA,EAAsBC,EAAUC,OAAA,kCACjDC,YAAW,SAAAC,IAEPC,MAAM,cACT,IACH,OALmBL,CAAa","sourceRoot":"controller"}},{"offset":{"line":6,"column":0},"map":{"version":3,"file":"index.js","names":["XMLView","create","viewName","id","then","view","placeAt"],"sources":["index.ts"],"sourcesContent":["import XMLView from \"sap/ui/core/mvc/XMLView\";\n\nXMLView.create({\n viewName: \"ui5.walkthrough.view.App\",\n id: \"app\"\n}).then(function (view) {\n view.placeAt(\"content\");\n});"],"mappings":"AAAA,gFAEAA,EAAQC,OAAO,CACXC,SAAU,2BACVC,GAAI,QACLC,KAAK,SAAUC,GACdA,EAAKC,QAAQ,UACjB,EAAG","sourceRoot":""}}]} \ No newline at end of file diff --git a/step-05/controller/App-dbg.controller.js b/step-05/controller/App-dbg.controller.js new file mode 100644 index 00000000..cdb84472 --- /dev/null +++ b/step-05/controller/App-dbg.controller.js @@ -0,0 +1,18 @@ +"use strict"; + +sap.ui.define(["sap/ui/core/mvc/Controller"], function (Controller) { + "use strict"; + + /** + * @name ui5.walkthrough.controller.App + */ + const AppController = Controller.extend("ui5.walkthrough.controller.App", { + onShowHello: function _onShowHello() { + // show a native JavaScript alert + alert("Hello World"); + } + }); + ; + return AppController; +}); +//# sourceMappingURL=App-dbg.controller.js.map diff --git a/step-05/controller/App-dbg.controller.js.map b/step-05/controller/App-dbg.controller.js.map new file mode 100644 index 00000000..f10b9460 --- /dev/null +++ b/step-05/controller/App-dbg.controller.js.map @@ -0,0 +1 @@ +{"version":3,"file":"App-dbg.controller.js","names":["AppController","Controller","extend","onShowHello","_onShowHello","alert"],"sources":["App.controller.ts"],"sourcesContent":["import Controller from \"sap/ui/core/mvc/Controller\";\n\n/**\n * @name ui5.walkthrough.controller.App\n */\nexport default class AppController extends Controller {\n onShowHello(): void {\n // show a native JavaScript alert\n alert(\"Hello World\");\n }\n};\n"],"mappings":";;;;;EAEA;AACA;AACA;EAFA,MAGqBA,aAAa,GAASC,UAAU,CAAAC,MAAA;IACjDC,WAAW,WAAAC,aAAA,EAAS;MAChB;MACAC,KAAK,CAAC,aAAa,CAAC;IACvB;EAAC;EACL;EAAC,OALmBL,aAAa;AAAA"} \ No newline at end of file diff --git a/step-05/controller/App.controller.js b/step-05/controller/App.controller.js new file mode 100644 index 00000000..816ee69c --- /dev/null +++ b/step-05/controller/App.controller.js @@ -0,0 +1,2 @@ +"use strict";sap.ui.define(["sap/ui/core/mvc/Controller"],function(o){"use strict";const e=o.extend("ui5.walkthrough.controller.App",{onShowHello:function o(){alert("Hello World")}});return e}); +//# sourceMappingURL=App.controller.js.map \ No newline at end of file diff --git a/step-05/controller/App.controller.js.map b/step-05/controller/App.controller.js.map new file mode 100644 index 00000000..f3883fc7 --- /dev/null +++ b/step-05/controller/App.controller.js.map @@ -0,0 +1 @@ +{"version":3,"file":"App.controller.js","names":["AppController","Controller","extend","onShowHello","_onShowHello","alert"],"sources":["App.controller.ts"],"sourcesContent":["import Controller from \"sap/ui/core/mvc/Controller\";\n\n/**\n * @name ui5.walkthrough.controller.App\n */\nexport default class AppController extends Controller {\n onShowHello(): void {\n // show a native JavaScript alert\n alert(\"Hello World\");\n }\n};\n"],"mappings":"mFAEA,MAGqBA,EAAsBC,EAAUC,OAAA,kCACjDC,YAAW,SAAAC,IAEPC,MAAM,cACT,IACH,OALmBL,CAAa"} \ No newline at end of file diff --git a/step-05/controller/App.controller.ts b/step-05/controller/App.controller.ts new file mode 100644 index 00000000..4cd4c3fa --- /dev/null +++ b/step-05/controller/App.controller.ts @@ -0,0 +1,11 @@ +import Controller from "sap/ui/core/mvc/Controller"; + +/** + * @name ui5.walkthrough.controller.App + */ +export default class AppController extends Controller { + onShowHello(): void { + // show a native JavaScript alert + alert("Hello World"); + } +}; diff --git a/step-05/index-cdn.html b/step-05/index-cdn.html new file mode 100644 index 00000000..00afa8d3 --- /dev/null +++ b/step-05/index-cdn.html @@ -0,0 +1,20 @@ + + + + + UI5 TypeScript Walkthrough + + + + + diff --git a/step-05/index-dbg.js b/step-05/index-dbg.js new file mode 100644 index 00000000..a510cb95 --- /dev/null +++ b/step-05/index-dbg.js @@ -0,0 +1,13 @@ +"use strict"; + +sap.ui.define(["sap/ui/core/mvc/XMLView"], function (XMLView) { + "use strict"; + + XMLView.create({ + viewName: "ui5.walkthrough.view.App", + id: "app" + }).then(function (view) { + view.placeAt("content"); + }); +}); +//# sourceMappingURL=index-dbg.js.map diff --git a/step-05/index-dbg.js.map b/step-05/index-dbg.js.map new file mode 100644 index 00000000..3bf87746 --- /dev/null +++ b/step-05/index-dbg.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-dbg.js","names":["XMLView","create","viewName","id","then","view","placeAt"],"sources":["index.ts"],"sourcesContent":["import XMLView from \"sap/ui/core/mvc/XMLView\";\n\nXMLView.create({\n viewName: \"ui5.walkthrough.view.App\",\n id: \"app\"\n}).then(function (view) {\n view.placeAt(\"content\");\n});"],"mappings":";;;;;EAEAA,OAAO,CAACC,MAAM,CAAC;IACXC,QAAQ,EAAE,0BAA0B;IACpCC,EAAE,EAAE;EACR,CAAC,CAAC,CAACC,IAAI,CAAC,UAAUC,IAAI,EAAE;IACpBA,IAAI,CAACC,OAAO,CAAC,SAAS,CAAC;EAC3B,CAAC,CAAC;AAAC"} \ No newline at end of file diff --git a/step-05/index.html b/step-05/index.html new file mode 100644 index 00000000..495059d7 --- /dev/null +++ b/step-05/index.html @@ -0,0 +1,20 @@ + + + + + UI5 TypeScript Walkthrough + + + + + diff --git a/step-05/index.js b/step-05/index.js new file mode 100644 index 00000000..e0cfe4ab --- /dev/null +++ b/step-05/index.js @@ -0,0 +1,2 @@ +"use strict";sap.ui.define(["sap/ui/core/mvc/XMLView"],function(e){"use strict";e.create({viewName:"ui5.walkthrough.view.App",id:"app"}).then(function(e){e.placeAt("content")})}); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/step-05/index.js.map b/step-05/index.js.map new file mode 100644 index 00000000..29e85dce --- /dev/null +++ b/step-05/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","names":["XMLView","create","viewName","id","then","view","placeAt"],"sources":["index.ts"],"sourcesContent":["import XMLView from \"sap/ui/core/mvc/XMLView\";\n\nXMLView.create({\n viewName: \"ui5.walkthrough.view.App\",\n id: \"app\"\n}).then(function (view) {\n view.placeAt(\"content\");\n});"],"mappings":"gFAEAA,EAAQC,OAAO,CACXC,SAAU,2BACVC,GAAI,QACLC,KAAK,SAAUC,GACdA,EAAKC,QAAQ,UACjB,EAAG"} \ No newline at end of file diff --git a/step-05/index.ts b/step-05/index.ts new file mode 100644 index 00000000..1d9ef897 --- /dev/null +++ b/step-05/index.ts @@ -0,0 +1,8 @@ +import XMLView from "sap/ui/core/mvc/XMLView"; + +XMLView.create({ + viewName: "ui5.walkthrough.view.App", + id: "app" +}).then(function (view) { + view.placeAt("content"); +}); \ No newline at end of file diff --git a/step-05/manifest.json b/step-05/manifest.json new file mode 100644 index 00000000..90f0f71b --- /dev/null +++ b/step-05/manifest.json @@ -0,0 +1,11 @@ +{ + "_version": "1.60.0", + "sap.app": { + "id": "ui5.walkthrough", + "type": "application", + "title": "OpenUI5 TypeScript Walkthrough", + "applicationVersion": { + "version": "1.0.0" + } + } +} diff --git a/step-05/view/App.view.xml b/step-05/view/App.view.xml new file mode 100644 index 00000000..6c80fdd8 --- /dev/null +++ b/step-05/view/App.view.xml @@ -0,0 +1,7 @@ + +