mirror of https://github.com/Squidex/squidex.git
committed by
GitHub
52 changed files with 881 additions and 775 deletions
@ -1,35 +0,0 @@ |
|||||
// ==========================================================================
|
|
||||
// Squidex Headless CMS
|
|
||||
// ==========================================================================
|
|
||||
// Copyright (c) Squidex UG (haftungsbeschraenkt)
|
|
||||
// All rights reserved. Licensed under the MIT license.
|
|
||||
// ==========================================================================
|
|
||||
|
|
||||
using GraphQL.Server.Transports.AspNetCore; |
|
||||
using Microsoft.AspNetCore.Http; |
|
||||
using Microsoft.Extensions.DependencyInjection; |
|
||||
using Microsoft.Net.Http.Headers; |
|
||||
|
|
||||
namespace Squidex.Web.GraphQL; |
|
||||
|
|
||||
public sealed class GraphQLRunner |
|
||||
{ |
|
||||
private readonly GraphQLHttpMiddleware<DummySchema> middleware; |
|
||||
|
|
||||
public GraphQLRunner(IServiceProvider serviceProvider) |
|
||||
{ |
|
||||
RequestDelegate next = x => Task.CompletedTask; |
|
||||
|
|
||||
var options = new GraphQLHttpMiddlewareOptions |
|
||||
{ |
|
||||
DefaultResponseContentType = new MediaTypeHeaderValue("application/json") |
|
||||
}; |
|
||||
|
|
||||
middleware = ActivatorUtilities.CreateInstance<GraphQLHttpMiddleware<DummySchema>>(serviceProvider, next, options); |
|
||||
} |
|
||||
|
|
||||
public Task InvokeAsync(HttpContext context) |
|
||||
{ |
|
||||
return middleware.InvokeAsync(context); |
|
||||
} |
|
||||
} |
|
||||
@ -0,0 +1,5 @@ |
|||||
|
<li class="nav-item nav-icon" *ngIf="markerProject"> |
||||
|
<span class="nav-link" (click)="capture()"> |
||||
|
<i class="icon-lightbulb_outline"></i> |
||||
|
</span> |
||||
|
</li> |
||||
@ -0,0 +1,2 @@ |
|||||
|
@import 'mixins'; |
||||
|
@import 'vars'; |
||||
@ -0,0 +1,44 @@ |
|||||
|
/* |
||||
|
* Squidex Headless CMS |
||||
|
* |
||||
|
* @license |
||||
|
* Copyright (c) Squidex UG (haftungsbeschränkt). All rights reserved. |
||||
|
*/ |
||||
|
|
||||
|
import { ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/core'; |
||||
|
import markerSDK, { MarkerSdk } from '@marker.io/browser'; |
||||
|
import { UIOptions } from '@app/shared'; |
||||
|
|
||||
|
@Component({ |
||||
|
selector: 'sqx-feedback-menu', |
||||
|
styleUrls: ['./feedback-menu.component.scss'], |
||||
|
templateUrl: './feedback-menu.component.html', |
||||
|
changeDetection: ChangeDetectionStrategy.OnPush, |
||||
|
}) |
||||
|
export class FeedbackMenuComponent implements OnInit, OnDestroy { |
||||
|
private widget?: MarkerSdk; |
||||
|
|
||||
|
public markerProject = ''; |
||||
|
|
||||
|
constructor(uiOptions: UIOptions, |
||||
|
) { |
||||
|
this.markerProject = uiOptions.get('markerProject'); |
||||
|
} |
||||
|
|
||||
|
public ngOnDestroy() { |
||||
|
this.widget?.unload(); |
||||
|
} |
||||
|
|
||||
|
public async ngOnInit() { |
||||
|
if (!this.markerProject) { |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
this.widget = await markerSDK.loadWidget({ project: this.markerProject }); |
||||
|
this.widget.hide(); |
||||
|
} |
||||
|
|
||||
|
public capture() { |
||||
|
this.widget?.capture('fullscreen'); |
||||
|
} |
||||
|
} |
||||
File diff suppressed because it is too large
Binary file not shown.
|
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 120 KiB |
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue