add authors during publishing

This commit is contained in:
Arno Kaimbacher 2018-09-14 18:16:02 +02:00
parent 0457e65565
commit f66e4a8f29
11 changed files with 460 additions and 228 deletions

View file

@ -17,6 +17,7 @@ window.Vue = require('vue');
Vue.component('my-vuetable', require('./components/MyVuetable.vue'));
const app = new Vue({
el: '#app'
});

View file

@ -1,3 +1,5 @@
window._ = require('lodash');
/**
* We'll load the axios HTTP library which allows us to easily issue requests
* to our Laravel back-end. This library automatically handles sending the

View file

@ -0,0 +1,136 @@
<!-- https://pineco.de/instant-ajax-search-laravel-vue/
https://alligator.io/vuejs/vue-autocomplete-component/ -->
<template>
<div>
<input type="search" @input="onChange" v-model="search" v-bind:disabled="isLoading == true" v-bind:title=title placeholder="Search for authors and contributors...">
<!-- <ul class="autocomplete-results" v-show="results.length > 0"> -->
<ul class="autocomplete-results" v-show="isOpen">
<li class="loading" v-if="isLoading" >Loading results...</li>
<li
v-else
v-for="result in results"
:key="result.id"
@click="setResult(result)"
class="autocomplete-result">
<strong>{{ result.full_name }}</strong>
</li>
</ul>
</div>
</template>
<script>
export default {
//data from parent component
props: {
title: String
// items: {
// type: Array,
// required: false,
// default: () => []
// },
// isAsync: {
// type: Boolean,
// required: false,
// default: false
// }
},
data() {
return {
search: null,
results: [],
isOpen: false,
isLoading: false,
isAsync: true,
items: []
};
},
// watch: {
// search(after, before) {
// this.isOpen = true;
// this.filterResults();
// }
// },
watch: {
// Once the items content changes, it means the parent component
// provided the needed data
items: function(value, oldValue) {
// we want to make sure we only do this when it's an async request
if (this.isAsync) {
this.results = value;
this.isOpen = true;
this.isLoading = false;
} else {
if (val.length !== oldValue.length) {
this.results = val;
this.isLoading = false;
}
}
}
},
methods: {
setResult(person) {
// this.search = person.full_name;
this.reset();
this.isOpen = false;
this.$emit("person", person);
},
reset() {
this.search = "";
},
onChange() {
// Let's warn the parent that a change was made
this.$emit("input", this.search);
// Is the data given by an outside ajax request?
if (this.isAsync) {
this.isLoading = true;
this.filterResults();
} else {
// Data is sync, we can search our flat array
this.filterResults();
this.isOpen = true;
}
},
filterResults() {
var self = this;
axios
.get("/api/persons", { params: { filter: this.search } })
.then(function(response) {
return (self.items = response.data.data);
})
.catch(function(error) {
alert(error);
});
// this.results = this.items.filter(item => {
// return item.toLowerCase().indexOf(this.search.toLowerCase()) > -1;
// });
}
}
};
</script>
<style>
.autocomplete-results {
padding: 0;
margin: 0;
border: 1px solid #eeeeee;
height: 120px;
overflow: auto;
}
.autocomplete-result {
list-style: none;
text-align: left;
padding: 4px 2px;
cursor: pointer;
}
.autocomplete-result:hover {
background-color: #4aae9b;
color: white;
}
</style>

View file

@ -19,12 +19,14 @@
// else {
// console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token');
// }
window._ = require('lodash');
// window.Vue = require('vue');
// Vue.prototype.$http = axios;
// Vue.component('example', require('./components/Example.vue'));
const STATUS_INITIAL = 0, STATUS_SAVING = 1, STATUS_SUCCESS = 2, STATUS_FAILED = 3;
Vue.component('my-autocomplete', require('./components/MyAutocomplete.vue'));
const STATUS_INITIAL = 0, STATUS_SAVING = 1, STATUS_SUCCESS = 2, STATUS_FAILED = 3;
const app = new Vue({
el: '#app',
@ -41,6 +43,7 @@ const app = new Vue({
currentStatus: null,
uploadFieldName: 'photos',
fileCount: 0,
persons: [],
step: 1,
dataset: {
@ -98,6 +101,7 @@ const app = new Vue({
this.dataset.files = [];
},
save() {
var _this = this;
this.errors = [];
/*
Initialize the form data
@ -151,7 +155,7 @@ const app = new Vue({
// this.loading = false;
// this.items = response.data;
//Vue.set(app.skills, 1, "test55");
this.currentStatus = STATUS_SUCCESS;
_this.currentStatus = STATUS_SUCCESS;
if (response.data.redirect) {
window.location = response.data.redirect;
@ -166,14 +170,14 @@ const app = new Vue({
var errorsArray = errorObject.response.data.errors;
for (var index in errorsArray) {
console.log(errorsArray[index]);
this.errors.push(errorsArray[index]);
_this.errors.push(errorsArray[index]);
}
}
if (errorObject.response.data.error) {
var error = errorObject.response.data.error;
this.errors.push(error.message);
_this.errors.push(error.message);
}
this.currentStatus = STATUS_FAILED;
_this.currentStatus = STATUS_FAILED;
});
},
// filesChange(fieldName, fileList) {
@ -212,6 +216,9 @@ const app = new Vue({
// }
},
onAddPerson(person) {
this.persons.push(person);
},
/*
Removes a select file the user has uploaded
*/

