Browse Source

Checkbox styling.

pull/357/head
Sebastian 8 years ago
parent
commit
d8ffb43093
  1. 23
      src/Squidex/Areas/Api/Controllers/Backups/BackupContentController.cs
  2. 4
      src/Squidex/app/framework/angular/forms/checkbox-group.component.html
  3. 8
      src/Squidex/app/framework/angular/forms/checkbox-group.component.scss

23
src/Squidex/Areas/Api/Controllers/Backups/BackupContentController.cs

@ -6,8 +6,11 @@
// ========================================================================== // ==========================================================================
using System; using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Orleans;
using Squidex.Domain.Apps.Entities.Backup;
using Squidex.Infrastructure.Assets; using Squidex.Infrastructure.Assets;
using Squidex.Infrastructure.Commands; using Squidex.Infrastructure.Commands;
using Squidex.Web; using Squidex.Web;
@ -21,11 +24,13 @@ namespace Squidex.Areas.Api.Controllers.Backups
public class BackupContentController : ApiController public class BackupContentController : ApiController
{ {
private readonly IAssetStore assetStore; private readonly IAssetStore assetStore;
private readonly IGrainFactory grainFactory;
public BackupContentController(ICommandBus commandBus, IAssetStore assetStore) public BackupContentController(ICommandBus commandBus, IAssetStore assetStore, IGrainFactory grainFactory)
: base(commandBus) : base(commandBus)
{ {
this.assetStore = assetStore; this.assetStore = assetStore;
this.grainFactory = grainFactory;
} }
/// <summary> /// <summary>
@ -43,9 +48,21 @@ namespace Squidex.Areas.Api.Controllers.Backups
[ProducesResponseType(typeof(FileResult), 200)] [ProducesResponseType(typeof(FileResult), 200)]
[ApiCosts(0)] [ApiCosts(0)]
[AllowAnonymous] [AllowAnonymous]
public IActionResult GetBackupContent(string app, Guid id) public async Task<IActionResult> GetBackupContent(string app, Guid id)
{ {
return new FileCallbackResult("application/zip", "Backup.zip", false, bodyStream => var backupGrain = grainFactory.GetGrain<IBackupGrain>(AppId);
var backups = await backupGrain.GetStateAsync();
var backup = backups.Value.Find(x => x.Id == id);
if (backup == null || backup.Status != JobStatus.Completed)
{
return NotFound();
}
var fileName = $"backup-{app}-{backup.Started:yyyy-MM-dd_HH-mm-ss}";
return new FileCallbackResult("application/zip", fileName, false, bodyStream =>
{ {
return assetStore.DownloadAsync(id.ToString(), 0, null, bodyStream); return assetStore.DownloadAsync(id.ToString(), 0, null, bodyStream);
}); });

4
src/Squidex/app/framework/angular/forms/checkbox-group.component.html

@ -1,4 +1,4 @@
<span class="form-check" *ngFor="let value of values"> <div class="form-check" *ngFor="let value of values">
<input type="checkbox" class="form-check-input" id="{{controlId}}{{value}}" <input type="checkbox" class="form-check-input" id="{{controlId}}{{value}}"
(blur)="callTouched()" (blur)="callTouched()"
(change)="check($event.target.checked, value)" (change)="check($event.target.checked, value)"
@ -6,4 +6,4 @@
[disabled]="snapshot.isDisabled"> [disabled]="snapshot.isDisabled">
<label class="form-check-label" for="{{controlId}}{{value}}">{{value}}</label> <label class="form-check-label" for="{{controlId}}{{value}}">{{value}}</label>
</span> </div>

8
src/Squidex/app/framework/angular/forms/checkbox-group.component.scss

@ -2,11 +2,15 @@
@import '_vars'; @import '_vars';
.form-check { .form-check {
display: inline-block; display: block;
margin-left: 0; margin-left: 0;
margin-right: 1rem; margin-bottom: .5rem;
} }
.form-check-input { .form-check-input {
margin-top: .4rem; margin-top: .4rem;
}
label {
min-width: 5rem;
} }
Loading…
Cancel
Save