Browse Source

Scripting fix.

pull/539/head
Sebastian 6 years ago
parent
commit
2fb0f2cdf2
  1. 4
      backend/src/Squidex.Domain.Apps.Entities/Assets/AssetChangedTriggerHandler.cs
  2. 4
      backend/src/Squidex.Domain.Apps.Entities/Comments/CommentTriggerHandler.cs
  3. 4
      backend/src/Squidex.Domain.Apps.Entities/Contents/ContentChangedTriggerHandler.cs
  4. 4
      backend/src/Squidex.Domain.Apps.Entities/Contents/DynamicContentWorkflow.cs
  5. 9
      backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/Steps/ScriptContent.cs
  6. 4
      backend/src/Squidex.Domain.Apps.Entities/Schemas/SchemaChangedTriggerHandler.cs
  7. 8
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Counter/CounterJintExtensionTests.cs
  8. 13
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Queries/ScriptContentTests.cs
  9. 8
      frontend/app/shared/components/notifo.component.html
  10. 4
      frontend/app/shared/components/notifo.component.ts

4
backend/src/Squidex.Domain.Apps.Entities/Assets/AssetChangedTriggerHandler.cs

@ -75,12 +75,12 @@ namespace Squidex.Domain.Apps.Entities.Assets
return true; return true;
} }
var context = new ScriptVars var vars = new ScriptVars
{ {
["event"] = @event ["event"] = @event
}; };
return scriptEngine.Evaluate(context, trigger.Condition); return scriptEngine.Evaluate(vars, trigger.Condition);
} }
} }
} }

4
backend/src/Squidex.Domain.Apps.Entities/Comments/CommentTriggerHandler.cs

@ -76,12 +76,12 @@ namespace Squidex.Domain.Apps.Entities.Comments
return true; return true;
} }
var context = new ScriptVars var vars = new ScriptVars
{ {
["event"] = @event ["event"] = @event
}; };
return scriptEngine.Evaluate(context, trigger.Condition); return scriptEngine.Evaluate(vars, trigger.Condition);
} }
} }
} }

4
backend/src/Squidex.Domain.Apps.Entities/Contents/ContentChangedTriggerHandler.cs

@ -144,12 +144,12 @@ namespace Squidex.Domain.Apps.Entities.Contents
return true; return true;
} }
var context = new ScriptVars var vars = new ScriptVars
{ {
["event"] = @event ["event"] = @event
}; };
return scriptEngine.Evaluate(context, schema.Condition); return scriptEngine.Evaluate(vars, schema.Condition);
} }
} }
} }

4
backend/src/Squidex.Domain.Apps.Entities/Contents/DynamicContentWorkflow.cs

@ -115,12 +115,12 @@ namespace Squidex.Domain.Apps.Entities.Contents
if (!string.IsNullOrWhiteSpace(condition?.Expression)) if (!string.IsNullOrWhiteSpace(condition?.Expression))
{ {
var context = new ScriptVars var vars = new ScriptVars
{ {
["data"] = data ["data"] = data
}; };
return scriptEngine.Evaluate(context, condition.Expression); return scriptEngine.Evaluate(vars, condition.Expression);
} }
return true; return true;

9
backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/Steps/ScriptContent.cs

@ -46,7 +46,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Queries.Steps
private async Task TransformAsync(Context context, string script, ContentEntity content) private async Task TransformAsync(Context context, string script, ContentEntity content)
{ {
var scriptContext = new ScriptVars var vars = new ScriptVars
{ {
ContentId = content.Id, ContentId = content.Id,
Data = content.Data, Data = content.Data,
@ -55,7 +55,12 @@ namespace Squidex.Domain.Apps.Entities.Contents.Queries.Steps
User = context.User User = context.User
}; };
content.Data = await scriptEngine.TransformAsync(scriptContext, script); var options = new ScriptOptions
{
AsContext = true
};
content.Data = await scriptEngine.TransformAsync(vars, script, options);
} }
private static bool ShouldEnrich(Context context) private static bool ShouldEnrich(Context context)

4
backend/src/Squidex.Domain.Apps.Entities/Schemas/SchemaChangedTriggerHandler.cs

@ -76,12 +76,12 @@ namespace Squidex.Domain.Apps.Entities.Schemas
return true; return true;
} }
var context = new ScriptVars var vars = new ScriptVars
{ {
["event"] = @event ["event"] = @event
}; };
return scriptEngine.Evaluate(context, trigger.Condition); return scriptEngine.Evaluate(vars, trigger.Condition);
} }
} }
} }

