Example #1
0
 public function keep()
 {
     $blueprint = $this->model->blueprint();
     $fields = $blueprint->fields($this->model);
     $form = new Form($fields->toArray());
     $data = $this->model->filterInput($form->serialize());
     $old = $this->model->content()->toArray();
     if ($data != $old) {
         $this->update($data);
     }
 }
Example #2
0
<?php

use Kirby\Panel\Form;
return function ($page) {
    // create the form
    $form = new Form($page->getFormFields(), $page->getFormData());
    // add the blueprint name as css class
    $form->addClass('form-blueprint-' . $page->blueprint()->name());
    // center the submit button
    $form->centered = true;
    // set the keep api
    $form->data('keep', $page->url('keep'));
    // set the autofocus on the title field
    $form->fields->title->autofocus = true;
    // add the changes alert
    if ($page->changes()->differ()) {
        // display unsaved changes
        $alert = new Brick('div');
        $alert->addClass('text');
        $alert->append('<span>' . l('pages.show.changes.text') . '</span>');
        $form->buttons->prepend('changes', $alert);
        $form->buttons->cancel->attr('href', $page->url('discard'));
        $form->buttons->cancel->html(l('pages.show.changes.button'));
        // add wide buttons
        $form->buttons->cancel->addClass('btn-wide');
        $form->buttons->submit->addClass('btn-wide');
    } else {
        // remove the cancel button
        $form->buttons->cancel = '';
    }
    // check for untranslatable fields
Example #3
0
<?php

use Kirby\Panel\Form;
return function ($page) {
    // create the form
    $form = new Form($page->getFormFields(), $page->getFormData());
    // add the blueprint name as css class
    $form->addClass('form-blueprint-' . $page->blueprint()->name());
    // center the submit button
    $form->centered = true;
    // set the keep api
    $form->data('keep', $page->url('keep'));
    // set the autofocus on the title field
    $form->fields->title->autofocus = true;
    // add the changes alert
    if ($page->changes()->differ()) {
        // display unsaved changes
        $alert = new Brick('div');
        $alert->addClass('text');
        $alert->append('<span>' . l('pages.show.changes.text') . '</span>');
        $form->buttons->prepend('changes', $alert);
        $form->buttons->cancel->attr('href', $page->url('discard'));
        $form->buttons->cancel->html(l('pages.show.changes.button'));
        // add wide buttons
        $form->buttons->cancel->addClass('btn-wide');
        $form->buttons->submit->addClass('btn-wide');
    } else {
        // remove the cancel button
        $form->buttons->cancel = '';
    }
    return $form;
Example #4
0
 public function css()
 {
     $form = new Form();
     return new Response($form->plugins()->css(), 'text/css');
 }