Preview Functionality
This commit is contained in:
@@ -20,6 +20,10 @@ class NowController extends Controller
|
|||||||
|
|
||||||
public function save(Request $request)
|
public function save(Request $request)
|
||||||
{
|
{
|
||||||
|
if($request->action === "preview") {
|
||||||
|
return $this->preview($request);
|
||||||
|
}
|
||||||
|
|
||||||
$now = new Now();
|
$now = new Now();
|
||||||
$now->md = $request->md;
|
$now->md = $request->md;
|
||||||
$now->save();
|
$now->save();
|
||||||
@@ -34,6 +38,10 @@ class NowController extends Controller
|
|||||||
|
|
||||||
public function update(Request $request, $id)
|
public function update(Request $request, $id)
|
||||||
{
|
{
|
||||||
|
if($request->action === "preview") {
|
||||||
|
return $this->preview($request);
|
||||||
|
}
|
||||||
|
|
||||||
$now = Now::find($id);
|
$now = Now::find($id);
|
||||||
|
|
||||||
$now->md = $request->md;
|
$now->md = $request->md;
|
||||||
@@ -42,6 +50,14 @@ class NowController extends Controller
|
|||||||
return redirect()->route('admin.now.index');
|
return redirect()->route('admin.now.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function preview(Request $request)
|
||||||
|
{
|
||||||
|
return view('admin.preview', [
|
||||||
|
'md' => $request->md,
|
||||||
|
'title' => "Now"
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
public function delete($id)
|
public function delete($id)
|
||||||
{
|
{
|
||||||
$now= Now::find($id);
|
$now= Now::find($id);
|
||||||
|
|||||||
@@ -14,6 +14,10 @@ class PostController extends Controller
|
|||||||
|
|
||||||
public function save(Request $request)
|
public function save(Request $request)
|
||||||
{
|
{
|
||||||
|
if($request->action === "preview") {
|
||||||
|
return $this->preview($request);
|
||||||
|
}
|
||||||
|
|
||||||
$post = new Post();
|
$post = new Post();
|
||||||
$post->title = $request->title;
|
$post->title = $request->title;
|
||||||
$post->md = $request->md;
|
$post->md = $request->md;
|
||||||
@@ -29,6 +33,10 @@ class PostController extends Controller
|
|||||||
|
|
||||||
public function update(Request $request, $id)
|
public function update(Request $request, $id)
|
||||||
{
|
{
|
||||||
|
if($request->action === "preview") {
|
||||||
|
return $this->preview($request);
|
||||||
|
}
|
||||||
|
|
||||||
$post = Post::find($id);
|
$post = Post::find($id);
|
||||||
|
|
||||||
$post->title = $request->title;
|
$post->title = $request->title;
|
||||||
@@ -38,6 +46,14 @@ class PostController extends Controller
|
|||||||
return redirect()->route('admin.post.index');
|
return redirect()->route('admin.post.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function preview(Request $request)
|
||||||
|
{
|
||||||
|
return view('admin.preview', [
|
||||||
|
'md' => $request->md,
|
||||||
|
'title' => $request->title
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
public function delete($id)
|
public function delete($id)
|
||||||
{
|
{
|
||||||
$post = Post::find($id);
|
$post = Post::find($id);
|
||||||
|
|||||||
@@ -22,6 +22,10 @@ class ProjectController extends Controller
|
|||||||
|
|
||||||
public function save(Request $request)
|
public function save(Request $request)
|
||||||
{
|
{
|
||||||
|
if($request->action === "preview") {
|
||||||
|
return $this->preview($request);
|
||||||
|
}
|
||||||
|
|
||||||
$project = new Project();
|
$project = new Project();
|
||||||
$project->title = $request->title;
|
$project->title = $request->title;
|
||||||
$project->md = $request->md;
|
$project->md = $request->md;
|
||||||
@@ -37,6 +41,10 @@ class ProjectController extends Controller
|
|||||||
|
|
||||||
public function update(Request $request, $id)
|
public function update(Request $request, $id)
|
||||||
{
|
{
|
||||||
|
if($request->action === "preview") {
|
||||||
|
return $this->preview($request);
|
||||||
|
}
|
||||||
|
|
||||||
$project = Project::find($id);
|
$project = Project::find($id);
|
||||||
$project->title = $request->title;
|
$project->title = $request->title;
|
||||||
$project->md = $request->md;
|
$project->md = $request->md;
|
||||||
@@ -45,6 +53,14 @@ class ProjectController extends Controller
|
|||||||
return redirect()->route('admin.project.index');
|
return redirect()->route('admin.project.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function preview(Request $request)
|
||||||
|
{
|
||||||
|
return view('admin.preview', [
|
||||||
|
'md' => $request->md,
|
||||||
|
'title' => $request->title
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
public function delete($id)
|
public function delete($id)
|
||||||
{
|
{
|
||||||
Project::find($id)->delete();
|
Project::find($id)->delete();
|
||||||
|
|||||||
@@ -20,6 +20,10 @@ class SetupController extends Controller
|
|||||||
|
|
||||||
public function save(Request $request)
|
public function save(Request $request)
|
||||||
{
|
{
|
||||||
|
if($request->action === "preview") {
|
||||||
|
return $this->preview($request);
|
||||||
|
}
|
||||||
|
|
||||||
$setup = new Setup();
|
$setup = new Setup();
|
||||||
$setup->title = $request->title;
|
$setup->title = $request->title;
|
||||||
$setup->md = $request->md;
|
$setup->md = $request->md;
|
||||||
@@ -35,6 +39,10 @@ class SetupController extends Controller
|
|||||||
|
|
||||||
public function update(Request $request, $id)
|
public function update(Request $request, $id)
|
||||||
{
|
{
|
||||||
|
if($request->action === "preview") {
|
||||||
|
return $this->preview($request);
|
||||||
|
}
|
||||||
|
|
||||||
$setup = Setup::find($id);
|
$setup = Setup::find($id);
|
||||||
$setup->title = $request->title;
|
$setup->title = $request->title;
|
||||||
$setup->md = $request->md;
|
$setup->md = $request->md;
|
||||||
@@ -43,6 +51,14 @@ class SetupController extends Controller
|
|||||||
return redirect()->route('admin.setup.index');
|
return redirect()->route('admin.setup.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function preview(Request $request)
|
||||||
|
{
|
||||||
|
return view('admin.preview', [
|
||||||
|
'md' => $request->md,
|
||||||
|
'title' => $request->title
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
public function delete($id)
|
public function delete($id)
|
||||||
{
|
{
|
||||||
Setup::find($id)->delete();
|
Setup::find($id)->delete();
|
||||||
|
|||||||
73
public/js/admin.js
vendored
73
public/js/admin.js
vendored
@@ -93,21 +93,68 @@
|
|||||||
/*! no static exports found */
|
/*! no static exports found */
|
||||||
/***/ (function(module, exports) {
|
/***/ (function(module, exports) {
|
||||||
|
|
||||||
posts_edit_regexp = new RegExp("/admin/posts/\\d+/edit");
|
function is_admin_post_route() {
|
||||||
now_edit_regexp = new RegExp("/admin/now/\\d+/edit");
|
var posts_edit_regexp = new RegExp("/admin/posts/\\d+/edit");
|
||||||
projects_edit_regexp = new RegExp("/admin/projects/\\d+/edit");
|
return window.location.pathname === "/admin/posts" || window.location.pathname === "/admin/posts/create" || window.location.pathname.match(posts_edit_regexp);
|
||||||
setups_edit_regexp = new RegExp("/admin/setups/\\d+/edit");
|
|
||||||
|
|
||||||
if (window.location.pathname === "/admin/posts" || window.location.pathname === "/admin/posts/create" || window.location.pathname.match(posts_edit_regexp)) {
|
|
||||||
document.getElementById("posts-link").classList.add("menu-highlight");
|
|
||||||
} else if (window.location.pathname === "/admin/now" || window.location.pathname === "/admin/now/create" || window.location.pathname.match(now_edit_regexp)) {
|
|
||||||
document.getElementById("now-link").classList.add("menu-highlight");
|
|
||||||
} else if (window.location.pathname === "/admin/projects" || window.location.pathname === "/admin/projects/create" || window.location.pathname.match(projects_edit_regexp)) {
|
|
||||||
document.getElementById("projects-link").classList.add("menu-highlight");
|
|
||||||
} else if (window.location.pathname === "/admin/setups" || window.location.pathname === "/admin/setups/create" || window.location.pathname.match(setups_edit_regexp)) {
|
|
||||||
document.getElementById("setup-link").classList.add("menu-highlight");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function is_admin_now_route() {
|
||||||
|
var now_edit_regexp = new RegExp("/admin/now/\\d+/edit");
|
||||||
|
return window.location.pathname === "/admin/now" || window.location.pathname === "/admin/now/create" || window.location.pathname.match(now_edit_regexp);
|
||||||
|
}
|
||||||
|
|
||||||
|
function is_admin_projects_route() {
|
||||||
|
var projects_edit_regexp = new RegExp("/admin/projects/\\d+/edit");
|
||||||
|
return window.location.pathname === "/admin/projects" || window.location.pathname === "/admin/projects/create" || window.location.pathname.match(projects_edit_regexp);
|
||||||
|
}
|
||||||
|
|
||||||
|
function is_admin_setups_route() {
|
||||||
|
var setups_edit_regexp = new RegExp("/admin/setups/\\d+/edit");
|
||||||
|
return window.location.pathname === "/admin/setups" || window.location.pathname === "/admin/setups/create" || window.location.pathname.match(setups_edit_regexp);
|
||||||
|
}
|
||||||
|
|
||||||
|
function admin_highlight() {
|
||||||
|
if (is_admin_post_route()) {
|
||||||
|
document.getElementById("posts-link").classList.add("menu-highlight");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_admin_now_route()) {
|
||||||
|
document.getElementById("now-link").classList.add("menu-highlight");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_admin_projects_route()) {
|
||||||
|
document.getElementById("projects-link").classList.add("menu-highlight");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_admin_setups_route()) {
|
||||||
|
document.getElementById("setup-link").classList.add("menu-highlight");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function preview() {
|
||||||
|
var previewButton = document.getElementById("preview");
|
||||||
|
var mainButton = document.getElementById("main");
|
||||||
|
|
||||||
|
if (previewButton == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var form = document.getElementsByTagName("form")[0];
|
||||||
|
previewButton.addEventListener("click", function (e) {
|
||||||
|
form.setAttribute("target", "_blank");
|
||||||
|
});
|
||||||
|
mainButton.addEventListener("click", function (e) {
|
||||||
|
form.removeAttribute("target");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
admin_highlight();
|
||||||
|
preview();
|
||||||
|
}
|
||||||
|
|
||||||
|
window.onload = main;
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
/***/ 1:
|
/***/ 1:
|
||||||
|
|||||||
80
resources/js/admin.js
vendored
80
resources/js/admin.js
vendored
@@ -1,30 +1,76 @@
|
|||||||
posts_edit_regexp = new RegExp("/admin/posts/\\d+/edit");
|
function is_admin_post_route() {
|
||||||
now_edit_regexp = new RegExp("/admin/now/\\d+/edit");
|
const posts_edit_regexp = new RegExp("/admin/posts/\\d+/edit");
|
||||||
projects_edit_regexp = new RegExp("/admin/projects/\\d+/edit");
|
return (
|
||||||
setups_edit_regexp = new RegExp("/admin/setups/\\d+/edit");
|
|
||||||
|
|
||||||
if(
|
|
||||||
window.location.pathname === "/admin/posts" ||
|
window.location.pathname === "/admin/posts" ||
|
||||||
window.location.pathname === "/admin/posts/create" ||
|
window.location.pathname === "/admin/posts/create" ||
|
||||||
window.location.pathname.match(posts_edit_regexp)
|
window.location.pathname.match(posts_edit_regexp)
|
||||||
){
|
);
|
||||||
document.getElementById("posts-link").classList.add("menu-highlight");
|
}
|
||||||
} else if(
|
|
||||||
|
function is_admin_now_route() {
|
||||||
|
const now_edit_regexp = new RegExp("/admin/now/\\d+/edit");
|
||||||
|
return (
|
||||||
window.location.pathname === "/admin/now" ||
|
window.location.pathname === "/admin/now" ||
|
||||||
window.location.pathname === "/admin/now/create" ||
|
window.location.pathname === "/admin/now/create" ||
|
||||||
window.location.pathname.match(now_edit_regexp)
|
window.location.pathname.match(now_edit_regexp)
|
||||||
){
|
);
|
||||||
document.getElementById("now-link").classList.add("menu-highlight");
|
}
|
||||||
} else if(
|
|
||||||
|
function is_admin_projects_route() {
|
||||||
|
const projects_edit_regexp = new RegExp("/admin/projects/\\d+/edit");
|
||||||
|
return (
|
||||||
window.location.pathname === "/admin/projects" ||
|
window.location.pathname === "/admin/projects" ||
|
||||||
window.location.pathname === "/admin/projects/create" ||
|
window.location.pathname === "/admin/projects/create" ||
|
||||||
window.location.pathname.match(projects_edit_regexp)
|
window.location.pathname.match(projects_edit_regexp)
|
||||||
){
|
);
|
||||||
document.getElementById("projects-link").classList.add("menu-highlight");
|
}
|
||||||
} else if(
|
|
||||||
|
function is_admin_setups_route() {
|
||||||
|
const setups_edit_regexp = new RegExp("/admin/setups/\\d+/edit");
|
||||||
|
return (
|
||||||
window.location.pathname === "/admin/setups" ||
|
window.location.pathname === "/admin/setups" ||
|
||||||
window.location.pathname === "/admin/setups/create" ||
|
window.location.pathname === "/admin/setups/create" ||
|
||||||
window.location.pathname.match(setups_edit_regexp)
|
window.location.pathname.match(setups_edit_regexp)
|
||||||
){
|
);
|
||||||
document.getElementById("setup-link").classList.add("menu-highlight");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function admin_highlight() {
|
||||||
|
if(is_admin_post_route()){
|
||||||
|
document.getElementById("posts-link").classList.add("menu-highlight");
|
||||||
|
}
|
||||||
|
if(is_admin_now_route()){
|
||||||
|
document.getElementById("now-link").classList.add("menu-highlight");
|
||||||
|
}
|
||||||
|
if(is_admin_projects_route()){
|
||||||
|
document.getElementById("projects-link").classList.add("menu-highlight");
|
||||||
|
}
|
||||||
|
if(is_admin_setups_route()){
|
||||||
|
document.getElementById("setup-link").classList.add("menu-highlight");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function preview() {
|
||||||
|
const previewButton = document.getElementById("preview");
|
||||||
|
const mainButton = document.getElementById("main");
|
||||||
|
|
||||||
|
if(previewButton == null){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const form = document.getElementsByTagName("form")[0];
|
||||||
|
|
||||||
|
previewButton.addEventListener("click", (e) => {
|
||||||
|
form.setAttribute("target", "_blank");
|
||||||
|
});
|
||||||
|
|
||||||
|
mainButton.addEventListener("click", (e) => {
|
||||||
|
form.removeAttribute("target");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
admin_highlight();
|
||||||
|
preview();
|
||||||
|
}
|
||||||
|
|
||||||
|
window.onload = main;
|
||||||
|
|||||||
@@ -15,7 +15,8 @@
|
|||||||
<textarea id="md" name="md"></textarea>
|
<textarea id="md" name="md"></textarea>
|
||||||
|
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<button type="submit" class="pure-button button-black-white">Create</button>
|
<button class="pure-button button-black-white" name="action" id="preview" type="submit" value="preview">Preview</button>
|
||||||
|
<button class="pure-button button-black-white" name="action" id="main" type="submit" value="create">Create</button>
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@@ -15,7 +15,8 @@
|
|||||||
<textarea id="md" name="md">{{ old('md', $now->md) }}</textarea>
|
<textarea id="md" name="md">{{ old('md', $now->md) }}</textarea>
|
||||||
|
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<button type="submit" class="pure-button button-black-white">Update</button>
|
<button class="pure-button button-black-white" name="action" id="preview" type="submit" value="preview">Preview</button>
|
||||||
|
<button class="pure-button button-black-white" name="action" id="main" type="submit" value="update">Update</button>
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@@ -19,7 +19,8 @@
|
|||||||
<textarea id="md" name="md"></textarea>
|
<textarea id="md" name="md"></textarea>
|
||||||
|
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<button class="pure-button button-black-white" type="submit">Create</button>
|
<button class="pure-button button-black-white" name="action" id="preview" type="submit" value="preview">Preview</button>
|
||||||
|
<button class="pure-button button-black-white" name="action" id="main" type="submit" value="create">Create</button>
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@@ -19,7 +19,8 @@
|
|||||||
<textarea id="md" name="md">{{ old('md', $post->md) }}</textarea>
|
<textarea id="md" name="md">{{ old('md', $post->md) }}</textarea>
|
||||||
|
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<button type="submit" class="pure-button button-black-white">Update</button>
|
<button class="pure-button button-black-white" name="action" id="preview" type="submit" value="preview">Preview</button>
|
||||||
|
<button class="pure-button button-black-white" name="action" id="main" type="submit" value="update">Update</button>
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
14
resources/views/admin/preview.blade.php
Normal file
14
resources/views/admin/preview.blade.php
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
@extends('base')
|
||||||
|
|
||||||
|
@php
|
||||||
|
$parse = new Parsedown();
|
||||||
|
@endphp
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<article>
|
||||||
|
<header>
|
||||||
|
<h1 class="post-title">{{$title}}</h1>
|
||||||
|
</header>
|
||||||
|
{!! $parse->text($md) !!}
|
||||||
|
</article>
|
||||||
|
@endsection
|
||||||
@@ -18,7 +18,8 @@
|
|||||||
<textarea id="md" name="md"></textarea>
|
<textarea id="md" name="md"></textarea>
|
||||||
|
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<button class="pure-button button-black-white" type="submit">Create</button>
|
<button class="pure-button button-black-white" name="action" id="preview" type="submit" value="preview">Preview</button>
|
||||||
|
<button class="pure-button button-black-white" name="action" id="main" type="submit" value="create">Create</button>
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@@ -18,7 +18,8 @@
|
|||||||
<textarea class="form-input" id="md" name="md">{{ old('md', $project->md) }}</textarea>
|
<textarea class="form-input" id="md" name="md">{{ old('md', $project->md) }}</textarea>
|
||||||
|
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<button type="submit" class="pure-button button-black-white">Back</button>
|
<button class="pure-button button-black-white" name="action" id="preview" type="submit" value="preview">Preview</button>
|
||||||
|
<button class="pure-button button-black-white" name="action" id="main" type="submit" value="update">Update</button>
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@@ -18,7 +18,8 @@
|
|||||||
<textarea id="md" name="md"></textarea>
|
<textarea id="md" name="md"></textarea>
|
||||||
|
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<button class="pure-button button-black-white" type="submit">Create</button>
|
<button class="pure-button button-black-white" name="action" id="preview" type="submit" value="preview">Preview</button>
|
||||||
|
<button class="pure-button button-black-white" name="action" id="main" type="submit" value="create">Create</button>
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@@ -18,7 +18,8 @@
|
|||||||
<textarea id="md" name="md">{{ old('md', $setup->md) }}</textarea>
|
<textarea id="md" name="md">{{ old('md', $setup->md) }}</textarea>
|
||||||
|
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<button type="submit" class="pure-button button-black-white">Update</button>
|
<button class="pure-button button-black-white" name="action" id="preview" type="submit" value="preview">Preview</button>
|
||||||
|
<button class="pure-button button-black-white" name="action" id="main" type="submit" value="update">Update</button>
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@@ -62,9 +62,3 @@ Route::middleware('auth')->group(function() {
|
|||||||
Route::get('/', function () {
|
Route::get('/', function () {
|
||||||
return view('index');
|
return view('index');
|
||||||
})->name('index');
|
})->name('index');
|
||||||
|
|
||||||
|
|
||||||
Route::get('/setup', function () {
|
|
||||||
return view('setup');
|
|
||||||
})->name('setup');
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user