- First commit, routes and database builder are usable

This commit is contained in:
mcndave committed 2020-10-20 14:01:34 +00:00
commit 5f6ce82fd2
23 files changed
+787

No files matched your search

+13
View File
@@ -0,0 +1,13 @@
{% extends "lean/base/console/layout" %}
{% language.set "lean.console" %}
{% title _("title") %}
{% section "header" %}
<div class="page-title">{% _ "page-title" %}</div>
{% endsection %}
{% section "content" %}
{% endsection %}
+49
View File
@@ -0,0 +1,49 @@
{% extends "lean/base/console/layout" %}
{% language.set "lean.request" %}
{% title _("title") %}
{% section "header" %}
<div class="page-title">{% _ "page-title" %}</div>
{% endsection %}
{% section "content" %}
<section>
<header>
<h1>{% _ 'route.header' %}</h1>
</header>
<article class="routes">
{% if $routes %}
<strong class="grid">
<div class="col route-name">{% _ 'route.name' %}</div>
<div class="col route-uri">{% _ 'route.uri' %}</div>
<div class="col route-methods">{% _ 'route.methods' %}</div>
<div class="col controller-method">{% _ 'route.target' %}</div>
</strong>
{% foreach $routes as $name => $route %}
<div class="grid">
<strong class="col route-name">{{ $name }}</strong>
<div class="col route-uri">{{ $route['route'] }}</div>
<div class="col route-methods">{{ implode(', ', $route['routeMethods']) }}</div>
<div class="col controller-method">
<span class="class">{{ $route['class'] }}</span>::<span>{{ $route['classMethod'] }}</span>
</div>
</div>
{% endforeach %}
{% else %}
{% _ 'routeless' %}
{% endif %}
</article>
</section>
<style>
.routes strong.grid {background:#172842;color:#eeffee}
.routes .grid {padding:0.66rem 0.3rem}
.routes .grid strong {color:#444}
.routes .grid:nth-child(even) {background: #e3e3e3 }
</style>
{% endsection %}
+7
View File
@@ -0,0 +1,7 @@
{% extends "lean/base/layout/console" %}
{% section "content" %}
Welcome to Setup!
{% endsection %}
+104
View File
@@ -0,0 +1,104 @@
{% extends "lean/base/console/layout" %}
{% language.set "lean.storage" %}
{% title _("title") %}
{% section "header" %}
<div class="page-title">{% _ "page-title" %}</div>
{% endsection %}
{% section "content" %}
<section>
<header>
<h1>{% _ 'database.header' %}</h1>
</header>
<article class="databases">
{% if $connections %}
<strong class="grid db-grid">
<div class="col db-connection">{% _ 'database.connection' %}</div>
<div class="col db-adapter">{% _ 'database.adapter' %}</div>
<div class="col db-host">{% _ 'database.host' %}</div>
<div class="col db-name">{% _ 'database.name' %}</div>
<div class="col db-username">{% _ 'database.username' %}</div>
</strong>
{% foreach $connections as $connection %}
{% php $conf = $connection->getConfiguration(); %}
<div class="grid db-grid">
<div class="col db-connection">{{ $connection->name }}</div>
<div class="col db-adapter">{{ $conf['adapter'] }}</div>
<div class="col db-host">{{ $conf['host'] }}:{{ $conf['port'] }}</div>
<div class="col db-name">{{ $conf['database'] }}</div>
<div class="col db-username">{{ $conf['username'] }}</div>
</div>
<details>
<summary>
{% _ 'database.table.header' %}
</summary>
<div class="tables">
<strong class="grid table-item">
<div class="col">{% _ 'database.table.name' %}</div>
<div class="col">{% _ 'database.table.table-fields' %}</div>
<div class="col col-grow-2">{% _ 'database.table.query' %}</div>
<div class="col text-right">{% _ 'database.table.actions' %}</div>
</strong>
{% ui.form.post "database" %}
{% foreach array_filter($migrations->entities, fn($e) => $e->databaseAdapter() === $connection) as $entity => $item %}
<div class="grid table-item align-items-center">
<div class="col"><span>📄</span> <span>{{ $item->tableName() }}</span></div>
<div class="col">{% _ "database.table.fields", [ 'count' => count( $item->fieldList() ) ] %}</div>
<div class="col col-grow-2">
{% if $context->status[$entity]['query'] %}
<code>{{ $context->status[$entity]['query'] }}</code>
{% else %}
<div>🗸 This table is up-to-date</div>
{% endif %}
</div>
<div class="col">
{% switch $context->status[$entity]['msg'] %}
{% case 'unexisting' %}
{% php $createAll[] = $entity %}
<div class="text-right">
<button name="create" value="{{$entity}}" class="btn-blue">🗸 {% _ 'database.table.create' %}</button>
</div>
{% break %}
{% endswitch %}
</div>
</div>
{% endforeach %}
{% if ($createAll ?? 0) > 1 %}
<div class="text-right" style="padding:0.5rem 0">
<button name="createAll" value="{{ implode(',', $createAll) }}" class="btn-red">🗸 {% _ 'database.table.createAll' %}</button>
</div>
{% endif %}
{% ui.endform %}
</div>
</details>
{% endforeach %}
{% endif %}
</article>
</section>
<style>
.databases strong.grid {background:#172842;color:#eeffee}
.databases .db-grid {padding:0.66rem 0.3rem}
.databases .db-grid strong {color:#444}
.databases .db-grid:nth-child(even) {background: #e3e3e3 }
.databases .tables .table-item {padding:0.33rem 0;background:rgba(255,255,255,0.1)}
.databases .tables .table-item:nth-child(even) {background:rgba(255,255,255,0.2)}
.databases summary {background: #172841;color:#fff;margin: 0 -8px 0 -8px;padding:7px 10px}
.tables {background: #172841;margin: 0 -8px 0 -8px;color: #fff;padding: 3px 10px;}
.tables label {padding:10px 5px;display:block}
</style>
{% endsection %}