View file

@ -1,7 +1,5 @@
@extends('settings.layouts.app')
@section('title', 'Publish')
@extends('settings.layouts.app')
@section('title', 'Publish')
@section('content')
<div class="header">
<h3 class="header-title">
@ -10,29 +8,32 @@
</div>
<div id="app" class="box-content">
<form action={{ route('publish.dataset.store1') }} method="post" class="pure-form" enctype="multipart/form-data">
<form action={{ route( 'publish.dataset.store1') }} method="post" class="pure-form" enctype="multipart/form-data">
{{ csrf_field() }}
<div v-if="step === 1">
<h1>Step One</h1>
<fieldset class="left-labels">
<legend>Datensatztyp</legend>
<h1>Step One</h1>
<fieldset class="left-labels">
<legend>Datensatztyp</legend>
<div class="description hint">
<p>Bitte wählen Sie einen Datensatztyp aus der Liste aus.</p></div><p></p><div class="form-item">
<label for="documentType">Datensatztyp<span class="required" title="Dieses Feld muss ausgefüllt werden."> *</span></label>
<div class="select" style="width:300px" title="Bitte wählen Sie einen Datensatztyp aus der Liste aus.">
{!! Form::select('Type', Lang::get('doctypes'), null, ['id' => 'type', 'placeholder' => '-- select type --', 'v-model' => 'dataset.type']) !!}
<p>Bitte wählen Sie einen Datensatztyp aus der Liste aus.</p>
</div>
<p></p>
<div class="form-item">
<label for="documentType">Datensatztyp<span class="required" title="Dieses Feld muss ausgefüllt werden."> *</span></label>
<div class="select" style="width:300px" title="Bitte wählen Sie einen Datensatztyp aus der Liste aus.">
{!! Form::select('Type', Lang::get('doctypes'), null, ['id' => 'type', 'placeholder' => '-- select type --', 'v-model' =>
'dataset.type']) !!}
</div>
</div>
</fieldset>
<fieldset class="left-labels">
<legend>Einräumung eines einfachen Nutzungsrechts</legend>
<legend>Einräumung eines einfachen Nutzungsrechts</legend>
<div class="pure-u-1 pure-u-md-1-2 pure-div">
<small for="rights" class="pure-form-message-inline">Ich habe diese rechtlichen Hinweise gelesen und bin damit einverstanden.
<span class="required" title="Dieses Feld muss ausgefüllt werden.">*</span>
</small>
{{-- <input name="rights" value="0" type="hidden"> --}}
</small> {{-- <input name="rights" value="0" type="hidden"> --}}
<label>
<input class="form-checkbox" name="rights" id="rights" type="checkbox" v-model="dataset.rights" true-value="1" false-value="0">
<p>
@ -53,7 +54,7 @@
</button> --}}
<button @click.prevent="next()" class="pure-button button-small">
<i class="fa fa-arrow-right"></i>
<span>Weiter zum nächsten Schritt</span>
<span>Continue</span>
</button>
</div>
</div>
@ -63,52 +64,51 @@
<fieldset id="fieldset-general">
<legend>General</legend>
<div class="pure-g">
{{-- <div class="pure-u-1 pure-u-md-1-2 pure-div">
{{--
<div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('Person', 'Person..') !!}
<div class="select pure-u-23-24">
{!! Form::select('Person', $persons, null, ['id' => 'type', 'placeholder' => '-- select person --']) !!}
{!! Form::select('Person', $persons, null, ['id' => 'type', 'placeholder' => '-- select person --']) !!}
</div>
</div> --}}
<div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('Type', 'Type..') !!}
<div class="select pure-u-23-24">
{!! Form::select('Type', Lang::get('doctypes'), null, ['id' => 'type', 'placeholder' => '-- select type --', 'v-model' => 'dataset.type']) !!}
{!! Form::select('Type', Lang::get('doctypes'), null, ['id' => 'type', 'placeholder' => '-- select type --', 'v-model' =>
'dataset.type']) !!}
</div>
</div>
<div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('State', 'State..') !!}
<div class="select pure-u-23-24">
{!! Form::select(
'State',
array_except(Config::get('enums.server_states'),['published', 'deleted', 'temporary']),
'',
['placeholder' => '-- select server state --', 'v-model' => 'dataset.state']
) !!}
{!! Form::select( 'State', array_except(Config::get('enums.server_states'),['published', 'deleted', 'temporary']), '', ['placeholder'
=> '-- select server state --', 'v-model' => 'dataset.state'] ) !!}
</div>
</div>
<div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('CreatingCorporation', 'Creating Corporation') !!}
{!! Form::text('CreatingCorporation', null, ['class' => 'pure-u-23-24', 'v-model' => 'dataset.creating_corporation']) !!}
{!! Form::label('CreatingCorporation', 'Creating Corporation') !!} {!! Form::text('CreatingCorporation', null, ['class' =>
'pure-u-23-24', 'v-model' => 'dataset.creating_corporation']) !!}
</div>
<div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('project_id', 'Project..') !!}
<div class="select pure-u-23-24">
{!! Form::select('project_id', $projects, null, ['id' => 'project_id', 'placeholder' => '--no project--', 'v-model' => 'dataset.project_id']) !!}
{!! Form::select('project_id', $projects, null, ['id' => 'project_id', 'placeholder' => '--no project--', 'v-model' => 'dataset.project_id'])
!!}
</div>
<small id="projectHelp" class="pure-form-message-inline">project is optional</small>
</div>
<div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('EmbargoDate', 'Embargo Date') !!}
{!! Form::date('EmbargoDate', null, ['placeholder' => date('y-m-d'), 'class' => 'pure-u-23-24', 'v-model' => 'dataset.embargo_date']) !!}
{!! Form::label('EmbargoDate', 'Embargo Date') !!} {!! Form::date('EmbargoDate', null, ['placeholder' => date('y-m-d'), 'class'
=> 'pure-u-23-24', 'v-model' => 'dataset.embargo_date']) !!}
<small id="projectHelp" class="pure-form-message-inline">EmbargoDate is optional</small>
</div>
<div class="pure-u-1 pure-u-md-1 checkboxlist">
<!-- checkboxes -->
<label for="BelongsToBibliography" class="pure-checkbox">
@ -118,47 +118,48 @@
Belongs To Bibliography?
</label>
</div>
</div>
</fieldset>
<fieldset id="fieldset-titles">
<legend>Main Title & Abstract</legend>
<div class="pure-g">
<div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('TitleMain', 'Main Title ') !!}
{!! Form::text('TitleMain[Value]', null, ['class' => 'pure-u-23-24', 'v-model' => 'dataset.title_main.value']) !!}
{!! Form::label('TitleMain', 'Main Title ') !!} {!! Form::text('TitleMain[Value]', null, ['class' => 'pure-u-23-24', 'v-model'
=> 'dataset.title_main.value']) !!}
</div>
<div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('TitleLanguage', 'Title Language..') !!}
<div class="select pure-u-23-24">
{!! Form::select('TitleMain[Language]', $languages, null, ['placeholder' => '--no language--', 'v-model' => 'dataset.title_main.language']) !!}
{!! Form::select('TitleMain[Language]', $languages, null, ['placeholder' => '--no language--', 'v-model' => 'dataset.title_main.language'])
!!}
</div>
</div>
<div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('TitleAbstract', 'Main Abstract ') !!}
{{ Form::textarea('TitleAbstract[Value]', null, ['class' => 'pure-u-23-24', 'size' => '70x6', 'v-model' => 'dataset.abstract_main.value']) }}
{!! Form::label('TitleAbstract', 'Main Abstract ') !!} {{ Form::textarea('TitleAbstract[Value]', null, ['class' => 'pure-u-23-24',
'size' => '70x6', 'v-model' => 'dataset.abstract_main.value']) }}
</div>
<div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('AbstractLanguage', 'Abstract Language..') !!}
<div class="select pure-u-23-24">
{!! Form::select('TitleAbstract[Language]', $languages, null, ['placeholder' => '--no language--', 'v-model' => 'dataset.abstract_main.language']) !!}
{!! Form::select('TitleAbstract[Language]', $languages, null, ['placeholder' => '--no language--', 'v-model' => 'dataset.abstract_main.language'])
!!}
</div>
</div>
</div>
</div>
</fieldset>
<fieldset id="fieldset-licenses">
<legend>Licenses</legend>
<div class="pure-control-group checkboxlist">
@foreach ($licenses as $license)
<label for={{"license". $license->id }} class="pure-checkbox">
@foreach ($licenses as $license)
<label for={{ "license". $license->id }} class="pure-checkbox">
<input name="licenses[]" value={{ $license->id }} v-model="dataset.checkedLicenses" type="checkbox" class="form-check-input">
{{ $license->name_long }}
</label>
@endforeach
</label> @endforeach
<br>
<span>Checked licenses: @{{ dataset.checkedLicenses }}</span>
</div>
@ -168,62 +169,102 @@
<div class="pure-controls">
<button @click.prevent="prev()" class="pure-button button-small">
<i class="fa fa-arrow-left"></i>
<span>Zurück</span>
<span>Back</span>
</button>
<button @click.prevent="next()" class="pure-button button-small">
<i class="fa fa-arrow-right"></i>
<span>Review Dataset</span>
</button>
</div>
<span>Continue</span>
</button>
</div>
</div>
<div v-if="step === 3">
<h1>Select authors, contributors</h1>
<fieldset id="fieldset-general">
<legend>General</legend>
<div class="pure-g">
<div class="pure-u-1 pure-u-md-1-2 pure-div">
<my-autocomplete title="My journey with Vue" @person="onAddPerson"></my-autocomplete>
{{--
<my-autocomplete :items="[ 'Apple', 'Banana', 'Orange', 'Mango', 'Pear', 'Peach', 'Grape', 'Tangerine', 'Pineapple']"></my-autocomplete> --}}
</div>
<div class="pure-u-1 pure-u-md-1-2 pure-div">
<div class="pure-control-group checkboxlist">
<label v-for="(person, index) in persons" :for="person.id" class="pure-checkbox">
<input type="checkbox" name="persons[]" :value="person.id" class="form-check-input">
@{{ person.full_name }}
</label>
</div>
{{-- <span v-for="(person, index) in persons">
<strong>@{{ person.full_name }}</strong>
</span> --}}
</div>
</div>
</fieldset>
<br />
<div class="pure-controls">
<button @click.prevent="prev()" class="pure-button button-small">
<i class="fa fa-arrow-left"></i>
<span>Back</span>
</button>
<button @click.prevent="next()" class="pure-button button-small">
<i class="fa fa-arrow-right"></i>
<span>Review Dataset</span>
</button>
</div>
</div>
<div v-if="step === 4">
<h1>File Upload</h1>
<div class="dropbox">
<input type="file" multiple name="files" :disabled="isSaving" @change="filesChange($event.target.name, $event.target.files)" class="input-file">
<input type="file" multiple name="files" :disabled="isSaving" @change="filesChange($event.target.name, $event.target.files)"
class="input-file">
<p v-if="isInitial">
Drag your file(s) here to begin<br> or click to browse
</p>
<p v-if="isSaving">
Uploading @{{ fileCount }} files...
</p>
</p>
</div>
{{-- <button @click.prevent="resetDropbox()" v-bind:disabled="isInitial" class="pure-button is-warning">Reset Dropbox</button> --}}
{{-- <ul class="list-unstyled">
{{-- <button @click.prevent="resetDropbox()" v-bind:disabled="isInitial" class="pure-button is-warning">Reset Dropbox</button> --}} {{--
<ul class="list-unstyled">
<li v-for="(item, index) in dataset.files">
@{{ item.name }} <i class="fa fa-remove"></i><span class="remove-file" v-on:click="removeFile(index)"> Remove</span>
</li>
</ul> --}}
<table class="table table-hover">
<thead>
<tr>
<th style="width: 20px;">Sorting</th>
<th>File</th>
<th>Label</th>
<th style="width: 130px;"></th>
</tr>
<tr>
<th style="width: 20px;">Sorting</th>
<th>File</th>
<th>Label</th>
<th style="width: 130px;"></th>
</tr>
</thead>
<tbody>
<tr v-for="(item, index) in dataset.files">
<td>
@{{ index +1 }}
</td>
<td>
<input class="form-control" v-model="item.file.name"/>
</td>
<td>
<input class="form-control" v-model="item.label"/>
</td>
<td>
<button class="pure-button button-small is-warning" @click.prevent="removeFile(index)">Remove</button>
</td>
</tr>
</tbody>
<tr v-for="(item, index) in dataset.files">
<td>
@{{ index +1 }}
</td>
<td>
<input class="form-control" v-model="item.file.name" />
</td>
<td>
<input class="form-control" v-model="item.label" />
</td>
<td>
<button class="pure-button button-small is-warning" @click.prevent="removeFile(index)">Remove</button>
</td>
</tr>
</tbody>
</table>
<button @click.prevent="prev()" class="pure-button button-small">
<i class="fa fa-arrow-left"></i>
<span>Zurück</span>
@ -232,7 +273,7 @@
<i class="fa fa-save"></i>
<span>Create Dataset</span>
</button>
</div>
<div v-if="errors.length > 0">
@ -241,21 +282,39 @@
<li style="margin-left:5px;" v-for="error in errors">@{{ error }}</li>
</ul>
</div>
</form>
{{-- <br/><br/>Debug:@{{ dataset }} --}}
</div>
@stop
@section('after-scripts')
{{-- <script type="text/javascript" src="{{ asset('js/lib.js') }}"></script> --}}
{{-- <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>--}}
{{-- <script type="text/javascript" src="{{ resource_path('assets\js\datasetPublish.js') }}"></script> --}}
<script type="text/javascript" src="{{ asset('backend/publish/datasetPublish.js') }}"></script>
@stop
@stop
@section('after-scripts') {{--
<script type="text/javascript" src="{{ asset('js/lib.js') }}"></script> --}} {{--
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>--}} {{--
<script type="text/javascript" src="{{ resource_path('assets\js\datasetPublish.js') }}"></script> --}}
<script type="text/javascript" src="{{ asset('backend/publish/datasetPublish.js') }}"></script>
@stop

View file

@ -3,51 +3,47 @@
<div class="pure-g">
<div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('name_long', 'Lizenzname') !!}
{!! Form::text('name_long', null, ['class' => 'pure-u-23-24', 'placeholder' => '--no language--']) !!}
{!! Form::label('name_long', 'Lizenzname') !!} {!! Form::text('name_long', null, ['class' => 'pure-u-23-24', 'placeholder'
=> '--no language--']) !!}
</div>
<div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('language', 'Sprache') !!}
<div class="select pure-u-23-24">
{!! Form::select('language', $languages, null, ['id' => 'language', 'placeholder' => '--no language--']) !!}
{!! Form::select('language', $languages, null, ['id' => 'language', 'placeholder' => '--no language--']) !!}
</div>
<small id="languageHelp" class="pure-form-message-inline">language is optional</small>
</div>
<div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('link_licence', 'URI zur Lizenz') !!}
{!! Form::text('link_licence', null, ['class' => 'pure-u-23-24']) !!}
{!! Form::label('link_licence', 'URI zur Lizenz') !!} {!! Form::text('link_licence', null, ['class' => 'pure-u-23-24']) !!}
</div>
<div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('link_logo', 'URI zum Logo') !!}
{!! Form::text('link_logo', null, ['class' => 'pure-u-23-24']) !!}
{!! Form::label('link_logo', 'URI zum Logo') !!} {!! Form::text('link_logo', null, ['class' => 'pure-u-23-24']) !!}
</div>
<div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('desc_text', 'Beschreibungstext') !!}
{!! Form::textarea('desc_text', null, ['class' => 'pure-u-23-24', 'size' => '70x6']) !!}
{!! Form::label('desc_text', 'Beschreibungstext') !!} {!! Form::textarea('desc_text', null, ['class' => 'pure-u-23-24', 'size'
=> '70x6']) !!}
</div>
<div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('desc_markup', 'Beschreibung als Markup') !!}
{!! Form::textarea('desc_markup', null, ['class' => 'pure-u-23-24', 'size' => '70x6']) !!}
{!! Form::label('desc_markup', 'Beschreibung als Markup') !!} {!! Form::textarea('desc_markup', null, ['class' => 'pure-u-23-24',
'size' => '70x6']) !!}
</div>
<div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('comment_internal', 'Interne Bermerkung') !!}
{!! Form::textarea('comment_internal', null, ['class' => 'pure-u-23-24', 'size' => '70x6']) !!}
{!! Form::label('comment_internal', 'Interne Bermerkung') !!} {!! Form::textarea('comment_internal', null, ['class' => 'pure-u-23-24',
'size' => '70x6']) !!}
</div>
<div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('mime_type', 'Internet Media Typ') !!}
{!! Form::text('mime_type', null, ['class' => 'pure-u-23-24']) !!}
{!! Form::label('mime_type', 'Internet Media Typ') !!} {!! Form::text('mime_type', null, ['class' => 'pure-u-23-24']) !!}
</div>
<div class="pure-u-1 pure-u-md-1-2 pure-div">
{!! Form::label('sort_order', 'Sortierreihenfolge') !!}
{!! Form::text('sort_order', null, ['class' => 'pure-u-23-24']) !!}
{!! Form::label('sort_order', 'Sortierreihenfolge') !!} {!! Form::text('sort_order', null, ['class' => 'pure-u-23-24']) !!}
</div>
</div>
@ -70,4 +66,4 @@
<div class="pure-controls">
{!! Form::submit($submitButtonText, ['class' => 'pure-button button-small']) !!}
</div>
@include('errors._errors')
@include('errors._errors')

