progress so far..

This commit is contained in:
Andy Miller
2015-08-14 06:23:16 -06:00
parent 268a1b0baf
commit 65cf04faed
3 changed files with 44 additions and 21 deletions

View File

@@ -534,9 +534,26 @@ class Admin
if (isset($this->session->{$page->route()})) {
// Found the type and header from the session.
$data = $this->session->{$page->route()};
$visible = isset($data['visible']) && $data['visible'] != '' ? (bool)$data['visible'] : $this->guessVisibility($page);
$header = ['title' => $data['title'], 'visible' => $visible];
$header = ['title' => $data['title']];
if (isset($data['visible'])) {
if ($data['visible'] == '') {
// if auto (ie '')
$children = $page->parent()->children();
foreach ($children as $child) {
if ($child->order()) {
// set page order
$page->order(1000);
break;
}
}
} else {
// else visible explicitly set
$header['visible'] = (bool) $data['visible'];
}
}
if ($data['type'] == 'modular') {
$header['body_classes'] = 'modular';

View File

@@ -827,6 +827,7 @@ class AdminController
$obj = $this->admin->page(true);
$original_slug = $obj->slug();
$original_order = intval(trim($obj->order(), '.'));
// Change parent if needed and initialize move (might be needed also on ordering/folder change).
$obj = $obj->move($parent);
@@ -837,19 +838,20 @@ class AdminController
$obj->validate();
$obj->filter();
$visible_after = $obj->visible();
// $visible_after = $obj->visible();
// force reordering
$reorder = true;
// $reorder = true;
// rename folder based on visible
if ($visible_after && !$obj->order()) {
// needs to have order set
$obj->order(1000);
} elseif (!$visible_after && $obj->order()) {
// needs to have order removed
$obj->folder($obj->slug());
if ($original_order == 1000) {
// increment order to force reshuffle
$obj->order($original_order + 1);
}
// } elseif (!$visible_after && $obj->order()) {
// // needs to have order removed
// $obj->folder($obj->slug());
// }
} else {
// Handle standard data types.
@@ -859,7 +861,7 @@ class AdminController
}
if ($obj) {
$obj->save($reorder);
$obj->save(true);
$this->admin->setMessage('Successfully saved', 'info');
}
@@ -1171,7 +1173,7 @@ class AdminController
}
} else {
if (isset($input['toggleable_header'][$key]) && !$input['toggleable_header'][$key]) {
$header[$key] = '';
$header[$key] = null;
}
}
}

View File

@@ -22,15 +22,19 @@
{% set id = "toggle_" ~ field.name ~ key %}
<input type="radio"
value="{{ key }}"
id="{{ id }}"
name="{{ (scope ~ field.name)|fieldName }}"
{% if field.highlight is defined %}
class="{{ field.highlight == '' ~ key ? 'highlight' : '' }}"
{% endif %}
{% if '' ~ key == '' ~ value %}checked="checked" {% endif %}
{% if value is defined and (key == 1 or key == '1') %}checked="checked" {% endif %}
{% if field.validate.required in ['on', 'true', 1] %}required="required"{% endif %}
value="{{ key }}"
id="{{ id }}"
name="{{ (scope ~ field.name)|fieldName }}"
{% if field.highlight is defined %}
class="{{ field.highlight == '' ~ key ? 'highlight' : '' }}"
{% endif %}
{% if field.toggleable %}
{% if '' ~ key == '' ~ value %}checked="checked" {% endif %}
{% if value is defined and (key == 1 or key == '1') %}checked="checked" {% endif %}
{% else %}
{% if '' ~ key == '' ~ value %}checked="checked" {% endif %}
{% endif %}
{% if field.validate.required in ['on', 'true', 1] %}required="required"{% endif %}
/>
<label for="{{ id }}">{{ text }}</label>
{% endfor %}