Migration Guide
From 2.1.0 to 2.2.0
For more details please check Changelog
- Copy over dependencies from package.json or install the following packages if you use fullcalendar or world map
{
"d3": "^5.7.0",
"datamaps": "^0.5.9",
"fullcalendar": "^4.0.0-alpha.3",
"topojson": "^3.0.2"
}
- Upgrade the following dependencies
{
"chart.js": "^2.7.2",
"fullcalendar": "^4.0.0-alpha.3",
"sweetalert2": "^6.11.4",
"vee-validate": "^2.1.4",
"vue": "^2.5.21",
"vue-chartjs": "^3.3.2"
}
- If you haven't changed the code from
src/components/UIComponents
, simply copy the folder from the zip archive to your project. Here's the list of components that were changed:
Wizard.vue
formGroupInput.vue
Switch.vue
Charts folder (Better copy the whole folder)
SidebarPlugin/index.js
- Copy over
src/assets/sass
folder. Below is the list of files that changed
From 1.1.0 to 2.0.0
2.0.0 includes 2 major changes:
upgrade to Vue CLI 3
upgrade from Bootstrap 3 to Bootstrap 4.
2.0.0 also includes lots of new custom components, bug fixes and style tweaks.
The changes below might seem a bit painful at first sight and they might require
1 or 2 hours of your time but the end benefits are pretty big especially for the Vue CLI 3 upgrade.
You won't have to worry about webpack stuff anymore, complicated config files as well as tons of dependencies.
This is all handled by Vue CLI 3. You can add new plugins such as PWA support only by typing
vue add pwa
. For more details check out the docs for that
A more easy update could be to use this project structure as it is and copy paste
your own src/components/Dashboard
, routes
folder and sidebarLinks.js
file.
If you had extra dependencies installed, make sure you add them. Same applies to modified/added css assets or images.
Also please follow the changes. Due to the fact that Bootstrap introduced quite a lot of changes from version 3 to 4, make sure you go through the Bootstrap 4 related changes below (especially grid and card changes)
If the above doesn't work, please follow the detailed changes and try to update step by step. If you have troubles, feel free to contact us via support.
Vue CLI 3 related changes:
We recommend using
yarn
. Latestnpm
versions are a bit buggy. Also a strong recommendation is to not use npm and yarn together as it will cause ugly issues. Use only one of them.Move
static
folder andindex.html
topublic
folder. Add images from dashboardpublic/static/img
to your project.Replace
devDependencies
andscripts
in package.json with those from version 2.0.0. If you have some extra dependencies added, make sure you add them as well along with the list of dev dependencies from v2.Copy over
.bablerc
,vue.config.js
file from version v2.0.0Delete
build
andconfig
folders. If you have custom webpack configuration, please visit the documentation of Vue CLI on how to change webpack related stuff.Copy over
src/components/UIComponents
,src/globalComponents.js
,src/assets
from v2.0.0 in your project
Bootstrap 4 related changes:
Update bootstrap version in index.html "https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/css/bootstrap.min.css"
Package additions:
vue2-transitions
All
col-xs-
should be converted tocol-
. Bootstrap 4 is mobile first and thereforecol-
will affect all screen sizes including the smallest.We added new components for cards, buttons. Please make sure you use them. If you have plain html for cards. Change
card-content
class withcard-body
. This is necessary so we are inline with Bootstrap 4 cards.If you used the timeline, make sure you import it from the base components folder.
import {TimeLine, TimeLineItem} from 'src/components/UIComponents'
. Thebody
slot changed tocontent
slot. Also, make sure you use the new provided set of icons. A small change regarding timeline is that old plain labels can now be replaced with badges. For example<span class="label label-success">Another Title</span>
-><badge type="success">Another Title</badge>
Badge component can be imported like this:import {Badge} from 'src/components/UIComponents'
We provided custom components for collapse, collapse item. They have the same behaviour as those from element ui so you can simply replace
<el-collapse>
with<collapse>
and<el-collapse-item>
with<collapse-item>
. To import Collapse components just useimport {Collapse, CollapseItem} from 'src/components/UIComponents'
For tabs we created new components located right in the project. Import the components
import {Tabs, TabPane} from 'src/components/UIComponents'
Simply replace.vue-tabs
withtabs
andv-tab
withtab-pane
. For vertical tabs, changedirection="vertical"
prop tovertical
. E.g<tabs vertical>
For dropdown menus links, use
class="dropdown-item"
. Example<a class="dropdown-item" href="#">Action</a>
Dashboard Related Changes
We changed our icon set to
Nucleo Icons
. You can find all the icons here . We still kept the old themify icons inside the project.NewWidgets page
Updated Login, Register, Lock pages
UpdatedCharts
New Components
- Button
- Card
- Bar Chart
- Line Chart
- Doughnut Chart
- Pie Chart
- Collapse
- Navbar
- Modal
- Badge
- Wizard
- Navbar
- InfoSection
- Tabs
Updated Components
- Chart Card
- Stats Card
- Checkbox
- Radio
- Inputs
- Pagination
- DropDown
- Timeline
- Progress
- Sidebar
- CircleChartCard
From 1.0.0 to 1.1.0
If you start a new project, simply use this template as it is.
If you try to upgrade from 1.0.0
to 1.1.0
you should do the following things:
Make sure
dependencies
inpackage.json
are up to date. Especiallyelement-ui
,vue
andvue-router
. You can use a DiffTool to check what has changedIf you didn't change
devDependencies
, simply copy them from this project and runyarn install
ornpm install
If you made changes to thedevDependencies
, make a diff online DiffTool and see what packages were upgraded in comparison to your project. Update them and runyarn install
ornpm install
. Make surevue-template-compiler
has the same version asvue
If you didn't modify
.babelrc
, copy it from this project. If you did, changetheme-default
totheme-chalk
in the plugins sectionCopy over
src/components/UIComponents
folder to your project.Copy
src/assets/sass
folder to your projectCopy
src/pollyfills.js
to your project insidesrc
folder (this is mainly to support IE 9, 10 and 11)If you didn't modify anything inside the
test
folder copy it over to your projectAdd the following lines in your entry/main file
import './pollyfills' import './assets/sass/element_variables.scss'
If you have any problems, feel free to Open an issue
PS: The next updates will be less painless and will not include so many changes.