Skip to content
This repository was archived by the owner on Dec 5, 2022. It is now read-only.

feat: multiple presets #91

Merged
merged 2 commits into from
Sep 20, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 21 additions & 4 deletions meta.js
Original file line number Diff line number Diff line change
Expand Up @@ -78,18 +78,35 @@ module.exports = {
default: 'MIT',
when: '!inPlace',
},
router: {
type: 'confirm',
label: 'Install vue-router? (experimental)',
default: false,
preset: {
type: 'list',
label: 'Select a preset (more coming soon)',
choices: [
'Simple',
'TabView',
'SideDrawer',
],
default: 'Simple',
when: '!inPlace',
},
// router: {
// type: 'confirm',
// label: 'Install vue-router? (experimental)',
// default: false,
// when: '!inPlace',
// },
store: {
type: 'confirm',
label: 'Install vuex? (state management)',
default: false,
when: '!inPlace',
},
devtools: {
type: 'confirm',
label: 'Install vue-devtools?',
default: true,
when: '!inPlace',
},
color_scheme: {
type: 'list',
label: 'Color scheme',
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="ns_primary">#F5F5F5</color>
<color name="ns_primaryDark">#757575</color>
<color name="ns_accent">#33B5E5</color>
<color name="ns_primaryDark">#53ba82</color>
<color name="ns_accent">#33B5E5</color>
<color name="ns_blue">#272734</color>
</resources>
</resources>
146 changes: 146 additions & 0 deletions template/app/components/App.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
{{#if_eq preset "Simple"}}<template>
<Page>
<ActionBar title="Welcome to NativeScript-Vue!"/>
<GridLayout colums="*" rows="*">
<Label class="message" :text="msg" col="0" row="0"/>
</GridLayout>
</Page>
</template>

<script>
export default {
data() {
return {
msg: 'Hello World!'
}
}
}
</script>

<style scoped>
ActionBar {
background-color: #53ba82;
color: #ffffff;
}

.message {
vertical-align: center;
text-align: center;
font-size: 20;
color: #333333;
}
</style>{{/if_eq}}{{#if_eq preset "TabView"}}<template>
<Page>
<ActionBar title="Welcome to NativeScript-Vue!" android:flat="true"/>
<TabView android:tabBackgroundColor="#53ba82"
android:tabTextColor="#c4ffdf"
android:selectedTabTextColor="#ffffff"
androidSelectedTabHighlightColor="#ffffff">
<TabViewItem title="Tab 1">
<GridLayout colums="*" rows="*">
<Label class="message" :text="msg" col="0" row="0"/>
</GridLayout>
</TabViewItem>
<TabViewItem title="Tab 2">
<GridLayout colums="*" rows="*">
<Label class="message" text="Tab 2 Content" col="0" row="0"/>
</GridLayout>
</TabViewItem>
<TabViewItem title="Tab 3">
<GridLayout colums="*" rows="*">
<Label class="message" text="Tab 3 Content" col="0" row="0"/>
</GridLayout>
</TabViewItem>
</TabView>
</Page>
</template>

<script>
export default {
data() {
return {
msg: 'Hello World!'
}
}
}
</script>

<style scoped>
ActionBar {
background-color: #53ba82;
color: #ffffff;
}

.message {
vertical-align: center;
text-align: center;
font-size: 20;
color: #333333;
}
</style>{{/if_eq}}{{#if_eq preset "SideDrawer"}}<template>
<Page>
<ActionBar>
<GridLayout width="100%" columns="auto, *">
<Label text="MENU" @tap="$refs.drawer.nativeView.showDrawer()" col="0"/>
<Label class="title" text="Welcome to NativeScript-Vue!" col="1"/>
</GridLayout>
</ActionBar>

<RadSideDrawer ref="drawer">
<StackLayout ~drawerContent backgroundColor="#ffffff">
<Label class="drawer-header" text="Drawer"/>

<Label class="drawer-item" text="Item 1"/>
<Label class="drawer-item" text="Item 2"/>
<Label class="drawer-item" text="Item 3"/>
</StackLayout>

<GridLayout ~mainContent colums="*" rows="*">
<Label class="message" :text="msg" col="0" row="0"/>
</GridLayout>
</RadSideDrawer>
</Page>
</template>

<script>
export default {
data() {
return {
msg: 'Hello World!'
}
}
}
</script>

<style scoped>
ActionBar {
background-color: #53ba82;
color: #ffffff;
}

.title {
text-align: left;
padding-left: 16;
}

.message {
vertical-align: center;
text-align: center;
font-size: 20;
color: #333333;
}

.drawer-header {
padding: 50 16 16 16;
margin-bottom: 16;
background-color: #53ba82;
color: #ffffff;
font-size: 24;
}

.drawer-item {
padding: 8 16;
color: #333333;
font-size: 16;
}
</style>{{/if_eq}}
38 changes: 0 additions & 38 deletions template/app/components/Counter.vue

This file was deleted.

39 changes: 0 additions & 39 deletions template/app/components/HelloWorld.vue

This file was deleted.

13 changes: 0 additions & 13 deletions template/app/components/Home.vue

This file was deleted.

43 changes: 11 additions & 32 deletions template/app/main.js
Original file line number Diff line number Diff line change
@@ -1,35 +1,14 @@
import Vue from 'nativescript-vue';

{{#router}}
import router from './router';
{{else}}
{{#store}}
import Counter from './components/Counter';
{{else}}
import HelloWorld from './components/HelloWorld';
{{/store}}
{{/router}}

{{#store}}
import store from './store';
{{/store}}

import './styles.scss';

import Vue from 'nativescript-vue'
import App from './components/App'
{{#devtools}}import VueDevtools from 'nativescript-vue-devtools'

if(TNS_ENV !== 'production') {
Vue.use(VueDevtools)
}
{{/devtools}}
// Prints Vue logs when --env.production is *NOT* set while building
Vue.config.silent = (TNS_ENV === 'production');
Vue.config.silent = (TNS_ENV === 'production')

new Vue({

{{#router}}
router,
template: `<Frame><router-view/></Frame>`,
{{else}}
render: h => h('frame',[h({{#store}}Counter{{else}}HelloWorld{{/store}})]),
{{/router}}

{{#store}}
store,
{{/store}}

}).$start();
render: h => h('frame', [h(App)])
}).$start()
43 changes: 0 additions & 43 deletions template/app/router/index.js

This file was deleted.

Loading