v1.0.9 with Bootstrap 4.0.0

This commit is contained in:
xidedix
2018-01-19 23:23:31 +01:00
parent 1e4e117475
commit 7f71b91a5c
37 changed files with 441 additions and 121 deletions
+11 -11
View File
@@ -1,6 +1,6 @@
{
"name": "@coreui/vue",
"version": "1.0.8",
"version": "1.0.9",
"description": "Open Source Bootstrap Admin Template",
"author": "Łukasz Holeczek",
"homepage": "http://coreui.io",
@@ -17,18 +17,18 @@
"lint": "eslint --ext .js,.vue src test/unit/specs test/e2e/specs"
},
"dependencies": {
"bootstrap": "4.0.0-beta.3",
"bootstrap-vue": "1.4.0",
"bootstrap": "4.0.0",
"bootstrap-vue": "1.4.1",
"chart.js": "2.7.1",
"flag-icon-css": "2.9.0",
"font-awesome": "^4.7.0",
"simple-line-icons": "^2.4.1",
"vue": "2.5.13",
"vue-chartjs": "3.0.2",
"vue-chartjs": "3.1.0",
"vue-router": "3.0.1"
},
"devDependencies": {
"autoprefixer": "7.2.4",
"autoprefixer": "7.2.5",
"babel-core": "6.26.0",
"babel-eslint": "8.2.1",
"babel-loader": "7.1.2",
@@ -39,7 +39,7 @@
"chalk": "2.3.0",
"connect-history-api-fallback": "1.5.0",
"copy-webpack-plugin": "4.3.1",
"css-loader": "0.28.8",
"css-loader": "0.28.9",
"eslint": "4.15.0",
"eslint-friendly-formatter": "3.0.0",
"eslint-loader": "1.9.0",
@@ -67,9 +67,9 @@
"karma-spec-reporter": "0.0.32",
"karma-webpack": "2.0.9",
"lolex": "2.3.1",
"mocha": "4.1.0",
"mocha": "5.0.0",
"chai": "4.1.2",
"sinon": "4.1.4",
"sinon": "4.1.6",
"sinon-chai": "2.14.0",
"inject-loader": "3.0.1",
"babel-plugin-istanbul": "4.1.5",
@@ -80,9 +80,9 @@
"node-sass": "4.7.2",
"sass-loader": "6.0.6",
"selenium-server": "3.8.1",
"semver": "5.4.1",
"shelljs": "0.7.8",
"opn": "5.1.0",
"semver": "5.5.0",
"shelljs": "0.8.0",
"opn": "5.2.0",
"optimize-css-assets-webpack-plugin": "3.2.0",
"ora": "1.3.0",
"rimraf": "2.6.2",
+1 -1
View File
@@ -1,6 +1,6 @@
/*!
* CoreUI - Open Source Bootstrap Admin Template
* @version v1.0.8
* @version v1.0.9
* @link http://coreui.io
* Copyright (c) 2018 creativeLabs Łukasz Holeczek
* @license MIT
@@ -12,6 +12,9 @@
<template v-else-if="item.divider">
<SidebarNavDivider :classes="item.class"/>
</template>
<template v-else-if="item.label">
<SidebarNavLabel :name="item.name" :url="item.url" :icon="item.icon" :label="item.label" :classes="item.class"/>
</template>
<template v-else>
<template v-if="item.children">
<!-- First level dropdown -->
@@ -57,6 +60,7 @@ import SidebarNavDropdown from './SidebarNavDropdown'
import SidebarNavLink from './SidebarNavLink'
import SidebarNavTitle from './SidebarNavTitle'
import SidebarNavItem from './SidebarNavItem'
import SidebarNavLabel from './SidebarNavLabel'
export default {
name: 'sidebar',
props: {
@@ -75,7 +79,8 @@ export default {
SidebarNavDropdown,
SidebarNavLink,
SidebarNavTitle,
SidebarNavItem
SidebarNavItem,
SidebarNavLabel
},
methods: {
handleClick (e) {
@@ -0,0 +1,59 @@
<template>
<SidebarNavItem :classes="classList.navItem">
<a :class="classList.navLink" :href="url"><i :class="classList.icon"></i> {{name}}</a>
</SidebarNavItem>
</template>
<script>
import SidebarNavItem from './SidebarNavItem'
import SidebarNavLink from './SidebarNavLink'
export default {
name: 'sidebar-nav-label',
components: {
SidebarNavItem,
SidebarNavLink
},
props: {
name: {
type: String,
default: ''
},
url: {
type: String,
default: '#'
},
icon: {
type: String,
default: 'fa fa-circle'
},
classes: {
type: String,
default: ''
},
label: {
type: Object,
required: true,
default: () => {}
}
},
computed: {
classList () {
const classes = {
navItem: ['hidden-cn', ...this.getClasses(this.classes)].join(' '),
navLink: 'nav-label',
icon: [
this.icon ? this.icon : 'fa fa-circle',
this.label.variant ? `text-${this.label.variant}` : '',
this.label.class ? this.label.class : ''
].join(' ')
}
return classes
}
},
methods: {
getClasses (classes) {
return classes ? classes.split(' ') : []
}
}
}
</script>
+1 -1
View File
@@ -3,7 +3,7 @@ import Breadcrumb from './Breadcrumb.vue'
import Callout from './Callout.vue'
import Footer from './Footer.vue'
import Header from './Header.vue'
import Sidebar from './Sidebar.vue'
import Sidebar from './Sidebar/Sidebar.vue'
import Switch from './Switch.vue'
export {
+4 -1
View File
@@ -31,7 +31,10 @@ module.exports = {
desiredCapabilities: {
browserName: 'chrome',
javascriptEnabled: true,
acceptSslCerts: true
acceptSslCerts: true,
chromeOptions : {
args : ["start-maximized", "--incognito"]
}
}
},
+72 -8
View File
@@ -2,18 +2,82 @@
// http://nightwatchjs.org/guide#usage
module.exports = {
'default e2e tests': function (browser) {
before : function(browser) {
console.log('Setting up...');
},
after : function(browser) {
console.log('Closing down...');
},
'CoreUI Vue_Starter e2e tests': function (browser) {
// automatically uses dev Server port from /config.index.js
// default: http://localhost:8080
// see nightwatch.conf.js
const devServer = browser.globals.devServerURL
const devServer = browser.globals.devServerURL;
browser
.url(devServer)
.waitForElementVisible('#app', 5000)
.assert.elementPresent('.hello')
.assert.containsText('h1', 'Welcome to Your Vue.js App')
.assert.elementCount('img', 1)
.end()
.pause(500)
.expect.element('body').to.be.present;
browser.waitForElementVisible('.app > .app', 3000)
.assert.elementPresent('.app-header')
.assert.elementPresent('.app-header > .navbar-brand')
.assert.elementPresent('.app-body')
.assert.elementPresent('.app-body > .main > .breadcrumb')
.assert.elementPresent('.app-body > .main > .container-fluid > .animated > p')
.assert.containsText('.container-fluid > .animated > p', 'Hello World')
.assert.elementPresent('.app-body > .sidebar > .sidebar-nav')
.assert.elementPresent('.app-body > .sidebar > .sidebar-minimizer')
.assert.elementPresent('.app-footer')
.assert.containsText('.app-footer > span', 'creativeLabs')
.assert.containsText('.app-footer > span.ml-auto', 'Powered by')
.assert.elementCount('button', 4)
.resizeWindow(1024, 800)
.pause(500);
browser.click('body > div > header > button.navbar-toggler.aside-menu-toggler.d-md-down-none', function(response) {
this.assert.ok(browser === this, 'Check if the context is right.');
this.assert.cssClassNotPresent('body', 'aside-menu-hidden');
});
browser.pause(500);
browser.click('body > div > header > button.navbar-toggler.aside-menu-toggler.d-md-down-none', function(response) {
this.assert.cssClassPresent('body', 'aside-menu-hidden');
});
browser.pause(500);
browser
.useXpath()
.click('/html/body/div/header/button[2]', function(response) {
this.assert.cssClassPresent('/html/body', 'sidebar-hidden');
});
browser
.pause(500)
.click('/html/body/div/header/button[2]', function(response) {
this.assert.cssClassNotPresent('/html/body', 'sidebar-hidden');
});
browser
.pause(500)
.click('/html/body/div/div/div/button', function(response) {
this.assert.cssClassPresent('/html/body', 'sidebar-minimized');
this.assert.cssClassPresent('/html/body', 'brand-minimized');
})
.pause(500)
.click('/html/body/div/div/div/button', function(response) {
this.assert.cssClassNotPresent('/html/body', 'sidebar-minimized');
this.assert.cssClassNotPresent('/html/body', 'brand-minimized');
});
browser
.pause(3000)
.end();
}
}
};