@smartbit4all/ng-client 6.0.8 → 6.0.10
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/esm2022/lib/session/smart-backend-bootstrap.config.mjs +1 -1
- package/esm2022/lib/session/smart-backend-bootstrap.service.mjs +7 -4
- package/esm2022/lib/session/smart-error-catching.interceptor.mjs +3 -3
- package/esm2022/lib/session/smart-session.service.mjs +48 -23
- package/esm2022/lib/smart-generic-pages/search-page/search-page.component.mjs +3 -3
- package/esm2022/lib/smart-tree/smarttree.component.mjs +3 -3
- package/esm2022/lib/theme/theme.service.mjs +48 -0
- package/esm2022/lib/view-context/api/api/view.service.mjs +211 -1
- package/esm2022/lib/view-context/api/api-default/binaryContentData.mjs +2 -0
- package/esm2022/lib/view-context/api/model/deviceInfo.mjs +1 -1
- package/esm2022/lib/view-context/api/model/iconPosition.mjs +1 -1
- package/esm2022/lib/view-context/api/model/menuTriggerType.mjs +17 -0
- package/esm2022/lib/view-context/api/model/models.mjs +7 -1
- package/esm2022/lib/view-context/api/model/namedValidator.mjs +1 -1
- package/esm2022/lib/view-context/api/model/publishedViewData.mjs +13 -0
- package/esm2022/lib/view-context/api/model/shellProperty.mjs +13 -0
- package/esm2022/lib/view-context/api/model/smartLinkData.mjs +1 -1
- package/esm2022/lib/view-context/api/model/themeDefinition.mjs +2 -0
- package/esm2022/lib/view-context/api/model/themeDescriptor.mjs +2 -0
- package/esm2022/lib/view-context/api/model/themeShellDescriptor.mjs +2 -0
- package/esm2022/lib/view-context/api/model/uiAction.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionDefinition.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionDefinitionEntry.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionDescriptor.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionInputType.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionSchedule.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionUploadDescriptor.mjs +1 -1
- package/esm2022/lib/view-context/api/model/view.mjs +1 -1
- package/esm2022/lib/view-context/api/model/viewData.mjs +1 -1
- package/esm2022/lib/view-context/api/model/viewEventHandler.mjs +1 -1
- package/esm2022/lib/view-context/projects.mjs +3 -2
- package/esm2022/lib/view-context/smart-ui-action/components/menu/click/menu.component.mjs +205 -0
- package/esm2022/lib/view-context/smart-ui-action/components/menu/hover/hover-menu.component.mjs +205 -0
- package/esm2022/lib/view-context/smart-ui-action/components/theme-selector/theme-selector.component.mjs +35 -0
- package/esm2022/lib/view-context/smart-ui-action/file-editor-toolbar/file-editor-toolbar.component.mjs +6 -4
- package/esm2022/lib/view-context/smart-ui-action/ui-action-button/ui-action-button.component.mjs +18 -10
- package/esm2022/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +10 -7
- package/esm2022/lib/view-context/smart-ui-action/ui-action.service.mjs +13 -3
- package/esm2022/lib/view-context/smart-view-context.module.mjs +13 -7
- package/esm2022/lib/view-context/smart-view-context.service.mjs +14 -5
- package/esm2022/projects.mjs +2 -1
- package/fesm2022/smartbit4all-ng-client.mjs +895 -313
- package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
- package/lib/session/smart-backend-bootstrap.config.d.ts +9 -1
- package/lib/session/smart-backend-bootstrap.service.d.ts +3 -1
- package/lib/session/smart-error-catching.interceptor.d.ts +2 -1
- package/lib/session/smart-session.service.d.ts +18 -1
- package/lib/theme/theme.service.d.ts +17 -0
- package/lib/view-context/api/api/view.service.d.ts +94 -0
- package/lib/view-context/api/api-default/binaryContentData.d.ts +2 -0
- package/lib/view-context/api/model/deviceInfo.d.ts +1 -0
- package/lib/view-context/api/model/menuTriggerType.d.ts +15 -0
- package/lib/view-context/api/model/models.d.ts +6 -0
- package/lib/view-context/api/model/publishedViewData.d.ts +14 -0
- package/lib/view-context/api/model/shellProperty.d.ts +15 -0
- package/lib/view-context/api/model/themeDefinition.d.ts +22 -0
- package/lib/view-context/api/model/themeDescriptor.d.ts +16 -0
- package/lib/view-context/api/model/themeShellDescriptor.d.ts +17 -0
- package/lib/view-context/api/model/uiActionDescriptor.d.ts +2 -0
- package/lib/view-context/projects.d.ts +2 -1
- package/lib/view-context/smart-ui-action/components/menu/{menu.component.d.ts → click/menu.component.d.ts} +8 -7
- package/lib/view-context/smart-ui-action/components/menu/hover/hover-menu.component.d.ts +43 -0
- package/lib/view-context/smart-ui-action/components/theme-selector/theme-selector.component.d.ts +16 -0
- package/lib/view-context/smart-ui-action/ui-action-button/ui-action-button.component.d.ts +1 -0
- package/lib/view-context/smart-ui-action/ui-action-toolbar.component.d.ts +2 -1
- package/lib/view-context/smart-ui-action/ui-action.service.d.ts +3 -1
- package/lib/view-context/smart-view-context.module.d.ts +56 -54
- package/lib/view-context/smart-view-context.service.d.ts +4 -2
- package/package.json +1 -1
- package/projects.d.ts +1 -0
- package/smartbit4all-ng-client-6.0.10.tgz +0 -0
- package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.component.mjs +0 -199
- package/smartbit4all-ng-client-6.0.8.tgz +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HttpErrorResponse } from '@angular/common/http';
|
|
2
|
-
import { UiActionDescriptor } from '../view-context/api';
|
|
2
|
+
import { UiActionDescriptor, UiActionRequest } from '../view-context/api';
|
|
3
3
|
import { SmartViewHandlerModel } from '../view-context/smart-view-context.model';
|
|
4
4
|
import { SessionError } from './smart-session-handler.service';
|
|
5
5
|
/**
|
|
@@ -62,4 +62,12 @@ export interface SmartBackendBootstrapConfig {
|
|
|
62
62
|
* tear down the webview and return to the native login page.
|
|
63
63
|
*/
|
|
64
64
|
onViewContextLost?: (err: SessionError) => Promise<void> | void;
|
|
65
|
+
/**
|
|
66
|
+
* Hook called when an action is rejected by the server by returning a 4xx status code.
|
|
67
|
+
*
|
|
68
|
+
* @param req the UiActionRequest attempted to be executed
|
|
69
|
+
* @param err the error the server responded with
|
|
70
|
+
* @returns
|
|
71
|
+
*/
|
|
72
|
+
onActionError?: (req: UiActionRequest, err: any) => void;
|
|
65
73
|
}
|
|
@@ -3,6 +3,7 @@ import { SmartSessionService } from './smart-session.service';
|
|
|
3
3
|
import { SmartViewContextService } from '../view-context/smart-view-context.service';
|
|
4
4
|
import { SessionError, SmartSessionHandlerService } from './smart-session-handler.service';
|
|
5
5
|
import { SmartBackendBootstrapConfig, SmartBackendBootstrapCredentials } from './smart-backend-bootstrap.config';
|
|
6
|
+
import { UiActionService } from '../view-context/smart-ui-action/ui-action.service';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
/**
|
|
8
9
|
* Thrown by `whenReady()` when the viewcontext was rebuilt between the
|
|
@@ -18,13 +19,14 @@ export declare class ViewContextRebuiltError extends Error {
|
|
|
18
19
|
export declare class SmartBackendBootstrapService implements SmartSessionHandlerService {
|
|
19
20
|
private session;
|
|
20
21
|
private viewContext;
|
|
22
|
+
private uiActionService;
|
|
21
23
|
private config?;
|
|
22
24
|
private runningInit?;
|
|
23
25
|
private lastInitFailed;
|
|
24
26
|
private mode?;
|
|
25
27
|
private runningViewContextLost?;
|
|
26
28
|
private runningSessionError?;
|
|
27
|
-
constructor(session: SmartSessionService, viewContext: SmartViewContextService);
|
|
29
|
+
constructor(session: SmartSessionService, viewContext: SmartViewContextService, uiActionService: UiActionService);
|
|
28
30
|
configure(config: SmartBackendBootstrapConfig): void;
|
|
29
31
|
private handleSmartLink;
|
|
30
32
|
start(): Promise<void>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
|
-
import { SessionError
|
|
3
|
+
import { SessionError } from './smart-session-handler.service';
|
|
4
|
+
import { SmartSessionService } from './smart-session.service';
|
|
4
5
|
import { SmartBackendBootstrapService } from './smart-backend-bootstrap.service';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export declare class SmartErrorCatchingInterceptor implements HttpInterceptor {
|
|
@@ -58,8 +58,25 @@ export declare class SmartSessionService implements OnDestroy {
|
|
|
58
58
|
getSession(): Promise<SessionInfoData>;
|
|
59
59
|
refreshSession(): Promise<SessionInfoData>;
|
|
60
60
|
private doRefreshSession;
|
|
61
|
+
/**
|
|
62
|
+
* Runs the standard session-restart handling for a refresh that finished
|
|
63
|
+
* without an error HTTP response (no refresh token, or an empty refresh
|
|
64
|
+
* result), then throws a failure shaped like the backend's rejected refresh.
|
|
65
|
+
*
|
|
66
|
+
* Only the paths that do NOT produce an error HTTP response come here: a
|
|
67
|
+
* refresh call that fails with a session error is already handled by the
|
|
68
|
+
* SmartErrorCatchingInterceptor, so routing it through here too would invoke
|
|
69
|
+
* handleSessionError a second time.
|
|
70
|
+
*/
|
|
71
|
+
private failRefresh;
|
|
72
|
+
/**
|
|
73
|
+
* Builds a failure shaped exactly like the backend's rejected-refresh
|
|
74
|
+
* response (HTTP 400 + ApiError.code === 'session.refreshtoken.invalid'), so a
|
|
75
|
+
* failed/impossible refresh surfaces like any other invalid refresh token
|
|
76
|
+
* instead of producing a fresh session as a refresh side effect.
|
|
77
|
+
*/
|
|
78
|
+
private createRefreshFailedError;
|
|
61
79
|
private updateSessionInfo;
|
|
62
|
-
private isInvalidRefreshTokenError;
|
|
63
80
|
getAuthenticationProviders(): Promise<Array<AuthenticationProviderData>>;
|
|
64
81
|
getIsAuthenticated(): Promise<boolean>;
|
|
65
82
|
is2FANecessary(): Promise<boolean>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { ViewService } from '../view-context/api/api/api';
|
|
3
|
+
import { ThemeDescriptor } from '../view-context/api';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class ThemeService {
|
|
6
|
+
private viewService;
|
|
7
|
+
private _currentTheme;
|
|
8
|
+
currentTheme: import("@angular/core").Signal<string>;
|
|
9
|
+
private themes;
|
|
10
|
+
constructor(viewService: ViewService);
|
|
11
|
+
setTheme(themeDescriptor: ThemeDescriptor): void;
|
|
12
|
+
getThemes(): Observable<ThemeDescriptor[]>;
|
|
13
|
+
getSelectedTheme(): Promise<ThemeDescriptor>;
|
|
14
|
+
getSystemTheme(): string;
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ThemeService, never>;
|
|
16
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ThemeService>;
|
|
17
|
+
}
|
|
@@ -3,6 +3,10 @@ import { Observable } from 'rxjs';
|
|
|
3
3
|
import { ComponentModel } from '../model/componentModel';
|
|
4
4
|
import { DataChange } from '../model/dataChange';
|
|
5
5
|
import { MessageResult } from '../model/messageResult';
|
|
6
|
+
import { PublishedViewData } from '../model/publishedViewData';
|
|
7
|
+
import { ThemeDefinition } from '../model/themeDefinition';
|
|
8
|
+
import { ThemeDescriptor } from '../model/themeDescriptor';
|
|
9
|
+
import { ThemeShellDescriptor } from '../model/themeShellDescriptor';
|
|
6
10
|
import { UiActionRequest } from '../model/uiActionRequest';
|
|
7
11
|
import { ViewConstraint } from '../model/viewConstraint';
|
|
8
12
|
import { ViewContextChange } from '../model/viewContextChange';
|
|
@@ -96,6 +100,24 @@ export declare class ViewService {
|
|
|
96
100
|
httpHeaderAccept?: 'application/octet-stream';
|
|
97
101
|
context?: HttpContext;
|
|
98
102
|
}): Observable<HttpEvent<Blob>>;
|
|
103
|
+
/**
|
|
104
|
+
* Get Android theme descriptor by name
|
|
105
|
+
* @param name
|
|
106
|
+
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
|
|
107
|
+
* @param reportProgress flag to report request and response progress.
|
|
108
|
+
*/
|
|
109
|
+
getAndroidTheme(name: string, observe?: 'body', reportProgress?: boolean, options?: {
|
|
110
|
+
httpHeaderAccept?: 'application/json';
|
|
111
|
+
context?: HttpContext;
|
|
112
|
+
}): Observable<ThemeShellDescriptor>;
|
|
113
|
+
getAndroidTheme(name: string, observe?: 'response', reportProgress?: boolean, options?: {
|
|
114
|
+
httpHeaderAccept?: 'application/json';
|
|
115
|
+
context?: HttpContext;
|
|
116
|
+
}): Observable<HttpResponse<ThemeShellDescriptor>>;
|
|
117
|
+
getAndroidTheme(name: string, observe?: 'events', reportProgress?: boolean, options?: {
|
|
118
|
+
httpHeaderAccept?: 'application/json';
|
|
119
|
+
context?: HttpContext;
|
|
120
|
+
}): Observable<HttpEvent<ThemeShellDescriptor>>;
|
|
99
121
|
/**
|
|
100
122
|
* Returns component\'s model.
|
|
101
123
|
* @param uuid Component\'s unique identifier.
|
|
@@ -132,6 +154,78 @@ export declare class ViewService {
|
|
|
132
154
|
httpHeaderAccept?: 'application/json';
|
|
133
155
|
context?: HttpContext;
|
|
134
156
|
}): Observable<HttpEvent<ViewContextChange>>;
|
|
157
|
+
/**
|
|
158
|
+
* Get iOS theme descriptor by name
|
|
159
|
+
* @param name
|
|
160
|
+
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
|
|
161
|
+
* @param reportProgress flag to report request and response progress.
|
|
162
|
+
*/
|
|
163
|
+
getIosTheme(name: string, observe?: 'body', reportProgress?: boolean, options?: {
|
|
164
|
+
httpHeaderAccept?: 'application/json';
|
|
165
|
+
context?: HttpContext;
|
|
166
|
+
}): Observable<ThemeShellDescriptor>;
|
|
167
|
+
getIosTheme(name: string, observe?: 'response', reportProgress?: boolean, options?: {
|
|
168
|
+
httpHeaderAccept?: 'application/json';
|
|
169
|
+
context?: HttpContext;
|
|
170
|
+
}): Observable<HttpResponse<ThemeShellDescriptor>>;
|
|
171
|
+
getIosTheme(name: string, observe?: 'events', reportProgress?: boolean, options?: {
|
|
172
|
+
httpHeaderAccept?: 'application/json';
|
|
173
|
+
context?: HttpContext;
|
|
174
|
+
}): Observable<HttpEvent<ThemeShellDescriptor>>;
|
|
175
|
+
/**
|
|
176
|
+
* Get Published View Data
|
|
177
|
+
* @param channel Smartlink\'s channel.
|
|
178
|
+
* @param uuid Smartlink\'s unique identifier. Not a UUID anymore.
|
|
179
|
+
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
|
|
180
|
+
* @param reportProgress flag to report request and response progress.
|
|
181
|
+
*/
|
|
182
|
+
getPublishedViewData(channel: string, uuid: string, observe?: 'body', reportProgress?: boolean, options?: {
|
|
183
|
+
httpHeaderAccept?: 'application/json';
|
|
184
|
+
context?: HttpContext;
|
|
185
|
+
}): Observable<PublishedViewData>;
|
|
186
|
+
getPublishedViewData(channel: string, uuid: string, observe?: 'response', reportProgress?: boolean, options?: {
|
|
187
|
+
httpHeaderAccept?: 'application/json';
|
|
188
|
+
context?: HttpContext;
|
|
189
|
+
}): Observable<HttpResponse<PublishedViewData>>;
|
|
190
|
+
getPublishedViewData(channel: string, uuid: string, observe?: 'events', reportProgress?: boolean, options?: {
|
|
191
|
+
httpHeaderAccept?: 'application/json';
|
|
192
|
+
context?: HttpContext;
|
|
193
|
+
}): Observable<HttpEvent<PublishedViewData>>;
|
|
194
|
+
/**
|
|
195
|
+
* Get theme descriptor by name
|
|
196
|
+
* @param name
|
|
197
|
+
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
|
|
198
|
+
* @param reportProgress flag to report request and response progress.
|
|
199
|
+
*/
|
|
200
|
+
getTheme(name: string, observe?: 'body', reportProgress?: boolean, options?: {
|
|
201
|
+
httpHeaderAccept?: 'application/json';
|
|
202
|
+
context?: HttpContext;
|
|
203
|
+
}): Observable<ThemeDefinition>;
|
|
204
|
+
getTheme(name: string, observe?: 'response', reportProgress?: boolean, options?: {
|
|
205
|
+
httpHeaderAccept?: 'application/json';
|
|
206
|
+
context?: HttpContext;
|
|
207
|
+
}): Observable<HttpResponse<ThemeDefinition>>;
|
|
208
|
+
getTheme(name: string, observe?: 'events', reportProgress?: boolean, options?: {
|
|
209
|
+
httpHeaderAccept?: 'application/json';
|
|
210
|
+
context?: HttpContext;
|
|
211
|
+
}): Observable<HttpEvent<ThemeDefinition>>;
|
|
212
|
+
/**
|
|
213
|
+
* Get all available themes
|
|
214
|
+
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
|
|
215
|
+
* @param reportProgress flag to report request and response progress.
|
|
216
|
+
*/
|
|
217
|
+
getThemes(observe?: 'body', reportProgress?: boolean, options?: {
|
|
218
|
+
httpHeaderAccept?: 'application/json';
|
|
219
|
+
context?: HttpContext;
|
|
220
|
+
}): Observable<Array<ThemeDescriptor>>;
|
|
221
|
+
getThemes(observe?: 'response', reportProgress?: boolean, options?: {
|
|
222
|
+
httpHeaderAccept?: 'application/json';
|
|
223
|
+
context?: HttpContext;
|
|
224
|
+
}): Observable<HttpResponse<Array<ThemeDescriptor>>>;
|
|
225
|
+
getThemes(observe?: 'events', reportProgress?: boolean, options?: {
|
|
226
|
+
httpHeaderAccept?: 'application/json';
|
|
227
|
+
context?: HttpContext;
|
|
228
|
+
}): Observable<HttpEvent<Array<ThemeDescriptor>>>;
|
|
135
229
|
/**
|
|
136
230
|
* Returns the view constraint object belongs to the given view
|
|
137
231
|
* @param uuid View\'s unique identifier.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* View API
|
|
3
|
+
* View API
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 1.0.0
|
|
6
|
+
* Contact: info@it4all.hu
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
export declare enum MenuTriggerType {
|
|
13
|
+
CLICK = "CLICK",
|
|
14
|
+
HOVER = "HOVER"
|
|
15
|
+
}
|
|
@@ -13,6 +13,7 @@ export * from './downloadedFile';
|
|
|
13
13
|
export * from './iconPosition';
|
|
14
14
|
export * from './imageResource';
|
|
15
15
|
export * from './link';
|
|
16
|
+
export * from './menuTriggerType';
|
|
16
17
|
export * from './messageData';
|
|
17
18
|
export * from './messageOption';
|
|
18
19
|
export * from './messageOptionType';
|
|
@@ -23,13 +24,18 @@ export * from './multiComboBoxElement';
|
|
|
23
24
|
export * from './multiComboBoxModel';
|
|
24
25
|
export * from './namedValidator';
|
|
25
26
|
export * from './openPendingData';
|
|
27
|
+
export * from './publishedViewData';
|
|
26
28
|
export * from './serverRequestExecutionStat';
|
|
27
29
|
export * from './serverRequestTrack';
|
|
28
30
|
export * from './serverRequestType';
|
|
31
|
+
export * from './shellProperty';
|
|
29
32
|
export * from './smartLinkData';
|
|
30
33
|
export * from './smartLinkMigrationStatus';
|
|
31
34
|
export * from './statisticRecord';
|
|
32
35
|
export * from './style';
|
|
36
|
+
export * from './themeDefinition';
|
|
37
|
+
export * from './themeDescriptor';
|
|
38
|
+
export * from './themeShellDescriptor';
|
|
33
39
|
export * from './uiAction';
|
|
34
40
|
export * from './uiActionButtonDescriptor';
|
|
35
41
|
export * from './uiActionButtonType';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* View API
|
|
3
|
+
* View API
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 1.0.0
|
|
6
|
+
* Contact: info@it4all.hu
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
export interface PublishedViewData {
|
|
13
|
+
isPublic?: boolean;
|
|
14
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* View API
|
|
3
|
+
* View API
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 1.0.0
|
|
6
|
+
* Contact: info@it4all.hu
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
export interface ShellProperty {
|
|
13
|
+
propertyName?: string;
|
|
14
|
+
propertyValue?: string;
|
|
15
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* View API
|
|
3
|
+
* View API
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 1.0.0
|
|
6
|
+
* Contact: info@it4all.hu
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
import { BinaryContentData } from '../api-default/binaryContentData';
|
|
13
|
+
import { ShellProperty } from './shellProperty';
|
|
14
|
+
export interface ThemeDefinition {
|
|
15
|
+
uri?: string;
|
|
16
|
+
name?: string;
|
|
17
|
+
appTitle?: string;
|
|
18
|
+
css?: BinaryContentData;
|
|
19
|
+
favicon?: BinaryContentData;
|
|
20
|
+
iosProperties?: Array<ShellProperty>;
|
|
21
|
+
androidProperties?: Array<ShellProperty>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* View API
|
|
3
|
+
* View API
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 1.0.0
|
|
6
|
+
* Contact: info@it4all.hu
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
import { UiActionDescriptor } from './uiActionDescriptor';
|
|
13
|
+
export interface ThemeDescriptor {
|
|
14
|
+
name?: string;
|
|
15
|
+
descriptor?: UiActionDescriptor;
|
|
16
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* View API
|
|
3
|
+
* View API
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 1.0.0
|
|
6
|
+
* Contact: info@it4all.hu
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
import { ShellProperty } from './shellProperty';
|
|
13
|
+
export interface ThemeShellDescriptor {
|
|
14
|
+
name?: string;
|
|
15
|
+
shellType?: string;
|
|
16
|
+
properties?: Array<ShellProperty>;
|
|
17
|
+
}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { UiActionTooltip } from './uiActionTooltip';
|
|
13
13
|
import { ImageResource } from './imageResource';
|
|
14
|
+
import { MenuTriggerType } from './menuTriggerType';
|
|
14
15
|
import { IconPosition } from './iconPosition';
|
|
15
16
|
import { BadgeDescriptor } from './badgeDescriptor';
|
|
16
17
|
import { Style } from './style';
|
|
@@ -39,4 +40,5 @@ export interface UiActionDescriptor {
|
|
|
39
40
|
upload?: UiActionUploadDescriptor;
|
|
40
41
|
tooltip?: UiActionTooltip;
|
|
41
42
|
style?: Style;
|
|
43
|
+
menuTriggerType?: MenuTriggerType;
|
|
42
44
|
}
|
|
@@ -15,7 +15,8 @@ export * from './smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-
|
|
|
15
15
|
export * from './smart-ui-action/dialogs/ui-action-dialog-button/ui-action-dialog-button.component';
|
|
16
16
|
export * from './utility/componentLibrary';
|
|
17
17
|
export * from './smart-ui-action/ui-action-button/ui-action-button.component';
|
|
18
|
-
export * from './smart-ui-action/components/menu/menu.component';
|
|
18
|
+
export * from './smart-ui-action/components/menu/click/menu.component';
|
|
19
|
+
export * from './smart-ui-action/components/menu/hover/hover-menu.component';
|
|
19
20
|
export * from './smart-ui-action/components/upload-widget/upload-widget.component';
|
|
20
21
|
export * from './smart-ui-action/components/upload-widget/photo-capture-widget/photo-capture-widget.component';
|
|
21
22
|
export * from './smart-ui-action/components/upload-widget/voice-record-widget/voice-record-widget.component';
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { EventEmitter, QueryList, SimpleChanges, TemplateRef, ViewContainerRef, AfterViewChecked } from '@angular/core';
|
|
2
|
-
import { UiAction } from '../../../api';
|
|
3
|
-
import { UiMenuService } from './menu.service';
|
|
4
|
-
import { ComponentLibrary } from '../../../utility/componentLibrary';
|
|
5
2
|
import { Overlay, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';
|
|
3
|
+
import { UiAction } from '../../../../api';
|
|
4
|
+
import { UiMenuService } from '../menu.service';
|
|
5
|
+
import { ComponentLibrary } from '../../../../utility/componentLibrary';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
-
export declare class
|
|
7
|
+
export declare class ClickMenuComponent implements AfterViewChecked {
|
|
8
8
|
private menuService;
|
|
9
9
|
private overlay;
|
|
10
10
|
private viewContainerRef;
|
|
11
11
|
private overlayPositionBuilder;
|
|
12
12
|
compLib?: ComponentLibrary | undefined;
|
|
13
|
-
submenuComponents: QueryList<
|
|
13
|
+
submenuComponents: QueryList<ClickMenuComponent>;
|
|
14
14
|
menuTemplate: TemplateRef<any>;
|
|
15
15
|
overlayRef: OverlayRef | null;
|
|
16
16
|
triggerAction: UiAction;
|
|
@@ -37,6 +37,7 @@ export declare class MenuComponent implements AfterViewChecked {
|
|
|
37
37
|
openMenu(event: MouseEvent): void;
|
|
38
38
|
toggleMenu(event: MouseEvent): void;
|
|
39
39
|
onSubmenuOpened(openedAction: UiAction): void;
|
|
40
|
-
|
|
41
|
-
static
|
|
40
|
+
closeSiblingSubmenus(exceptAction: UiAction): void;
|
|
41
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ClickMenuComponent, [null, null, null, null, { optional: true; }]>;
|
|
42
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ClickMenuComponent, "ui-tiered-menu", never, { "triggerAction": { "alias": "triggerAction"; "required": false; }; "isSubmenu": { "alias": "isSubmenu"; "required": false; }; }, { "actionClick": "actionClick"; "submenuOpened": "submenuOpened"; }, never, never, false, never>;
|
|
42
43
|
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { AfterViewChecked, EventEmitter, OnDestroy, OnInit, QueryList, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { Overlay, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';
|
|
3
|
+
import { UiAction } from '../../../../api';
|
|
4
|
+
import { UiMenuService } from '../menu.service';
|
|
5
|
+
import { ComponentLibrary } from '../../../../utility/componentLibrary';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class HoverMenuComponent implements OnInit, AfterViewChecked, OnDestroy {
|
|
8
|
+
private menuService;
|
|
9
|
+
private overlay;
|
|
10
|
+
private viewContainerRef;
|
|
11
|
+
private overlayPositionBuilder;
|
|
12
|
+
compLib?: ComponentLibrary | undefined;
|
|
13
|
+
submenuComponents: QueryList<HoverMenuComponent>;
|
|
14
|
+
menuTemplate: TemplateRef<any>;
|
|
15
|
+
overlayRef: OverlayRef | null;
|
|
16
|
+
triggerAction: UiAction;
|
|
17
|
+
isSubmenu: boolean;
|
|
18
|
+
actionClick: EventEmitter<UiAction>;
|
|
19
|
+
submenuOpened: EventEmitter<UiAction>;
|
|
20
|
+
private destroy$;
|
|
21
|
+
icon: string;
|
|
22
|
+
submenuOpenMap: Map<UiAction, boolean>;
|
|
23
|
+
subActions: UiAction[];
|
|
24
|
+
private hasCheckedChildren;
|
|
25
|
+
constructor(menuService: UiMenuService, overlay: Overlay, viewContainerRef: ViewContainerRef, overlayPositionBuilder: OverlayPositionBuilder, compLib?: ComponentLibrary | undefined);
|
|
26
|
+
ngOnInit(): void;
|
|
27
|
+
ngAfterViewChecked(): void;
|
|
28
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
29
|
+
private hasSubActionsChanged;
|
|
30
|
+
ngOnDestroy(): void;
|
|
31
|
+
onActionClick(action: UiAction): void;
|
|
32
|
+
onMenuClick(event: Event): void;
|
|
33
|
+
onDocumentClick(event: Event): void;
|
|
34
|
+
get isOpen(): boolean;
|
|
35
|
+
closeMenu(): void;
|
|
36
|
+
refreshOverlay(): void;
|
|
37
|
+
openMenu(event: MouseEvent): void;
|
|
38
|
+
toggleMenu(event: MouseEvent): void;
|
|
39
|
+
onSubmenuOpened(openedAction: UiAction): void;
|
|
40
|
+
closeSiblingSubmenus(exceptAction: UiAction): void;
|
|
41
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<HoverMenuComponent, [null, null, null, null, { optional: true; }]>;
|
|
42
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<HoverMenuComponent, "ui-hover-menu", never, { "triggerAction": { "alias": "triggerAction"; "required": false; }; "isSubmenu": { "alias": "isSubmenu"; "required": false; }; }, { "actionClick": "actionClick"; "submenuOpened": "submenuOpened"; }, never, never, false, never>;
|
|
43
|
+
}
|
package/lib/view-context/smart-ui-action/components/theme-selector/theme-selector.component.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ThemeDescriptor, UiAction } from '../../../api';
|
|
2
|
+
import { UiActionModel } from '../../ui-action.model';
|
|
3
|
+
import { ThemeService } from '../../../../theme/theme.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class ThemeSelectorComponent {
|
|
6
|
+
private themeService;
|
|
7
|
+
model: import("@angular/core").InputSignal<UiActionModel>;
|
|
8
|
+
action: import("@angular/core").Signal<UiAction | undefined>;
|
|
9
|
+
themeDescriptor?: ThemeDescriptor;
|
|
10
|
+
themes: ThemeDescriptor[];
|
|
11
|
+
constructor(themeService: ThemeService);
|
|
12
|
+
ngOnInit(): void;
|
|
13
|
+
onActionClicked(event: any, themeDescriptor: ThemeDescriptor): Promise<void>;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ThemeSelectorComponent, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ThemeSelectorComponent, "theme-selector", never, { "model": { "alias": "model"; "required": true; "isSignal": true; }; }, {}, never, never, false, never>;
|
|
16
|
+
}
|
|
@@ -31,6 +31,7 @@ export declare class UiActionButtonComponent implements OnInit, OnDestroy {
|
|
|
31
31
|
constructor(changeDetector: ChangeDetectorRef, compLib?: ComponentLibrary);
|
|
32
32
|
ngOnInit(): void;
|
|
33
33
|
ngOnChanges(changes: SimpleChanges): void;
|
|
34
|
+
private buildMainActionModel;
|
|
34
35
|
ngOnDestroy(): void;
|
|
35
36
|
onActionClicked(event: MouseEvent, model: UiActionModel): Promise<void>;
|
|
36
37
|
onActionDoubleClicked(event: any): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ChangeDetectorRef, ElementRef, Injector, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
|
|
2
2
|
import { TooltipPosition } from '@angular/material/tooltip';
|
|
3
|
-
import { IconPosition, UiActionDescriptor, UiActionTooltipTooltipPositionEnum } from '../api';
|
|
3
|
+
import { IconPosition, MenuTriggerType, UiActionDescriptor, UiActionTooltipTooltipPositionEnum } from '../api';
|
|
4
4
|
import { UiActionDescriptorService } from './ui-action.descriptor.service';
|
|
5
5
|
import { UiActionModel } from './ui-action.model';
|
|
6
6
|
import { UiActionService } from './ui-action.service';
|
|
@@ -15,6 +15,7 @@ export declare class UiActionToolbarComponent implements OnInit, OnChanges, OnDe
|
|
|
15
15
|
containerRef: ElementRef;
|
|
16
16
|
private _destroy$;
|
|
17
17
|
componentLibrary: typeof ComponentLibrary;
|
|
18
|
+
triggerType: typeof MenuTriggerType;
|
|
18
19
|
pressedButtonActive: boolean;
|
|
19
20
|
uiActionModels?: UiActionModel[];
|
|
20
21
|
uiActionDescriptorService?: UiActionDescriptorService;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OnDestroy } from '@angular/core';
|
|
2
2
|
import { MatSnackBar } from '@angular/material/snack-bar';
|
|
3
|
-
import { UiAction } from '../api';
|
|
3
|
+
import { UiAction, UiActionRequest } from '../api';
|
|
4
4
|
import type { UiActionConfirmDialogService } from './dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service';
|
|
5
5
|
import type { UiActionInputDialogService } from './dialogs/ui-action-input-dialog/ui-action-input-dialog.service';
|
|
6
6
|
import { UiActionModel } from './ui-action.model';
|
|
@@ -25,8 +25,10 @@ export declare class UiActionService implements OnDestroy {
|
|
|
25
25
|
private _snackBar;
|
|
26
26
|
private viewContext;
|
|
27
27
|
private _destroy$;
|
|
28
|
+
private onActionError;
|
|
28
29
|
constructor(confirmDialogService: UiActionConfirmDialogService, textFieldDialogService: UiActionInputDialogService, fileUploadDialogService: UiActionFileUploadDialogService, _snackBar: MatSnackBar, viewContext: SmartViewContextService);
|
|
29
30
|
ngOnDestroy(): void;
|
|
31
|
+
setActionErrorHandler(f: (uiActionRequest: UiActionRequest, err: any) => void): void;
|
|
30
32
|
execute(uiAction: UiAction, uiActionModel: UiActionModel, options?: ExecuteUiActionOptions): Promise<void>;
|
|
31
33
|
private handleInputType;
|
|
32
34
|
private handleInputTypeTextField;
|