8
backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Counter/CounterJintExtensionTests.cs

@ -51,12 +51,12 @@ namespace Squidex.Domain.Apps.Entities.Contents.Counter
return resetCounter('my', 4); return resetCounter('my', 4);
"; ";
var context = new ScriptVars var vars = new ScriptVars
{ {
["appId"] = appId ["appId"] = appId
}; };
var result = sut.Execute(context, script).ToString(); var result = sut.Execute(vars, script).ToString();
Assert.Equal("3", result); Assert.Equal("3", result);
} }
@ -76,12 +76,12 @@ namespace Squidex.Domain.Apps.Entities.Contents.Counter
return incrementCounter('my'); return incrementCounter('my');
"; ";
var context = new ScriptVars var vars = new ScriptVars
{ {
["appId"] = appId ["appId"] = appId
}; };
var result = sut.Execute(context, script).ToString(); var result = sut.Execute(vars, script).ToString();
Assert.Equal("3", result); Assert.Equal("3", result);
} }

13
backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Queries/ScriptContentTests.cs

@ -67,7 +67,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Queries
await sut.EnrichAsync(ctx, new[] { content }, schemaProvider); await sut.EnrichAsync(ctx, new[] { content }, schemaProvider);
A.CallTo(() => scriptEngine.TransformAsync(A<ScriptVars>._, A<string>._, default)) A.CallTo(() => scriptEngine.TransformAsync(A<ScriptVars>._, A<string>._, ScriptOptions()))
.MustNotHaveHappened(); .MustNotHaveHappened();
} }
@ -80,7 +80,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Queries
await sut.EnrichAsync(ctx, new[] { content }, schemaProvider); await sut.EnrichAsync(ctx, new[] { content }, schemaProvider);
A.CallTo(() => scriptEngine.TransformAsync(A<ScriptVars>._, A<string>._, default)) A.CallTo(() => scriptEngine.TransformAsync(A<ScriptVars>._, A<string>._, ScriptOptions()))
.MustNotHaveHappened(); .MustNotHaveHappened();
} }
@ -93,7 +93,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Queries
var content = new ContentEntity { SchemaId = schemaWithScriptId, Data = oldData }; var content = new ContentEntity { SchemaId = schemaWithScriptId, Data = oldData };
A.CallTo(() => scriptEngine.TransformAsync(A<ScriptVars>._, "my-query", default)) A.CallTo(() => scriptEngine.TransformAsync(A<ScriptVars>._, "my-query", ScriptOptions()))
.Returns(new NamedContentData()); .Returns(new NamedContentData());
await sut.EnrichAsync(ctx, new[] { content }, schemaProvider); await sut.EnrichAsync(ctx, new[] { content }, schemaProvider);
@ -106,8 +106,13 @@ namespace Squidex.Domain.Apps.Entities.Contents.Queries
ReferenceEquals(x.Data, oldData) && ReferenceEquals(x.Data, oldData) &&
x.ContentId == content.Id), x.ContentId == content.Id),
"my-query", "my-query",
A<ScriptOptions>._)) ScriptOptions()))
.MustHaveHappened(); .MustHaveHappened();
} }
private ScriptOptions ScriptOptions()
{
return A<ScriptOptions>.That.Matches(x => x.AsContext);
}
} }
} }

8
frontend/app/shared/components/notifo.component.html

@ -1 +1,7 @@
<span #element></span> <span #element></span>
<ng-container *ngIf="showOnboarding">
<sqx-onboarding-tooltip helpId="notifo" [for]="element" position="left-top" after="30000">
Click this button to subscribe to all changes and to receive push notifications.
</sqx-onboarding-tooltip>
</ng-container>

4
frontend/app/shared/components/notifo.component.ts

@ -28,6 +28,10 @@ export class NotifoComponent implements AfterViewInit, OnChanges, OnDestroy {
@ViewChild('element', { static: false }) @ViewChild('element', { static: false })
public element: ElementRef<Element>; public element: ElementRef<Element>;
public get showOnboarding() {
return !!this.notifoApiUrl && !!this.topic;
}
constructor(resourceLoader: ResourceLoaderService, uiOptions: UIOptions, authService: AuthService, constructor(resourceLoader: ResourceLoaderService, uiOptions: UIOptions, authService: AuthService,
private readonly renderer: Renderer2 private readonly renderer: Renderer2
) { ) {

Loading…
Cancel
Save