Browse Source

Merge branch 'master' into feature/plugins

pull/349/head
Sebastian 7 years ago
parent
commit
12b832ffab
  1. 28
      CHANGELOG.md
  2. 2
      README.md
  3. 2
      src/Squidex/Config/Domain/EventPublishersServices.cs
  4. 2
      src/Squidex/app/features/schemas/pages/schemas/schemas-page.component.html
  5. 4
      src/Squidex/app/framework/angular/forms/tag-editor.component.ts
  6. 6
      src/Squidex/app/framework/utils/interpolator.spec.ts
  7. 2
      src/Squidex/app/framework/utils/interpolator.ts

28
CHANGELOG.md

@ -1,5 +1,33 @@
# Changelog # Changelog
## v1.16.0 - 2019-02-23
### Features
* **CLI**: New commands for schema synchronization.
* **UI**: Imroved validation messages.
* **UI**: Integrate CLI documentation to client UI.
* **UI**: Side by side view for content differences.
* **UI**: Drag and drop assets to markdown editor.
* **UI**: Drag and drop assets to rich text editor.
* **UI**: Copy assets from clipboard to asset views.
* **UI**: Copy assets from clipboard to markdown editor.
* **UI**: Copy assets from clipboard to rich text editor.
* **UI**: Performance improvements and refactoring of components.
* **Schemas**: New endpoint to synchronize schemas.
* **Server**: Log all requests for cloud version and provide endpoint to download logs.
* **Server**: Improved logging for http requests.
* **Rules**: Generate event and trigger when the app consumed almost all resources.
### Bugfixes
(Mostly due to UI refactoring :( )
* **UI**: Fixed custom editors.
* **UI**: Fixed disable state of restore button.
* **UI**: Fixes for addition button states.
## v1.15.0 - 2019-01-05 ## v1.15.0 - 2019-01-05
### Features ### Features

2
README.md

@ -16,7 +16,7 @@ Please join our community forum: https://support.squidex.io
## Status ## Status
Current Version 1.14.0. Roadmap: https://trello.com/b/KakM4F3S/squidex-roadmap Current Version 1.16.0. Roadmap: https://trello.com/b/KakM4F3S/squidex-roadmap
## Prerequisites ## Prerequisites

2
src/Squidex/Config/Domain/EventPublishersServices.cs

@ -30,7 +30,7 @@ namespace Squidex.Config.Domain
throw new ConfigurationException($"Configure EventPublisher type with 'eventPublishers:{child.Key}:type'."); throw new ConfigurationException($"Configure EventPublisher type with 'eventPublishers:{child.Key}:type'.");
} }
var eventsFilter = config.GetValue<string>("eventsFilter"); var eventsFilter = child.GetValue<string>("eventsFilter");
var enabled = child.GetValue<bool>("enabled"); var enabled = child.GetValue<bool>("enabled");

2
src/Squidex/app/features/schemas/pages/schemas/schemas-page.component.html

@ -9,7 +9,7 @@
<sqx-shortcut keys="ctrl+shift+g" (trigger)="addSchemaDialog.show()"></sqx-shortcut> <sqx-shortcut keys="ctrl+shift+g" (trigger)="addSchemaDialog.show()"></sqx-shortcut>
<sqx-shortcut keys="ctrl+shift+f" (trigger)="inputFind.focus()"></sqx-shortcut> <sqx-shortcut keys="ctrl+shift+f" (trigger)="inputFind.focus()"></sqx-shortcut>
<button type="button" class="btn btn-success subheader-button" (click)="createSchema()" title="New Schema (CTRL + SHIFT + G)"> <button type="button" class="btn btn-success subheader-button" (click)="createSchema()" title="New Schema (CTRL + SHIFT + G)" titlePosition="top-left">
<i class="icon-plus"></i> <i class="icon-plus"></i>
</button> </button>

4
src/Squidex/app/framework/angular/forms/tag-editor.component.ts

@ -152,7 +152,7 @@ export class TagEditorComponent extends StatefulControlComponent<State, any[]> i
this.resetSize(); this.resetSize();
}), }),
map(query => <string>query), map(query => <string>query),
map(query => query ? query.trim() : query), map(query => query ? query.trim().toLowerCase() : query),
tap(query => { tap(query => {
if (!query) { if (!query) {
this.resetAutocompletion(); this.resetAutocompletion();
@ -161,7 +161,7 @@ export class TagEditorComponent extends StatefulControlComponent<State, any[]> i
distinctUntilChanged(), distinctUntilChanged(),
map(query => { map(query => {
if (Types.isArray(this.suggestions) && query && query.length > 0) { if (Types.isArray(this.suggestions) && query && query.length > 0) {
return this.suggestions.filter(s => s.indexOf(query) >= 0 && this.snapshot.items.indexOf(s) < 0); return this.suggestions.filter(s => s.toLowerCase().indexOf(query) >= 0 && this.snapshot.items.indexOf(s) < 0);
} else { } else {
return []; return [];
} }

6
src/Squidex/app/framework/utils/interpolator.spec.ts

@ -21,6 +21,12 @@ describe('interpolate', () => {
expect(result).toEqual('hello world'); expect(result).toEqual('hello world');
}); });
it('should interpolate with multiple object values', () => {
const result = interpolate('hello ${string1}${string2}', { string1: 'world', string2: '!' });
expect(result).toEqual('hello world!');
});
it('should interpolate with array value', () => { it('should interpolate with array value', () => {
const result = interpolate('hello ${1}', ['my', 'world']); const result = interpolate('hello ${1}', ['my', 'world']);

2
src/Squidex/app/framework/utils/interpolator.ts

@ -8,7 +8,7 @@
import { DateTime } from './date-time'; import { DateTime } from './date-time';
import { Types } from './types'; import { Types } from './types';
const regex = /\${[^}]+}/; const regex = /\${[^}]+}/g;
export function interpolate(pattern: string, value?: any, shortcut?: string, fallback = 'undefined'): string { export function interpolate(pattern: string, value?: any, shortcut?: string, fallback = 'undefined'): string {
const result = pattern.replace(regex, (match: string) => { const result = pattern.replace(regex, (match: string) => {

Loading…
Cancel
Save