Giter Site home page Giter Site logo

ui5con2022-p13n-ws's Introduction

P13nify Everything - Personalization for Any Control

⚠️ Note

The tutorial moved to https://github.com/SAP-samples/ui5-p13n-tutorial. This git repo will become an archive and will not receive updates.

Made with ❤️ for
UI5Con Hybrid 2022

Description

In this tutorial you can learn how to add personalization capabilities to almost every control. If you have a custom control that you would like to enhance with filtering, sorting, or other options this tutorial is for you.

You will be lead through the enablement of a custom control using the assets provided by UI5. You can also learn, how to use those assets to enhance your application with personalization capabilities. You should be able to apply your knowledge afterwards in your own application or control development.

A recording of the corresponding UI5Con workshop is available on UI5con HYBRID 2022: P13nify Everything - Personalization for Any Control (Workshop).

UI5 Components in Focus

  • sap.m.p13n.Engine
  • sap.ui.fl.variants.VariantManagement

Disclaimer

The sap.m.p13n.Engine is currently in the status experimental. It is included in UI5 and usable, but we are still considerung minor changes of the API. This is why for productive usage you should wait for the public release, which we plan for one of the next UI5 versions. Thank you for your understanding!

Prerequisites

  • Intermediate UI5 knowledge (e.g. application or control development)
  • Tools: git, Node.js
  • Code Editor

Exercises

  1. Setup the Application
  2. Custom Table for P13n (sources, run app)
  3. Engine Registration (sources, run app)
  4. Column Selection (sources, run app)
  5. Sorting and Grouping (sources, run app)
  6. Changing Control State (sources, run app)
  7. Grid Filter Control (sources, run app)
  8. Filtering the Table (sources, run app)
  9. Info Toolbar for Filters (sources, run app)
  10. Customizations and Clear Filters (sources, run app)
  11. VariantManagement (sources, run app)

Final Application

This is the application you build during the tutorial:

Sample Application

Have a look now!

Feedback and Issues

Please do not hesitate to let us know if you find something that is wrong or could be improved. You can open a new issue in this repository.

Authors

License

Copyright (c) 2022 SAP SE or an SAP affiliate company. All rights reserved.

ui5con2022-p13n-ws's People

Contributors

bendkt avatar

Stargazers

 avatar Florian Vogt avatar t-O.y avatar Marco Beier avatar Marian Zeis avatar Benjamin Reim avatar Gregor Wolf avatar  avatar Abdullah GÜNEŞ avatar Fabian avatar

Watchers

 avatar

ui5con2022-p13n-ws's Issues

exercises don't work anymore?

I guess the example doesn't work anymore? Could it be possible?

Engine - from exercise 3

 Engine.register(this, {
            helper: this.oHelper,
            modification: new ModificationHandler(),
            controller: {
                Columns: new SelectionController({
                    control: this,
                    targetAggregation: "columns"
                })
            }
        });

reuslts in =>

TypeError: Engine.show is not a function. (In 'Engine.show(this, ["Columns"], {
            title: "Table Settings",
            source: oEvent.getSource()
        })', 'Engine.show' is undefined)

It works if I build an instance this Engine = new Engine()and use after that this.Engine.register....

open Dialog

 (this.)Engine.show(this, ["Columns"], {
            title: "Table Settings",
            source: oEvent.getSource()
        });

update: Use Engine.getInstance() as if ishown in example for p13n

Engine.getInstance().show(this, ["Columns"], {
            title: "Table Settings",
            source: oEvent.getSource()
        });

reuslts in =>

this.getModificationHandler(t).hasChanges is not a function. (In 'this.getModificationHandler(t).hasChanges({selector:t,changeTypes:r},i?.payload)', 'this.getModificationHandler(t).hasChanges' is undefined)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.