View file

@ -1,111 +1,140 @@
@extends ('settings.layouts.app')
@extends ('settings.layouts.app')
@section ('title', trans('labels.backend.pages.management') . ' | ' . trans('labels.backend.pages.edit'))
{{--
@section('page-header')
<h1>
{{ trans('labels.backend.pages.management') }}
<small>{{ trans('labels.backend.pages.edit') }}</small>
</h1>
@endsection
--}}
@section('content') {{ Form::model($page, ['method' => 'PATCH', 'route' => ['settings.page.update', $page],
'class' => 'pure-form pure-form-aligned', 'id' => 'edit-role', 'enctype' => 'multipart/form-data']) }}
{{-- @section('page-header')
<h1>
{{ trans('labels.backend.pages.management') }}
<small>{{ trans('labels.backend.pages.edit') }}</small>
</h1>
@endsection --}}
<div class="box box-info">
@section('content')
<div class="header">
<h3 class="header-title">{{ trans('labels.backend.pages.edit') }}
</h3>
<div class="box-tools pull-right">
{{--
@include('backend.pages.partials.pages-header-buttons') --}}
</div>
</div>
{{ Form::model($page, ['method' => 'PATCH', 'route' => ['settings.page.update', $page], 'class' => 'pure-form pure-form-aligned', 'id' => 'edit-role', 'enctype' => 'multipart/form-data']) }}
<div class="box-body box-content">
<div class="box box-info">
<div class="pure-control-group">
{{ Form::label('title', trans('validation.attributes.backend.pages.title'), ['class' => 'col-lg-2 control-label required'])
}}
<div class="col-lg-10">
{{ Form::text('title', null, ['class' => 'form-control box-size', 'placeholder' => trans('validation.attributes.backend.pages.title'),
'required' => 'required', 'readonly' => 'true']) }}
</div>
<!--col-lg-10-->
</div>
<!--form control-->
<div class="header">
<h3 class="header-title">{{ trans('labels.backend.pages.edit') }}
</h3>
<div class="box-tools pull-right">
{{-- @include('backend.pages.partials.pages-header-buttons') --}}
</div>
</div>
<div class="pure-control-group">
{{ Form::label('description', trans('validation.attributes.backend.pages.description'), ['class' => 'col-lg-2 control-label
required']) }}
<div class="col-lg-10">
{{ Form::textarea('description', null,['class' => 'form-control', 'placeholder' => trans('validation.attributes.backend.pages.description')])
}}
</div>
<!--col-lg-3-->
</div>
<!--form control-->
<div class="box-body box-content">
{{--
<div class="pure-control-group">
{{ Form::label('language', 'Language..', ['class' => 'col-lg-2 control-label required']) }}
<div class="col-lg-10">
{{ Form::select('language', $languages, $page->language, ['placeholder' => '--no language--']) }}
</div>
</div> --}}
<div class="pure-control-group">
{{ Form::label('title', trans('validation.attributes.backend.pages.title'), ['class' => 'col-lg-2 control-label required']) }}
<div class="col-lg-10">
{{ Form::text('title', null, ['class' => 'form-control box-size', 'placeholder' => trans('validation.attributes.backend.pages.title'), 'required' => 'required', 'readonly' => 'true']) }}
</div><!--col-lg-10-->
</div><!--form control-->
<div class="pure-control-group">
{{ Form::label('cannonical_link', trans('validation.attributes.backend.pages.cannonical_link'), ['class' => 'col-lg-2 control-label'])
}}
<div class="col-lg-10">
{{ Form::text('cannonical_link', null, ['class' => 'form-control box-size', 'placeholder' => trans('validation.attributes.backend.pages.cannonical_link')])
}}
</div>
<!--col-lg-10-->
</div>
<!--form control-->
<div class="pure-control-group">
{{ Form::label('description', trans('validation.attributes.backend.pages.description'), ['class' => 'col-lg-2 control-label required']) }}
<div class="col-lg-10">
{{ Form::textarea('description', null,['class' => 'form-control', 'placeholder' => trans('validation.attributes.backend.pages.description')]) }}
</div><!--col-lg-3-->
</div><!--form control-->
<div class="pure-control-group">
{{ Form::label('seo_title', trans('validation.attributes.backend.pages.seo_title'), ['class' => 'col-lg-2 control-label'])
}}
<div class="col-lg-10">
{{ Form::text('seo_title', null, ['class' => 'form-control box-size', 'placeholder' => trans('validation.attributes.backend.pages.seo_title')])
}}
</div>
<!--col-lg-10-->
</div>
<!--form control-->
{{-- <div class="pure-control-group">
{{ Form::label('language', 'Language..', ['class' => 'col-lg-2 control-label required']) }}
<div class="col-lg-10">
{{ Form::select('language', $languages, $page->language, ['placeholder' => '--no language--']) }}
</div>
</div> --}}
<div class="pure-control-group">
{{ Form::label('seo_keyword', trans('validation.attributes.backend.pages.seo_keyword'), ['class' => 'col-lg-2 control-label'])
}}
<div class="col-lg-10">
{{ Form::text('seo_keyword', null, ['class' => 'form-control box-size', 'placeholder' => trans('validation.attributes.backend.pages.seo_keyword')])
}}
</div>
<!--col-lg-10-->
</div>
<!--form control-->
<div class="pure-control-group">
{{ Form::label('cannonical_link', trans('validation.attributes.backend.pages.cannonical_link'), ['class' => 'col-lg-2 control-label']) }}
<div class="col-lg-10">
{{ Form::text('cannonical_link', null, ['class' => 'form-control box-size', 'placeholder' => trans('validation.attributes.backend.pages.cannonical_link')]) }}
</div><!--col-lg-10-->
</div><!--form control-->
<div class="pure-control-group">
{{ Form::label('seo_description', trans('validation.attributes.backend.pages.seo_description'), ['class' => 'col-lg-2 control-label'])
}}
<div class="col-lg-10">
{{ Form::textarea('seo_description', null,['class' => 'form-control', 'placeholder' => trans('validation.attributes.backend.pages.seo_description')])
}}
</div>
<!--col-lg-3-->
</div>
<!--form control-->
<div class="pure-control-group">
{{ Form::label('seo_title', trans('validation.attributes.backend.pages.seo_title'), ['class' => 'col-lg-2 control-label']) }}
<div class="col-lg-10">
{{ Form::text('seo_title', null, ['class' => 'form-control box-size', 'placeholder' => trans('validation.attributes.backend.pages.seo_title')]) }}
</div><!--col-lg-10-->
</div><!--form control-->
<div class="pure-control-group">
{{ Form::label('status', trans('validation.attributes.backend.pages.is_active'), ['class' => 'col-lg-2 control-label']) }}
<div class="pure-control-group">
{{ Form::label('seo_keyword', trans('validation.attributes.backend.pages.seo_keyword'), ['class' => 'col-lg-2 control-label']) }}
<div class="col-lg-10">
{{ Form::text('seo_keyword', null, ['class' => 'form-control box-size', 'placeholder' => trans('validation.attributes.backend.pages.seo_keyword')]) }}
</div><!--col-lg-10-->
</div><!--form control-->
<div class="pure-control-group">
{{ Form::label('seo_description', trans('validation.attributes.backend.pages.seo_description'), ['class' => 'col-lg-2 control-label']) }}
<div class="col-lg-10">
{{ Form::textarea('seo_description', null,['class' => 'form-control', 'placeholder' => trans('validation.attributes.backend.pages.seo_description')]) }}
</div><!--col-lg-3-->
</div><!--form control-->
<div class="pure-control-group">
{{ Form::label('status', trans('validation.attributes.backend.pages.is_active'), ['class' => 'col-lg-2 control-label']) }}
<div class="col-lg-10">
<div class="control-group">
<label class="control control--checkbox">
<div class="col-lg-10">
<div class="control-group">
<label class="control control--checkbox">
{{ Form::checkbox('status', 1, ($page->status == 1) ? true : false ) }}
<div class="control__indicator"></div>
</label>
</div>
</div><!--col-lg-3-->
</div><!--form control-->
<div class="pure-controls">
{{ link_to_route('settings.page.index', trans('buttons.general.cancel'), [], ['class' => 'pure-button button-small is-warning']) }}
{{ Form::submit(trans('buttons.general.crud.update'), ['class' => 'pure-button button-small is-primary']) }}
<div class="clearfix"></div>
</div>
</div>
<!--col-lg-3-->
</div>
<!--form control-->
</div><!-- /.box-body -->
</div><!--box-->
{{ Form::close() }}
<div class="pure-controls">
{{ link_to_route('settings.page.index', trans('buttons.general.cancel'), [], ['class' => 'pure-button button-small is-warning'])
}} {{ Form::submit(trans('buttons.general.crud.update'), ['class' => 'pure-button button-small is-primary'])
}}
<div class="clearfix"></div>
</div>
</div>
<!-- /.box-body -->
</div>
<!--box-->
{{ Form::close() }}
@endsection
@section("after-scripts")
<script type="text/javascript">
// Backend.Pages.init();
</script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.10/summernote-lite.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.10/summernote-lite.js"></script>
<script>
$(document).ready(function() {
<script type="text/javascript">
// Backend.Pages.init();
</script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.10/summernote-lite.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.10/summernote-lite.js"></script>
<script>
$(document).ready(function() {
// $('#description').summernote();
$('#description').summernote({
height: "300px",
@ -116,5 +145,5 @@
}
});
});
</script>
</script>
@endsection

View file

@ -1,22 +1,21 @@
@extends ('settings.layouts.app')
@section ('title', trans('labels.backend.pages.management'))
{{-- @section('page-header')
<h2>{{ trans('labels.backend.pages.management') }}</h1>
@endsection --}}
@extends ('settings.layouts.app')
@section ('title', trans('labels.backend.pages.management')) {{--
@section('page-header')
<h2>{{ trans('labels.backend.pages.management') }}</h1>
@endsection
--}}
@section('content')
<div class="box box-info">
<div class="box-header with-border header">
<h3 class="header-title">
<i class="fa fa fa-edit"></i> {{ trans('labels.backend.pages.management') }}
</h3>
<div class="box-tools pull-right">
{{-- @include('backend.pages.partials.pages-header-buttons') --}}
{{--
@include('backend.pages.partials.pages-header-buttons') --}}
</div>
</div>
</div>
<div class="box-body pure-g box-content">
<div class="table-responsive data-table-wrapper pure-u-1 pure-u-md-1">
@ -33,11 +32,13 @@
<thead class="transparent-bg">
<tr>
<th>
{!! Form::text('first_name', null, ["class" => "search-input-text form-control", "data-column" => 0, "placeholder" => trans('labels.backend.pages.table.title')]) !!}
<a class="reset-data" href="javascript:void(0)"><i class="fa fa-times"></i></a>
{!! Form::text('first_name', null, ["class" => "search-input-text form-control", "data-column" => 0, "placeholder" => trans('labels.backend.pages.table.title')])
!!}
<a class="reset-data" href="javascript:void(0)"><i class="fa fa-times"></i></a>
</th>
<th>
{!! Form::select('status', [0 => "InActive", 1 => "Active"], null, ["class" => "search-input-select form-control", "data-column" => 1, "placeholder" => trans('labels.backend.pages.table.all')]) !!}
{!! Form::select('status', [0 => "InActive", 1 => "Active"], null, ["class" => "search-input-select form-control", "data-column"
=> 1, "placeholder" => trans('labels.backend.pages.table.all')]) !!}
</th>
<th></th>
<th></th>
@ -45,14 +46,15 @@
</tr>
</thead>
</table>
</div><!--table-responsive-->
</div><!-- /.box-body -->
</div><!--box-->
</div>
<!--table-responsive-->
</div>
<!-- /.box-body -->
</div>
<!--box-->
@endsection
@section('after-scripts')
{{-- For DataTables --}}
{{ Html::script(mix('js/dataTable.js')) }}
@section('after-scripts') {{-- For DataTables --}} {{ Html::script(mix('js/dataTable.js')) }}
<script>
$(function() {