- Some work done on entity generation
This commit is contained in:
1 parent
05975089e5
commit
2dc71cd350
12 files changed
+94
-28
No files matched your search
@@ -1,5 +1,37 @@
|
||||
{% language.set "lean.api.descriptor.entity" %}
|
||||
|
||||
{% function describeArrayOf($arrayOf) %}
|
||||
{% php
|
||||
$reflection = new \ReflectionClass($arrayOf->object->type);
|
||||
$constructor = $reflection->getConstructor();
|
||||
|
||||
if (!$constructor) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$params = [];
|
||||
|
||||
foreach ($constructor->getParameters() as $param) {
|
||||
$paramStr = '';
|
||||
|
||||
if ($param->getType()) {
|
||||
$paramStr .= (string)$param->getType() . ' ';
|
||||
}
|
||||
|
||||
$paramStr .= '$' . $param->getName();
|
||||
|
||||
if ($param->isDefaultValueAvailable()) {
|
||||
$default = $param->getDefaultValue();
|
||||
$paramStr .= ' = ' . var_export($default, true);
|
||||
}
|
||||
|
||||
$params[] = $paramStr;
|
||||
}
|
||||
|
||||
return sprintf("%s (%s)", $reflection->getShortName(), implode(', ', $params));
|
||||
%}
|
||||
{% endfunction %}
|
||||
|
||||
{% function yesOrNo(bool $toggle) : void %}
|
||||
<span style="color: {{ $toggle ? 'green' : '#ac1b1b' }}">{{ $toggle ? 'oui' : 'non' }}</span>
|
||||
{% endfunction %}
|
||||
@@ -28,10 +60,13 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field-desc" style="margin-top:10px;;background:#fff;padding:5px;font-size:0.9em">
|
||||
<div class="field-desc">
|
||||
<div class="fieldname"><u>Champ SQL</u> : {{ $field['fieldName'] }}</div>
|
||||
<div class="tag"><u>Attribut</u> : {{ $field['tag'] }}</div>
|
||||
<div class="type"><u>Type(s)</u> : {{ $field['type'] }}</div>
|
||||
{% if $field['arrayOf'] %}
|
||||
<div class="array-of"><u>Définition</u> : {{ describeArrayOf($field['arrayOf']) }}</div>
|
||||
{% endif %}
|
||||
<div class="nullable"><u>Nullable</u> {{ yesOrNo($field['allowNulls']) }}</div>
|
||||
{% if $field['default'] %}
|
||||
<div class="default"><u>Valeur par défaut</u> : {{ $field['default'] }}</div>
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
<div><u>Exemple</u> : {{ $field['example'] }}</div>
|
||||
{% endif %}
|
||||
{% if $field['default'] !== null %}
|
||||
<div><u>Default</u> : {{ $field['default'] }}</div>
|
||||
<div><u>Valeur par défaut</u> : {{ $field['default'] }}</div>
|
||||
{% endif %}
|
||||
{% if $field['values'] %}
|
||||
<div><u>Valeurs possibles</u> : [ <u>{{= implode('</u>, <u>', $field['values']) }}</u> ]</div>
|
||||
|
||||
@@ -156,7 +156,6 @@
|
||||
|
||||
launchRequest(requestMethod, input.value, editor.getValue())
|
||||
.then((response) => {
|
||||
console.log(response);
|
||||
responseHead.querySelector('.response-code').innerText = response.status;
|
||||
responseHead.querySelector('.response-message').innerText = response.statusText;
|
||||
|
||||
@@ -165,10 +164,10 @@
|
||||
return response.text();
|
||||
})
|
||||
.then(body => {
|
||||
console.log(aceMode);
|
||||
if (aceMode === "json") {
|
||||
body = JSON.stringify(JSON.parse(body), null, 2);
|
||||
responseEditorElement.innerHTML = body;
|
||||
|
||||
responseEditorElement.innerHTML = DOMEncode(body);
|
||||
}
|
||||
else {
|
||||
responseEditorElement.innerText = body;
|
||||
@@ -285,4 +284,11 @@
|
||||
}
|
||||
catch(e) {}
|
||||
}
|
||||
|
||||
function DOMEncode(text) {
|
||||
const tempElement = document.createElement('div');
|
||||
tempElement.textContent = text;
|
||||
|
||||
return tempElement.innerHTML;
|
||||
}
|
||||
</script>
|
||||
@@ -81,6 +81,8 @@
|
||||
.entity-wrapper .entity-name {background:#eaa1af;color: #682828;font-size:110%}
|
||||
.entity-wrapper .fields-wrapper {border-color: #c14141}
|
||||
.entity-wrapper .header-fields {background:#c14141}
|
||||
.entity-wrapper .field-desc {margin-top:10px;;background:#fff;padding:5px;font-size:0.9em}
|
||||
.entity-wrapper .field-desc .array-of {font-weight:bold;padding-left:15px;color:#955252}
|
||||
.entity-wrapper ol {background: #e3d0d0;}
|
||||
.entity-wrapper li {border-color: #ae8585;}
|
||||
.entity-wrapper li .default {color:#bf7d4d;}
|
||||
|
||||
Reference in new issue
Block a user