Added templates for different INPUT fields. prep_form needs cleanup!

This commit is contained in:
Markus Birth 2016-05-24 02:39:23 +02:00
parent 891c9db21d
commit 2983bcb56b
12 changed files with 119 additions and 20 deletions

View File

@ -8,10 +8,14 @@ $field_data_json = file_get_contents('definitions/' . $action . '.json');
$field_data = json_decode($field_data_json, true); $field_data = json_decode($field_data_json, true);
foreach ($field_data['groups'] as $id=>$group) { foreach ($field_data['groups'] as $id=>$group) {
$by_group[$group] = array(); $by_group[$group] = array(
'group_name' => $group,
'fields' => array(),
);
} }
foreach ($field_data['fields'] as $key=>$meta) { foreach ($field_data['fields'] as $key=>$meta) {
$meta['field_id'] = $key;
$group_name = $field_data['groups'][$meta['group']]; $group_name = $field_data['groups'][$meta['group']];
$meta['group_name'] = $group_name; $meta['group_name'] = $group_name;
if (isset($_SESSION[$skey][$key])) { if (isset($_SESSION[$skey][$key])) {
@ -19,16 +23,27 @@ foreach ($field_data['fields'] as $key=>$meta) {
} elseif (isset($meta['default'])) { } elseif (isset($meta['default'])) {
switch ($meta['default']) { switch ($meta['default']) {
case 'USER_NAME': case 'USER_NAME':
$meta['value'] = 'User Name'; $meta['value'] = $data['user']['name_first'] . ' ' . $data['user']['name_last'];
break; break;
case 'USER_EMAIL': case 'USER_EMAIL':
$meta['value'] = 'user@email.com'; $meta['value'] = $data['user']['email'];
break; break;
default: default:
$meta['value'] = $meta['default']; $meta['value'] = $meta['default'];
break; break;
} }
} }
$by_group[$group_name][$key] = $meta; $meta['fieldtype_' . $meta['type']] = true;
if ($meta['type'] == 'datetime') {
$meta['min'] = date('Y-m-d');
}
$by_group[$group_name]['fields'][$key] = $meta;
} }
print_r($by_group);
foreach ($by_group as $group=>$group_data) {
$by_group[$group]['fields'] = array_values($group_data['fields']);
}
#print_r($by_group);
$by_group = array_values($by_group);
$data['form_data'] = $by_group;

View File

@ -10,22 +10,15 @@
<form action="./" method="post"> <form action="./" method="post">
<p> {{#form_data}}
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label"> <h4>{{group_name}}</h4>
<input class="mdl-textfield__input" type="text" required id="reservationFor_name">
<label class="mdl-textfield__label" for="reservationFor_name">Name</label>
<span class="mdl-textfield__error">Please input a name!</span>
</div>
</p>
<p> {{#fields}}
<!-- Numeric Textfield with Floating Label --> {{>mdl_input}}
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label"> {{/fields}}
<input class="mdl-textfield__input" type="datetime-local" min="{{date_today}}" required id="reservationFor_startDate">
<label class="mdl-textfield__label" for="reservationFor_checkinDate">Checkin Time</label>
<span class="mdl-textfield__error">Input is empty or not a date!</span> {{/form_data}}
</div>
</p>
<button id="frs-button-send" type="submit" class="mdl-button mdl-js-button mdl-button--fab mdl-js-ripple-effect mdl-button--colored"> <button id="frs-button-send" type="submit" class="mdl-button mdl-js-button mdl-button--fab mdl-js-ripple-effect mdl-button--colored">
<i class="material-icons">send</i> <i class="material-icons">send</i>

View File

@ -0,0 +1,27 @@
{{#fieldtype_text}}
{{>mdl_input_text}}
{{/fieldtype_text}}
{{#fieldtype_url}}
{{>mdl_input_url}}
{{/fieldtype_url}}
{{#fieldtype_tel}}
{{>mdl_input_tel}}
{{/fieldtype_tel}}
{{#fieldtype_datetime}}
{{>mdl_input_datetime}}
{{/fieldtype_datetime}}
{{#fieldtype_country}}
{{>mdl_input_country}}
{{/fieldtype_country}}
{{#fieldtype_number}}
{{>mdl_input_number}}
{{/fieldtype_number}}
{{#fieldtype_decimal}}
{{>mdl_input_decimal}}
{{/fieldtype_decimal}}
{{#fieldtype_email}}
{{>mdl_input_email}}
{{/fieldtype_email}}
{{#fieldtype_status}}
{{>mdl_input_status}}
{{/fieldtype_status}}

View File

@ -0,0 +1,7 @@
<p>
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input class="mdl-textfield__input" type="text" {{#required}}required{{/required}} id="{{field_id}}" value="{{value}}"/>
<label class="mdl-textfield__label" for="{{field_id}}">{{title}} (SELECTOR tbd!)</label>
<span class="mdl-textfield__error">Please input a country!</span>
</div>
</p>

View File

@ -0,0 +1,7 @@
<p>
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input class="mdl-textfield__input" type="datetime-local" min="{{min}}T00:00:00.0" max="2032-12-31T00:00:00.0" {{#required}}required{{/required}} id="{{field_id}}" value="{{value}}"/>
<label class="mdl-textfield__label" for="{{field_id}}">{{title}}</label>
<span class="mdl-textfield__error">Please input a valid date!</span>
</div>
</p>

View File

@ -0,0 +1,7 @@
<p>
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input class="mdl-textfield__input" type="number" {{#required}}required{{/required}} step="0.5" id="{{field_id}}" value="{{value}}"/>
<label class="mdl-textfield__label" for="{{field_id}}">{{title}}</label>
<span class="mdl-textfield__error">Please input a value!</span>
</div>
</p>

View File

@ -0,0 +1,7 @@
<p>
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input class="mdl-textfield__input" type="email" {{#required}}required{{/required}} id="{{field_id}}" value="{{value}}"/>
<label class="mdl-textfield__label" for="{{field_id}}">{{title}}</label>
<span class="mdl-textfield__error">Please input a valid email address!</span>
</div>
</p>

View File

@ -0,0 +1,7 @@
<p>
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input class="mdl-textfield__input" type="number" {{#required}}required{{/required}} id="{{field_id}}" value="{{value}}"/>
<label class="mdl-textfield__label" for="{{field_id}}">{{title}}</label>
<span class="mdl-textfield__error">Please input a value!</span>
</div>
</p>

View File

@ -0,0 +1,8 @@
<p>
Select your status:
<select name="{{field_id}}" size="1">
<option value="http://schema.org/Confirmed">Confirmed</option>
<option value="http://schema.org/Cancelled">Cancelled</option>
<option value="http://schema.org/Pending">Pending</option>
</select>
</p>

View File

@ -0,0 +1,7 @@
<p>
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input class="mdl-textfield__input" type="tel" {{#required}}required{{/required}} id="{{field_id}}" value="{{value}}"/>
<label class="mdl-textfield__label" for="{{field_id}}">{{title}}</label>
<span class="mdl-textfield__error">Please input a valid phone number!</span>
</div>
</p>

View File

@ -0,0 +1,7 @@
<p>
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input class="mdl-textfield__input" type="text" {{#required}}required{{/required}} id="{{field_id}}" value="{{value}}"/>
<label class="mdl-textfield__label" for="{{field_id}}">{{title}}</label>
<span class="mdl-textfield__error">Please input a value!</span>
</div>
</p>

View File

@ -0,0 +1,7 @@
<p>
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<input class="mdl-textfield__input" type="url" {{#required}}required{{/required}} id="{{field_id}}" value="{{value}}"/>
<label class="mdl-textfield__label" for="{{field_id}}">{{title}}</label>
<span class="mdl-textfield__error">Please input a valid URL!</span>
</div>
</p>