diff --git a/src/Squidex/app/features/assets/pages/assets-page.component.html b/src/Squidex/app/features/assets/pages/assets-page.component.html index 607200788..382985711 100644 --- a/src/Squidex/app/features/assets/pages/assets-page.component.html +++ b/src/Squidex/app/features/assets/pages/assets-page.component.html @@ -6,16 +6,25 @@ - +
+
+ - - + +
+
+ -
- -
+ + +
+
@@ -26,7 +35,7 @@ @@ -43,5 +52,20 @@ + + diff --git a/src/Squidex/app/features/assets/pages/assets-page.component.ts b/src/Squidex/app/features/assets/pages/assets-page.component.ts index 3a3e18f69..1b595550f 100644 --- a/src/Squidex/app/features/assets/pages/assets-page.component.ts +++ b/src/Squidex/app/features/assets/pages/assets-page.component.ts @@ -11,7 +11,12 @@ import { Component, OnInit } from '@angular/core'; import { FormControl } from '@angular/forms'; import { onErrorResumeNext } from 'rxjs/operators'; -import { AppsState, AssetsState } from '@app/shared'; +import { + AppsState, + AssetsState, + Queries, + UIState +} from '@app/shared'; @Component({ selector: 'sqx-assets-page', @@ -21,9 +26,12 @@ import { AppsState, AssetsState } from '@app/shared'; export class AssetsPageComponent implements OnInit { public assetsFilter = new FormControl(); + public queries = new Queries(this.uiState, 'assets'); + constructor( public readonly appsState: AppsState, - public readonly assetsState: AssetsState + public readonly assetsState: AssetsState, + private readonly uiState: UIState ) { } @@ -35,18 +43,18 @@ export class AssetsPageComponent implements OnInit { this.assetsState.load(true).pipe(onErrorResumeNext()).subscribe(); } - public search() { - this.assetsState.search(this.assetsFilter.value).pipe(onErrorResumeNext()).subscribe(); - } - - public resetTags() { - this.assetsState.resetTags().pipe(onErrorResumeNext()).subscribe(); + public search(query: string) { + this.assetsState.search(query).pipe(onErrorResumeNext()).subscribe(); } public toggleTag(tag: string) { this.assetsState.toggleTag(tag).pipe(onErrorResumeNext()).subscribe(); } + public resetTags() { + this.assetsState.resetTags().pipe(onErrorResumeNext()).subscribe(); + } + public goNext() { this.assetsState.goNext().pipe(onErrorResumeNext()).subscribe(); } @@ -54,5 +62,9 @@ export class AssetsPageComponent implements OnInit { public goPrev() { this.assetsState.goPrev().pipe(onErrorResumeNext()).subscribe(); } + + public isSelectedQuery(query: string) { + return query === this.assetsState.snapshot.assetsQuery || (!query && !this.assetsState.assetsQuery); + } } diff --git a/src/Squidex/app/features/content/declarations.ts b/src/Squidex/app/features/content/declarations.ts index cd59c22c5..55c77b7bd 100644 --- a/src/Squidex/app/features/content/declarations.ts +++ b/src/Squidex/app/features/content/declarations.ts @@ -9,7 +9,6 @@ export * from './pages/content/content-field.component'; export * from './pages/content/content-history.component'; export * from './pages/content/content-page.component'; export * from './pages/contents/contents-page.component'; -export * from './pages/contents/search-form.component'; export * from './pages/schemas/schemas-page.component'; export * from './shared/array-editor.component'; diff --git a/src/Squidex/app/features/content/module.ts b/src/Squidex/app/features/content/module.ts index c3cea97be..dc2dafdab 100644 --- a/src/Squidex/app/features/content/module.ts +++ b/src/Squidex/app/features/content/module.ts @@ -32,8 +32,7 @@ import { DueTimeSelectorComponent, FieldEditorComponent, ReferencesEditorComponent, - SchemasPageComponent, - SearchFormComponent + SchemasPageComponent } from './declarations'; const routes: Routes = [ @@ -100,8 +99,7 @@ const routes: Routes = [ DueTimeSelectorComponent, FieldEditorComponent, ReferencesEditorComponent, - SchemasPageComponent, - SearchFormComponent + SchemasPageComponent ] }) export class SqxFeatureContentModule { } \ No newline at end of file diff --git a/src/Squidex/app/features/content/pages/contents/contents-page.component.html b/src/Squidex/app/features/content/pages/contents/contents-page.component.html index cea850b1c..b94743d7d 100644 --- a/src/Squidex/app/features/content/pages/contents/contents-page.component.html +++ b/src/Squidex/app/features/content/pages/contents/contents-page.component.html @@ -14,19 +14,21 @@
+ +
- - -
@@ -122,32 +124,28 @@ - - + - diff --git a/src/Squidex/app/features/content/pages/contents/contents-page.component.ts b/src/Squidex/app/features/content/pages/contents/contents-page.component.ts index e5aa81be4..53e09eb8f 100644 --- a/src/Squidex/app/features/content/pages/contents/contents-page.component.ts +++ b/src/Squidex/app/features/content/pages/contents/contents-page.component.ts @@ -17,8 +17,8 @@ import { ImmutableArray, LanguagesState, ModalModel, + Queries, SchemaDetailsDto, - SchemaQueries, SchemasState, UIState } from '@app/shared'; @@ -36,7 +36,7 @@ export class ContentsPageComponent implements OnDestroy, OnInit { private selectedSchemaSubscription: Subscription; public schema: SchemaDetailsDto; - public schemaQueries: SchemaQueries; + public schemaQueries: Queries; public searchModal = new ModalModel(); @@ -76,7 +76,7 @@ export class ContentsPageComponent implements OnDestroy, OnInit { this.resetSelection(); this.schema = schema!; - this.schemaQueries = new SchemaQueries(this.uiState, this.schema.name); + this.schemaQueries = new Queries(this.uiState, `schemas.${this.schema.name}`); this.contentsState.init().pipe(onErrorResumeNext()).subscribe(); }); diff --git a/src/Squidex/app/features/content/shared/assets-editor.component.ts b/src/Squidex/app/features/content/shared/assets-editor.component.ts index 9eaa13625..cb022c704 100644 --- a/src/Squidex/app/features/content/shared/assets-editor.component.ts +++ b/src/Squidex/app/features/content/shared/assets-editor.component.ts @@ -14,8 +14,8 @@ import { AppsState, AssetDto, AssetsService, + DialogModel, ImmutableArray, - ModalModel, Types } from '@app/shared'; @@ -35,7 +35,7 @@ export class AssetsEditorComponent implements ControlValueAccessor { private callChange = (v: any) => { /* NOOP */ }; private callTouched = () => { /* NOOP */ }; - public assetsDialog = new ModalModel(); + public assetsDialog = new DialogModel(); public newAssets = ImmutableArray.empty(); public oldAssets = ImmutableArray.empty(); diff --git a/src/Squidex/app/features/content/shared/contents-selector.component.html b/src/Squidex/app/features/content/shared/contents-selector.component.html index a7506a629..bd927225f 100644 --- a/src/Squidex/app/features/content/shared/contents-selector.component.html +++ b/src/Squidex/app/features/content/shared/contents-selector.component.html @@ -11,10 +11,10 @@
- + expandable="true"> diff --git a/src/Squidex/app/shared/components/assets-selector.component.html b/src/Squidex/app/shared/components/assets-selector.component.html index 7754d1b2c..639f0447e 100644 --- a/src/Squidex/app/shared/components/assets-selector.component.html +++ b/src/Squidex/app/shared/components/assets-selector.component.html @@ -4,13 +4,19 @@ - - -
- -
+
+
+ +
+
+ + +
+
diff --git a/src/Squidex/app/shared/components/assets-selector.component.ts b/src/Squidex/app/shared/components/assets-selector.component.ts index 68d86692d..0f9266273 100644 --- a/src/Squidex/app/shared/components/assets-selector.component.ts +++ b/src/Squidex/app/shared/components/assets-selector.component.ts @@ -8,7 +8,6 @@ // tslint:disable:prefer-for-of import { Component, EventEmitter, OnInit, Output } from '@angular/core'; -import { FormControl } from '@angular/forms'; import { onErrorResumeNext } from 'rxjs/operators'; import { @@ -32,8 +31,6 @@ export class AssetsSelectorComponent implements OnInit { @Output() public selected = new EventEmitter(); - public assetsFilter = new FormControl(''); - constructor( public readonly state: AssetsDialogState ) { @@ -41,16 +38,14 @@ export class AssetsSelectorComponent implements OnInit { public ngOnInit() { this.state.load().pipe(onErrorResumeNext()).subscribe(); - - this.assetsFilter.setValue(this.state.snapshot.assetsQuery); } public reload() { this.state.load(true).pipe(onErrorResumeNext()).subscribe(); } - public search() { - this.state.search(this.assetsFilter.value).pipe(onErrorResumeNext()).subscribe(); + public search(query: string) { + this.state.search(query).pipe(onErrorResumeNext()).subscribe(); } public complete() { diff --git a/src/Squidex/app/features/content/pages/contents/search-form.component.html b/src/Squidex/app/shared/components/search-form.component.html similarity index 79% rename from src/Squidex/app/features/content/pages/contents/search-form.component.html rename to src/Squidex/app/shared/components/search-form.component.html index c8452bd0c..ac031d78d 100644 --- a/src/Squidex/app/features/content/pages/contents/search-form.component.html +++ b/src/Squidex/app/shared/components/search-form.component.html @@ -3,23 +3,27 @@
- + - - - - - - - + + + - - - - - + + + + + + + + + + + + +
@@ -45,7 +49,7 @@
- +
@@ -53,12 +57,12 @@
- +
-
+