@xxmachina/components 19.4.2 → 19.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/features/query/index.d.ts +48 -3
  2. package/fesm2022/xxmachina-components-extras-flow.mjs.map +1 -1
  3. package/fesm2022/xxmachina-components-features-command.mjs.map +1 -1
  4. package/fesm2022/xxmachina-components-features-query.mjs +76 -11
  5. package/fesm2022/xxmachina-components-features-query.mjs.map +1 -1
  6. package/fesm2022/xxmachina-components-groups-command-form.mjs.map +1 -1
  7. package/fesm2022/xxmachina-components-groups-query-form.mjs.map +1 -1
  8. package/fesm2022/xxmachina-components-molecules-calendar-paginator.mjs.map +1 -1
  9. package/fesm2022/xxmachina-components-molecules-daily-cell.mjs.map +1 -1
  10. package/fesm2022/xxmachina-components-molecules-weekly-header.mjs +2 -2
  11. package/fesm2022/xxmachina-components-molecules-weekly-header.mjs.map +1 -1
  12. package/fesm2022/xxmachina-components-organisms-calendar-section.mjs +2 -2
  13. package/fesm2022/xxmachina-components-organisms-calendar-section.mjs.map +1 -1
  14. package/fesm2022/xxmachina-components-organisms-event-input-section.mjs.map +1 -1
  15. package/fesm2022/xxmachina-components-organisms-terminal-input-section.mjs.map +1 -1
  16. package/fesm2022/xxmachina-components-organisms-video-trimmer-section.mjs.map +1 -1
  17. package/fesm2022/xxmachina-components-organisms-xterm.mjs.map +1 -1
  18. package/fesm2022/xxmachina-components-pages-command.mjs +2 -2
  19. package/fesm2022/xxmachina-components-pages-command.mjs.map +1 -1
  20. package/fesm2022/xxmachina-components-pages-query-v2.mjs +198 -0
  21. package/fesm2022/xxmachina-components-pages-query-v2.mjs.map +1 -0
  22. package/fesm2022/xxmachina-components-pages-query.mjs +2 -2
  23. package/fesm2022/xxmachina-components-pages-query.mjs.map +1 -1
  24. package/fesm2022/xxmachina-components-pages-thread.mjs +2 -2
  25. package/fesm2022/xxmachina-components-pages-thread.mjs.map +1 -1
  26. package/fesm2022/xxmachina-components-routes-commands.mjs.map +1 -1
  27. package/fesm2022/xxmachina-components-routes-pages.mjs.map +1 -1
  28. package/fesm2022/xxmachina-components-routes-preloading.mjs.map +1 -1
  29. package/fesm2022/xxmachina-components-routes-queries.mjs.map +1 -1
  30. package/fesm2022/xxmachina-components-routes-query.mjs.map +1 -1
  31. package/fesm2022/xxmachina-components-routes-resources-resource.routes-C5KpB3KM.mjs.map +1 -1
  32. package/fesm2022/xxmachina-components-routes-resources.mjs.map +1 -1
  33. package/fesm2022/xxmachina-components-routes-transformer.mjs.map +1 -1
  34. package/fesm2022/xxmachina-components-routes-transformers.mjs.map +1 -1
  35. package/fesm2022/xxmachina-components-services-app.mjs.map +1 -1
  36. package/fesm2022/xxmachina-components-services-assistant.mjs.map +1 -1
  37. package/fesm2022/xxmachina-components-services-calendar.mjs.map +1 -1
  38. package/fesm2022/xxmachina-components-services-command.mjs.map +1 -1
  39. package/fesm2022/xxmachina-components-services-context.mjs.map +1 -1
  40. package/fesm2022/xxmachina-components-services-contract.mjs.map +1 -1
  41. package/fesm2022/xxmachina-components-services-debug.mjs.map +1 -1
  42. package/fesm2022/xxmachina-components-services-forms-query.mjs +2 -1
  43. package/fesm2022/xxmachina-components-services-forms-query.mjs.map +1 -1
  44. package/fesm2022/xxmachina-components-services-forms-schedule.mjs.map +1 -1
  45. package/fesm2022/xxmachina-components-services-forms-variables.mjs.map +1 -1
  46. package/fesm2022/xxmachina-components-services-graphql.mjs.map +1 -1
  47. package/fesm2022/xxmachina-components-services-invoice.mjs.map +1 -1
  48. package/fesm2022/xxmachina-components-services-json-schema.mjs.map +1 -1
  49. package/fesm2022/xxmachina-components-services-link.mjs.map +1 -1
  50. package/fesm2022/xxmachina-components-services-message.mjs.map +1 -1
  51. package/fesm2022/xxmachina-components-services-openai.mjs.map +1 -1
  52. package/fesm2022/xxmachina-components-services-openapi.mjs.map +1 -1
  53. package/fesm2022/xxmachina-components-services-order.mjs.map +1 -1
  54. package/fesm2022/xxmachina-components-services-partner.mjs.map +1 -1
  55. package/fesm2022/xxmachina-components-services-query.mjs.map +1 -1
  56. package/fesm2022/xxmachina-components-services-recording.mjs.map +1 -1
  57. package/fesm2022/xxmachina-components-services-schedule.mjs.map +1 -1
  58. package/fesm2022/xxmachina-components-services-thread.mjs.map +1 -1
  59. package/fesm2022/xxmachina-components-services-transformer.mjs.map +1 -1
  60. package/fesm2022/xxmachina-components-services-youtube.mjs.map +1 -1
  61. package/fesm2022/xxmachina-components-templates-agent.mjs +2 -2
  62. package/fesm2022/xxmachina-components-templates-agent.mjs.map +1 -1
  63. package/fesm2022/xxmachina-components-templates-background.mjs.map +1 -1
  64. package/fesm2022/xxmachina-components-templates-invoice-iframe.mjs.map +1 -1
  65. package/fesm2022/xxmachina-components-templates-scheduler.mjs.map +1 -1
  66. package/fesm2022/xxmachina-components-templates-video.mjs.map +1 -1
  67. package/fesm2022/xxmachina-components-validators-query.mjs.map +1 -1
  68. package/fesm2022/xxmachina-components.mjs +4 -4
  69. package/fesm2022/xxmachina-components.mjs.map +1 -1
  70. package/groups/query-form/index.d.ts +2 -0
  71. package/index.d.ts +1 -1
  72. package/package.json +5 -1
  73. package/pages/query-v2/index.d.ts +68 -0
  74. package/services/forms/query/index.d.ts +2 -1
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Provider, DestroyRef } from '@angular/core';
2
+ import { InjectionToken, Type, Provider, DestroyRef } from '@angular/core';
3
3
  import * as rxjs from 'rxjs';
4
- import { ReplaySubject } from 'rxjs';
4
+ import { Observable, ReplaySubject } from 'rxjs';
5
5
  import { QueryService } from '@xxmachina/common/services/query';
6
6
  import * as _angular_forms from '@angular/forms';
7
7
  import { AuthService } from '@xxmachina/common/auth';
@@ -18,7 +18,46 @@ declare enum ActionId {
18
18
  クエリの更新 = "\u30AF\u30A8\u30EA\u306E\u66F4\u65B0"
19
19
  }
20
20
 
21
+ interface QueryResult {
22
+ [key: string]: any[];
23
+ }
24
+ interface QueryResolver {
25
+ /**
26
+ * このResolverが指定されたクエリを処理できるか判定
27
+ */
28
+ canResolve(query: Query): boolean;
29
+ /**
30
+ * データを取得・購読(Resolver内部でquery/subscriptionを判定)
31
+ */
32
+ resolve(query: Query): Observable<QueryResult>;
33
+ }
34
+ declare const QUERY_RESOLVERS: InjectionToken<QueryResolver[]>;
35
+ /**
36
+ * QueryResolverを登録する(multi: trueパターン)
37
+ *
38
+ * @example
39
+ * // app.config.ts
40
+ * providers: [
41
+ * provideQueryResolver(GraphqlResolver),
42
+ * provideQueryResolver(MachinaResolver),
43
+ * provideQueryResolver(HttpResolver),
44
+ * ]
45
+ */
46
+ declare function provideQueryResolver(resolver: Type<QueryResolver>): Provider[];
47
+
48
+ /**
49
+ * GraphQLクエリ文字列がquery型かどうかを判定
50
+ * subscription型以外はquery型として扱う
51
+ */
21
52
  declare function isQuery(query: string): boolean;
53
+ declare class GraphqlResolver implements QueryResolver {
54
+ private readonly queryService;
55
+ canResolve(query: Query): boolean;
56
+ resolve(query: Query): Observable<QueryResult>;
57
+ static ɵfac: i0.ɵɵFactoryDeclaration<GraphqlResolver, never>;
58
+ static ɵprov: i0.ɵɵInjectableDeclaration<GraphqlResolver>;
59
+ }
60
+
22
61
  declare class QueryFeature {
23
62
  static readonly ActionId: typeof ActionId;
24
63
  static provideDefault(): Provider[];
@@ -29,9 +68,11 @@ declare class QueryFeature {
29
68
  protected readonly auth: AuthService;
30
69
  protected readonly service: QueryService;
31
70
  protected readonly editingStateManager: EditingStateManager;
71
+ protected readonly resolvers: QueryResolver[];
32
72
  readonly form: _angular_forms.FormGroup<{
33
73
  id: _angular_forms.FormControl<string>;
34
74
  title: _angular_forms.FormControl<string>;
75
+ type: _angular_forms.FormControl<string>;
35
76
  graphql: _angular_forms.FormGroup<{
36
77
  endpoint: _angular_forms.FormControl<string>;
37
78
  query: _angular_forms.FormControl<string>;
@@ -45,6 +86,7 @@ declare class QueryFeature {
45
86
  protected readonly formValue$: rxjs.Observable<Partial<{
46
87
  id: string;
47
88
  title: string;
89
+ type: string;
48
90
  graphql: Partial<{
49
91
  endpoint: string;
50
92
  query: string;
@@ -57,6 +99,7 @@ declare class QueryFeature {
57
99
  readonly formValue: i0.Signal<Partial<{
58
100
  id: string;
59
101
  title: string;
102
+ type: string;
60
103
  graphql: Partial<{
61
104
  endpoint: string;
62
105
  query: string;
@@ -77,6 +120,7 @@ declare class QueryFeature {
77
120
  }>;
78
121
  constructor();
79
122
  refresh(): void;
123
+ protected executeQuery(query: Query): rxjs.Observable<any>;
80
124
  static ɵfac: i0.ɵɵFactoryDeclaration<QueryFeature, never>;
81
125
  static ɵprov: i0.ɵɵInjectableDeclaration<QueryFeature>;
82
126
  }
@@ -114,4 +158,5 @@ declare class QueryUpdateFeature {
114
158
  static ɵprov: i0.ɵɵInjectableDeclaration<QueryUpdateFeature>;
115
159
  }
116
160
 
117
- export { ActionId, QueryFeature, QueryGraphqlSchemaFeature, QueryGraphqlVariablesFormFeature, QueryUpdateFeature, isQuery };
161
+ export { ActionId, GraphqlResolver, QUERY_RESOLVERS, QueryFeature, QueryGraphqlSchemaFeature, QueryGraphqlVariablesFormFeature, QueryUpdateFeature, isQuery, provideQueryResolver };
162
+ export type { QueryResolver, QueryResult };