@xxmachina/components 20.24.3 → 20.48.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.
- package/fesm2022/xxmachina-components-features-query.mjs +5 -3
- package/fesm2022/xxmachina-components-frames-qtp-v2.mjs +267 -0
- package/fesm2022/xxmachina-components-groups-query-form.mjs +15 -10
- package/fesm2022/xxmachina-components-molecules-weekly-header.mjs +2 -2
- package/fesm2022/xxmachina-components-organisms-calendar-section.mjs +2 -2
- package/fesm2022/xxmachina-components-organisms-xterm.mjs +30 -7
- package/fesm2022/xxmachina-components-pages-command.mjs +2 -2
- package/fesm2022/xxmachina-components-pages-query.mjs +99 -78
- package/fesm2022/xxmachina-components-pages-thread.mjs +2 -2
- package/fesm2022/xxmachina-components-templates-agent.mjs +2 -2
- package/fesm2022/xxmachina-components-templates-machina-icon-button-menu.mjs +73 -8
- package/fesm2022/xxmachina-components-templates-machina-menu.mjs +2 -2
- package/fesm2022/xxmachina-components-validators-query.mjs +1 -1
- package/fesm2022/xxmachina-components.mjs +2 -2
- package/package.json +5 -1
- package/types/xxmachina-components-features-query.d.ts +1 -0
- package/types/xxmachina-components-frames-qtp-v2.d.ts +77 -0
- package/types/xxmachina-components-groups-query-form.d.ts +0 -3
- package/types/xxmachina-components-pages-query.d.ts +36 -4
- package/types/xxmachina-components-templates-machina-icon-button-menu.d.ts +7 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, computed, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { inject, viewChild, viewChildren, ElementRef, computed, afterRenderEffect, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
+
import { toSignal } from '@angular/core/rxjs-interop';
|
|
4
|
+
import { Router, NavigationEnd } from '@angular/router';
|
|
3
5
|
import * as i2 from '@angular/material/button';
|
|
4
6
|
import { MatButtonModule } from '@angular/material/button';
|
|
5
7
|
import * as i3 from '@angular/material/icon';
|
|
@@ -11,17 +13,78 @@ import { AuthService } from '@ng-atomic/common/services/auth';
|
|
|
11
13
|
import * as i1 from '@ng-atomic/components/templates/icon-button-menu';
|
|
12
14
|
import { IconButtonMenuTemplateStore } from '@ng-atomic/components/templates/icon-button-menu';
|
|
13
15
|
import { UserAvatarMenuMolecule } from '@xxmachina/components/molecules/user-avatar-menu';
|
|
16
|
+
import { filter, map } from 'rxjs';
|
|
17
|
+
|
|
18
|
+
const SUBSET_MATCH = {
|
|
19
|
+
paths: 'subset', queryParams: 'ignored', fragment: 'ignored', matrixParams: 'ignored',
|
|
20
|
+
};
|
|
21
|
+
function navigateCommands(action) {
|
|
22
|
+
const payload = action?.payload;
|
|
23
|
+
if (Array.isArray(payload))
|
|
24
|
+
return payload;
|
|
25
|
+
if (payload && Array.isArray(payload.commands))
|
|
26
|
+
return payload.commands;
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
function findActiveActionIndex(actions, router) {
|
|
30
|
+
let found = -1;
|
|
31
|
+
let foundLength = -1;
|
|
32
|
+
actions.forEach((action, index) => {
|
|
33
|
+
const commands = navigateCommands(action);
|
|
34
|
+
if (!commands)
|
|
35
|
+
return;
|
|
36
|
+
const tree = router.createUrlTree(commands);
|
|
37
|
+
const length = router.serializeUrl(tree).length;
|
|
38
|
+
if (length > foundLength && router.isActive(tree, SUBSET_MATCH)) {
|
|
39
|
+
found = index;
|
|
40
|
+
foundLength = length;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
return found;
|
|
44
|
+
}
|
|
14
45
|
|
|
15
46
|
class MachinaIconButtonMenuTemplate extends NgAtomicComponent {
|
|
16
47
|
store = inject(IconButtonMenuTemplateStore);
|
|
17
48
|
auth = inject(AuthService);
|
|
49
|
+
router = inject(Router);
|
|
50
|
+
url = toSignal(this.router.events.pipe(filter((event) => event instanceof NavigationEnd), map((event) => event.urlAfterRedirects)), { initialValue: this.router.url });
|
|
51
|
+
highlight = viewChild.required('highlight');
|
|
52
|
+
navButtons = viewChildren('navButton', { ...(ngDevMode ? { debugName: "navButtons" } : {}), read: (ElementRef) });
|
|
53
|
+
activeIndex = computed(() => {
|
|
54
|
+
this.url();
|
|
55
|
+
return findActiveActionIndex(this.store.actions(), this.router);
|
|
56
|
+
}, ...(ngDevMode ? [{ debugName: "activeIndex" }] : []));
|
|
18
57
|
signOutAction = computed(() => this.auth.auth() ? this.store.bottomActions()[0] ?? null : null, ...(ngDevMode ? [{ debugName: "signOutAction" }] : []));
|
|
19
58
|
restBottomActions = computed(() => this.signOutAction() ? this.store.bottomActions().slice(1) : this.store.bottomActions(), ...(ngDevMode ? [{ debugName: "restBottomActions" }] : []));
|
|
20
|
-
|
|
21
|
-
|
|
59
|
+
constructor() {
|
|
60
|
+
super();
|
|
61
|
+
afterRenderEffect({
|
|
62
|
+
earlyRead: () => {
|
|
63
|
+
const button = this.navButtons()[this.activeIndex()]?.nativeElement;
|
|
64
|
+
if (!button)
|
|
65
|
+
return null;
|
|
66
|
+
return { x: button.offsetLeft, y: button.offsetTop, width: button.offsetWidth, height: button.offsetHeight };
|
|
67
|
+
},
|
|
68
|
+
write: (rect) => {
|
|
69
|
+
const box = rect();
|
|
70
|
+
if (!box)
|
|
71
|
+
return;
|
|
72
|
+
const el = this.highlight().nativeElement;
|
|
73
|
+
el.style.transform = `translate(${box.x}px, ${box.y}px)`;
|
|
74
|
+
el.style.width = `${box.width}px`;
|
|
75
|
+
el.style.height = `${box.height}px`;
|
|
76
|
+
if (!el.dataset['ready'])
|
|
77
|
+
requestAnimationFrame(() => (el.dataset['ready'] = 'true'));
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: MachinaIconButtonMenuTemplate, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
82
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.6", type: MachinaIconButtonMenuTemplate, isStandalone: true, selector: "templates-icon-button-menu", viewQueries: [{ propertyName: "highlight", first: true, predicate: ["highlight"], descendants: true, isSignal: true }, { propertyName: "navButtons", predicate: ["navButton"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.IconButtonMenuTemplateStore, inputs: ["actions", "actions", "bottomActions", "bottomActions", "topPadding", "topPadding"] }], ngImport: i0, template: `
|
|
22
83
|
<div class="top" [style.padding-top]="store.topPadding()">
|
|
84
|
+
<div class="highlight" #highlight [class.shown]="activeIndex() >= 0" aria-hidden="true"></div>
|
|
23
85
|
@for (action of store.actions(); track $index) {
|
|
24
|
-
<button mat-icon-button [color]="action?.color" (click)="dispatch(action)"
|
|
86
|
+
<button mat-icon-button #navButton [color]="action?.color" (click)="dispatch(action)"
|
|
87
|
+
[class.active]="$index === activeIndex()" [attr.aria-current]="$index === activeIndex() ? 'page' : null"
|
|
25
88
|
[matTooltip]="action.name" matTooltipPosition="right">
|
|
26
89
|
<mat-icon>{{ action.icon }}</mat-icon>
|
|
27
90
|
</button>
|
|
@@ -38,14 +101,16 @@ class MachinaIconButtonMenuTemplate extends NgAtomicComponent {
|
|
|
38
101
|
</button>
|
|
39
102
|
}
|
|
40
103
|
</div>
|
|
41
|
-
`, isInline: true, styles: [":host{width:100%;height:100%;background:#fff;display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-button-menu-
|
|
104
|
+
`, isInline: true, styles: [":host{width:100%;height:100%;background:#fff;display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-button-menu-1ZsF: var(--primary-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-button-menu-1ZsF: var(--on-primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-icon-button-menu-1ZsF: var(--secondary-color);--background-color: #000000;--background-color-SCOPED-IN-icon-button-menu-1ZsF: var(--background-color);--on-background-color: #ffffff;--on-background-color-SCOPED-IN-icon-button-menu-1ZsF: var(--on-background-color);--mat-icon-button-icon-color: #FEFEFE;--mat-icon-button-icon-color-SCOPED-IN-icon-button-menu-1ZsF: var(--mat-icon-button-icon-color)}:host{display:flex;flex-direction:column;justify-content:space-between;align-items:center;width:100%;height:100%;background-color:var(--background-color-SCOPED-IN-icon-button-menu-1ZsF);color:var(--on-background-color-SCOPED-IN-icon-button-menu-1ZsF)}:host .top,:host .bottom{display:flex;flex-direction:column;justify-content:center;align-items:center}:host button{--mat-icon-color: var(--on-primary-color-SCOPED-IN-icon-button-menu-1ZsF);cursor:pointer}:host .top{position:relative}:host .top button{position:relative;z-index:1}:host .highlight{position:absolute;top:0;left:0;border-radius:50%;background-color:color-mix(in srgb,var(--on-primary-color-SCOPED-IN-icon-button-menu-1ZsF) 18%,transparent);opacity:0;pointer-events:none;transition:opacity .15s ease}:host .highlight.shown{opacity:1}:host .highlight[data-ready]{transition:opacity .15s ease,transform .28s cubic-bezier(.2,0,0,1)}@media(prefers-reduced-motion:reduce){:host .highlight[data-ready]{transition:opacity .15s ease}}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: UserAvatarMenuMolecule, selector: "molecules-user-avatar-menu", inputs: ["signOutAction"], outputs: ["workspaceSwitch"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
42
105
|
}
|
|
43
106
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: MachinaIconButtonMenuTemplate, decorators: [{
|
|
44
107
|
type: Component,
|
|
45
108
|
args: [{ selector: 'templates-icon-button-menu', standalone: true, imports: [MatButtonModule, MatIconModule, MatTooltipModule, UserAvatarMenuMolecule], template: `
|
|
46
109
|
<div class="top" [style.padding-top]="store.topPadding()">
|
|
110
|
+
<div class="highlight" #highlight [class.shown]="activeIndex() >= 0" aria-hidden="true"></div>
|
|
47
111
|
@for (action of store.actions(); track $index) {
|
|
48
|
-
<button mat-icon-button [color]="action?.color" (click)="dispatch(action)"
|
|
112
|
+
<button mat-icon-button #navButton [color]="action?.color" (click)="dispatch(action)"
|
|
113
|
+
[class.active]="$index === activeIndex()" [attr.aria-current]="$index === activeIndex() ? 'page' : null"
|
|
49
114
|
[matTooltip]="action.name" matTooltipPosition="right">
|
|
50
115
|
<mat-icon>{{ action.icon }}</mat-icon>
|
|
51
116
|
</button>
|
|
@@ -67,8 +132,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
67
132
|
directive: IconButtonMenuTemplateStore,
|
|
68
133
|
inputs: ['actions', 'bottomActions', 'topPadding'],
|
|
69
134
|
},
|
|
70
|
-
], styles: [":host{width:100%;height:100%;background:#fff;display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-button-menu-
|
|
71
|
-
}] });
|
|
135
|
+
], styles: [":host{width:100%;height:100%;background:#fff;display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-button-menu-1ZsF: var(--primary-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-button-menu-1ZsF: var(--on-primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-icon-button-menu-1ZsF: var(--secondary-color);--background-color: #000000;--background-color-SCOPED-IN-icon-button-menu-1ZsF: var(--background-color);--on-background-color: #ffffff;--on-background-color-SCOPED-IN-icon-button-menu-1ZsF: var(--on-background-color);--mat-icon-button-icon-color: #FEFEFE;--mat-icon-button-icon-color-SCOPED-IN-icon-button-menu-1ZsF: var(--mat-icon-button-icon-color)}:host{display:flex;flex-direction:column;justify-content:space-between;align-items:center;width:100%;height:100%;background-color:var(--background-color-SCOPED-IN-icon-button-menu-1ZsF);color:var(--on-background-color-SCOPED-IN-icon-button-menu-1ZsF)}:host .top,:host .bottom{display:flex;flex-direction:column;justify-content:center;align-items:center}:host button{--mat-icon-color: var(--on-primary-color-SCOPED-IN-icon-button-menu-1ZsF);cursor:pointer}:host .top{position:relative}:host .top button{position:relative;z-index:1}:host .highlight{position:absolute;top:0;left:0;border-radius:50%;background-color:color-mix(in srgb,var(--on-primary-color-SCOPED-IN-icon-button-menu-1ZsF) 18%,transparent);opacity:0;pointer-events:none;transition:opacity .15s ease}:host .highlight.shown{opacity:1}:host .highlight[data-ready]{transition:opacity .15s ease,transform .28s cubic-bezier(.2,0,0,1)}@media(prefers-reduced-motion:reduce){:host .highlight[data-ready]{transition:opacity .15s ease}}\n"] }]
|
|
136
|
+
}], ctorParameters: () => [], propDecorators: { highlight: [{ type: i0.ViewChild, args: ['highlight', { isSignal: true }] }], navButtons: [{ type: i0.ViewChildren, args: ['navButton', { ...{ read: (ElementRef) }, isSignal: true }] }] } });
|
|
72
137
|
|
|
73
138
|
/**
|
|
74
139
|
* Generated bundle index. Do not edit.
|
|
@@ -41,7 +41,7 @@ class MachinaMenuTemplate extends NgAtomicComponent {
|
|
|
41
41
|
}
|
|
42
42
|
<organisms-menu-footer injectable/>
|
|
43
43
|
</div>
|
|
44
|
-
`, isInline: true, styles: [":host{--primary-color: #404040;--primary-color-SCOPED-IN-menu-
|
|
44
|
+
`, isInline: true, styles: [":host{--primary-color: #404040;--primary-color-SCOPED-IN-menu-34k2: var(--primary-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-menu-34k2: var(--background-color);--secondary-color: #f0f0f0;--secondary-color-SCOPED-IN-menu-34k2: var(--secondary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-menu-34k2: var(--surface-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-menu-34k2: var(--on-primary-color);--on-background-color: #404040;--on-background-color-SCOPED-IN-menu-34k2: var(--on-background-color);--on-surface-color: #404040;--on-surface-color-SCOPED-IN-menu-34k2: var(--on-surface-color);--width: 100%;--width-SCOPED-IN-menu-34k2: var(--width);--height: 100%;--height-SCOPED-IN-menu-34k2: var(--height)}:host{display:flex;flex-direction:column;justify-content:space-between;width:var(--width-SCOPED-IN-menu-34k2);height:var(--height-SCOPED-IN-menu-34k2);color:var(--on-background-color-SCOPED-IN-menu-34k2);background-color:var(--background-color-SCOPED-IN-menu-34k2)}:host *{--primary-color: var(--primary-color-SCOPED-IN-menu-34k2);--background-color: var(--background-color-SCOPED-IN-menu-34k2);--surface-color: var(--surface-color-SCOPED-IN-menu-34k2);--on-primary-color: var(--on-primary-color-SCOPED-IN-menu-34k2);--on-background-color: var(--on-background-color-SCOPED-IN-menu-34k2);--on-surface-color: var(--on-surface-color-SCOPED-IN-menu-34k2)}:host .bottom{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding-left:4px}:host .bottom organisms-navigation-list{flex-basis:100%;order:-1}:host .bottom organisms-menu-footer{flex:1}\n"], dependencies: [{ kind: "directive", type: MenuHeaderOrganismStore, selector: "organisms-menu-header", inputs: ["title"] }, { kind: "directive", type: NavigationListOrganismStore, selector: "organisms-navigation-list", inputs: ["actions", "type"] }, { kind: "directive", type: MenuFooterOrganismStore, selector: "organisms-menu-footer" }, { kind: "component", type: UserAvatarMenuMolecule, selector: "molecules-user-avatar-menu", inputs: ["signOutAction"], outputs: ["workspaceSwitch"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
45
45
|
}
|
|
46
46
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: MachinaMenuTemplate, decorators: [{
|
|
47
47
|
type: Component,
|
|
@@ -79,7 +79,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
79
79
|
directive: MenuTemplateStore,
|
|
80
80
|
inputs: ['actions', 'bottomActions', 'title'],
|
|
81
81
|
},
|
|
82
|
-
], styles: [":host{--primary-color: #404040;--primary-color-SCOPED-IN-menu-
|
|
82
|
+
], styles: [":host{--primary-color: #404040;--primary-color-SCOPED-IN-menu-34k2: var(--primary-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-menu-34k2: var(--background-color);--secondary-color: #f0f0f0;--secondary-color-SCOPED-IN-menu-34k2: var(--secondary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-menu-34k2: var(--surface-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-menu-34k2: var(--on-primary-color);--on-background-color: #404040;--on-background-color-SCOPED-IN-menu-34k2: var(--on-background-color);--on-surface-color: #404040;--on-surface-color-SCOPED-IN-menu-34k2: var(--on-surface-color);--width: 100%;--width-SCOPED-IN-menu-34k2: var(--width);--height: 100%;--height-SCOPED-IN-menu-34k2: var(--height)}:host{display:flex;flex-direction:column;justify-content:space-between;width:var(--width-SCOPED-IN-menu-34k2);height:var(--height-SCOPED-IN-menu-34k2);color:var(--on-background-color-SCOPED-IN-menu-34k2);background-color:var(--background-color-SCOPED-IN-menu-34k2)}:host *{--primary-color: var(--primary-color-SCOPED-IN-menu-34k2);--background-color: var(--background-color-SCOPED-IN-menu-34k2);--surface-color: var(--surface-color-SCOPED-IN-menu-34k2);--on-primary-color: var(--on-primary-color-SCOPED-IN-menu-34k2);--on-background-color: var(--on-background-color-SCOPED-IN-menu-34k2);--on-surface-color: var(--on-surface-color-SCOPED-IN-menu-34k2)}:host .bottom{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding-left:4px}:host .bottom organisms-navigation-list{flex-basis:100%;order:-1}:host .bottom organisms-menu-footer{flex:1}\n"] }]
|
|
83
83
|
}] });
|
|
84
84
|
|
|
85
85
|
/**
|
|
@@ -15,7 +15,7 @@ class QueryValidators {
|
|
|
15
15
|
return service.subscribeSchema(endpoint, {
|
|
16
16
|
headers: QueryHelper.tryParseJson(headersJson),
|
|
17
17
|
});
|
|
18
|
-
}),
|
|
18
|
+
}), takeUntilDestroyed(), shareReplay(1));
|
|
19
19
|
return ((formGroup) => {
|
|
20
20
|
return combineLatest({
|
|
21
21
|
accessToken: auth.accessToken$,
|
|
@@ -250,7 +250,7 @@ class SessionNavigatorOrganism extends NgAtomicComponent {
|
|
|
250
250
|
}
|
|
251
251
|
</div>
|
|
252
252
|
</mat-toolbar>
|
|
253
|
-
`, isInline: true, styles: [":host{display:block;--text: #e0e0e0;--text-SCOPED-IN-session-navigator-
|
|
253
|
+
`, isInline: true, styles: [":host{display:block;--text: #e0e0e0;--text-SCOPED-IN-session-navigator-tOSE: var(--text);--sys: #888;--sys-SCOPED-IN-session-navigator-tOSE: var(--sys);--border: rgba(51, 51, 51, .5);--border-SCOPED-IN-session-navigator-tOSE: var(--border);--primary-color: #0f0f11;--primary-color-SCOPED-IN-session-navigator-tOSE: var(--primary-color);--on-primary-color: #e0e0e0;--on-primary-color-SCOPED-IN-session-navigator-tOSE: var(--on-primary-color);--secondary-color: #888;--secondary-color-SCOPED-IN-session-navigator-tOSE: var(--secondary-color);--on-secondary-color: #f0f0f0;--on-secondary-color-SCOPED-IN-session-navigator-tOSE: var(--on-secondary-color);--background-color: #0f0f11;--background-color-SCOPED-IN-session-navigator-tOSE: var(--background-color);--on-background-color: #e0e0e0;--on-background-color-SCOPED-IN-session-navigator-tOSE: var(--on-background-color);--navigator-height: 56px;--navigator-height-SCOPED-IN-session-navigator-tOSE: var(--navigator-height)}:host{display:block;width:100%;height:var(--navigator-height-SCOPED-IN-session-navigator-tOSE)}:host mat-toolbar{display:flex;width:100%;height:100%;padding:0!important;justify-content:space-between;align-items:center;overflow:hidden;transition:background .5s ease-in-out;background-color:var(--primary-color-SCOPED-IN-session-navigator-tOSE);color:var(--on-primary-color-SCOPED-IN-session-navigator-tOSE);border-bottom:1px solid var(--border-SCOPED-IN-session-navigator-tOSE)!important;font-family:SF Mono,Monaco,monospace!important;font-size:12px!important;--mat-toolbar-title-text-size: 12px !important;--mat-sys-title-large-size: 12px !important}:host mat-toolbar>div:first-child,:host mat-toolbar>div:last-child{flex:0 0 auto}:host mat-toolbar>div:nth-child(2){flex:1 1 auto;display:flex;justify-content:flex-start;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}:host mat-toolbar *:not(.mat-icon){font-family:SF Mono,Monaco,monospace!important}:host mat-toolbar span,:host mat-toolbar div,:host mat-toolbar h1,:host mat-toolbar h2,:host mat-toolbar h3,:host mat-toolbar h4,:host mat-toolbar h5,:host mat-toolbar h6{font-size:12px!important;font-family:SF Mono,Monaco,monospace!important;color:var(--text-SCOPED-IN-session-navigator-tOSE)!important}:host mat-toolbar .mat-button{color:var(--sys-SCOPED-IN-session-navigator-tOSE)!important;font-family:SF Mono,Monaco,monospace!important}:host mat-toolbar .mat-button:hover{color:var(--text-SCOPED-IN-session-navigator-tOSE)!important}:host mat-toolbar .mat-icon-button{color:var(--sys-SCOPED-IN-session-navigator-tOSE)!important;opacity:.7}:host mat-toolbar .mat-icon-button:hover{color:var(--text-SCOPED-IN-session-navigator-tOSE)!important;opacity:1}:host mat-toolbar .mat-icon-button .mat-icon{font-family:Material Icons!important;font-size:24px!important}:host div{display:flex;justify-content:center;align-items:center;line-height:1}:host atoms-menu-button{display:flex;align-items:center;line-height:1}@media(prefers-color-scheme:light){:host{--text: #333;--text-SCOPED-IN-session-navigator-tOSE: var(--text);--sys: #666;--sys-SCOPED-IN-session-navigator-tOSE: var(--sys);--border: #ddd;--border-SCOPED-IN-session-navigator-tOSE: var(--border)}}@media(max-width:600px){:host mat-toolbar span{font-size:11px!important}}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i1$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: MenuButtonAtomStore, selector: "atoms-menu-button, atoms-smart-menu-button", inputs: ["actions", "type", "action"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
254
254
|
}
|
|
255
255
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: SessionNavigatorOrganism, decorators: [{
|
|
256
256
|
type: Component,
|
|
@@ -284,7 +284,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
284
284
|
directive: SessionNavigatorOrganismStore,
|
|
285
285
|
inputs: ['startActions', 'endActions', 'title'],
|
|
286
286
|
}
|
|
287
|
-
], styles: [":host{display:block;--text: #e0e0e0;--text-SCOPED-IN-session-navigator-
|
|
287
|
+
], styles: [":host{display:block;--text: #e0e0e0;--text-SCOPED-IN-session-navigator-tOSE: var(--text);--sys: #888;--sys-SCOPED-IN-session-navigator-tOSE: var(--sys);--border: rgba(51, 51, 51, .5);--border-SCOPED-IN-session-navigator-tOSE: var(--border);--primary-color: #0f0f11;--primary-color-SCOPED-IN-session-navigator-tOSE: var(--primary-color);--on-primary-color: #e0e0e0;--on-primary-color-SCOPED-IN-session-navigator-tOSE: var(--on-primary-color);--secondary-color: #888;--secondary-color-SCOPED-IN-session-navigator-tOSE: var(--secondary-color);--on-secondary-color: #f0f0f0;--on-secondary-color-SCOPED-IN-session-navigator-tOSE: var(--on-secondary-color);--background-color: #0f0f11;--background-color-SCOPED-IN-session-navigator-tOSE: var(--background-color);--on-background-color: #e0e0e0;--on-background-color-SCOPED-IN-session-navigator-tOSE: var(--on-background-color);--navigator-height: 56px;--navigator-height-SCOPED-IN-session-navigator-tOSE: var(--navigator-height)}:host{display:block;width:100%;height:var(--navigator-height-SCOPED-IN-session-navigator-tOSE)}:host mat-toolbar{display:flex;width:100%;height:100%;padding:0!important;justify-content:space-between;align-items:center;overflow:hidden;transition:background .5s ease-in-out;background-color:var(--primary-color-SCOPED-IN-session-navigator-tOSE);color:var(--on-primary-color-SCOPED-IN-session-navigator-tOSE);border-bottom:1px solid var(--border-SCOPED-IN-session-navigator-tOSE)!important;font-family:SF Mono,Monaco,monospace!important;font-size:12px!important;--mat-toolbar-title-text-size: 12px !important;--mat-sys-title-large-size: 12px !important}:host mat-toolbar>div:first-child,:host mat-toolbar>div:last-child{flex:0 0 auto}:host mat-toolbar>div:nth-child(2){flex:1 1 auto;display:flex;justify-content:flex-start;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}:host mat-toolbar *:not(.mat-icon){font-family:SF Mono,Monaco,monospace!important}:host mat-toolbar span,:host mat-toolbar div,:host mat-toolbar h1,:host mat-toolbar h2,:host mat-toolbar h3,:host mat-toolbar h4,:host mat-toolbar h5,:host mat-toolbar h6{font-size:12px!important;font-family:SF Mono,Monaco,monospace!important;color:var(--text-SCOPED-IN-session-navigator-tOSE)!important}:host mat-toolbar .mat-button{color:var(--sys-SCOPED-IN-session-navigator-tOSE)!important;font-family:SF Mono,Monaco,monospace!important}:host mat-toolbar .mat-button:hover{color:var(--text-SCOPED-IN-session-navigator-tOSE)!important}:host mat-toolbar .mat-icon-button{color:var(--sys-SCOPED-IN-session-navigator-tOSE)!important;opacity:.7}:host mat-toolbar .mat-icon-button:hover{color:var(--text-SCOPED-IN-session-navigator-tOSE)!important;opacity:1}:host mat-toolbar .mat-icon-button .mat-icon{font-family:Material Icons!important;font-size:24px!important}:host div{display:flex;justify-content:center;align-items:center;line-height:1}:host atoms-menu-button{display:flex;align-items:center;line-height:1}@media(prefers-color-scheme:light){:host{--text: #333;--text-SCOPED-IN-session-navigator-tOSE: var(--text);--sys: #666;--sys-SCOPED-IN-session-navigator-tOSE: var(--sys);--border: #ddd;--border-SCOPED-IN-session-navigator-tOSE: var(--border)}}@media(max-width:600px){:host mat-toolbar span{font-size:11px!important}}\n"] }]
|
|
288
288
|
}] });
|
|
289
289
|
|
|
290
290
|
var InvoiceAppActionId;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xxmachina/components",
|
|
3
|
-
"version": "20.
|
|
3
|
+
"version": "20.48.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"types": "./index.d.ts",
|
|
@@ -26,6 +26,10 @@
|
|
|
26
26
|
"types": "./types/xxmachina-components-features-query.d.ts",
|
|
27
27
|
"default": "./fesm2022/xxmachina-components-features-query.mjs"
|
|
28
28
|
},
|
|
29
|
+
"./frames/qtp-v2": {
|
|
30
|
+
"types": "./types/xxmachina-components-frames-qtp-v2.d.ts",
|
|
31
|
+
"default": "./fesm2022/xxmachina-components-frames-qtp-v2.mjs"
|
|
32
|
+
},
|
|
29
33
|
"./groups/command-form": {
|
|
30
34
|
"types": "./types/xxmachina-components-groups-command-form.d.ts",
|
|
31
35
|
"default": "./fesm2022/xxmachina-components-groups-command-form.mjs"
|
|
@@ -93,6 +93,7 @@ declare class QueryFeature {
|
|
|
93
93
|
readonly query: i0.Signal<Query<any, any> | undefined>;
|
|
94
94
|
readonly destroyRef: DestroyRef;
|
|
95
95
|
readonly result$: rxjs.Observable<any>;
|
|
96
|
+
readonly error: i0.WritableSignal<boolean>;
|
|
96
97
|
readonly result: i0.Signal<(Record<string, any[]> & Record<`${string}Length`, number> & {
|
|
97
98
|
__meta__?: {
|
|
98
99
|
title?: string;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import * as _xxmachina_components_frames_qtp_v2 from '@xxmachina/components/frames/qtp-v2';
|
|
2
|
+
import * as _angular_core from '@angular/core';
|
|
3
|
+
import { TemplateRef } from '@angular/core';
|
|
4
|
+
|
|
5
|
+
type QtpPanelType = 'query' | 'transformer' | 'presenter' | 'debug';
|
|
6
|
+
type QtpMode = 'presentation' | 'develop';
|
|
7
|
+
interface QtpTransformerOption {
|
|
8
|
+
readonly id: string;
|
|
9
|
+
readonly name: string;
|
|
10
|
+
}
|
|
11
|
+
interface QtpPresenterOption {
|
|
12
|
+
readonly id: string;
|
|
13
|
+
readonly name: string;
|
|
14
|
+
readonly icon?: string;
|
|
15
|
+
}
|
|
16
|
+
declare class QtpV2Frame<T extends QtpTransformerOption = QtpTransformerOption, P extends QtpPresenterOption = QtpPresenterOption> {
|
|
17
|
+
readonly mode: _angular_core.InputSignal<QtpMode>;
|
|
18
|
+
readonly expandedPanels: _angular_core.InputSignal<readonly QtpPanelType[]>;
|
|
19
|
+
readonly availableTransformers: _angular_core.InputSignal<readonly T[]>;
|
|
20
|
+
readonly selectedTransformer: _angular_core.InputSignal<T | undefined>;
|
|
21
|
+
readonly availablePresenters: _angular_core.InputSignal<readonly P[]>;
|
|
22
|
+
readonly selectedPresenter: _angular_core.InputSignal<P | undefined>;
|
|
23
|
+
readonly loading: _angular_core.InputSignal<boolean>;
|
|
24
|
+
readonly error: _angular_core.InputSignal<string | undefined>;
|
|
25
|
+
readonly debugLogs: _angular_core.InputSignal<unknown[]>;
|
|
26
|
+
readonly canGenerateTransformer: _angular_core.InputSignal<boolean>;
|
|
27
|
+
readonly generatingTransformer: _angular_core.InputSignal<boolean>;
|
|
28
|
+
readonly panelStatesChange: _angular_core.OutputEmitterRef<readonly QtpPanelType[]>;
|
|
29
|
+
readonly transformerSelected: _angular_core.OutputEmitterRef<T>;
|
|
30
|
+
readonly presenterSelected: _angular_core.OutputEmitterRef<P>;
|
|
31
|
+
readonly runTransformer: _angular_core.OutputEmitterRef<void>;
|
|
32
|
+
readonly generateTransformer: _angular_core.OutputEmitterRef<void>;
|
|
33
|
+
private readonly queryTemplates;
|
|
34
|
+
private readonly transformerTemplates;
|
|
35
|
+
private readonly presenterTemplates;
|
|
36
|
+
private readonly localPanels;
|
|
37
|
+
readonly panels: _angular_core.Signal<readonly QtpPanelType[]>;
|
|
38
|
+
protected readonly querySection: _angular_core.Signal<_angular_core.TemplateRef<_xxmachina_components_frames_qtp_v2.QuerySectionContext>>;
|
|
39
|
+
protected readonly transformerSection: _angular_core.Signal<_angular_core.TemplateRef<unknown>>;
|
|
40
|
+
protected readonly presenterSection: _angular_core.Signal<_angular_core.TemplateRef<unknown>>;
|
|
41
|
+
protected isExpanded(panel: QtpPanelType): boolean;
|
|
42
|
+
protected togglePanel(panel: QtpPanelType): void;
|
|
43
|
+
protected onTransformerChange(id: string): void;
|
|
44
|
+
protected onPresenterChange(id: string): void;
|
|
45
|
+
protected onRun(): void;
|
|
46
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<QtpV2Frame<any, any>, never>;
|
|
47
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<QtpV2Frame<any, any>, "frames-qtp-v2", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "expandedPanels": { "alias": "expandedPanels"; "required": false; "isSignal": true; }; "availableTransformers": { "alias": "availableTransformers"; "required": false; "isSignal": true; }; "selectedTransformer": { "alias": "selectedTransformer"; "required": false; "isSignal": true; }; "availablePresenters": { "alias": "availablePresenters"; "required": false; "isSignal": true; }; "selectedPresenter": { "alias": "selectedPresenter"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "debugLogs": { "alias": "debugLogs"; "required": false; "isSignal": true; }; "canGenerateTransformer": { "alias": "canGenerateTransformer"; "required": false; "isSignal": true; }; "generatingTransformer": { "alias": "generatingTransformer"; "required": false; "isSignal": true; }; }, { "panelStatesChange": "panelStatesChange"; "transformerSelected": "transformerSelected"; "presenterSelected": "presenterSelected"; "runTransformer": "runTransformer"; "generateTransformer": "generateTransformer"; }, ["queryTemplates", "transformerTemplates", "presenterTemplates"], never, true, never>;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
interface QuerySectionContext {
|
|
51
|
+
$implicit: string;
|
|
52
|
+
totalWritten: number;
|
|
53
|
+
}
|
|
54
|
+
declare class QuerySectionDirective {
|
|
55
|
+
readonly templateRef: TemplateRef<QuerySectionContext>;
|
|
56
|
+
constructor(templateRef: TemplateRef<QuerySectionContext>);
|
|
57
|
+
static ngTemplateContextGuard(_dir: QuerySectionDirective, _ctx: unknown): _ctx is QuerySectionContext;
|
|
58
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<QuerySectionDirective, never>;
|
|
59
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<QuerySectionDirective, "[querySection]", never, {}, {}, never, never, true, never>;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
declare class TransformerSectionDirective {
|
|
63
|
+
readonly templateRef: TemplateRef<unknown>;
|
|
64
|
+
constructor(templateRef: TemplateRef<unknown>);
|
|
65
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TransformerSectionDirective, never>;
|
|
66
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TransformerSectionDirective, "[transformerSection]", never, {}, {}, never, never, true, never>;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
declare class PresenterSectionDirective {
|
|
70
|
+
readonly templateRef: TemplateRef<unknown>;
|
|
71
|
+
constructor(templateRef: TemplateRef<unknown>);
|
|
72
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PresenterSectionDirective, never>;
|
|
73
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PresenterSectionDirective, "[presenterSection]", never, {}, {}, never, never, true, never>;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export { PresenterSectionDirective, QtpV2Frame, QuerySectionDirective, TransformerSectionDirective };
|
|
77
|
+
export type { QtpMode, QtpPanelType, QtpPresenterOption, QtpTransformerOption, QuerySectionContext };
|
|
@@ -5,7 +5,6 @@ import * as _angular_forms from '@angular/forms';
|
|
|
5
5
|
import { Extension } from '@codemirror/state';
|
|
6
6
|
import { NgAtomicComponent } from '@ng-atomic/core';
|
|
7
7
|
import { Resource } from '@xxmachina/common/domain/models';
|
|
8
|
-
import { HttpClient } from '@angular/common/http';
|
|
9
8
|
|
|
10
9
|
declare class QueryFormGroup extends NgAtomicComponent {
|
|
11
10
|
#private;
|
|
@@ -45,8 +44,6 @@ declare class QueryFormGroup extends NgAtomicComponent {
|
|
|
45
44
|
readonly queryExtensions: _angular_core.Signal<Extension[]>;
|
|
46
45
|
readonly variablesExtensions: _angular_core.Signal<Extension[]>;
|
|
47
46
|
readonly headersExtensions: _angular_core.Signal<Extension[]>;
|
|
48
|
-
readonly http: HttpClient;
|
|
49
|
-
readonly libFile: _angular_core.Signal<string | undefined>;
|
|
50
47
|
readonly transformerExtensions: _angular_core.Signal<Extension[]>;
|
|
51
48
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<QueryFormGroup, never>;
|
|
52
49
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<QueryFormGroup, "groups-query-form", never, { "form": { "alias": "form"; "required": false; "isSignal": true; }; "keyActions": { "alias": "keyActions"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -2,14 +2,17 @@ import * as _ng_atomic_components_templates__index from '@ng-atomic/components/t
|
|
|
2
2
|
import { ItemsMap, IndexTemplate } from '@ng-atomic/components/templates/_index';
|
|
3
3
|
import * as rxjs from 'rxjs';
|
|
4
4
|
import * as _angular_core from '@angular/core';
|
|
5
|
-
import { Provider, Injector } from '@angular/core';
|
|
5
|
+
import { Type, Provider, Injector, InjectionToken } from '@angular/core';
|
|
6
6
|
import * as _ng_atomic_core from '@ng-atomic/core';
|
|
7
7
|
import { Action, InjectableComponent, NavActions, ItemActions, NgAtomicComponent } from '@ng-atomic/core';
|
|
8
|
+
import * as _xxmachina_components_frames_qtp_v2 from '@xxmachina/components/frames/qtp-v2';
|
|
9
|
+
import { QtpPresenterOption, QtpMode } from '@xxmachina/components/frames/qtp-v2';
|
|
8
10
|
import * as _angular_forms from '@angular/forms';
|
|
9
11
|
import { FormGroup, FormBuilder } from '@angular/forms';
|
|
10
12
|
import * as _ng_atomic_common_types_ng_atomic_common_services_form__index from '@ng-atomic/common/types/ng-atomic-common-services-form-_index';
|
|
11
13
|
import * as _ng_atomic_common_services_ui from '@ng-atomic/common/services/ui';
|
|
12
14
|
import { FlatTreeControl } from '@angular/cdk/tree';
|
|
15
|
+
import { SelectionModel } from '@angular/cdk/collections';
|
|
13
16
|
import { EditingStateManager } from '@ng-atomic/common';
|
|
14
17
|
import { FormFieldMap } from '@ng-atomic/common/pipes/smart-field';
|
|
15
18
|
import { AppService } from '@xxmachina/components/services/app';
|
|
@@ -17,6 +20,7 @@ import { Query } from '@xxmachina/common/domain/models';
|
|
|
17
20
|
import { QueryFeature, QueryGraphqlVariablesFormFeature } from '@xxmachina/components/features/query';
|
|
18
21
|
import { ActivatedRoute } from '@angular/router';
|
|
19
22
|
import { QueryService } from '@xxmachina/components/services/query';
|
|
23
|
+
import { DataAccessor } from '@ng-atomic/common/pipes/data-accessor';
|
|
20
24
|
|
|
21
25
|
declare enum ActionId {
|
|
22
26
|
NAVIGATE_TO_IFRAME = "NAVIGATE TO IFRAME",
|
|
@@ -63,6 +67,11 @@ interface TableCellChangeOptions<T = any> {
|
|
|
63
67
|
declare function buildItemsMap(itemsResult?: Record<string, any[]>, itemsLengthResult?: Record<string, number>): {};
|
|
64
68
|
declare function buildItemsMapFromResult(result?: Record<string, any[]> & Record<`${string}Length`, number>): ItemsMap<any>;
|
|
65
69
|
|
|
70
|
+
declare function toggleSelectedId(selectedIds: string[], id: string): string[];
|
|
71
|
+
declare function toggleAllSelectedIds(selectedIds: string[], items: {
|
|
72
|
+
id: string;
|
|
73
|
+
}[]): string[];
|
|
74
|
+
|
|
66
75
|
declare class QueryActionReducer {
|
|
67
76
|
readonly action: _angular_core.WritableSignal<Action<any>>;
|
|
68
77
|
readonly action$: rxjs.Observable<Action<any>>;
|
|
@@ -71,6 +80,10 @@ declare class QueryActionReducer {
|
|
|
71
80
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<QueryActionReducer>;
|
|
72
81
|
}
|
|
73
82
|
|
|
83
|
+
interface QueryPagePresenterOption extends QtpPresenterOption {
|
|
84
|
+
readonly component?: Type<unknown>;
|
|
85
|
+
}
|
|
86
|
+
|
|
74
87
|
declare class QueryPageStore extends InjectableComponent {
|
|
75
88
|
#private;
|
|
76
89
|
static readonly ActionId: typeof ActionId;
|
|
@@ -197,6 +210,7 @@ declare class QueryPageStore extends InjectableComponent {
|
|
|
197
210
|
static providePaginationInitializer(): Provider[];
|
|
198
211
|
static provideTableCellValueChangeEffect<T = any>(handlerFactory: (injector: Injector) => (change: TableCellValueChange<T>, setValue: (value: any) => void) => void, optionsOrColumns?: TableCellChangeOptions<T> | (keyof T)[]): Provider;
|
|
199
212
|
static provideTableAutofillEffect<T = any>(handlerFactory: (injector: Injector) => (autofill: TableAutofillChange<T>) => void | Promise<void>): Provider;
|
|
213
|
+
static providePresenter(option: QueryPagePresenterOption): Provider;
|
|
200
214
|
static provideDebugStyleInitializer(): Provider[];
|
|
201
215
|
static provideTitleFromQueryResultInitializer(): Provider[];
|
|
202
216
|
protected readonly app: AppService;
|
|
@@ -225,6 +239,7 @@ declare class QueryPageStore extends InjectableComponent {
|
|
|
225
239
|
readonly type: _angular_core.InputSignal<string>;
|
|
226
240
|
readonly title: _angular_core.InputSignal<string>;
|
|
227
241
|
readonly titleEditable: _angular_core.InputSignal<boolean>;
|
|
242
|
+
readonly description: _angular_core.InputSignal<string>;
|
|
228
243
|
readonly itemsMap: _angular_core.InputSignal<_ng_atomic_components_templates__index.ItemsMap<any>>;
|
|
229
244
|
readonly items: _angular_core.Signal<any[]>;
|
|
230
245
|
readonly itemsLength: _angular_core.InputSignal<number>;
|
|
@@ -264,9 +279,18 @@ declare class QueryPageStore extends InjectableComponent {
|
|
|
264
279
|
readonly getRowClass: _angular_core.InputSignal<(item: any) => string>;
|
|
265
280
|
readonly skip: _angular_core.Signal<boolean>;
|
|
266
281
|
readonly pageSizeOptions: _angular_core.InputSignal<number[]>;
|
|
282
|
+
readonly selectedIds: _angular_core.WritableSignal<string[]>;
|
|
283
|
+
readonly selection: _angular_core.Signal<SelectionModel<string>>;
|
|
284
|
+
readonly qtpMode: _angular_core.InputSignal<QtpMode>;
|
|
285
|
+
readonly parent: QueryPageStore | null;
|
|
286
|
+
readonly presenters: readonly QueryPagePresenterOption[];
|
|
287
|
+
readonly transformers: _xxmachina_components_frames_qtp_v2.QtpTransformerOption[];
|
|
288
|
+
readonly selectedPresenter: _angular_core.Signal<QueryPagePresenterOption | undefined>;
|
|
267
289
|
constructor();
|
|
290
|
+
toggleSelection(id: string): void;
|
|
291
|
+
toggleAllSelection(): void;
|
|
268
292
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<QueryPageStore, never>;
|
|
269
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<QueryPageStore, never, never, { "style": { "alias": "style"; "required": false; "isSignal": true; }; "query": { "alias": "query"; "required": false; "isSignal": true; }; "navStartActions": { "alias": "navStartActions"; "required": false; "isSignal": true; }; "additionalNavEndActions": { "alias": "additionalNavEndActions"; "required": false; "isSignal": true; }; "navEndActions": { "alias": "navEndActions"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "titleEditable": { "alias": "titleEditable"; "required": false; "isSignal": true; }; "itemsMap": { "alias": "itemsMap"; "required": false; "isSignal": true; }; "itemsLength": { "alias": "itemsLength"; "required": false; "isSignal": true; }; "childrenKey": { "alias": "childrenKey"; "required": false; "isSignal": true; }; "additionalColumns": { "alias": "additionalColumns"; "required": false; "isSignal": true; }; "additionalColumnNames": { "alias": "additionalColumnNames"; "required": false; "isSignal": true; }; "extractedColumnNames": { "alias": "extractedColumnNames"; "required": false; "isSignal": true; }; "columnNames": { "alias": "columnNames"; "required": false; "isSignal": true; }; "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "itemActions": { "alias": "itemActions"; "required": false; "isSignal": true; }; "variablesForm": { "alias": "variablesForm"; "required": false; "isSignal": true; }; "variablesFormFieldMap": { "alias": "variablesFormFieldMap"; "required": false; "isSignal": true; }; "variablesFormDisplayed": { "alias": "variablesFormDisplayed"; "required": false; "isSignal": true; }; "tableColumnFormFieldMap": { "alias": "tableColumnFormFieldMap"; "required": false; "isSignal": true; }; "getRowClass": { "alias": "getRowClass"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
293
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<QueryPageStore, never, never, { "style": { "alias": "style"; "required": false; "isSignal": true; }; "query": { "alias": "query"; "required": false; "isSignal": true; }; "navStartActions": { "alias": "navStartActions"; "required": false; "isSignal": true; }; "additionalNavEndActions": { "alias": "additionalNavEndActions"; "required": false; "isSignal": true; }; "navEndActions": { "alias": "navEndActions"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "titleEditable": { "alias": "titleEditable"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "itemsMap": { "alias": "itemsMap"; "required": false; "isSignal": true; }; "itemsLength": { "alias": "itemsLength"; "required": false; "isSignal": true; }; "childrenKey": { "alias": "childrenKey"; "required": false; "isSignal": true; }; "additionalColumns": { "alias": "additionalColumns"; "required": false; "isSignal": true; }; "additionalColumnNames": { "alias": "additionalColumnNames"; "required": false; "isSignal": true; }; "extractedColumnNames": { "alias": "extractedColumnNames"; "required": false; "isSignal": true; }; "columnNames": { "alias": "columnNames"; "required": false; "isSignal": true; }; "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "itemActions": { "alias": "itemActions"; "required": false; "isSignal": true; }; "variablesForm": { "alias": "variablesForm"; "required": false; "isSignal": true; }; "variablesFormFieldMap": { "alias": "variablesFormFieldMap"; "required": false; "isSignal": true; }; "variablesFormDisplayed": { "alias": "variablesFormDisplayed"; "required": false; "isSignal": true; }; "tableColumnFormFieldMap": { "alias": "tableColumnFormFieldMap"; "required": false; "isSignal": true; }; "getRowClass": { "alias": "getRowClass"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "qtpMode": { "alias": "qtpMode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
270
294
|
}
|
|
271
295
|
|
|
272
296
|
declare class QueryPage extends NgAtomicComponent {
|
|
@@ -280,11 +304,16 @@ declare class QueryPage extends NgAtomicComponent {
|
|
|
280
304
|
readonly template: _angular_core.Signal<IndexTemplate<any> | undefined>;
|
|
281
305
|
readonly title: _angular_core.InputSignal<string>;
|
|
282
306
|
constructor();
|
|
307
|
+
protected selectPresenter(presenter: QtpPresenterOption): void;
|
|
283
308
|
back(): Promise<void>;
|
|
284
309
|
navigateToIframe(item: {
|
|
285
310
|
id: string;
|
|
286
311
|
}): Promise<void>;
|
|
287
312
|
expandPage(): Promise<void>;
|
|
313
|
+
protected toggleSelection(item: {
|
|
314
|
+
id: string;
|
|
315
|
+
}): void;
|
|
316
|
+
protected toggleAllSelection(): void;
|
|
288
317
|
protected itemClick(item: {
|
|
289
318
|
id: string;
|
|
290
319
|
}): void;
|
|
@@ -292,5 +321,8 @@ declare class QueryPage extends NgAtomicComponent {
|
|
|
292
321
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<QueryPage, "pages-query", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof QueryPageStore; inputs: { "type": "type"; "query": "query"; "titleEditable": "titleEditable"; "variablesForm": "variablesForm"; "variablesFormFieldMap": "variablesFormFieldMap"; "navStartActions": "navStartActions"; "navEndActions": "navEndActions"; "itemActions": "itemActions"; "pageSizeOptions": "pageSizeOptions"; }; outputs: {}; }]>;
|
|
293
322
|
}
|
|
294
323
|
|
|
295
|
-
|
|
296
|
-
|
|
324
|
+
declare const QUERY_PAGE_DATA_ACCESSOR: InjectionToken<DataAccessor<any>>;
|
|
325
|
+
declare function provideQueryPageDataAccessor<T>(useFactory: () => DataAccessor<T>): Provider;
|
|
326
|
+
|
|
327
|
+
export { ActionId, QUERY_PAGE_DATA_ACCESSOR, QueryActionReducer, QueryPage, QueryPageStore, buildItemsMap, buildItemsMapFromResult, provideQueryPageDataAccessor, toggleAllSelectedIds, toggleSelectedId };
|
|
328
|
+
export type { QueryPagePresenterOption, TableAutofillChange, TableCellChangeOptions, TableCellValueChange };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import * as _angular_core from '@angular/core';
|
|
2
1
|
import * as _ng_atomic_core from '@ng-atomic/core';
|
|
3
2
|
import { NgAtomicComponent } from '@ng-atomic/core';
|
|
3
|
+
import * as _angular_core from '@angular/core';
|
|
4
4
|
import { AuthService } from '@ng-atomic/common/services/auth';
|
|
5
5
|
import * as i1 from '@ng-atomic/components/templates/icon-button-menu';
|
|
6
6
|
import { IconButtonMenuTemplateStore } from '@ng-atomic/components/templates/icon-button-menu';
|
|
@@ -8,8 +8,14 @@ import { IconButtonMenuTemplateStore } from '@ng-atomic/components/templates/ico
|
|
|
8
8
|
declare class MachinaIconButtonMenuTemplate extends NgAtomicComponent {
|
|
9
9
|
protected readonly store: IconButtonMenuTemplateStore;
|
|
10
10
|
protected readonly auth: AuthService;
|
|
11
|
+
private readonly router;
|
|
12
|
+
private readonly url;
|
|
13
|
+
private readonly highlight;
|
|
14
|
+
private readonly navButtons;
|
|
15
|
+
protected readonly activeIndex: _angular_core.Signal<number>;
|
|
11
16
|
protected readonly signOutAction: _angular_core.Signal<_ng_atomic_core.Action<any> | null>;
|
|
12
17
|
protected readonly restBottomActions: _angular_core.Signal<_ng_atomic_core.Action<any>[]>;
|
|
18
|
+
constructor();
|
|
13
19
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MachinaIconButtonMenuTemplate, never>;
|
|
14
20
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MachinaIconButtonMenuTemplate, "templates-icon-button-menu", never, {}, {}, never, never, true, [{ directive: typeof i1.IconButtonMenuTemplateStore; inputs: { "actions": "actions"; "bottomActions": "bottomActions"; "topPadding": "topPadding"; }; outputs: {}; }]>;
|
|
15
21
|
}
|