Work on organiser page preview page

This commit is contained in:
Dave Earley 2016-06-07 14:00:34 +01:00
parent 477979b828
commit df638770a7
5 changed files with 13860 additions and 91 deletions

View File

@ -442,6 +442,43 @@ function toggleSubmitDisabled($submitButton) {
.val('Working...');
}
/**
*
* @returns {{}}
*/
$.fn.serializeObject = function()
{
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name] !== undefined) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
/**
* Replaces a parameter in a URL with a new parameter
*
* @param url
* @param paramName
* @param paramValue
* @returns {*}
*/
function replaceUrlParam(url, paramName, paramValue) {
var pattern = new RegExp('\\b(' + paramName + '=).*?(&|$)')
if (url.search(pattern) >= 0) {
return url.replace(pattern, '$1' + paramValue + '$2');
}
return url + (url.indexOf('?') > 0 ? '&' : '?') + paramName + '=' + paramValue
}
/**
* Shows users a message.
* Currently uses humane.js

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -126,13 +126,7 @@
});
function replaceUrlParam(url, paramName, paramValue) {
var pattern = new RegExp('\\b(' + paramName + '=).*?(&|$)')
if (url.search(pattern) >= 0) {
return url.replace(pattern, '$1' + paramValue + '$2');
}
return url + (url.indexOf('?') > 0 ? '&' : '?') + paramName + '=' + paramValue
}
</script>
<style type="text/css">

View File

@ -20,8 +20,20 @@
}
</style>
<script>
$(function() {
$('.colorpicker').minicolors();
$(function () {
$('.colorpicker').minicolors({
changeDelay: 500,
change: function() {
$('#OrganiserPageDesign input').on('change', function (e) {
var replaced = replaceUrlParam('{{route('showOrganiserHome', ['organiser_id'=>$organiser->id])}}', 'preview_styles', $('#OrganiserPageDesign form').serialize());
document.getElementById('previewIframe').src = replaced;
e.preventDefault();
});
}
});
});
</script>
@stop
@ -62,88 +74,90 @@
Organiser pages contain a public list of past and upcoming events.
</div>
</div>
<div class="form-group">
{!! Form::label('name', 'Organiser Name', array('class'=>'required control-label ')) !!}
{!! Form::text('name', Input::old('name'),
array(
'class'=>'form-control'
)) !!}
</div>
<div class="form-group">
{!! Form::label('email', 'Organiser Email', array('class'=>'control-label required')) !!}
{!! Form::text('email', Input::old('email'),
array(
'class'=>'form-control ',
'placeholder'=>''
)) !!}
</div>
<div class="form-group">
{!! Form::label('about', 'Organiser Description', array('class'=>'control-label ')) !!}
{!! Form::textarea('about', Input::old('about'),
array(
'class'=>'form-control ',
'placeholder'=>'',
'rows' => 4
)) !!}
</div>
<div class="form-group">
{!! Form::label('name', 'Organiser Name', array('class'=>'required control-label ')) !!}
{!! Form::text('name', Input::old('name'),
array(
'class'=>'form-control'
)) !!}
</div>
<div class="form-group">
{!! Form::label('email', 'Organiser Email', array('class'=>'control-label required')) !!}
{!! Form::text('email', Input::old('email'),
array(
'class'=>'form-control ',
'placeholder'=>''
)) !!}
</div>
<div class="form-group">
{!! Form::label('about', 'Organiser Description', array('class'=>'control-label ')) !!}
{!! Form::textarea('about', Input::old('about'),
array(
'class'=>'form-control ',
'placeholder'=>'',
'rows' => 4
)) !!}
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
{!! Form::label('facebook', 'Organiser Facebook', array('class'=>'control-label ')) !!}
<div class="input-group">
<span style="background-color: #eee;" class="input-group-addon">facebook.com/</span>
{!! Form::text('facebook', Input::old('facebook'),
array(
'class'=>'form-control ',
'placeholder'=>'Username'
)) !!}
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
{!! Form::label('twitter', 'Organiser Twitter', array('class'=>'control-label ')) !!}
<div class="input-group">
<span style="background-color: #eee;" class="input-group-addon">twitter.com/</span>
{!! Form::text('twitter', Input::old('twitter'),
array(
'class'=>'form-control ',
'placeholder'=>'Username'
)) !!}
</div>
</div>
</div>
</div>
@if(is_file($organiser->logo_path))
<div class="row">
<div class="col-md-6">
<div class="form-group">
{!! Form::label('current_logo', 'Current Logo', array('class'=>'control-label ')) !!}
{!! Form::label('facebook', 'Organiser Facebook', array('class'=>'control-label ')) !!}
<div class="thumbnail">
{!!HTML::image($organiser->logo_path)!!}
{!! Form::label('remove_current_image', 'Delete Logo?', array('class'=>'control-label ')) !!}
{!! Form::checkbox('remove_current_image') !!}
<div class="input-group">
<span style="background-color: #eee;" class="input-group-addon">facebook.com/</span>
{!! Form::text('facebook', Input::old('facebook'),
array(
'class'=>'form-control ',
'placeholder'=>'Username'
)) !!}
</div>
</div>
@endif
<div class="form-group">
{!! Form::labelWithHelp('organiser_logo', 'Organiser Logo', array('class'=>'control-label '),
'We recommend a square image, as this will look best on printed tickets and event pages.') !!}
{!!Form::styledFile('organiser_logo')!!}
</div>
<div class="col-md-6">
<div class="form-group">
{!! Form::label('twitter', 'Organiser Twitter', array('class'=>'control-label ')) !!}
<div class="input-group">
<span style="background-color: #eee;" class="input-group-addon">twitter.com/</span>
{!! Form::text('twitter', Input::old('twitter'),
array(
'class'=>'form-control ',
'placeholder'=>'Username'
)) !!}
</div>
</div>
</div>
</div>
@if(is_file($organiser->logo_path))
<div class="form-group">
{!! Form::label('current_logo', 'Current Logo', array('class'=>'control-label ')) !!}
<div class="thumbnail">
{!!HTML::image($organiser->logo_path)!!}
{!! Form::label('remove_current_image', 'Delete Logo?', array('class'=>'control-label ')) !!}
{!! Form::checkbox('remove_current_image') !!}
</div>
</div>
@endif
<div class="form-group">
{!! Form::labelWithHelp('organiser_logo', 'Organiser Logo', array('class'=>'control-label '),
'We recommend a square image, as this will look best on printed tickets and event pages.') !!}
{!!Form::styledFile('organiser_logo')!!}
</div>
<div class="modal-footer">
{!! Form::submit('Save Organiser', ['class'=>"btn btn-success"]) !!}
</div>
{!! Form::close() !!}
</div>
<div class="tab-pane" id="OrganiserPageDesign">
<div class="tab-pane" id="OrganiserPageDesign">
{!! Form::model($organiser, array('url' => route('postEditOrganiserPageDesign', ['event_id' => $organiser->id]), 'class' => 'ajax ')) !!}
<h4>Organiser Design</h4>
<div class="row">
<div class="col-md-6">
<h4>Organiser Design</h4>
<div class="form-group">
{!! Form::label('page_header_bg_color', 'Header Background Color', ['class'=>'control-label required ']) !!}
{!! Form::input('text', 'page_header_bg_color', Input::old('page_header_bg_color'),
@ -152,8 +166,6 @@
'placeholder'=>'#000000'
]) !!}
</div>
</div>
<div class="col-md-6">
<div class="form-group">
{!! Form::label('page_text_color', 'Text Color', ['class'=>'control-label required ']) !!}
{!! Form::input('text', 'page_text_color', Input::old('page_text_color'),
@ -162,8 +174,6 @@
'placeholder'=>'#FFFFFF'
]) !!}
</div>
</div>
<div class="col-md-6">
<div class="form-group">
{!! Form::label('page_bg_color', 'Background Color', ['class'=>'control-label required ']) !!}
{!! Form::input('text', 'page_bg_color', Input::old('page_bg_color'),
@ -172,17 +182,31 @@
'placeholder'=>'#EEEEEE'
]) !!}
</div>
<div class="form-group">
</div>
</div>
<div class="col-md-6">
<h4>Organiser Page Preview</h4>
<div class="preview" style="height: 600px; border: 1px solid #ccc;">
<iframe id="previewIframe" src="{{ route('showOrganiserHome', ['organiser_id' => $organiser->id]) }}"
frameborder="0" style="overflow:hidden;height:100%;width:100%" width="100%"
height="100%"></iframe>
</div>
</div>
</div>
<div class="panel-footer mt15 text-right">
{!! Form::submit('Save Changes', ['class'=>"btn btn-success"]) !!}
</div>
{!! Form::close() !!}
</div>
</div>
</div>
</div>
@stop