Commit 91265299 authored by Hermann Mayer's avatar Hermann Mayer

Added some help usability to the Sidebar Controller.

parent 21ac3bca
......@@ -183,8 +183,8 @@
<p><small>
Diese Website wurde mit <a target="_blank" href="http://symfony.com">Symfony 2</a> und
der <a target="_blank" href="http://twitter.github.com/bootstrap/">Twitter Bootstrap</a> realisiert.
Die Icons wurden zur Verfügung gestellt von <a href="http://glyphicons.com">Glyphicons</a>. Der Quellcode
des Projekts ist Open
Die Icons wurden zur Verfügung gestellt von <a href="http://glyphicons.com">Glyphicons</a>. Der
<a target="_blank" href="https://gitorious.hermann-mayer.net/jity/jity">Quellcode</a> des Projekts ist Open
Source lizenziert und steht in meinem selbst betriebenen Gitorious zur Verfügung.
Haben Sie fragen, oder Anregungen? Kein Problem &ndash; Nebenstehend finden Sie
weiterführende Verweise zu meinen Kontaktdaten und den Services die ich anbiete.
......
......@@ -62,19 +62,19 @@ class SidebarController extends Controller
// -----------------------------------
$section1 = new Section();
$section1
->setTitle('Folgen')
->setContent('Dies ist Test-Inhalt. Im Moment hat dies hier noch keinen Effekt.')
;
$entity->addSection($section1);
$section2 = new Section();
$section2
->setTitle('Sektion 51')
->setContent('Auch diese Sektion ist ein Dummy. Die Entwicklung ist noch im Gange.')
;
$entity->addSection($section2);
// $section1 = new Section();
// $section1
// ->setTitle('Folgen')
// ->setContent('Dies ist Test-Inhalt. Im Moment hat dies hier noch keinen Effekt.')
// ;
// $entity->addSection($section1);
// $section2 = new Section();
// $section2
// ->setTitle('Sektion 51')
// ->setContent('Auch diese Sektion ist ein Dummy. Die Entwicklung ist noch im Gange.')
// ;
// $entity->addSection($section2);
// -----------------------------------
......
......@@ -64,6 +64,7 @@ zusätzliche Arbeit bedeutet.
$section = new Section();
$section
->setGroup($this->getReference('anonymous-group'))
->setTitle('Teilen')
->setContent('<p>
Hat Ihnen diese Seite gefallen? Teilen Sie sie doch mit Ihren
......@@ -88,6 +89,7 @@ Freunden und Bekannten über Googles Soziales Netzwerk oder über Facebook.
$section = new Section();
$section
->setGroup($this->getReference('anonymous-group'))
->setTitle('Favoriten')
->setContent('<p>
Indem Sie diese Seite zu ihren permanenten Favoriten hinzufügen,
......
......@@ -11,6 +11,13 @@ class LoadGroupData extends AbstractFixture implements OrderedFixtureInterface
{
public function load(ObjectManager $manager)
{
// Build Anonymous Group
$anonymousGroup = new Group();
$anonymousGroup
->setName('Gäste')
->setRole('IS_AUTHENTICATED_ANONYMOUSLY')
;
// Build User Group
$userGroup = new Group();
$userGroup
......@@ -52,6 +59,7 @@ class LoadGroupData extends AbstractFixture implements OrderedFixtureInterface
;
// Save all Groups
$manager->persist($anonymousGroup);
$manager->persist($userGroup);
$manager->persist($authorGroup);
$manager->persist($adminGroup);
......@@ -67,6 +75,7 @@ class LoadGroupData extends AbstractFixture implements OrderedFixtureInterface
$this->addReference('admin-group', $adminGroup);
$this->addReference('author-group', $authorGroup);
$this->addReference('user-group', $userGroup);
$this->addReference('anonymous-group', $anonymousGroup);
}
public function getOrder()
......
......@@ -37,6 +37,9 @@ class SidebarType extends AbstractType
'label' => 'Verbundene Sektionen',
'label_attr' => array(
'class' => 'form_embedded_label'
),
'attr' => array(
'class' => 'sortable-existing'
)
))
;
......
......@@ -379,12 +379,17 @@ hr {
padding-left: 25px;
padding-right: 59px;
background-repeat: no-repeat;
background-position: right bottom;
}
.sortable-new {
.sortable.sortable-new {
background-image: url("/bundles/jityhomepage/img/new-sortable-bg.png");
background-repeat:no-repeat;
background-position:right bottom;
}
.sortable.sortable-existing {
background-image: url("/bundles/jityhomepage/img/existing-sortable-bg.png");
}
.sortable .dragbar {
......@@ -425,6 +430,11 @@ hr {
margin-top: 0px !important;
}
#no_sections_msg {
text-align: right;
font-size: 16px;
}
.ui-state-highlight {
box-shadow: inset 0px 0px 20px #000000;
background-color: #181818;
......@@ -440,7 +450,7 @@ hr {
}
.breadcrumb {
background-image: linear-gradient(to bottom, #222222, #282624);
background-image: linear-gradient(to bottom, #363636, #282624);
background-color: #282624;
}
......
......@@ -50,7 +50,7 @@
{% for rows in form %}
<div class="sortable {{ form.vars.full_name }}">
<div class="sortable {% if form.vars.attr.class is defined %}{{ form.vars.attr.class }}{% endif %} {{ form.vars.full_name }}">
<div class="dragbar"></div>
<div class="controllpanel">
......@@ -74,8 +74,6 @@
collections = {
amount: {{ form|length }},
widgets: {{ form.0|length }},
form: "{{ form.vars.full_name }}".replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"),
itemPattern: "("
......@@ -102,7 +100,7 @@
});
},
add: function(data) {
add: function(attr, data) {
var coll = $('#{{ form.vars.id }}');
var prototype = coll.attr('data-prototype');
......@@ -113,6 +111,18 @@
prototype.replace(/__name__/g, coll.children().length)
);
// If we got attr data for our prototype
if (attr) {
if (attr.class) {
var preClass = el.attr('class');
attr.class = preClass + ' ' + attr.class;
}
el.attr(attr);
}
// If we got data to fill our prototype with
if (data) {
......@@ -150,7 +160,7 @@
{% block collection_item_widget %}
{% spaceless %}
<div class="sortable sortable-new {{ form.vars.full_name }}">
<div class="sortable {{ form.vars.full_name }}">
<div class="dragbar"></div>
<div class="controllpanel">
......
......@@ -18,10 +18,6 @@
<script>
$(document).ready(function() {
$('textarea[data-target="#editor_modal"]').bind('focus', function(){
editor.setSyncElement('#' + $(this).attr('id'));
});
$('.form_embedded_label').html($('.form_embedded_label').html() + '<div class="pull-right">'
+ '<a href="#" title="Neues Element hinzufügen" class="btn btn-small btn-danger" id="section_btn_add">'
+ '<i class="icon-white icon-plus"></i>'
......@@ -35,7 +31,11 @@ $(document).ready(function() {
sections = {
init: function() {
$('textarea[data-target="#editor_modal"]').bind('focus', function(){
editor.setSyncElement('textarea[id="' + $(this).attr('id') + '"]');
});
$('.btn-remove').click(function (e){
// Dont do anything on link clicking
......@@ -65,6 +65,7 @@ $(document).ready(function() {
// At end of sliding remove element from dom
el.remove();
sections.emptyMessage();
});
}
}
......@@ -72,6 +73,28 @@ $(document).ready(function() {
.show()
;
});
this.emptyMessage();
},
emptyMessage: function() {
if (0 == $('#jity_homepagebundle_sidebartype_sections').children().length) {
$('#jity_homepagebundle_sidebartype_sections').html(
'<p id="no_sections_msg">'
+ '<img class="pull-right" src="{{ asset('bundles/jityhomepage/img/help/no-section-arrow.png') }}" />'
+ '<br>Noch sind keine Sektionen mit dieser Sidebar verbunden.<br>'
+ 'Das soll natürlich nicht so bleiben, deshalb können Sie ganz bequem über<br>'
+ 'diesen Knopf neue Sektionen anlegen, oder bestehende verbinden.'
+ '</p>'
).hide().fadeIn();
} else {
$('#no_sections_msg').remove();
}
},
fetchAndAdd: function(id) {
......@@ -84,9 +107,7 @@ $(document).ready(function() {
path,
function(data) {
console.log(data);
collections.add([
collections.add({class: "sortable-existing"}, [
data.title,
data.content,
(data.group) ? data.group.id : 0
......@@ -122,7 +143,7 @@ $(document).ready(function() {
+ ' <div>'
+ ' <legend class="h2">Neue Sektion</legend>'
+ ' Es ist aber auch möglich neue Sektionen gleich in diesem Schritt anzulegen.<br><br>'
+ ' <a class="btn btn-primary" href="#" onclick="collections.add(); sections.init(); confirmModal.hide();">'
+ ' <a class="btn btn-primary" href="#" onclick="collections.add({class: \'sortable-new\'}); sections.init(); confirmModal.hide();">'
+ ' <i class="icon-white icon-ok"></i>'
+ ' Anlegen'
+ ' </a>'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment