-
+
-
+
-
+
-
+
diff --git a/src/Squidex/app/shared/components/asset.component.ts b/src/Squidex/app/shared/components/asset.component.ts
index 8aeaccf55..2b4014544 100644
--- a/src/Squidex/app/shared/components/asset.component.ts
+++ b/src/Squidex/app/shared/components/asset.component.ts
@@ -45,10 +45,7 @@ export class AssetComponent implements OnInit {
@Input()
public closeMode = false;
-
- @Input()
- public hideIcons = false;
-
+
@Output()
public loaded = new EventEmitter
();
diff --git a/src/Squidex/app/shared/components/rich-editor.component.ts b/src/Squidex/app/shared/components/rich-editor.component.ts
index 126578ffc..86f6fd8a6 100644
--- a/src/Squidex/app/shared/components/rich-editor.component.ts
+++ b/src/Squidex/app/shared/components/rich-editor.component.ts
@@ -8,8 +8,7 @@
import { AfterViewInit, Component, forwardRef, ElementRef, OnDestroy, ViewChild, Input } from '@angular/core';
import { ControlValueAccessor, NG_VALUE_ACCESSOR, FormBuilder } from '@angular/forms';
-import { ApiUrlConfig, MessageBus, AssetDragged, Types, ResourceLoaderService } from './../declarations-base';
-import { AssetDropHandler } from './asset-drop.handler';
+import { MessageBus, AssetDragged, AssetsService, Types, ResourceLoaderService } from './../declarations-base';
declare var tinymce: any;
@@ -30,7 +29,6 @@ export class RichEditorComponent implements ControlValueAccessor, AfterViewInit,
private tinyInitTimer: any;
private value: string;
private isDisabled = false;
- private assetDropHandler: AssetDropHandler;
public draggedOver = false;
private assetDraggedSubscription: any;
@@ -46,11 +44,9 @@ export class RichEditorComponent implements ControlValueAccessor, AfterViewInit,
constructor(private readonly resourceLoader: ResourceLoaderService,
private readonly formBuilder: FormBuilder,
- private readonly apiUrlConfig: ApiUrlConfig,
- private readonly messageBus: MessageBus
+ private readonly messageBus: MessageBus,
+ private readonly assetsService: AssetsService
) {
- this.assetDropHandler = new AssetDropHandler(this.apiUrlConfig);
-
this.assetDraggedSubscription = this.messageBus.of(AssetDragged).subscribe(message => {
// only handle images for now
if (message.assetDto.isImage) {
@@ -139,7 +135,7 @@ export class RichEditorComponent implements ControlValueAccessor, AfterViewInit,
}
public onItemDropped(event: any) {
- let content = this.assetDropHandler.buildDroppedAssetData(event.dragData, event.mouseEvent);
+ let content = this.assetsService.buildDroppedAssetData(event.dragData, event.mouseEvent);
if (content) {
this.tinyEditor.execCommand('mceInsertContent', false, content);
}
diff --git a/src/Squidex/app/shared/services/assets.service.ts b/src/Squidex/app/shared/services/assets.service.ts
index 7cc74528d..5fcda2bbb 100644
--- a/src/Squidex/app/shared/services/assets.service.ts
+++ b/src/Squidex/app/shared/services/assets.service.ts
@@ -19,6 +19,8 @@ import {
Versioned
} from 'framework';
+import { AssetUrlPipe } from 'shared';
+
export class AssetsDto {
constructor(
public readonly total: number,
@@ -100,12 +102,16 @@ export class AssetReplacedDto {
@Injectable()
export class AssetsService {
+
+ private assetUrlGenerator: AssetUrlPipe;
+
constructor(
private readonly http: HttpClient,
private readonly apiUrl: ApiUrlConfig,
private readonly analytics: AnalyticsService,
private readonly localCache: LocalCacheService
) {
+ this.assetUrlGenerator = new AssetUrlPipe(this.apiUrl);
}
public getAssets(appName: string, take: number, skip: number, query?: string, mimeTypes?: string[], ids?: string[]): Observable {
@@ -302,6 +308,19 @@ export class AssetsService {
})
.pretifyError('Failed to delete asset. Please reload.');
}
+
+ public buildDroppedAssetData(asset: AssetDto, dragEvent: DragEvent) {
+ if (asset.isImage) {
+ return this.handleImageAsset(asset, dragEvent);
+ }
+ return '';
+ }
+
+ private handleImageAsset(asset: AssetDto, dragEvent: DragEvent) {
+ let res = '
';
+ return res;
+ }
}
function getFormData(file: File) {