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);
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) {
$meta['field_id'] = $key;
$group_name = $field_data['groups'][$meta['group']];
$meta['group_name'] = $group_name;
if (isset($_SESSION[$skey][$key])) {
@ -19,16 +23,27 @@ foreach ($field_data['fields'] as $key=>$meta) {
} elseif (isset($meta['default'])) {
switch ($meta['default']) {
case 'USER_NAME':
$meta['value'] = 'User Name';
$meta['value'] = $data['user']['name_first'] . ' ' . $data['user']['name_last'];
break;
case 'USER_EMAIL':
$meta['value'] = 'user@email.com';
$meta['value'] = $data['user']['email'];
break;
default:
$meta['value'] = $meta['default'];
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">
<p>
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<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>
{{#form_data}}
<h4>{{group_name}}</h4>
<p>
<!-- Numeric Textfield with Floating Label -->
<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
<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>
</div>
</p>
{{#fields}}
{{>mdl_input}}
{{/fields}}
{{/form_data}}
<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>

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>