GithubHelp home page GithubHelp logo

myd-mannheim / ui5-webcomponents-sample-vue Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sap-samples/ui5-webcomponents-sample-vue

0.0 0.0 0.0 10.02 MB

UI5 Web Components Sample TODO application built with Vue.

Home Page: https://sap-samples.github.io/ui5-webcomponents-sample-vue/

License: Other

JavaScript 4.95% Shell 28.65% HTML 5.74% Vue 60.66%

ui5-webcomponents-sample-vue's Introduction

UI5 logo REUSE status

UI5 Web Components Vue Sample Application

Vue sample application to demonstrate the usage of the UI5 Web Components. It shows how to bind properties, to subscribe to events, using nested components and the bootstrapped Vue build.

This project was bootstrapped with Vue CLI

Prerequisites

  • Node.js (version 8.5 or higher โš ๏ธ)

Getting started

  1. Clone this repository using the GitHub Command line tool and navigate into the downloaded directory.

    git clone https://github.com/SAP/ui5-webcomponents-sample-vue.git
    cd ui5-webcomponents-sample-vue
  2. Install all dependencies

    npm install
  3. Start a local server and run the application. (The running application can be found here: http://localhost:8080)

    npm run serve

Noteworthy

Consume UI5 Web Components

Import the desired component(s) in your app to define the UI5 Web Component.

For example, to use ui5-button you need to import it:

import "@ui5/webcomponents/dist/Button"; // loads ui5-button

Then, you can use the custom element in an HTML page:

<ui5-button>Hello world!</ui5-button>

Browser support

Currently only Chrome, Safari and Firefox support Web Components natively.

If your application should run on browsers without native Web Components support (Edge and/or IE11), import one the following modules before your first Web Component import:

Edge only

import "@ui5/webcomponents-base/dist/features/browsersupport/Edge";

Edge and IE11

import "@ui5/webcomponents-base/dist/features/browsersupport/IE11";

Note: Importing the module for IE11 support automatically enables Edge support as well, so there is no need to import them both explicitly.

Example:

import "@ui5/webcomponents-base/dist/features/browsersupport/IE11"; // This will enable Edge and IE11 support for all Web Components below
import "@ui5/webcomponents/dist/Button"; // loads ui5-button
import "@ui5/webcomponents/dist/Label"; // loads ui5-label

Configure Vue to work with Web Components defined outside of it

To use Web Components in Vue Application a configuration option should be provided in the main.js file to tell the Vue about these components. More can be found in the documentation of Vue.config.ignoredElements:

main.js

Vue.config.ignoredElements = [/^ui5-/];

Configure Vue Build

When UI5 Web Components are used they include all of their translation files and CLDR data files in the application bundle. In order to decrease the bundle size of the application a custom Webpack configuration should be provided.

Create vue.config.js file:

vue.config.js

module.exports = {
  configureWebpack: {
    module: {
      rules: [
        {
          test: [/cldr\/.*\.json$/, /i18n\/.*\.json$/],
          loader: 'file-loader',
          options: {
            name: 'static/media/[name].[hash:8].[ext]',
          },
          type: 'javascript/auto'
        }
      ]
    }
  }
};

Where is the npm package?

Limitations

No limitations known.

Known Issues

No major bugs known.

Support

We welcome all comments, suggestions, questions, and bug reports. Please follow our Support Guidelines on how to report an issue, or chat with us in the #webcomponents channel of the OpenUI5 Community Slack.

Contribute to UI5 Web Components

Please check our Contribution Guidelines.

ui5-webcomponents-sample-vue's People

Contributors

adrian-bobev avatar alessandra-souza avatar anselm94 avatar codesofra avatar dependabot[bot] avatar fifoosid avatar ilhan007 avatar mapto0 avatar myd-mannheim avatar vladitasev avatar zhihuidev avatar

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.