Browse Source

Logging and style fixes.

pull/282/head
Sebastian Stehle 8 years ago
parent
commit
f5ec023f46
  1. 33
      src/Squidex/Config/Logging.cs
  2. 2
      src/Squidex/Config/Orleans/SiloWrapper.cs
  3. 5
      src/Squidex/Pipeline/ApiModelValidationAttribute.cs
  4. 3
      src/Squidex/Program.cs
  5. 2
      src/Squidex/app/features/content/pages/content/content-history.component.html
  6. 18
      src/Squidex/app/features/content/pages/content/content-history.component.scss
  7. 9
      src/Squidex/app/framework/angular/panel.component.scss
  8. 4
      src/Squidex/app/shared/components/history-list.component.scss
  9. 19
      src/Squidex/app/theme/_bootstrap.scss
  10. 5
      src/Squidex/app/theme/_panels.scss
  11. 1
      src/Squidex/app/theme/_vars.scss
  12. 4
      src/Squidex/appsettings.json
  13. 246
      src/Squidex/wwwroot/theme.html

33
src/Squidex/Config/Logging.cs

@ -0,0 +1,33 @@
// ==========================================================================
// Squidex Headless CMS
// ==========================================================================
// Copyright (c) Squidex UG (haftungsbeschraenkt)
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
using System;
using Microsoft.Extensions.Logging;
namespace Squidex.Config
{
public static class Logging
{
public static void AddOrleansFilter(this ILoggingBuilder builder)
{
builder.AddFilter((category, level) =>
{
if (category.StartsWith("Orleans.", StringComparison.OrdinalIgnoreCase))
{
return level >= LogLevel.Warning;
}
if (category.StartsWith("Runtime.", StringComparison.OrdinalIgnoreCase))
{
return level >= LogLevel.Warning;
}
return level >= LogLevel.Information;
});
}
}
}

2
src/Squidex/Config/Orleans/SiloWrapper.cs

@ -75,7 +75,7 @@ namespace Squidex.Config.Orleans
{
builder.AddConfiguration(hostingContext.Configuration.GetSection("logging"));
builder.AddSemanticLog();
builder.AddFilter((category, level) => !category.StartsWith("Orleans.", StringComparison.CurrentCultureIgnoreCase) || level >= LogLevel.Warning);
builder.AddOrleansFilter();
})
.ConfigureApplicationParts(builder =>
{

5
src/Squidex/Pipeline/ApiModelValidationAttribute.cs

@ -38,7 +38,10 @@ namespace Squidex.Pipeline
}
}
throw new ValidationException("The model is not valid.", errors);
if (errors.Count > 0)
{
throw new ValidationException("The model is not valid.", errors);
}
}
}
}

3
src/Squidex/Program.cs

