Small tweaks and fixes
This commit is contained in:
parent
7fe60063c4
commit
313e0cf704
|
|
@ -9,6 +9,7 @@ namespace Flowsharp.Serialization.Tokenizers
|
|||
{
|
||||
Task<JToken> TokenizeWorkflowAsync(Workflow value, CancellationToken cancellationToken);
|
||||
Task<Workflow> DetokenizeWorkflowAsync(JToken token, CancellationToken cancellationToken);
|
||||
Task<JToken> TokenizeActivityAsync(IActivity value, CancellationToken cancellationToken);
|
||||
Task<IActivity> DetokenizeActivityAsync(JToken token, CancellationToken cancellationToken);
|
||||
}
|
||||
}
|
||||
|
|
@ -25,7 +25,7 @@ namespace Flowsharp.Serialization.Tokenizers
|
|||
jsonSerializer = JsonSerializer.Create(new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() });
|
||||
}
|
||||
|
||||
public Task<JToken> TokenizeWorkflowAsync(Workflow value, CancellationToken cancellationToken)
|
||||
public async Task<JToken> TokenizeWorkflowAsync(Workflow value, CancellationToken cancellationToken)
|
||||
{
|
||||
var workflow = value;
|
||||
var activityTuples = workflow.Activities.Select(x => new { Activity = x, Id = x.Id }).ToList();
|
||||
|
|
@ -40,14 +40,14 @@ namespace Flowsharp.Serialization.Tokenizers
|
|||
{
|
||||
{ "metadata", JToken.FromObject(workflow.Metadata, jsonSerializer) },
|
||||
{ "status", workflow.Status.ToString() },
|
||||
{ "activities", SerializeActivities(context) },
|
||||
{ "activities", await SerializeActivitiesAsync(context, cancellationToken) },
|
||||
{ "connections", SerializeConnections(context, workflow) },
|
||||
{ "haltedActivities", SerializeHaltedActivities(context, workflow) },
|
||||
{ "scopes", SerializeScopes(context, scopeIdLookup) },
|
||||
{ "currentScope", SerializeCurrentScope(workflow, scopeIdLookup) }
|
||||
};
|
||||
|
||||
return Task.FromResult<JToken>(token);
|
||||
return token;
|
||||
}
|
||||
|
||||
public async Task<Workflow> DetokenizeWorkflowAsync(JToken token, CancellationToken cancellationToken)
|
||||
|
|
@ -83,6 +83,12 @@ namespace Flowsharp.Serialization.Tokenizers
|
|||
|
||||
return workflow;
|
||||
}
|
||||
|
||||
public Task<JToken> TokenizeActivityAsync(IActivity value, CancellationToken cancellationToken)
|
||||
{
|
||||
var activityModel = JObject.FromObject(value, jsonSerializer);
|
||||
return Task.FromResult<JToken>(activityModel);
|
||||
}
|
||||
|
||||
public async Task<IActivity> DetokenizeActivityAsync(JToken token, CancellationToken cancellationToken)
|
||||
{
|
||||
|
|
@ -163,16 +169,15 @@ namespace Flowsharp.Serialization.Tokenizers
|
|||
return connectionModels;
|
||||
}
|
||||
|
||||
private JArray SerializeActivities(WorkflowTokenizationContext context)
|
||||
private async Task<JArray> SerializeActivitiesAsync(WorkflowTokenizationContext context, CancellationToken cancellationToken)
|
||||
{
|
||||
var activityModels = new JArray();
|
||||
|
||||
foreach (var item in context.ActivityIdLookup)
|
||||
{
|
||||
var activity = item.Key;
|
||||
var activityModel = JObject.FromObject(activity, new JsonSerializer { ContractResolver = new CamelCasePropertyNamesContractResolver() });
|
||||
var activityModel = await TokenizeActivityAsync(activity, cancellationToken);
|
||||
|
||||
activityModel["name"] = activity.Name;
|
||||
activityModels.Add(activityModel);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,10 +11,12 @@ namespace Flowsharp {
|
|||
private formElement: JQuery<HTMLFormElement>;
|
||||
private activityName: string;
|
||||
private deferred: JQuery.Deferred<any>;
|
||||
private saveButtonElement: JQuery<HTMLElement>;
|
||||
|
||||
constructor(container: HTMLElement) {
|
||||
this.containerElement = $(container);
|
||||
this.titleElement = this.containerElement.find('.modal-title');
|
||||
this.saveButtonElement = this.containerElement.find('.save-button');
|
||||
this.contentElement = this.containerElement.find('.modal-body');
|
||||
this.formElement = <JQuery<HTMLFormElement>>this.containerElement.find('form');
|
||||
|
||||
|
|
@ -27,9 +29,13 @@ namespace Flowsharp {
|
|||
public display = (activityName: string, activity: IActivity): JQuery.Promise<any> => {
|
||||
this.activityName = activityName;
|
||||
this.deferred = jQuery.Deferred<any>();
|
||||
const action = activity == null ? 'create' : 'edit';
|
||||
const isNew = activity == null;
|
||||
const action = isNew ? 'create' : 'edit';
|
||||
const saveButtonText = isNew ? 'Add' : 'Save';
|
||||
const activityJson: string = activity == null ? null : JSON.stringify(activity);
|
||||
|
||||
this.saveButtonElement.text(saveButtonText);
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: `/activity/${action}/${activityName}`,
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
-moz-transition: -moz-box-shadow 0.15s ease-in;
|
||||
-o-transition: -o-box-shadow 0.15s ease-in;
|
||||
transition: box-shadow 0.15s ease-in;
|
||||
|
||||
|
||||
&.activity-start, &.activity-blocking {
|
||||
background-color: #f1f1f1;
|
||||
color: #3d3d3d;
|
||||
|
|
@ -40,7 +40,7 @@
|
|||
h4 {
|
||||
font-size: 1.4em;
|
||||
|
||||
.fa {
|
||||
.fa, .far {
|
||||
margin-right: 0.5em;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,11 +42,14 @@ namespace Flowsharp.Web.ViewComponents.Controllers
|
|||
activity.Id = Guid.NewGuid().ToString().Replace("-", "");
|
||||
|
||||
var editorShape = await displayManager.BuildEditorAsync(activity, this, false);
|
||||
var activityToken = await workflowTokenizer.TokenizeActivityAsync(activity, cancellationToken);
|
||||
|
||||
var model = new ActivityEditorEditViewModel
|
||||
{
|
||||
ActivityJson = JsonConvert.SerializeObject(activity),
|
||||
ActivityJson = activityToken.ToString(),
|
||||
ActivityEditorShape = editorShape,
|
||||
};
|
||||
|
||||
return View("Edit", model);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
<div class="modal-body"></div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
<button type="submit" class="btn btn-primary">Add</button>
|
||||
<button type="submit" class="btn btn-primary save-button">Add</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in a new issue