Skip to content

Commit d7cfa7a

Browse files
Add files via upload
1 parent dc8cd90 commit d7cfa7a

File tree

10 files changed

+229
-2
lines changed

10 files changed

+229
-2
lines changed

.gitignore

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
.DS_Store
2+
node_modules
3+
/dist
4+
5+
# local env files
6+
.env.local
7+
.env.*.local
8+
9+
# Log files
10+
npm-debug.log*
11+
yarn-debug.log*
12+
yarn-error.log*
13+
14+
# Editor directories and files
15+
.idea
16+
.vscode
17+
*.suo
18+
*.ntvs*
19+
*.njsproj
20+
*.sln
21+
*.sw?

README.md

+34-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,34 @@
1-
# create-a-vue-list-box-component-using-vue-cli
2-
A quick start project that helps you to create a simple Vue ListBox of Syncfusion using Vue CLI.
1+
# How to Get Started with the Syncfusion Vue ListBox
2+
3+
Learn how easily you can create and configure the Syncfusion Vue ListBox using Vue CLI. You will see how to populate JSON data and remote data sources to the ListBox, how to sort the data source, and how to set a custom height and width for the ListBox pop-up.
4+
5+
Documentatio Link: https://ej2.syncfusion.com/vue/documentation/list-box/getting-started/
6+
7+
Demo Link: https://ej2.syncfusion.com/vue/demos/#/material/list-box/default.html
8+
9+
## Project pre-requisites
10+
Make sure that you have the compatible versions of Node and Vue-Cli in your machine before starting to work on this project.
11+
12+
## How to run this application?
13+
To run this application, you need to first clone the `create-a-vue-list-box-component-using-vue-cli` repository and then navigate to its appropriate path where it has been located in your system.
14+
15+
To do so, open the command prompt and run the below commands one after the other.
16+
17+
```
18+
git clone https://github.com/SyncfusionExamples/creata-a-vue-list-box-component-using-vue-cli list-box
19+
cd list-box
20+
```
21+
22+
## Installing
23+
Once done with downloading, next you need to install the necessary packages required to run this application locally. The `npm install` command will install all the needed Vue packages into your current project and to do so, run the below command.
24+
25+
```
26+
npm install
27+
```
28+
29+
## Running on development server
30+
Run `npm run serve` command for a dev server. Navigate to `http://localhost:8080/`. The app will automatically reload if you change any of the source files.
31+
32+
## Further help
33+
34+
To get more help on the vue CLI use go check out the [Vue-Cli README](https://github.com/vuejs/vue-cli/blob/master/README.md).

babel.config.js

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
module.exports = {
2+
presets: [
3+
'@vue/cli-plugin-babel/preset'
4+
]
5+
}

package.json

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
{
2+
"name": "list-box",
3+
"version": "0.1.0",
4+
"private": true,
5+
"scripts": {
6+
"serve": "vue-cli-service serve",
7+
"build": "vue-cli-service build",
8+
"lint": "vue-cli-service lint"
9+
},
10+
"dependencies": {
11+
"@syncfusion/ej2-vue-dropdowns": "^17.3.27",
12+
"core-js": "^3.3.2",
13+
"vue": "^2.6.10"
14+
},
15+
"devDependencies": {
16+
"@vue/cli-plugin-babel": "^4.0.0",
17+
"@vue/cli-plugin-eslint": "^4.0.0",
18+
"@vue/cli-service": "^4.0.0",
19+
"babel-eslint": "^10.0.3",
20+
"eslint": "^5.16.0",
21+
"eslint-plugin-vue": "^5.0.0",
22+
"vue-template-compiler": "^2.6.10"
23+
},
24+
"eslintConfig": {
25+
"root": true,
26+
"env": {
27+
"node": true
28+
},
29+
"extends": [
30+
"plugin:vue/essential",
31+
"eslint:recommended"
32+
],
33+
"rules": {},
34+
"parserOptions": {
35+
"parser": "babel-eslint"
36+
}
37+
},
38+
"postcss": {
39+
"plugins": {
40+
"autoprefixer": {}
41+
}
42+
},
43+
"browserslist": [
44+
"> 1%",
45+
"last 2 versions"
46+
]
47+
}

public/favicon.ico

4.19 KB
Binary file not shown.

public/index.html

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="utf-8">
5+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
6+
<meta name="viewport" content="width=device-width,initial-scale=1.0">
7+
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
8+
<title>list-box</title>
9+
</head>
10+
<body>
11+
<noscript>
12+
<strong>We're sorry but list-box doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
13+
</noscript>
14+
<div id="app"></div>
15+
<!-- built files will be auto injected -->
16+
</body>
17+
</html>

src/App.vue

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<template>
2+
<div id="app">
3+
<div style="margin:10% 25%; width:250px">
4+
<br>
5+
<ejs-listbox :dataSource='dataItem' :fields='dataFields'
6+
popupHeight="200px" popupWidth="250px" sortOrder="Descending" >
7+
</ejs-listbox>
8+
</div>
9+
</div>
10+
</template>
11+
12+
<script>
13+
import Vue from "vue";
14+
import {ListBoxPlugin} from "@syncfusion/ej2-vue-dropdowns";
15+
Vue.use(ListBoxPlugin);
16+
//import {DataManager, WebApiAdaptor} from "@syncfusion/ej2-data";
17+
export default Vue.extend({
18+
data: function() {
19+
return {
20+
dataItems: [
21+
{ Id: 'game1', Game: 'Football' },
22+
{ Id: 'game2', Game: 'Basketball' },
23+
{ Id: 'game3', Game: 'Volleyball' }
24+
],
25+
dataFields: { text: 'Game', value: 'Id' },
26+
// dataData: new DataManager({
27+
// url: 'https://ej2services.syncfusion.com/production/web-services/api/Employees',
28+
// adaptor: new WebApiAdaptor,
29+
// crossDomain: true
30+
// }),
31+
// dataFields: { text: 'FirstName', value: 'EmployeeID' }
32+
};
33+
}
34+
});
35+
</script>
36+
37+
<style>
38+
@import url(https://cdn.syncfusion.com/ej2/material.css);
39+
</style>

src/assets/logo.png

6.69 KB
Loading

src/components/HelloWorld.vue

+58
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
<template>
2+
<div class="hello">
3+
<h1>{{ msg }}</h1>
4+
<p>
5+
For a guide and recipes on how to configure / customize this project,<br>
6+
check out the
7+
<a href="https://cli.vuejs.org" target="_blank" rel="noopener">vue-cli documentation</a>.
8+
</p>
9+
<h3>Installed CLI Plugins</h3>
10+
<ul>
11+
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li>
12+
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint" target="_blank" rel="noopener">eslint</a></li>
13+
</ul>
14+
<h3>Essential Links</h3>
15+
<ul>
16+
<li><a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a></li>
17+
<li><a href="https://forum.vuejs.org" target="_blank" rel="noopener">Forum</a></li>
18+
<li><a href="https://chat.vuejs.org" target="_blank" rel="noopener">Community Chat</a></li>
19+
<li><a href="https://twitter.com/vuejs" target="_blank" rel="noopener">Twitter</a></li>
20+
<li><a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a></li>
21+
</ul>
22+
<h3>Ecosystem</h3>
23+
<ul>
24+
<li><a href="https://router.vuejs.org" target="_blank" rel="noopener">vue-router</a></li>
25+
<li><a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a></li>
26+
<li><a href="https://github.com/vuejs/vue-devtools#vue-devtools" target="_blank" rel="noopener">vue-devtools</a></li>
27+
<li><a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener">vue-loader</a></li>
28+
<li><a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">awesome-vue</a></li>
29+
</ul>
30+
</div>
31+
</template>
32+
33+
<script>
34+
export default {
35+
name: 'HelloWorld',
36+
props: {
37+
msg: String
38+
}
39+
}
40+
</script>
41+
42+
<!-- Add "scoped" attribute to limit CSS to this component only -->
43+
<style scoped>
44+
h3 {
45+
margin: 40px 0 0;
46+
}
47+
ul {
48+
list-style-type: none;
49+
padding: 0;
50+
}
51+
li {
52+
display: inline-block;
53+
margin: 0 10px;
54+
}
55+
a {
56+
color: #42b983;
57+
}
58+
</style>

src/main.js

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import Vue from 'vue'
2+
import App from './App.vue'
3+
4+
Vue.config.productionTip = false
5+
6+
new Vue({
7+
render: h => h(App),
8+
}).$mount('#app')

0 commit comments

Comments
 (0)