@ -12,6 +12,7 @@ using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
using Orleans;
using Orleans.Hosting;
using Squidex.Config;
using Squidex.Infrastructure.Log.Adapter;
namespace Squidex
@ -29,7 +30,7 @@ namespace Squidex
{
builder.AddConfiguration(hostingContext.Configuration.GetSection("logging"));
builder.AddSemanticLog();
builder.AddFilter((category, level) => !category.StartsWith("Orleans.", StringComparison.CurrentCultureIgnoreCase) || level >= LogLevel.Warning);
builder.AddOrleansFilter();
})
.ConfigureAppConfiguration((hostContext, builder) =>
{

2
src/Squidex/app/features/content/pages/content/content-history.component.html

@ -14,7 +14,7 @@
</div>
<div class="event-created">{{event.created | sqxFromNow}}</div>
<a class="event-load" (click)="loadVersion(event.version)">Load this Version</a>
<a class="event-load force" (click)="loadVersion(event.version)">Load this Version</a>
</div>
</div>
</ng-container>

18
src/Squidex/app/features/content/pages/content/content-history.component.scss

@ -17,27 +17,15 @@
.event {
& {
color: $color-text-decent;
color: $color-history;
font-size: .9rem;
font-weight: normal;
margin-bottom: 1.5rem;
}
&-created {
font-weight: normal;
font-size: .75rem;
}
&-load {
& {
font-size: .9rem;
font-weight: normal;
cursor: pointer;
color: $color-theme-blue !important;
}
&:focus,
&:hover {
text-decoration: underline !important;
}
margin: .375rem 0;
}
}

9
src/Squidex/app/framework/angular/panel.component.scss

@ -1,9 +1,2 @@
@import '_mixins';
@import '_vars';
.panel-header {
&.large {
min-height: 8rem;
max-height: 8rem;
}
}
@import '_vars';

4
src/Squidex/app/shared/components/history-list.component.scss

@ -17,14 +17,14 @@
.event {
& {
color: $color-text-decent;
color: $color-history;
font-size: .9rem;
font-weight: normal;
margin-bottom: 1.5rem;
}
&-message {
margin-bottom: .35rem;
margin-bottom: .375rem;
}
&-created {

19
src/Squidex/app/theme/_bootstrap.scss

@ -95,6 +95,10 @@ a {
}
&.force {
& {
color: $color-theme-blue !important;
}
&:hover {
text-decoration: underline !important;
cursor: pointer;
@ -431,14 +435,15 @@ a {
}
&-header {
@include border-radius-top(.25rem);
background: $color-modal-header-background;
font-size: 1rem;
font-weight: normal;
color: $color-modal-header-foreground;
& {
@include border-radius-top(.25rem);
background: $color-modal-header-background;
font-size: 1rem;
font-weight: normal;
color: $color-modal-header-foreground;
}
h4,
h5 {
h4 {
font-size: 1rem;
font-weight: normal;
}

5
src/Squidex/app/theme/_panels.scss

@ -59,6 +59,11 @@
position: relative;
}
&.large {
min-height: 8rem;
max-height: 8rem;
}
.form-inline {
display: inline-block;
}

1
src/Squidex/app/theme/_vars.scss

@ -7,6 +7,7 @@ $color-title: #000;
$color-text: #373a3c;
$color-text-decent: #a9b2bb;
$color-tooltip: #1a2129;
$color-history: #7f858c;
$color-input: #dbe4eb;
$color-input-background: #fff;

4
src/Squidex/appsettings.json

@ -44,8 +44,8 @@
"logging": {
/*
* Setting the flag to true, enables well formatteds json logs.
*/
* Setting the flag to true, enables well formatteds json logs.
*/
"human": true
},

246
src/Squidex/wwwroot/theme.html

@ -668,45 +668,8 @@
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Dropdown</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Separated link</a>
</div>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane fade active in">
<p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown
aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan
helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu
banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan
aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
</div>
<div class="tab-pane fade">
<p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid.
Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan
four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft
beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda
labore aesthetic magna delectus mollit.</p>
</div>
<div class="tab-pane fade">
<p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic
lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork
tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica.
DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork.
</p>
</div>
<div class="tab-pane fade">
<p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold
out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland
seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh
DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater.
</p>
</div>
</div>
</div>
</div>
@ -1227,40 +1190,213 @@
<div class="col-lg-6">
<h2>Modals</h2>
<div class="bs-component">
<div class="modal">
<div class="modal-dialog" role="document">
<div class="modal" style="position: relative; width: 100%; height: 500px;">
<div class="modal-backdrop" style="position: absolute;"></div>
<div class="modal-dialog modal-lg" style="position: absolute; top: 50px; left: 50px; right: 50px; bottom: 50px;">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Modal title</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<div class="modal-header" *ngIf="showHeader">
<h4 class="modal-title">
Title
</h4>
<button type="button" class="close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-tabs clearfix">
<ul class="nav nav-tabs2">
<li class="nav-item">
<a class="nav-link active" href="#home">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#profile">Profile</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#">Disabled</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Dropdown</a>
</li>
</ul>
</div>
<div class="modal-body">
<p>Modal body text goes here.</p>
Modal body text goes here.
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary">Save changes</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<div class="modal-footer" [hidden]="!showFooter">
<div class="clearfix" #footerElement>
<button type="button" class="float-right btn btn-primary">Save changes</button>
<button type="button" class="float-left btn btn-secondary">Close</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal fade">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Source Code</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<div class="bs-docs-section">
<div class="row">
<div class="col-lg-12">
<div class="page-header">
<h1>Modals</h1>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<h2>Default</h2>
<div class="bs-component">
<div class="panel panel-light">
<div class="panel-header">
<div class="panel-title-row">
<div class="float-right">
<button class="btn btn-success">New</button>
</div>
<h3 class="panel-title">
Title
</h3>
</div>
<a class="panel-close">
<i class="icon-close"></i>
</a>
</div>
<div class="panel-main">
<div class="panel-content">
<div class="panel-alert panel-alert-danger">
Alert
</div>
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
</div>
<div class="panel-sidebar">
<a href="#" class="panel-link">
<i class="icon-help"></i>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-6">
<h2>Dark</h2>
<div class="bs-component">
<div class="panel panel-light">
<div class="panel-header">
<div class="panel-title-row">
<div class="float-right">
<button class="btn btn-success">New</button>
</div>
<h3 class="panel-title">
Title
</h3>
</div>
<a class="panel-close">
<i class="icon-close"></i>
</a>
</div>
<div class="panel-main">
<div class="panel-content panel-content-blank">
<ul class="nav nav-panel nav-dark-bordered flex-column">
<li class="nav-item">
<a class="nav-link">Link 1
<i class="icon-angle-right"></i>
</a>
</li>
<li class="nav-item">
<a class="nav-link">Link 2
<i class="icon-angle-right"></i>
</a>
</li>
<li class="nav-item">
<a class="nav-link active">Link 3
<i class="icon-angle-right"></i>
</a>
</li>
<li class="nav-item">
<a class="nav-link">Link 4
<i class="icon-angle-right"></i>
</a>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="modal-body">
<pre></pre>
<div class="col-lg-6">
<h2>Dark</h2>
<div class="bs-component">
<div class="panel panel-dark">
<div class="panel-header large">
<div class="panel-title-row">
<div class="float-right">
<button class="btn btn-success">New</button>
</div>
<h3 class="panel-title">
Title
</h3>
</div>
<a class="panel-close">
<i class="icon-close"></i>
</a>
<div class="panel-header-row">
<div class="search-form">
<input class="form-control form-control-dark" placeholder="Search here..." />
</div>
</div>
</div>
<div class="panel-main">
<div class="panel-content">
<ul class="nav nav-panel nav-dark nav-dark-bordered flex-column">
<li class="nav-item">
<a class="nav-link">Link 1
<i class="icon-angle-right"></i>
</a>
</li>
<li class="nav-item">
<a class="nav-link">Link 2
<i class="icon-angle-right"></i>
</a>
</li>
<li class="nav-item">
<a class="nav-link active">Link 3
<i class="icon-angle-right"></i>
</a>
</li>
<li class="nav-item">
<a class="nav-link">Link 4
<i class="icon-angle-right"></i>
</a>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

Loading…
Cancel
Save