- Added widgets.css

- Better widgets HTML format
- Changed required attribute to udf-required
This commit is contained in:
Paolo
2017-07-21 15:02:04 +02:00
parent b9c846f18f
commit dab6515038
9 changed files with 213 additions and 142 deletions
+5 -5
View File
@@ -27,10 +27,10 @@ class DB_Model extends FHC_Model
// UDF validation attributes
const UDF_REGEX = 'regex';
const UDF_REGEX_LANG = 'php';
const UDF_REQUIRED = 'required';
const UDF_MAX_VALUE = 'max-value';
const UDF_MIN_VALUE = 'min-value';
const UDF_REGEX_LANG = 'php';
const UDF_MAX_LENGTH = 'max-length';
const UDF_MIN_LENGTH = 'min-length';
@@ -991,8 +991,8 @@ class DB_Model extends FHC_Model
// If validation rules are present for this UDF description and the required attribute is === true
// then add this UDF into $requiredUDFsArray
if(isset($decodedUDFDefinition->validation)
&& isset($decodedUDFDefinition->validation->required)
&& $decodedUDFDefinition->validation->required === true)
&& isset($decodedUDFDefinition->validation->{DB_Model::UDF_REQUIRED})
&& $decodedUDFDefinition->validation->{DB_Model::UDF_REQUIRED} === true)
{
$requiredUDFsArray[$decodedUDFDefinition->{DB_Model::UDF_ATTRIBUTE_NAME}] = error(
$decodedUDFDefinition->{DB_Model::UDF_ATTRIBUTE_NAME},
@@ -1021,8 +1021,8 @@ class DB_Model extends FHC_Model
// then removes this UDF from the array $requiredUDFsArray
// because this UDF is present in the property UDFs (the list of UDFs that should be stored)
// therefore it was supplied
if (isset($decodedUDFDefinition->validation->required)
&& $decodedUDFDefinition->validation->required === true
if (isset($decodedUDFDefinition->validation->{DB_Model::UDF_REQUIRED})
&& $decodedUDFDefinition->validation->{DB_Model::UDF_REQUIRED} === true
&& isset($requiredUDFsArray[$decodedUDFDefinition->{DB_Model::UDF_ATTRIBUTE_NAME}]))
{
unset($requiredUDFsArray[$decodedUDFDefinition->{DB_Model::UDF_ATTRIBUTE_NAME}]);
+6 -6
View File
@@ -1,7 +1,7 @@
<?php $this->load->view("templates/header", array("title" => "UDF")); ?>
<?php $this->load->view("templates/header", array("title" => "UDF", "widgetsCSS" => true)); ?>
<body style="background-color: #eff0f1;">
<?php
if ($result != null)
{
@@ -47,13 +47,13 @@
<table>
<tr>
<td>
<td style="font-size: 20px; font-weight: bold;">
Person
</td>
<td width="30px">
&nbsp;
</td>
<td>
<td style="font-size: 20px; font-weight: bold;">
Prestudent
</td>
</tr>
@@ -63,7 +63,7 @@
</td>
</tr>
<tr>
<td>
<td class="align-top">
<?php
echo $this->widgetlib->UDFWidget(
array(
@@ -77,7 +77,7 @@
<td width="30px">
&nbsp;
</td>
<td>
<td class="align-top">
<?php
echo $this->widgetlib->UDFWidget(
array(
+4
View File
@@ -13,6 +13,7 @@ isset($title) ? $title = 'VileSci - '.$title : $title = 'VileSci';
!isset($jsoneditor) ? $jsoneditor = false : $jsoneditor = $jsoneditor;
!isset($jsonforms) ? $jsonforms = false : $jsonforms = $jsonforms;
!isset($textile) ? $textile = false : $textile = $textile;
!isset($widgetsCSS) ? $widgetsCSS = false : $widgetsCSS = $widgetsCSS;
if ($tablesort || $jquery_checkboxes || $jquery_custom)
$jquery = true;
@@ -67,4 +68,7 @@ if ($tablesort || $jquery_checkboxes || $jquery_custom)
<link rel="stylesheet" type="text/css" href="<?php echo base_url('vendor/json-forms/dist/css/brutusin-json-forms.min.css'); ?>" />
<script type="text/javascript" src="<?php echo base_url('vendor/json-forms/dist/js/brutusin-json-forms.min.js'); ?>"></script>
<?php endif ?>
<?php if($widgetsCSS) : ?>
<link rel="stylesheet" type="text/css" href="<?php echo base_url('skin/widgets.css'); ?>" />
<?php endif ?>
</head>
+40 -28
View File
@@ -1,30 +1,42 @@
<?php Widget::printStartBlock(${Widget::HTML_ARG_NAME}); ?>
<?php
if (isset(${Widget::HTML_ARG_NAME}[UDFWidgetTpl::LABEL]))
{
?>
<label for="<?php echo ${Widget::HTML_ARG_NAME}[Widget::HTML_ID]; ?>">
<?php echo ${Widget::HTML_ARG_NAME}[UDFWidgetTpl::LABEL]; ?>
</label>
<?php
}
?>
<input
type="checkbox"
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, Widget::HTML_ID); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, Widget::HTML_NAME); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::REQUIRED); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::REGEX); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::TITLE); ?>
<?php
$checked = '';
if (${CheckboxWidget::VALUE_FIELD} == ${CheckboxWidget::CHECKED_ELEMENT})
{
$checked = 'checked';
}
?>
<?php echo $checked; ?>
value="<?php echo ${CheckboxWidget::VALUE_FIELD}; ?>"
>
<?php echo ${CheckboxWidget::VALUE_FIELD}; ?>
<div class="div-table">
<div class="div-row">
<?php
if (isset(${Widget::HTML_ARG_NAME}[UDFWidgetTpl::LABEL]))
{
?>
<div class="div-cell align-middle">
<label for="<?php echo ${Widget::HTML_ARG_NAME}[Widget::HTML_ID]; ?>">
<?php echo ${Widget::HTML_ARG_NAME}[UDFWidgetTpl::LABEL]; ?>
</label>
</div>
<?php
}
?>
<div class="div-cell">
<input
type="checkbox"
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, Widget::HTML_ID); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, Widget::HTML_NAME); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidget::REQUIRED); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::REGEX); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::TITLE); ?>
<?php
$checked = '';
if (${CheckboxWidget::VALUE_FIELD} == ${CheckboxWidget::CHECKED_ELEMENT})
{
$checked = 'checked';
}
?>
<?php echo $checked; ?>
value="<?php echo ${CheckboxWidget::VALUE_FIELD}; ?>"
>
</div>
<div class="div-cell align-middle">
<?php echo ${CheckboxWidget::VALUE_FIELD}; ?>
</div>
</div>
</div>
<?php Widget::printEndBlock(${Widget::HTML_ARG_NAME}); ?>
+65 -50
View File
@@ -1,56 +1,71 @@
<?php Widget::printStartBlock(${Widget::HTML_ARG_NAME}); ?>
<?php
if (isset(${Widget::HTML_ARG_NAME}[UDFWidgetTpl::LABEL]))
{
?>
<label for="<?php echo ${Widget::HTML_ARG_NAME}[Widget::HTML_ID]; ?>">
<?php echo ${Widget::HTML_ARG_NAME}[UDFWidgetTpl::LABEL]; ?>
</label>
<?php
}
?>
<select
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, Widget::HTML_ID); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, Widget::HTML_NAME); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, DropdownWidget::SIZE); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, DropdownWidget::MULTIPLE, false); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::REQUIRED); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::MAX_VALUE); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::MIN_VALUE); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::REGEX); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::TITLE); ?>
>
<?php
$elements = ${DropdownWidget::WIDGET_DATA_ELEMENTS_ARRAY_NAME};
$selectedElements = ${DropdownWidget::SELECTED_ELEMENT};
foreach($elements as $element)
{
$selected = '';
if (is_array($selectedElements))
{
foreach($selectedElements as $selectedElement)
<div class="div-table">
<div class="div-row">
<?php
if (isset(${Widget::HTML_ARG_NAME}[UDFWidgetTpl::LABEL]))
{
if ($element->{DropdownWidget::ID_FIELD} == $selectedElement)
$align = "align-middle";
if (isset(${Widget::HTML_ARG_NAME}[DropdownWidget::MULTIPLE]))
{
$selected = 'selected';
$align = "align-top";
}
?>
<div class="div-cell <?php echo $align; ?>">
<label for="<?php echo ${Widget::HTML_ARG_NAME}[Widget::HTML_ID]; ?>">
<?php echo ${Widget::HTML_ARG_NAME}[UDFWidgetTpl::LABEL]; ?>
</label>
</div>
<?php
}
}
else
{
if ($element->{DropdownWidget::ID_FIELD} == $selectedElements)
{
$selected = 'selected';
}
}
?>
<option value="<?php echo $element->{DropdownWidget::ID_FIELD}; ?>" <?php echo $selected; ?>>
<?php echo $element->{DropdownWidget::DESCRIPTION_FIELD}; ?>
</option>
<?php
}
?>
</select>
?>
<div class="div-cell">
<select
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, Widget::HTML_ID); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, Widget::HTML_NAME); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, DropdownWidget::SIZE); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, DropdownWidget::MULTIPLE, false); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidget::REQUIRED); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::MAX_VALUE); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::MIN_VALUE); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::REGEX); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::TITLE); ?>
>
<?php
$elements = ${DropdownWidget::WIDGET_DATA_ELEMENTS_ARRAY_NAME};
$selectedElements = ${DropdownWidget::SELECTED_ELEMENT};
foreach($elements as $element)
{
$selected = '';
if (is_array($selectedElements))
{
foreach($selectedElements as $selectedElement)
{
if ($element->{DropdownWidget::ID_FIELD} == $selectedElement)
{
$selected = 'selected';
}
}
}
else
{
if ($element->{DropdownWidget::ID_FIELD} == $selectedElements)
{
$selected = 'selected';
}
}
?>
<option value="<?php echo $element->{DropdownWidget::ID_FIELD}; ?>" <?php echo $selected; ?>>
<?php echo $element->{DropdownWidget::DESCRIPTION_FIELD}; ?>
</option>
<?php
}
?>
</select>
</div>
</div>
</div>
<?php Widget::printEndBlock(${Widget::HTML_ARG_NAME}); ?>
+30 -22
View File
@@ -1,24 +1,32 @@
<?php Widget::printStartBlock(${Widget::HTML_ARG_NAME}); ?>
<?php
if (isset(${Widget::HTML_ARG_NAME}[UDFWidgetTpl::LABEL]))
{
?>
<label for="<?php echo ${Widget::HTML_ARG_NAME}[Widget::HTML_ID]; ?>">
<?php echo ${Widget::HTML_ARG_NAME}[UDFWidgetTpl::LABEL]; ?>
</label>
<?php
}
?>
<textarea
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, Widget::HTML_ID); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, Widget::HTML_NAME); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, TextareaWidget::ROWS); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, TextareaWidget::COLS); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::REQUIRED); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::PLACEHOLDER); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::REGEX); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::TITLE); ?>
>
<?php echo ${TextareaWidget::TEXT}; ?>
</textarea>
<div class="div-table">
<div class="div-row">
<?php
if (isset(${Widget::HTML_ARG_NAME}[UDFWidgetTpl::LABEL]))
{
?>
<div class="div-cell align-top">
<label for="<?php echo ${Widget::HTML_ARG_NAME}[Widget::HTML_ID]; ?>">
<?php echo ${Widget::HTML_ARG_NAME}[UDFWidgetTpl::LABEL]; ?>
</label>
</div>
<?php
}
?>
<div class="div-cell">
<textarea
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, Widget::HTML_ID); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, Widget::HTML_NAME); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, TextareaWidget::ROWS); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, TextareaWidget::COLS); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidget::REQUIRED); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::PLACEHOLDER); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::REGEX); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::TITLE); ?>
><?php echo ${TextareaWidget::TEXT}; ?></textarea>
</div>
</div>
</div>
<?php Widget::printEndBlock(${Widget::HTML_ARG_NAME}); ?>
+31 -21
View File
@@ -1,23 +1,33 @@
<?php Widget::printStartBlock(${Widget::HTML_ARG_NAME}); ?>
<?php
if (isset(${Widget::HTML_ARG_NAME}[UDFWidgetTpl::LABEL]))
{
?>
<label for="<?php echo ${Widget::HTML_ARG_NAME}[Widget::HTML_ID]; ?>">
<?php echo ${Widget::HTML_ARG_NAME}[UDFWidgetTpl::LABEL]; ?>
</label>
<?php
}
?>
<input
type="text"
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, Widget::HTML_ID); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, Widget::HTML_NAME); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, TextfieldWidget::SIZE); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::REQUIRED); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::PLACEHOLDER); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::REGEX); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::TITLE); ?>
value="<?php echo ${TextfieldWidget::VALUE}; ?>"
>
<div class="div-table">
<div class="div-row">
<?php
if (isset(${Widget::HTML_ARG_NAME}[UDFWidgetTpl::LABEL]))
{
?>
<div class="div-cell align-middle">
<label for="<?php echo ${Widget::HTML_ARG_NAME}[Widget::HTML_ID]; ?>">
<?php echo ${Widget::HTML_ARG_NAME}[UDFWidgetTpl::LABEL]; ?>
</label>
</div>
<?php
}
?>
<div class="div-cell">
<input
type="text"
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, Widget::HTML_ID); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, Widget::HTML_NAME); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, TextfieldWidget::SIZE); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidget::REQUIRED); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::PLACEHOLDER); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::REGEX); ?>
<?php Widget::printAttribute(${Widget::HTML_ARG_NAME}, UDFWidgetTpl::TITLE); ?>
value="<?php echo ${TextfieldWidget::VALUE}; ?>"
>
</div>
</div>
</div>
<?php Widget::printEndBlock(${Widget::HTML_ARG_NAME}); ?>
+12 -10
View File
@@ -7,6 +7,8 @@ class UDFWidget extends UDFWidgetTpl
{
const NAME = 'name';
const TYPE = 'type';
const REQUIRED = 'udf-required';
const VALIDATION = 'validation';
const LIST_VALUES = 'listValues';
const REGEX_LANGUAGE = 'js';
@@ -369,16 +371,16 @@ class UDFWidget extends UDFWidgetTpl
private function _setValidationAttributes($jsonSchema)
{
// Validation
$this->_args[Widget::HTML_ARG_NAME][UDFWidget::REQUIRED] = null;
$this->_args[Widget::HTML_ARG_NAME][UDFWidgetTpl::REGEX] = null;
$this->_args[Widget::HTML_ARG_NAME][UDFWidgetTpl::REQUIRED] = null;
$this->_args[Widget::HTML_ARG_NAME][UDFWidgetTpl::MAX_VALUE] = null;
$this->_args[Widget::HTML_ARG_NAME][UDFWidgetTpl::MIN_VALUE] = null;
if (isset($jsonSchema->validation))
{
if (isset($jsonSchema->validation->regex) && is_array($jsonSchema->validation->regex))
if (isset($jsonSchema->{UDFWidget::VALIDATION}->{UDFWidgetTpl::REGEX}) && is_array($jsonSchema->{UDFWidget::VALIDATION}->{UDFWidgetTpl::REGEX}))
{
foreach($jsonSchema->validation->regex as $regex)
foreach($jsonSchema->{UDFWidget::VALIDATION}->{UDFWidgetTpl::REGEX} as $regex)
{
if ($regex->language === UDFWidget::REGEX_LANGUAGE)
{
@@ -387,20 +389,20 @@ class UDFWidget extends UDFWidgetTpl
}
}
if (isset($jsonSchema->validation->required))
if (isset($jsonSchema->{UDFWidget::VALIDATION}->{UDFWidgetTpl::REQUIRED}))
{
$this->_args[Widget::HTML_ARG_NAME][UDFWidgetTpl::REQUIRED] = $jsonSchema->validation->required;
$this->_args[Widget::HTML_ARG_NAME][UDFWidget::REQUIRED] = $jsonSchema->{UDFWidget::VALIDATION}->{UDFWidgetTpl::REQUIRED};
}
if (isset($jsonSchema->validation->{UDFWidgetTpl::MAX_VALUE}))
if (isset($jsonSchema->{UDFWidget::VALIDATION}->{UDFWidgetTpl::MAX_VALUE}))
{
$this->_args[Widget::HTML_ARG_NAME][UDFWidgetTpl::MAX_VALUE] = $jsonSchema->validation->{UDFWidgetTpl::MAX_VALUE};
$this->_args[Widget::HTML_ARG_NAME][UDFWidgetTpl::MAX_VALUE] = $jsonSchema->{UDFWidget::VALIDATION}->{UDFWidgetTpl::MAX_VALUE};
}
if (isset($jsonSchema->validation->{UDFWidgetTpl::MIN_VALUE}))
if (isset($jsonSchema->{UDFWidget::VALIDATION}->{UDFWidgetTpl::MIN_VALUE}))
{
$this->_args[Widget::HTML_ARG_NAME][UDFWidgetTpl::MIN_VALUE] = $jsonSchema->validation->{UDFWidgetTpl::MIN_VALUE};
$this->_args[Widget::HTML_ARG_NAME][UDFWidgetTpl::MIN_VALUE] = $jsonSchema->{UDFWidget::VALIDATION}->{UDFWidgetTpl::MIN_VALUE};
}
}
}
}
}
+20
View File
@@ -0,0 +1,20 @@
.div-table {
display: table;
}
.div-row {
display: table-row;
}
.div-cell {
display: table-cell;
}
.align-middle {
vertical-align: middle;
}
.align-top {
vertical-align: top;
padding-top: 1px;
}