diff --git a/backend/src/Squidex.Domain.Apps.Entities.MongoDb/FullText/MongoDirectoryFactory.cs b/backend/src/Squidex.Domain.Apps.Entities.MongoDb/FullText/MongoDirectoryFactory.cs index 0cd1725bb..adeb62ae3 100644 --- a/backend/src/Squidex.Domain.Apps.Entities.MongoDb/FullText/MongoDirectoryFactory.cs +++ b/backend/src/Squidex.Domain.Apps.Entities.MongoDb/FullText/MongoDirectoryFactory.cs @@ -26,7 +26,7 @@ namespace Squidex.Domain.Apps.Entities.MongoDb.FullText { var folderName = schemaId.ToString(); - var tempFolder = Path.Combine(Path.GetTempPath(), folderName); + var tempFolder = Path.Combine(Path.GetTempPath(), "Indices", folderName); var tempDirectory = new DirectoryInfo(tempFolder); return new MongoDirectory(bucket, folderName, tempDirectory); diff --git a/backend/src/Squidex.Domain.Apps.Entities/Contents/Text/IndexHolder.cs b/backend/src/Squidex.Domain.Apps.Entities/Contents/Text/IndexHolder.cs index 547dded4b..478c6c6fc 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Contents/Text/IndexHolder.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Contents/Text/IndexHolder.cs @@ -95,7 +95,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text { if (disposing) { - indexWriter.Dispose(); + indexWriter?.Dispose(); } } diff --git a/backend/src/Squidex.Domain.Apps.Entities/Contents/Text/TextContent.cs b/backend/src/Squidex.Domain.Apps.Entities/Contents/Text/TextContent.cs index c038d99e8..7b2d5f5a8 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Contents/Text/TextContent.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Contents/Text/TextContent.cs @@ -12,13 +12,24 @@ using Squidex.Domain.Apps.Core.Contents; using Squidex.Infrastructure; using Squidex.Infrastructure.Json.Objects; -#pragma warning disable ORL1001 - namespace Squidex.Domain.Apps.Entities.Contents.Text { - [Serializable] - public sealed class TextContent : Dictionary + public sealed class TextContent { + public Dictionary Texts { get; } = new Dictionary(); + + public string this[string key] + { + get + { + return Texts.GetOrDefault(key) ?? string.Empty; + } + set + { + Texts[key] = value; + } + } + public TextContent() { } @@ -62,7 +73,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text foreach (var kvp in languages) { - this[kvp.Key] = kvp.Value.ToString(); + Texts[kvp.Key] = kvp.Value.ToString(); } } diff --git a/backend/src/Squidex.Domain.Apps.Entities/Contents/Text/TextIndexContent.cs b/backend/src/Squidex.Domain.Apps.Entities/Contents/Text/TextIndexContent.cs index a10603e3c..ec1de40f6 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Contents/Text/TextIndexContent.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Contents/Text/TextIndexContent.cs @@ -122,7 +122,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text { var document = new Document(); - foreach (var field in text) + foreach (var field in text.Texts) { document.AddTextField(field.Key, field.Value, Field.Store.NO); } diff --git a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Text/GrainTextIndexerTests.cs b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Text/GrainTextIndexerTests.cs index 18d886d09..dce53c37b 100644 --- a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Text/GrainTextIndexerTests.cs +++ b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Text/GrainTextIndexerTests.cs @@ -54,7 +54,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text { await sut.On(E(new ContentCreated())); - A.CallTo(() => grain.IndexAsync(A.That.Matches(x => x.Text.Count == 0 && x.Id == contentId && x.OnlyDraft))) + A.CallTo(() => grain.IndexAsync(A.That.Matches(x => x.Text.Texts.Count == 0 && x.Id == contentId && x.OnlyDraft))) .MustHaveHappened(); } @@ -63,7 +63,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text { await sut.On(E(new ContentUpdated())); - A.CallTo(() => grain.IndexAsync(A.That.Matches(x => x.Text.Count == 0 && x.Id == contentId && !x.OnlyDraft))) + A.CallTo(() => grain.IndexAsync(A.That.Matches(x => x.Text.Texts.Count == 0 && x.Id == contentId && !x.OnlyDraft))) .MustHaveHappened(); } @@ -72,7 +72,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text { await sut.On(E(new ContentUpdateProposed())); - A.CallTo(() => grain.IndexAsync(A.That.Matches(x => x.Text.Count == 0 && x.Id == contentId && x.OnlyDraft))) + A.CallTo(() => grain.IndexAsync(A.That.Matches(x => x.Text.Texts.Count == 0 && x.Id == contentId && x.OnlyDraft))) .MustHaveHappened(); } diff --git a/frontend/app/features/administration/pages/cluster/cluster-page.component.scss b/frontend/app/features/administration/pages/cluster/cluster-page.component.scss index e4e8902fd..4ec84ebe0 100644 --- a/frontend/app/features/administration/pages/cluster/cluster-page.component.scss +++ b/frontend/app/features/administration/pages/cluster/cluster-page.component.scss @@ -3,6 +3,7 @@ iframe { @include absolute(0, 0, 0, 0); + @include force-height(100%); @include force-width(100%); border: 0; } \ No newline at end of file