Browse Source

Minor improvements.

pull/282/head
Sebastian Stehle 8 years ago
parent
commit
bfa115b2c8
  1. 3
      src/Squidex/app/features/schemas/pages/schemas/schema-form.component.ts
  2. 6
      src/Squidex/app/features/settings/pages/backups/backups-page.component.html
  3. 12
      src/Squidex/app/features/settings/pages/clients/client.component.html
  4. 56
      src/Squidex/app/features/settings/pages/clients/client.component.ts
  5. 4
      src/Squidex/app/features/settings/pages/contributors/contributors-page.component.html
  6. 2
      src/Squidex/app/features/settings/pages/contributors/contributors-page.component.ts
  7. 12
      src/Squidex/app/shared/state/clients.state.ts

3
src/Squidex/app/features/schemas/pages/schemas/schema-form.component.ts

@ -67,8 +67,7 @@ export class SchemaFormComponent implements OnInit {
const value = this.createForm.submit();
if (value) {
const schemaName = value.name;
const schemaDto = Object.assign(value.import || {}, { name: schemaName });
const schemaDto = Object.assign(value.import || {}, { name: value.name });
this.schemasState.create(schemaDto)
.subscribe(dto => {

6
src/Squidex/app/features/settings/pages/backups/backups-page.component.html

@ -6,12 +6,6 @@
</ng-container>
<ng-container menu>
<button class="btn btn-link btn-secondary" (click)="reload()" title="Refresh backups (CTRL + SHIFT + R)">
<i class="icon-reset"></i> Refresh
</button>
<sqx-shortcut keys="ctrl+shift+r" (trigger)="reload()"></sqx-shortcut>
<button class="btn btn-success" [disabled]="backupsState.maxBackupsReached | async" (click)="start()">
Start Backup
</button>

12
src/Squidex/app/features/settings/pages/clients/client.component.html

@ -2,26 +2,26 @@
<div class="row no-gutters">
<div class="col">
<div class="client-header">
<form *ngIf="isRenaming" class="form-inline" [formGroup]="renameForm" (ngSubmit)="rename()">
<form *ngIf="isRenaming" class="form-inline" [formGroup]="renameForm.form" (ngSubmit)="rename()">
<div class="form-group mr-1">
<sqx-control-errors for="name"></sqx-control-errors>
<input type="text" class="form-control client-name enabled" formControlName="name" maxlength="20" sqxFocusOnInit (keydown)="onKeyDown($event.keyCode)" />
</div>
<button type="submit" class="btn btn-primary" [disabled]="!renameForm.valid || !hasNewName">Save</button>
<button type="submit" class="btn btn-primary" [disabled]="!renameForm.form.valid || !renameForm.form.dirty">Save</button>
<button class="btn btn-link btn-secondary btn-cancel" (click)="cancelRename()">
<button class="btn btn-link btn-secondary btn-cancel" (click)="toggleRename()">
<i class="icon-close"></i>
</button>
</form>
<ng-container *ngIf="!isRenaming">
<h3 class="client-name">
<span (dblclick)="startRename()">{{client.name}}</span>
<span (dblclick)="toggleRename()">{{client.name}}</span>
</h3>
<i class="client-edit icon-pencil" (click)="startRename()"></i>
<i class="client-edit icon-pencil" (click)="toggleRename()"></i>
</ng-container>
</div>
@ -70,7 +70,7 @@
Permission:
</div>
<div class="col">
<select class="form-control" [ngModel]="client.permission" (ngModelChange)="updatePermission($event)">
<select class="form-control" [ngModel]="client.permission" (ngModelChange)="update($event)">
<option *ngFor="let permission of clientPermissions" [ngValue]="permission">{{permission}}</option>
</select>
</div>

56
src/Squidex/app/features/settings/pages/clients/client.component.ts

@ -5,8 +5,8 @@
* Copyright (c) Squidex UG (haftungsbeschränkt). All rights reserved.
*/
import { Component, Input } from '@angular/core';
import { FormBuilder, Validators } from '@angular/forms';
import { Component, Input, OnChanges } from '@angular/core';
import { FormBuilder } from '@angular/forms';
import {
AccessTokenDto,
@ -16,6 +16,7 @@ import {
ClientsState,
DialogService,
ModalView,
RenameClientForm,
UpdateAppClientDto
} from '@app/shared';
@ -26,7 +27,7 @@ const ESCAPE_KEY = 27;
styleUrls: ['./client.component.scss'],
templateUrl: './client.component.html'
})
export class ClientComponent {
export class ClientComponent implements OnChanges {
@Input()
public client: AppClientDto;
@ -37,18 +38,7 @@ export class ClientComponent {
public token: AccessTokenDto;
public tokenDialog = new ModalView();
public renameForm =
this.formBuilder.group({
name: ['',
[
Validators.required
]
]
});
public get hasNewName() {
return this.renameForm.controls['name'].value !== this.client.name;
}
public renameForm = new RenameClientForm(this.formBuilder);
constructor(
public readonly appsState: AppsState,
@ -59,35 +49,43 @@ export class ClientComponent {
) {
}
public ngOnChanges() {
this.renameForm.load(this.client);
}
public revoke() {
this.clientsState.revoke(this.client).onErrorResumeNext().subscribe();
}
public updatePermission(permission: string) {
public update(permission: string) {
this.clientsState.update(this.client, new UpdateAppClientDto(undefined, permission)).onErrorResumeNext().subscribe();
}
public cancelRename() {
this.isRenaming = false;
}
public startRename() {
this.renameForm.controls['name'].setValue(this.client.name);
this.isRenaming = true;
public toggleRename() {
this.isRenaming = !this.isRenaming;
}
public onKeyDown(keyCode: number) {
if (keyCode === ESCAPE_KEY) {
this.cancelRename();
this.toggleRename();
}
}
public rename() {
this.clientsState.update(this.client, new UpdateAppClientDto(this.renameForm.controls['name'].value))
.subscribe(() => {
this.cancelRename();
});
const value = this.renameForm.submit();
if (value) {
const requestDto = new UpdateAppClientDto(value.name);
this.clientsState.update(this.client, requestDto)
.subscribe(() => {
this.renameForm.submitCompleted();
this.toggleRename();
}, error => {
this.renameForm.submitFailed(error);
});
}
}
public createToken(client: AppClientDto) {

4
src/Squidex/app/features/settings/pages/contributors/contributors-page.component.html

@ -29,7 +29,7 @@
</select>
</td>
<td class="cell-actions">
<button *ngIf="!contributorInfo.isCurrentUser" type="button" class="btn btn-link btn-danger" (click)="removeContributor(contributorInfo.contributor)">
<button *ngIf="!contributorInfo.isCurrentUser" type="button" class="btn btn-link btn-danger" (click)="remove(contributorInfo.contributor)">
<i class="icon-bin2"></i>
</button>
</td>
@ -55,7 +55,7 @@
</sqx-autocomplete>
</div>
<div class="col col-auto pl-1">
<button type="submit" class="btn btn-success" [disabled]="assignContributorForm.noUser | async">Add Contributor</button>
<button type="submit" class="btn btn-success" [disabled]="assignContributorForm.hasNoUser | async">Add Contributor</button>
</div>
</div>
</form>

2
src/Squidex/app/features/settings/pages/contributors/contributors-page.component.ts

@ -67,7 +67,7 @@ export class ContributorsPageComponent implements OnInit {
this.contributorsState.load().onErrorResumeNext().subscribe();
}
public removeContributor(contributor: AppContributorDto) {
public remove(contributor: AppContributorDto) {
this.contributorsState.revoke(contributor).onErrorResumeNext().subscribe();
}

12
src/Squidex/app/shared/state/clients.state.ts

@ -29,6 +29,18 @@ import {
UpdateAppClientDto
} from './../services/app-clients.service';
export class RenameClientForm extends Form<FormGroup> {
constructor(formBuilder: FormBuilder) {
super(formBuilder.group({
name: ['',
[
Validators.required
]
]
}));
}
}
export class AttachClientForm extends Form<FormGroup> {
public hasNoName =
this.form.controls['name'].valueChanges.startWith('').map(x => !x || x.length === 0);

Loading…
Cancel
Save