Browse Source

Schema selection.

pull/382/head
Sebastian 7 years ago
parent
commit
74313bdb82
  1. 2
      src/Squidex/Areas/Api/Controllers/Apps/AppWorkflowsController.cs
  2. 4
      src/Squidex/Areas/Api/Controllers/Apps/Models/UpdateWorkflowDto.cs
  3. 9
      src/Squidex/app/features/settings/pages/workflows/workflow.component.html
  4. 4
      src/Squidex/app/features/settings/pages/workflows/workflow.component.ts
  5. 18
      src/Squidex/app/framework/angular/forms/tag-editor.component.ts

2
src/Squidex/Areas/Api/Controllers/Apps/AppWorkflowsController.cs

@ -93,7 +93,7 @@ namespace Squidex.Areas.Api.Controllers.Apps
[ApiCosts(1)] [ApiCosts(1)]
public async Task<IActionResult> PutWorkflow(string app, Guid id, [FromBody] UpdateWorkflowDto request) public async Task<IActionResult> PutWorkflow(string app, Guid id, [FromBody] UpdateWorkflowDto request)
{ {
var command = request.ToCommand(); var command = request.ToCommand(id);
var response = await InvokeCommandAsync(command); var response = await InvokeCommandAsync(command);

4
src/Squidex/Areas/Api/Controllers/Apps/Models/UpdateWorkflowDto.cs

@ -37,7 +37,7 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models
/// </summary> /// </summary>
public Status Initial { get; set; } public Status Initial { get; set; }
public UpdateWorkflow ToCommand() public UpdateWorkflow ToCommand(Guid id)
{ {
var workflow = new Workflow( var workflow = new Workflow(
Initial, Initial,
@ -52,7 +52,7 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models
SchemaIds, SchemaIds,
Name); Name);
return new UpdateWorkflow { Workflow = workflow }; return new UpdateWorkflow { WorkflowId = id, Workflow = workflow };
} }
} }
} }

9
src/Squidex/app/features/settings/pages/workflows/workflow.component.html

@ -49,10 +49,15 @@
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label class="col-form-label" for="{{workflow.id}}_name">Schemas</label> <label class="col-form-label" for="{{workflow.id}}_schemas">Schemas</label>
<div class="col"> <div class="col">
<sqx-tag-editor [converter]="schemasSource" placeholder=", to add schema" [suggestedValues]="schemasSource.suggestions"></sqx-tag-editor> <sqx-tag-editor placeholder=", to add schema"
[converter]="schemasSource"
[ngModel]="workflow.schemaIds"
(ngModelChange)="changeSchemaIds($event)"
[suggestedValues]="schemasSource.suggestions">
</sqx-tag-editor>
<sqx-form-hint> <sqx-form-hint>
Restrict this workflow to specific schemas or keep it empty for all schemas. Restrict this workflow to specific schemas or keep it empty for all schemas.

4
src/Squidex/app/features/settings/pages/workflows/workflow.component.ts

@ -90,6 +90,10 @@ export class WorkflowComponent implements OnChanges {
this.workflow = this.workflow.rename(name); this.workflow = this.workflow.rename(name);
} }
public changeSchemaIds(schemaIds: string[]) {
this.workflow = this.workflow.changeSchemaIds(schemaIds);
}
public setInitial(step: WorkflowStep) { public setInitial(step: WorkflowStep) {
this.workflow = this.workflow.setInitial(step.name); this.workflow = this.workflow.setInitial(step.name);
} }

18
src/Squidex/app/framework/angular/forms/tag-editor.component.ts

@ -246,12 +246,12 @@ export class TagEditorComponent extends StatefulControlComponent<State, any[]> i
for (let value of obj) { for (let value of obj) {
if (Types.is(value, TagValue)) { if (Types.is(value, TagValue)) {
items.push(value); items.push(value);
} } else {
const converted = this.converter.convertValue(value);
const converted = this.converter.convertValue(obj);
if (converted) { if (converted) {
items.push(value); items.push(converted);
}
} }
} }
} }
@ -289,11 +289,9 @@ export class TagEditorComponent extends StatefulControlComponent<State, any[]> i
} }
public resetSize() { public resetSize() {
if (!CACHED_FONT) { if (!CACHED_FONT ||
return; !this.inputElement ||
} !this.inputElement.nativeElement) {
if (!this.inputElement.nativeElement) {
return; return;
} }

Loading…
Cancel
Save