Skip to content
Open
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
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,9 @@ nbproject

# Other ignores
.DS_Store

# Node ignores
node_modules

# Assets ignores
assets/js/*
5 changes: 5 additions & 0 deletions Plugin.php
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,11 @@ public function registerNavigation()
'icon' => 'icon-database',
'url' => Backend::url('winter/test/locations'),
],
'vue' => [
'label' => 'Vue',
'icon' => 'icon-cube',
'url' => Backend::url('winter/test/vue'),
],
],
],
];
Expand Down
8 changes: 8 additions & 0 deletions assets/src/js/app.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import { createApp } from 'vue'
import Welcome from './components/Welcome'

const app = createApp({})

app.component('welcome', Welcome)

app.mount('#app')
11 changes: 11 additions & 0 deletions assets/src/js/components/Welcome.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<template>
<h1>{{ title }}</h1>
</template>
<script>

export default {
setup: () => ({
title: 'Vue 3 in Laravel'
})
}
</script>
22 changes: 22 additions & 0 deletions controllers/Vue.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?php namespace Winter\Test\Controllers;

use BackendMenu;
use Backend\Classes\Controller;

/**
* Vue Back-end Controller
*/
class Vue extends Controller
{

public function __construct()
{
parent::__construct();

BackendMenu::setContext('Winter.Test', 'test', 'vue');
}

public function index()
{
}
}
6 changes: 6 additions & 0 deletions controllers/vue/index.htm
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<div id="app">
<welcome/>
</div>

<script src="/plugins/winter/test/assets/js/app.js"></script>

8 changes: 8 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"dependencies": {
"vue": "^3.2.41"
},
"devDependencies": {
"vue-loader": "^16.8.3"
}
}
14 changes: 14 additions & 0 deletions winter.mix.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
const mix = require('laravel-mix');

mix
// compile javascript assets for plugin
.js('assets/src/js/app.js', 'assets/js').vue({ version: 3 })

/*
// Polyfill for all targeted browsers
.polyfill({
enabled: mix.inProduction(),
useBuiltIns: 'usage',
targets: '> 0.5%, last 2 versions, not dead, Firefox ESR, not ie > 0',
});
*/