@smartbit4all/ng-client 4.3.12 → 4.3.13
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/smart-component-layout/api/model/models.mjs +2 -1
- package/esm2022/lib/smart-component-layout/api/model/toolbarDirection.mjs +17 -0
- package/esm2022/lib/smart-component-layout/api/model/toolbarProperties.mjs +1 -12
- package/esm2022/lib/view-context/smart-ui-action/file-editor-toolbar/file-editor-toolbar.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +7 -3
- package/fesm2022/smartbit4all-ng-client.mjs +1017 -1009
- package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
- package/lib/smart-component-layout/api/model/models.d.ts +1 -0
- package/lib/smart-component-layout/api/model/toolbarDirection.d.ts +15 -0
- package/lib/smart-component-layout/api/model/toolbarProperties.d.ts +2 -0
- package/lib/view-context/smart-ui-action/ui-action-toolbar.component.d.ts +1 -0
- package/package.json +1 -1
- package/smartbit4all-ng-client-4.3.13.tgz +0 -0
- package/smartbit4all-ng-client-4.3.12.tgz +0 -0
|
@@ -5848,334 +5848,688 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
5848
5848
|
}]
|
|
5849
5849
|
}], ctorParameters: () => [{ type: SmartViewContextService }] });
|
|
5850
5850
|
|
|
5851
|
-
|
|
5852
|
-
|
|
5853
|
-
|
|
5854
|
-
|
|
5855
|
-
|
|
5856
|
-
|
|
5857
|
-
|
|
5858
|
-
this.text = descriptor.feedbackText;
|
|
5859
|
-
}
|
|
5860
|
-
else {
|
|
5861
|
-
this.text = this.viewContext.commonFeedbackText ?? "A mentés sikeres volt!";
|
|
5862
|
-
}
|
|
5863
|
-
});
|
|
5851
|
+
/**
|
|
5852
|
+
* Custom HttpParameterCodec
|
|
5853
|
+
* Workaround for https://github.com/angular/angular/issues/18261
|
|
5854
|
+
*/
|
|
5855
|
+
let CustomHttpParameterCodec$5 = class CustomHttpParameterCodec {
|
|
5856
|
+
encodeKey(k) {
|
|
5857
|
+
return encodeURIComponent(k);
|
|
5864
5858
|
}
|
|
5865
|
-
|
|
5866
|
-
|
|
5867
|
-
}
|
|
5868
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SuccessSnackBarComponent, decorators: [{
|
|
5869
|
-
type: Component,
|
|
5870
|
-
args: [{ selector: "app-success-snack-bar", template: "<span class=\"successSnakBarContainer\" matSnackBarLabel> {{ text }} </span>\r\n", styles: ["::ng-deep .mat-mdc-snack-bar-container{text-align:center;border-radius:2rem}.successSnakBarContainer{color:#fff}\n"] }]
|
|
5871
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
5872
|
-
type: Inject,
|
|
5873
|
-
args: [MAT_SNACK_BAR_DATA]
|
|
5874
|
-
}] }, { type: SmartViewContextService }, { type: UiActionDescriptorService }] });
|
|
5875
|
-
|
|
5876
|
-
class InvalidFieldsSnackBarComponent {
|
|
5877
|
-
constructor(data) {
|
|
5878
|
-
this.data = data;
|
|
5859
|
+
encodeValue(v) {
|
|
5860
|
+
return encodeURIComponent(v);
|
|
5879
5861
|
}
|
|
5880
|
-
|
|
5881
|
-
|
|
5882
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: InvalidFieldsSnackBarComponent, selector: "app-invalid-fields-snack-bar", ngImport: i0, template: "<div class=\"invalidFieldsSnackBar\">\r\n <!-- <div class=\"invalidFieldsSnackBarContainer\" *ngIf=\"data.message\">\r\n <span class=\"successSnakBarContainer\" matSnackBarLabel>\r\n {{ data.message }}\r\n </span>\r\n </div> -->\r\n <div class=\"invalidFieldsSnackBarContainer\">\r\n <span class=\"invalidFieldsMessage\" matSnackBarLabel> Hi\u00E1nyos vagy hib\u00E1s adatok! </span>\r\n </div>\r\n</div>\r\n", styles: [".invalidFieldsSnackBar ::ng-deep .mat-mdc-snack-bar-container{text-align:center;border-radius:2rem}.invalidFieldsMessage{color:#fff}\n"], dependencies: [{ kind: "directive", type: i1$4.MatSnackBarLabel, selector: "[matSnackBarLabel]" }] }); }
|
|
5883
|
-
}
|
|
5884
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InvalidFieldsSnackBarComponent, decorators: [{
|
|
5885
|
-
type: Component,
|
|
5886
|
-
args: [{ selector: 'app-invalid-fields-snack-bar', template: "<div class=\"invalidFieldsSnackBar\">\r\n <!-- <div class=\"invalidFieldsSnackBarContainer\" *ngIf=\"data.message\">\r\n <span class=\"successSnakBarContainer\" matSnackBarLabel>\r\n {{ data.message }}\r\n </span>\r\n </div> -->\r\n <div class=\"invalidFieldsSnackBarContainer\">\r\n <span class=\"invalidFieldsMessage\" matSnackBarLabel> Hi\u00E1nyos vagy hib\u00E1s adatok! </span>\r\n </div>\r\n</div>\r\n", styles: [".invalidFieldsSnackBar ::ng-deep .mat-mdc-snack-bar-container{text-align:center;border-radius:2rem}.invalidFieldsMessage{color:#fff}\n"] }]
|
|
5887
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
5888
|
-
type: Inject,
|
|
5889
|
-
args: [MAT_SNACK_BAR_DATA]
|
|
5890
|
-
}] }] });
|
|
5891
|
-
|
|
5892
|
-
class UiActionService {
|
|
5893
|
-
constructor(confirmDialogService, textFieldDialogService, fileUploadDialogService, _snackBar) {
|
|
5894
|
-
this.confirmDialogService = confirmDialogService;
|
|
5895
|
-
this.textFieldDialogService = textFieldDialogService;
|
|
5896
|
-
this.fileUploadDialogService = fileUploadDialogService;
|
|
5897
|
-
this._snackBar = _snackBar;
|
|
5898
|
-
this._destroy$ = new Subject();
|
|
5862
|
+
decodeKey(k) {
|
|
5863
|
+
return decodeURIComponent(k);
|
|
5899
5864
|
}
|
|
5900
|
-
|
|
5901
|
-
|
|
5902
|
-
this._destroy$.complete();
|
|
5865
|
+
decodeValue(v) {
|
|
5866
|
+
return decodeURIComponent(v);
|
|
5903
5867
|
}
|
|
5904
|
-
|
|
5905
|
-
|
|
5906
|
-
|
|
5907
|
-
|
|
5908
|
-
|
|
5909
|
-
|
|
5910
|
-
|
|
5911
|
-
|
|
5912
|
-
|
|
5913
|
-
|
|
5914
|
-
|
|
5915
|
-
|
|
5916
|
-
|
|
5917
|
-
|
|
5918
|
-
|
|
5919
|
-
|
|
5920
|
-
|
|
5921
|
-
|
|
5922
|
-
|
|
5923
|
-
|
|
5924
|
-
|
|
5925
|
-
catch (error) {
|
|
5926
|
-
console.error(error);
|
|
5927
|
-
this.uiActionModel.serviceToUse.submit = new SmartSubject(this._destroy$);
|
|
5928
|
-
this.uiActionModel.serviceToUse.reSubscribeToChange.next();
|
|
5929
|
-
return;
|
|
5930
|
-
}
|
|
5931
|
-
}
|
|
5932
|
-
else {
|
|
5933
|
-
this.uiActionModel.serviceToUse.submitForm(validate);
|
|
5934
|
-
let invalidFields = this.uiActionModel.serviceToUse.getInvalidFields();
|
|
5935
|
-
if (validate && invalidFields.invalidFieldKeys.length) {
|
|
5936
|
-
this.showInvalidFieldsSnackbar(invalidFields);
|
|
5937
|
-
return;
|
|
5938
|
-
}
|
|
5939
|
-
}
|
|
5940
|
-
}
|
|
5941
|
-
if (uiAction.confirm) {
|
|
5942
|
-
this.confirmDialogService.action = uiAction;
|
|
5943
|
-
this.confirmDialogService.openDialog();
|
|
5944
|
-
await this.confirmDialogService.onAction.toPromise();
|
|
5945
|
-
if (!this.confirmDialogService.shouldDoAction) {
|
|
5946
|
-
return;
|
|
5947
|
-
}
|
|
5948
|
-
}
|
|
5949
|
-
// InputType
|
|
5950
|
-
if (uiAction.inputType && uiAction.inputType !== UiActionInputType.NONE) {
|
|
5951
|
-
uiActionRequest = await this.handleInputType(uiAction.inputType, uiAction, uiActionRequest, 'inputDialog');
|
|
5952
|
-
if (!uiActionRequest) {
|
|
5953
|
-
return;
|
|
5954
|
-
}
|
|
5955
|
-
await new Promise((resolve) => setTimeout(resolve, 250));
|
|
5868
|
+
};
|
|
5869
|
+
|
|
5870
|
+
const BASE_PATH$5 = new InjectionToken('basePath');
|
|
5871
|
+
const COLLECTION_FORMATS$5 = {
|
|
5872
|
+
'csv': ',',
|
|
5873
|
+
'tsv': ' ',
|
|
5874
|
+
'ssv': ' ',
|
|
5875
|
+
'pipes': '|'
|
|
5876
|
+
};
|
|
5877
|
+
|
|
5878
|
+
let Configuration$5 = class Configuration {
|
|
5879
|
+
constructor(configurationParameters = {}) {
|
|
5880
|
+
this.apiKeys = configurationParameters.apiKeys;
|
|
5881
|
+
this.username = configurationParameters.username;
|
|
5882
|
+
this.password = configurationParameters.password;
|
|
5883
|
+
this.accessToken = configurationParameters.accessToken;
|
|
5884
|
+
this.basePath = configurationParameters.basePath;
|
|
5885
|
+
this.withCredentials = configurationParameters.withCredentials;
|
|
5886
|
+
this.encoder = configurationParameters.encoder;
|
|
5887
|
+
if (configurationParameters.encodeParam) {
|
|
5888
|
+
this.encodeParam = configurationParameters.encodeParam;
|
|
5956
5889
|
}
|
|
5957
|
-
|
|
5958
|
-
|
|
5959
|
-
uiActionRequest = await this.handleInputType(uiAction.input2Type, uiAction, uiActionRequest, 'input2Dialog');
|
|
5960
|
-
if (!uiActionRequest) {
|
|
5961
|
-
return;
|
|
5962
|
-
}
|
|
5890
|
+
else {
|
|
5891
|
+
this.encodeParam = param => this.defaultEncodeParam(param);
|
|
5963
5892
|
}
|
|
5964
|
-
if (
|
|
5965
|
-
|
|
5966
|
-
if (!response.shouldPerformAction || !response.uiActionRequest) {
|
|
5967
|
-
return;
|
|
5968
|
-
}
|
|
5969
|
-
uiActionRequest = response.uiActionRequest;
|
|
5893
|
+
if (configurationParameters.credentials) {
|
|
5894
|
+
this.credentials = configurationParameters.credentials;
|
|
5970
5895
|
}
|
|
5971
|
-
|
|
5972
|
-
|
|
5973
|
-
async handleInputType(inputType, uiAction, uiActionRequest, inputTypeName) {
|
|
5974
|
-
switch (inputType) {
|
|
5975
|
-
case UiActionInputType.NONE:
|
|
5976
|
-
return uiActionRequest;
|
|
5977
|
-
case UiActionInputType.TEXTAREA:
|
|
5978
|
-
case UiActionInputType.TEXTFIELD:
|
|
5979
|
-
return await this.handleInputTypeTextField(inputTypeName, uiAction, uiActionRequest);
|
|
5980
|
-
case UiActionInputType.USER_SELECT:
|
|
5981
|
-
return await this.handleInputTypeUserSelect(inputTypeName, uiAction, uiActionRequest);
|
|
5982
|
-
case UiActionInputType.FILE:
|
|
5983
|
-
return await this.handleInputTypeUpload(inputTypeName, uiAction, uiActionRequest, false);
|
|
5984
|
-
case UiActionInputType.MULTIPLE_FILES:
|
|
5985
|
-
return await this.handleInputTypeUpload(inputTypeName, uiAction, uiActionRequest, true);
|
|
5986
|
-
default:
|
|
5987
|
-
return uiActionRequest;
|
|
5896
|
+
else {
|
|
5897
|
+
this.credentials = {};
|
|
5988
5898
|
}
|
|
5989
5899
|
}
|
|
5990
|
-
|
|
5991
|
-
|
|
5992
|
-
|
|
5993
|
-
|
|
5994
|
-
|
|
5995
|
-
|
|
5996
|
-
|
|
5997
|
-
|
|
5900
|
+
/**
|
|
5901
|
+
* Select the correct content-type to use for a request.
|
|
5902
|
+
* Uses {@link Configuration#isJsonMime} to determine the correct content-type.
|
|
5903
|
+
* If no content type is found return the first found type if the contentTypes is not empty
|
|
5904
|
+
* @param contentTypes - the array of content types that are available for selection
|
|
5905
|
+
* @returns the selected content-type or <code>undefined</code> if no selection could be made.
|
|
5906
|
+
*/
|
|
5907
|
+
selectHeaderContentType(contentTypes) {
|
|
5908
|
+
if (contentTypes.length === 0) {
|
|
5909
|
+
return undefined;
|
|
5998
5910
|
}
|
|
5999
|
-
|
|
6000
|
-
|
|
6001
|
-
|
|
6002
|
-
await this.textFieldDialogService.onAction.toPromise();
|
|
6003
|
-
let params = this.textFieldDialogService.params;
|
|
6004
|
-
if (!params) {
|
|
6005
|
-
console.error('There was no response from InputDialog');
|
|
6006
|
-
return;
|
|
5911
|
+
const type = contentTypes.find((x) => this.isJsonMime(x));
|
|
5912
|
+
if (type === undefined) {
|
|
5913
|
+
return contentTypes[0];
|
|
6007
5914
|
}
|
|
6008
|
-
|
|
6009
|
-
...uiActionRequest.params,
|
|
6010
|
-
...params,
|
|
6011
|
-
};
|
|
6012
|
-
return uiActionRequest;
|
|
5915
|
+
return type;
|
|
6013
5916
|
}
|
|
6014
|
-
|
|
6015
|
-
|
|
6016
|
-
|
|
6017
|
-
|
|
6018
|
-
|
|
6019
|
-
|
|
6020
|
-
|
|
6021
|
-
|
|
6022
|
-
if (
|
|
6023
|
-
return;
|
|
5917
|
+
/**
|
|
5918
|
+
* Select the correct accept content-type to use for a request.
|
|
5919
|
+
* Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.
|
|
5920
|
+
* If no content type is found return the first found type if the contentTypes is not empty
|
|
5921
|
+
* @param accepts - the array of content types that are available for selection.
|
|
5922
|
+
* @returns the selected content-type or <code>undefined</code> if no selection could be made.
|
|
5923
|
+
*/
|
|
5924
|
+
selectHeaderAccept(accepts) {
|
|
5925
|
+
if (accepts.length === 0) {
|
|
5926
|
+
return undefined;
|
|
6024
5927
|
}
|
|
6025
|
-
|
|
6026
|
-
|
|
6027
|
-
|
|
6028
|
-
_uploadDescriptor: uploadDescriptor,
|
|
6029
|
-
isMultiple,
|
|
6030
|
-
param: uiAction.inputType === 'file' || uiAction.inputType === 'multiple_files'
|
|
6031
|
-
? 'input'
|
|
6032
|
-
: 'input2',
|
|
6033
|
-
};
|
|
6034
|
-
return uiActionRequest;
|
|
6035
|
-
}
|
|
6036
|
-
async handleInputTypeUserSelect(inputTypeName, uiAction, uiActionRequest) {
|
|
6037
|
-
let response = await this.uiActionModel.serviceToUse.handleSpecificDemandsAsynchronously(uiAction, uiActionRequest);
|
|
6038
|
-
if (!response.shouldPerformAction || !response.uiActionRequest) {
|
|
6039
|
-
return;
|
|
5928
|
+
const type = accepts.find((x) => this.isJsonMime(x));
|
|
5929
|
+
if (type === undefined) {
|
|
5930
|
+
return accepts[0];
|
|
6040
5931
|
}
|
|
6041
|
-
|
|
6042
|
-
return uiActionRequest;
|
|
5932
|
+
return type;
|
|
6043
5933
|
}
|
|
6044
|
-
|
|
6045
|
-
|
|
6046
|
-
|
|
6047
|
-
|
|
6048
|
-
|
|
6049
|
-
|
|
6050
|
-
|
|
6051
|
-
|
|
6052
|
-
|
|
6053
|
-
|
|
6054
|
-
|
|
6055
|
-
|
|
6056
|
-
|
|
6057
|
-
|
|
5934
|
+
/**
|
|
5935
|
+
* Check if the given MIME is a JSON MIME.
|
|
5936
|
+
* JSON MIME examples:
|
|
5937
|
+
* application/json
|
|
5938
|
+
* application/json; charset=UTF8
|
|
5939
|
+
* APPLICATION/JSON
|
|
5940
|
+
* application/vnd.company+json
|
|
5941
|
+
* @param mime - MIME (Multipurpose Internet Mail Extensions)
|
|
5942
|
+
* @return True if the given MIME is JSON, false otherwise.
|
|
5943
|
+
*/
|
|
5944
|
+
isJsonMime(mime) {
|
|
5945
|
+
const jsonMime = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i');
|
|
5946
|
+
return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');
|
|
5947
|
+
}
|
|
5948
|
+
lookupCredential(key) {
|
|
5949
|
+
const value = this.credentials[key];
|
|
5950
|
+
return typeof value === 'function'
|
|
5951
|
+
? value()
|
|
5952
|
+
: value;
|
|
5953
|
+
}
|
|
5954
|
+
defaultEncodeParam(param) {
|
|
5955
|
+
// This implementation exists as fallback for missing configuration
|
|
5956
|
+
// and for backwards compatibility to older typescript-angular generator versions.
|
|
5957
|
+
// It only works for the 'simple' parameter style.
|
|
5958
|
+
// Date-handling only works for the 'date-time' format.
|
|
5959
|
+
// All other styles and Date-formats are probably handled incorrectly.
|
|
5960
|
+
//
|
|
5961
|
+
// But: if that's all you need (i.e.: the most common use-case): no need for customization!
|
|
5962
|
+
const value = param.dataFormat === 'date-time' && param.value instanceof Date
|
|
5963
|
+
? param.value.toISOString()
|
|
5964
|
+
: param.value;
|
|
5965
|
+
return encodeURIComponent(String(value));
|
|
5966
|
+
}
|
|
5967
|
+
};
|
|
5968
|
+
|
|
5969
|
+
/**
|
|
5970
|
+
* Form layout definition
|
|
5971
|
+
* Contains form layout definition objects.
|
|
5972
|
+
*
|
|
5973
|
+
* The version of the OpenAPI document: 1.0.0
|
|
5974
|
+
* Contact: info@it4all.hu
|
|
5975
|
+
*
|
|
5976
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
5977
|
+
* https://openapi-generator.tech
|
|
5978
|
+
* Do not edit the class manually.
|
|
5979
|
+
*/
|
|
5980
|
+
/* tslint:disable:no-unused-variable member-ordering */
|
|
5981
|
+
class DefaultService {
|
|
5982
|
+
constructor(httpClient, basePath, configuration) {
|
|
5983
|
+
this.httpClient = httpClient;
|
|
5984
|
+
this.basePath = 'http://localhost';
|
|
5985
|
+
this.defaultHeaders = new HttpHeaders();
|
|
5986
|
+
this.configuration = new Configuration$5();
|
|
5987
|
+
if (configuration) {
|
|
5988
|
+
this.configuration = configuration;
|
|
5989
|
+
}
|
|
5990
|
+
if (typeof this.configuration.basePath !== 'string') {
|
|
5991
|
+
if (Array.isArray(basePath) && basePath.length > 0) {
|
|
5992
|
+
basePath = basePath[0];
|
|
5993
|
+
}
|
|
5994
|
+
if (typeof basePath !== 'string') {
|
|
5995
|
+
basePath = this.basePath;
|
|
6058
5996
|
}
|
|
5997
|
+
this.configuration.basePath = basePath;
|
|
6059
5998
|
}
|
|
6060
|
-
|
|
6061
|
-
|
|
5999
|
+
this.encoder = this.configuration.encoder || new CustomHttpParameterCodec$5();
|
|
6000
|
+
}
|
|
6001
|
+
// @ts-ignore
|
|
6002
|
+
addToHttpParams(httpParams, value, key) {
|
|
6003
|
+
if (typeof value === "object" && value instanceof Date === false) {
|
|
6004
|
+
httpParams = this.addToHttpParamsRecursive(httpParams, value);
|
|
6005
|
+
}
|
|
6006
|
+
else {
|
|
6007
|
+
httpParams = this.addToHttpParamsRecursive(httpParams, value, key);
|
|
6062
6008
|
}
|
|
6009
|
+
return httpParams;
|
|
6063
6010
|
}
|
|
6064
|
-
|
|
6065
|
-
|
|
6066
|
-
|
|
6067
|
-
|
|
6068
|
-
|
|
6069
|
-
|
|
6011
|
+
addToHttpParamsRecursive(httpParams, value, key) {
|
|
6012
|
+
if (value == null) {
|
|
6013
|
+
return httpParams;
|
|
6014
|
+
}
|
|
6015
|
+
if (typeof value === "object") {
|
|
6016
|
+
if (Array.isArray(value)) {
|
|
6017
|
+
value.forEach(elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));
|
|
6018
|
+
}
|
|
6019
|
+
else if (value instanceof Date) {
|
|
6020
|
+
if (key != null) {
|
|
6021
|
+
httpParams = httpParams.append(key, value.toISOString().substr(0, 10));
|
|
6022
|
+
}
|
|
6023
|
+
else {
|
|
6024
|
+
throw Error("key may not be null if value is Date");
|
|
6025
|
+
}
|
|
6026
|
+
}
|
|
6027
|
+
else {
|
|
6028
|
+
Object.keys(value).forEach(k => httpParams = this.addToHttpParamsRecursive(httpParams, value[k], key != null ? `${key}.${k}` : k));
|
|
6029
|
+
}
|
|
6030
|
+
}
|
|
6031
|
+
else if (key != null) {
|
|
6032
|
+
httpParams = httpParams.append(key, value);
|
|
6033
|
+
}
|
|
6034
|
+
else {
|
|
6035
|
+
throw Error("key may not be null if value is not object or array");
|
|
6036
|
+
}
|
|
6037
|
+
return httpParams;
|
|
6070
6038
|
}
|
|
6071
|
-
|
|
6072
|
-
this.
|
|
6073
|
-
|
|
6074
|
-
|
|
6075
|
-
|
|
6039
|
+
nopePost(observe = 'body', reportProgress = false, options) {
|
|
6040
|
+
let localVarHeaders = this.defaultHeaders;
|
|
6041
|
+
let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
|
|
6042
|
+
if (localVarHttpHeaderAcceptSelected === undefined) {
|
|
6043
|
+
// to determine the Accept header
|
|
6044
|
+
const httpHeaderAccepts = [];
|
|
6045
|
+
localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
|
|
6046
|
+
}
|
|
6047
|
+
if (localVarHttpHeaderAcceptSelected !== undefined) {
|
|
6048
|
+
localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
|
|
6049
|
+
}
|
|
6050
|
+
let localVarHttpContext = options && options.context;
|
|
6051
|
+
if (localVarHttpContext === undefined) {
|
|
6052
|
+
localVarHttpContext = new HttpContext();
|
|
6053
|
+
}
|
|
6054
|
+
let responseType_ = 'json';
|
|
6055
|
+
if (localVarHttpHeaderAcceptSelected) {
|
|
6056
|
+
if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
|
|
6057
|
+
responseType_ = 'text';
|
|
6058
|
+
}
|
|
6059
|
+
else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
|
|
6060
|
+
responseType_ = 'json';
|
|
6061
|
+
}
|
|
6062
|
+
else {
|
|
6063
|
+
responseType_ = 'blob';
|
|
6064
|
+
}
|
|
6065
|
+
}
|
|
6066
|
+
let localVarPath = `/nope`;
|
|
6067
|
+
return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`, {
|
|
6068
|
+
context: localVarHttpContext,
|
|
6069
|
+
responseType: responseType_,
|
|
6070
|
+
withCredentials: this.configuration.withCredentials,
|
|
6071
|
+
headers: localVarHeaders,
|
|
6072
|
+
observe: observe,
|
|
6073
|
+
reportProgress: reportProgress
|
|
6076
6074
|
});
|
|
6077
6075
|
}
|
|
6078
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type:
|
|
6079
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type:
|
|
6076
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DefaultService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH$5, optional: true }, { token: Configuration$5, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6077
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DefaultService, providedIn: 'root' }); }
|
|
6080
6078
|
}
|
|
6081
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type:
|
|
6079
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DefaultService, decorators: [{
|
|
6082
6080
|
type: Injectable,
|
|
6083
6081
|
args: [{
|
|
6084
|
-
providedIn: 'root'
|
|
6082
|
+
providedIn: 'root'
|
|
6085
6083
|
}]
|
|
6086
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
6087
|
-
type:
|
|
6088
|
-
|
|
6089
|
-
}] }, { type: undefined, decorators: [{
|
|
6090
|
-
type: Inject,
|
|
6091
|
-
args: ['textFieldDialogService']
|
|
6092
|
-
}] }, { type: undefined, decorators: [{
|
|
6084
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
6085
|
+
type: Optional
|
|
6086
|
+
}, {
|
|
6093
6087
|
type: Inject,
|
|
6094
|
-
args: [
|
|
6095
|
-
}] }, { type:
|
|
6088
|
+
args: [BASE_PATH$5]
|
|
6089
|
+
}] }, { type: Configuration$5, decorators: [{
|
|
6090
|
+
type: Optional
|
|
6091
|
+
}] }] });
|
|
6096
6092
|
|
|
6097
|
-
const
|
|
6098
|
-
// Top-left of trigger → aligns top-left of overlay
|
|
6099
|
-
// {
|
|
6100
|
-
// originX: 'start',
|
|
6101
|
-
// originY: 'top',
|
|
6102
|
-
// overlayX: 'start',
|
|
6103
|
-
// overlayY: 'top',
|
|
6104
|
-
// },
|
|
6105
|
-
// // Bottom-left of trigger → aligns bottom-left of overlay
|
|
6106
|
-
// {
|
|
6107
|
-
// originX: 'start',
|
|
6108
|
-
// originY: 'bottom',
|
|
6109
|
-
// overlayX: 'start',
|
|
6110
|
-
// overlayY: 'bottom',
|
|
6111
|
-
// },
|
|
6112
|
-
// // Top-right of trigger → aligns top-right of overlay
|
|
6113
|
-
// {
|
|
6114
|
-
// originX: 'end',
|
|
6115
|
-
// originY: 'top',
|
|
6116
|
-
// overlayX: 'end',
|
|
6117
|
-
// overlayY: 'top',
|
|
6118
|
-
// },
|
|
6119
|
-
// // Bottom-right of trigger → aligns bottom-right of overlay
|
|
6120
|
-
// {
|
|
6121
|
-
// originX: 'end',
|
|
6122
|
-
// originY: 'bottom',
|
|
6123
|
-
// overlayX: 'end',
|
|
6124
|
-
// overlayY: 'bottom',
|
|
6125
|
-
// },
|
|
6126
|
-
{
|
|
6127
|
-
originX: 'end',
|
|
6128
|
-
originY: 'top',
|
|
6129
|
-
overlayX: 'start',
|
|
6130
|
-
overlayY: 'top',
|
|
6131
|
-
},
|
|
6132
|
-
{
|
|
6133
|
-
originX: 'start',
|
|
6134
|
-
originY: 'top',
|
|
6135
|
-
overlayX: 'end',
|
|
6136
|
-
overlayY: 'top',
|
|
6137
|
-
},
|
|
6138
|
-
];
|
|
6139
|
-
const ROOT_MENU_POSITIONS = [
|
|
6140
|
-
// Below-right of trigger
|
|
6141
|
-
{
|
|
6142
|
-
originX: 'end',
|
|
6143
|
-
originY: 'bottom',
|
|
6144
|
-
overlayX: 'end',
|
|
6145
|
-
overlayY: 'top',
|
|
6146
|
-
}, // Below-left of trigger
|
|
6147
|
-
{
|
|
6148
|
-
originX: 'start',
|
|
6149
|
-
originY: 'bottom',
|
|
6150
|
-
overlayX: 'start',
|
|
6151
|
-
overlayY: 'top',
|
|
6152
|
-
},
|
|
6153
|
-
// Above-left of trigger
|
|
6154
|
-
{
|
|
6155
|
-
originX: 'start',
|
|
6156
|
-
originY: 'top',
|
|
6157
|
-
overlayX: 'start',
|
|
6158
|
-
overlayY: 'bottom',
|
|
6159
|
-
},
|
|
6160
|
-
// Above-right of trigger
|
|
6161
|
-
{
|
|
6162
|
-
originX: 'end',
|
|
6163
|
-
originY: 'top',
|
|
6164
|
-
overlayX: 'end',
|
|
6165
|
-
overlayY: 'bottom',
|
|
6166
|
-
},
|
|
6167
|
-
];
|
|
6093
|
+
const APIS$3 = [DefaultService];
|
|
6168
6094
|
|
|
6169
|
-
|
|
6170
|
-
|
|
6171
|
-
|
|
6172
|
-
|
|
6173
|
-
|
|
6174
|
-
|
|
6175
|
-
|
|
6176
|
-
|
|
6177
|
-
|
|
6178
|
-
|
|
6095
|
+
/**
|
|
6096
|
+
* Form layout definition
|
|
6097
|
+
* Contains form layout definition objects.
|
|
6098
|
+
*
|
|
6099
|
+
* The version of the OpenAPI document: 1.0.0
|
|
6100
|
+
* Contact: info@it4all.hu
|
|
6101
|
+
*
|
|
6102
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
6103
|
+
* https://openapi-generator.tech
|
|
6104
|
+
* Do not edit the class manually.
|
|
6105
|
+
*/
|
|
6106
|
+
var ComponentType;
|
|
6107
|
+
(function (ComponentType) {
|
|
6108
|
+
ComponentType["CONTAINER"] = "container";
|
|
6109
|
+
ComponentType["FORM"] = "form";
|
|
6110
|
+
ComponentType["WIDGET"] = "widget";
|
|
6111
|
+
})(ComponentType || (ComponentType = {}));
|
|
6112
|
+
|
|
6113
|
+
/**
|
|
6114
|
+
* Form layout definition
|
|
6115
|
+
* Contains form layout definition objects.
|
|
6116
|
+
*
|
|
6117
|
+
* The version of the OpenAPI document: 1.0.0
|
|
6118
|
+
* Contact: info@it4all.hu
|
|
6119
|
+
*
|
|
6120
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
6121
|
+
* https://openapi-generator.tech
|
|
6122
|
+
* Do not edit the class manually.
|
|
6123
|
+
*/
|
|
6124
|
+
var ComponentWidgetType;
|
|
6125
|
+
(function (ComponentWidgetType) {
|
|
6126
|
+
ComponentWidgetType["GRID"] = "grid";
|
|
6127
|
+
ComponentWidgetType["FILTER"] = "filter";
|
|
6128
|
+
ComponentWidgetType["TREE"] = "tree";
|
|
6129
|
+
ComponentWidgetType["TOOLBAR"] = "toolbar";
|
|
6130
|
+
ComponentWidgetType["MAP"] = "map";
|
|
6131
|
+
ComponentWidgetType["DIAGRAM"] = "diagram";
|
|
6132
|
+
ComponentWidgetType["EMBEDDED_SLOT"] = "embedded_slot";
|
|
6133
|
+
})(ComponentWidgetType || (ComponentWidgetType = {}));
|
|
6134
|
+
|
|
6135
|
+
/**
|
|
6136
|
+
* Form layout definition
|
|
6137
|
+
* Contains form layout definition objects.
|
|
6138
|
+
*
|
|
6139
|
+
* The version of the OpenAPI document: 1.0.0
|
|
6140
|
+
* Contact: info@it4all.hu
|
|
6141
|
+
*
|
|
6142
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
6143
|
+
* https://openapi-generator.tech
|
|
6144
|
+
* Do not edit the class manually.
|
|
6145
|
+
*/
|
|
6146
|
+
var LayoutDirection;
|
|
6147
|
+
(function (LayoutDirection) {
|
|
6148
|
+
LayoutDirection["HORIZONTAL"] = "horizontal";
|
|
6149
|
+
LayoutDirection["VERTICAL"] = "vertical";
|
|
6150
|
+
})(LayoutDirection || (LayoutDirection = {}));
|
|
6151
|
+
|
|
6152
|
+
/**
|
|
6153
|
+
* Form layout definition
|
|
6154
|
+
* Contains form layout definition objects.
|
|
6155
|
+
*
|
|
6156
|
+
* The version of the OpenAPI document: 1.0.0
|
|
6157
|
+
* Contact: info@it4all.hu
|
|
6158
|
+
*
|
|
6159
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
6160
|
+
* https://openapi-generator.tech
|
|
6161
|
+
* Do not edit the class manually.
|
|
6162
|
+
*/
|
|
6163
|
+
var ToolbarDirection;
|
|
6164
|
+
(function (ToolbarDirection) {
|
|
6165
|
+
ToolbarDirection["HORIZONTAL"] = "HORIZONTAL";
|
|
6166
|
+
ToolbarDirection["VERTICAL"] = "VERTICAL";
|
|
6167
|
+
})(ToolbarDirection || (ToolbarDirection = {}));
|
|
6168
|
+
|
|
6169
|
+
let ApiModule$3 = class ApiModule {
|
|
6170
|
+
static forRoot(configurationFactory) {
|
|
6171
|
+
return {
|
|
6172
|
+
ngModule: ApiModule,
|
|
6173
|
+
providers: [{ provide: Configuration$5, useFactory: configurationFactory }]
|
|
6174
|
+
};
|
|
6175
|
+
}
|
|
6176
|
+
constructor(parentModule, http) {
|
|
6177
|
+
if (parentModule) {
|
|
6178
|
+
throw new Error('ApiModule is already loaded. Import in your base AppModule only.');
|
|
6179
|
+
}
|
|
6180
|
+
if (!http) {
|
|
6181
|
+
throw new Error('You need to import the HttpClientModule in your AppModule! \n' +
|
|
6182
|
+
'See also https://github.com/angular/angular/issues/20575');
|
|
6183
|
+
}
|
|
6184
|
+
}
|
|
6185
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ApiModule, deps: [{ token: ApiModule, optional: true, skipSelf: true }, { token: i1.HttpClient, optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6186
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: ApiModule }); }
|
|
6187
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ApiModule }); }
|
|
6188
|
+
};
|
|
6189
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ApiModule$3, decorators: [{
|
|
6190
|
+
type: NgModule,
|
|
6191
|
+
args: [{
|
|
6192
|
+
imports: [],
|
|
6193
|
+
declarations: [],
|
|
6194
|
+
exports: [],
|
|
6195
|
+
providers: []
|
|
6196
|
+
}]
|
|
6197
|
+
}], ctorParameters: () => [{ type: ApiModule$3, decorators: [{
|
|
6198
|
+
type: Optional
|
|
6199
|
+
}, {
|
|
6200
|
+
type: SkipSelf
|
|
6201
|
+
}] }, { type: i1.HttpClient, decorators: [{
|
|
6202
|
+
type: Optional
|
|
6203
|
+
}] }] });
|
|
6204
|
+
|
|
6205
|
+
class SuccessSnackBarComponent {
|
|
6206
|
+
constructor(data, viewContext, manager) {
|
|
6207
|
+
this.data = data;
|
|
6208
|
+
this.viewContext = viewContext;
|
|
6209
|
+
this.manager = manager;
|
|
6210
|
+
this.manager.getActionDescriptor(data).then((descriptor) => {
|
|
6211
|
+
if (descriptor.feedbackText) {
|
|
6212
|
+
this.text = descriptor.feedbackText;
|
|
6213
|
+
}
|
|
6214
|
+
else {
|
|
6215
|
+
this.text = this.viewContext.commonFeedbackText ?? "A mentés sikeres volt!";
|
|
6216
|
+
}
|
|
6217
|
+
});
|
|
6218
|
+
}
|
|
6219
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SuccessSnackBarComponent, deps: [{ token: MAT_SNACK_BAR_DATA }, { token: SmartViewContextService }, { token: UiActionDescriptorService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6220
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SuccessSnackBarComponent, selector: "app-success-snack-bar", ngImport: i0, template: "<span class=\"successSnakBarContainer\" matSnackBarLabel> {{ text }} </span>\r\n", styles: ["::ng-deep .mat-mdc-snack-bar-container{text-align:center;border-radius:2rem}.successSnakBarContainer{color:#fff}\n"] }); }
|
|
6221
|
+
}
|
|
6222
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SuccessSnackBarComponent, decorators: [{
|
|
6223
|
+
type: Component,
|
|
6224
|
+
args: [{ selector: "app-success-snack-bar", template: "<span class=\"successSnakBarContainer\" matSnackBarLabel> {{ text }} </span>\r\n", styles: ["::ng-deep .mat-mdc-snack-bar-container{text-align:center;border-radius:2rem}.successSnakBarContainer{color:#fff}\n"] }]
|
|
6225
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
6226
|
+
type: Inject,
|
|
6227
|
+
args: [MAT_SNACK_BAR_DATA]
|
|
6228
|
+
}] }, { type: SmartViewContextService }, { type: UiActionDescriptorService }] });
|
|
6229
|
+
|
|
6230
|
+
class InvalidFieldsSnackBarComponent {
|
|
6231
|
+
constructor(data) {
|
|
6232
|
+
this.data = data;
|
|
6233
|
+
}
|
|
6234
|
+
ngOnInit() { }
|
|
6235
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InvalidFieldsSnackBarComponent, deps: [{ token: MAT_SNACK_BAR_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6236
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: InvalidFieldsSnackBarComponent, selector: "app-invalid-fields-snack-bar", ngImport: i0, template: "<div class=\"invalidFieldsSnackBar\">\r\n <!-- <div class=\"invalidFieldsSnackBarContainer\" *ngIf=\"data.message\">\r\n <span class=\"successSnakBarContainer\" matSnackBarLabel>\r\n {{ data.message }}\r\n </span>\r\n </div> -->\r\n <div class=\"invalidFieldsSnackBarContainer\">\r\n <span class=\"invalidFieldsMessage\" matSnackBarLabel> Hi\u00E1nyos vagy hib\u00E1s adatok! </span>\r\n </div>\r\n</div>\r\n", styles: [".invalidFieldsSnackBar ::ng-deep .mat-mdc-snack-bar-container{text-align:center;border-radius:2rem}.invalidFieldsMessage{color:#fff}\n"], dependencies: [{ kind: "directive", type: i1$4.MatSnackBarLabel, selector: "[matSnackBarLabel]" }] }); }
|
|
6237
|
+
}
|
|
6238
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InvalidFieldsSnackBarComponent, decorators: [{
|
|
6239
|
+
type: Component,
|
|
6240
|
+
args: [{ selector: 'app-invalid-fields-snack-bar', template: "<div class=\"invalidFieldsSnackBar\">\r\n <!-- <div class=\"invalidFieldsSnackBarContainer\" *ngIf=\"data.message\">\r\n <span class=\"successSnakBarContainer\" matSnackBarLabel>\r\n {{ data.message }}\r\n </span>\r\n </div> -->\r\n <div class=\"invalidFieldsSnackBarContainer\">\r\n <span class=\"invalidFieldsMessage\" matSnackBarLabel> Hi\u00E1nyos vagy hib\u00E1s adatok! </span>\r\n </div>\r\n</div>\r\n", styles: [".invalidFieldsSnackBar ::ng-deep .mat-mdc-snack-bar-container{text-align:center;border-radius:2rem}.invalidFieldsMessage{color:#fff}\n"] }]
|
|
6241
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
6242
|
+
type: Inject,
|
|
6243
|
+
args: [MAT_SNACK_BAR_DATA]
|
|
6244
|
+
}] }] });
|
|
6245
|
+
|
|
6246
|
+
class UiActionService {
|
|
6247
|
+
constructor(confirmDialogService, textFieldDialogService, fileUploadDialogService, _snackBar) {
|
|
6248
|
+
this.confirmDialogService = confirmDialogService;
|
|
6249
|
+
this.textFieldDialogService = textFieldDialogService;
|
|
6250
|
+
this.fileUploadDialogService = fileUploadDialogService;
|
|
6251
|
+
this._snackBar = _snackBar;
|
|
6252
|
+
this._destroy$ = new Subject();
|
|
6253
|
+
}
|
|
6254
|
+
ngOnDestroy() {
|
|
6255
|
+
this._destroy$.next();
|
|
6256
|
+
this._destroy$.complete();
|
|
6257
|
+
}
|
|
6258
|
+
async execute(uiAction, options) {
|
|
6259
|
+
let uiActionRequest;
|
|
6260
|
+
uiActionRequest = {
|
|
6261
|
+
code: uiAction.code,
|
|
6262
|
+
path: uiAction.path,
|
|
6263
|
+
identifier: uiAction.identifier,
|
|
6264
|
+
params: uiAction.params ?? {},
|
|
6265
|
+
};
|
|
6266
|
+
if (uiAction.submit || uiAction.model) {
|
|
6267
|
+
// submit: with validation, model: without validation. both can be undefined
|
|
6268
|
+
const validate = uiAction.submit || !uiAction.model;
|
|
6269
|
+
if ('reSubscribeToChange' in this.uiActionModel.serviceToUse) {
|
|
6270
|
+
if (!validate) {
|
|
6271
|
+
console.error(`Validate = false, but UseUiAction doesn't support it`);
|
|
6272
|
+
}
|
|
6273
|
+
this.uiActionModel.serviceToUse.submit.next();
|
|
6274
|
+
try {
|
|
6275
|
+
await this.uiActionModel.serviceToUse.submit.toPromise();
|
|
6276
|
+
this.uiActionModel.serviceToUse.submit = new SmartSubject(this._destroy$);
|
|
6277
|
+
this.uiActionModel.serviceToUse.reSubscribeToChange.next();
|
|
6278
|
+
}
|
|
6279
|
+
catch (error) {
|
|
6280
|
+
console.error(error);
|
|
6281
|
+
this.uiActionModel.serviceToUse.submit = new SmartSubject(this._destroy$);
|
|
6282
|
+
this.uiActionModel.serviceToUse.reSubscribeToChange.next();
|
|
6283
|
+
return;
|
|
6284
|
+
}
|
|
6285
|
+
}
|
|
6286
|
+
else {
|
|
6287
|
+
this.uiActionModel.serviceToUse.submitForm(validate);
|
|
6288
|
+
let invalidFields = this.uiActionModel.serviceToUse.getInvalidFields();
|
|
6289
|
+
if (validate && invalidFields.invalidFieldKeys.length) {
|
|
6290
|
+
this.showInvalidFieldsSnackbar(invalidFields);
|
|
6291
|
+
return;
|
|
6292
|
+
}
|
|
6293
|
+
}
|
|
6294
|
+
}
|
|
6295
|
+
if (uiAction.confirm) {
|
|
6296
|
+
this.confirmDialogService.action = uiAction;
|
|
6297
|
+
this.confirmDialogService.openDialog();
|
|
6298
|
+
await this.confirmDialogService.onAction.toPromise();
|
|
6299
|
+
if (!this.confirmDialogService.shouldDoAction) {
|
|
6300
|
+
return;
|
|
6301
|
+
}
|
|
6302
|
+
}
|
|
6303
|
+
// InputType
|
|
6304
|
+
if (uiAction.inputType && uiAction.inputType !== UiActionInputType.NONE) {
|
|
6305
|
+
uiActionRequest = await this.handleInputType(uiAction.inputType, uiAction, uiActionRequest, 'inputDialog');
|
|
6306
|
+
if (!uiActionRequest) {
|
|
6307
|
+
return;
|
|
6308
|
+
}
|
|
6309
|
+
await new Promise((resolve) => setTimeout(resolve, 250));
|
|
6310
|
+
}
|
|
6311
|
+
// Input2Type
|
|
6312
|
+
if (uiAction.input2Type && uiAction.input2Type !== UiActionInputType.NONE) {
|
|
6313
|
+
uiActionRequest = await this.handleInputType(uiAction.input2Type, uiAction, uiActionRequest, 'input2Dialog');
|
|
6314
|
+
if (!uiActionRequest) {
|
|
6315
|
+
return;
|
|
6316
|
+
}
|
|
6317
|
+
}
|
|
6318
|
+
if (this.uiActionModel.exception) {
|
|
6319
|
+
let response = await this.uiActionModel.serviceToUse.handleSpecificDemandsAsynchronously(uiAction, uiActionRequest);
|
|
6320
|
+
if (!response.shouldPerformAction || !response.uiActionRequest) {
|
|
6321
|
+
return;
|
|
6322
|
+
}
|
|
6323
|
+
uiActionRequest = response.uiActionRequest;
|
|
6324
|
+
}
|
|
6325
|
+
await this.performAction(uiAction, uiActionRequest, options);
|
|
6326
|
+
}
|
|
6327
|
+
async handleInputType(inputType, uiAction, uiActionRequest, inputTypeName) {
|
|
6328
|
+
switch (inputType) {
|
|
6329
|
+
case UiActionInputType.NONE:
|
|
6330
|
+
return uiActionRequest;
|
|
6331
|
+
case UiActionInputType.TEXTAREA:
|
|
6332
|
+
case UiActionInputType.TEXTFIELD:
|
|
6333
|
+
return await this.handleInputTypeTextField(inputTypeName, uiAction, uiActionRequest);
|
|
6334
|
+
case UiActionInputType.USER_SELECT:
|
|
6335
|
+
return await this.handleInputTypeUserSelect(inputTypeName, uiAction, uiActionRequest);
|
|
6336
|
+
case UiActionInputType.FILE:
|
|
6337
|
+
return await this.handleInputTypeUpload(inputTypeName, uiAction, uiActionRequest, false);
|
|
6338
|
+
case UiActionInputType.MULTIPLE_FILES:
|
|
6339
|
+
return await this.handleInputTypeUpload(inputTypeName, uiAction, uiActionRequest, true);
|
|
6340
|
+
default:
|
|
6341
|
+
return uiActionRequest;
|
|
6342
|
+
}
|
|
6343
|
+
}
|
|
6344
|
+
async handleInputTypeTextField(inputTypeName, uiAction, uiActionRequest) {
|
|
6345
|
+
let additionalParams = this.uiActionModel.serviceToUse.getAdditionalParams(uiAction);
|
|
6346
|
+
let inputType = inputTypeName === 'inputDialog' ? 'inputType' : 'input2Type';
|
|
6347
|
+
if (uiAction[inputType] === UiActionInputType.TEXTFIELD) {
|
|
6348
|
+
this.textFieldDialogService.nodeName = additionalParams.forTextField;
|
|
6349
|
+
}
|
|
6350
|
+
else if (uiAction[inputType] === UiActionInputType.TEXTAREA) {
|
|
6351
|
+
this.textFieldDialogService.nodeName = additionalParams.forTextArea;
|
|
6352
|
+
}
|
|
6353
|
+
this.textFieldDialogService.inputTypeName = inputTypeName;
|
|
6354
|
+
this.textFieldDialogService.action = uiAction;
|
|
6355
|
+
this.textFieldDialogService.openDialog();
|
|
6356
|
+
await this.textFieldDialogService.onAction.toPromise();
|
|
6357
|
+
let params = this.textFieldDialogService.params;
|
|
6358
|
+
if (!params) {
|
|
6359
|
+
console.error('There was no response from InputDialog');
|
|
6360
|
+
return;
|
|
6361
|
+
}
|
|
6362
|
+
uiActionRequest.params = {
|
|
6363
|
+
...uiActionRequest.params,
|
|
6364
|
+
...params,
|
|
6365
|
+
};
|
|
6366
|
+
return uiActionRequest;
|
|
6367
|
+
}
|
|
6368
|
+
async handleInputTypeUpload(inputTypeName, uiAction, uiActionRequest, isMultiple) {
|
|
6369
|
+
this.fileUploadDialogService.inputTypeName = inputTypeName;
|
|
6370
|
+
this.fileUploadDialogService.action = uiAction;
|
|
6371
|
+
this.fileUploadDialogService.isMultiple = isMultiple;
|
|
6372
|
+
this.fileUploadDialogService.openDialog();
|
|
6373
|
+
await this.fileUploadDialogService.onAction.toPromise();
|
|
6374
|
+
let files = this.fileUploadDialogService.files;
|
|
6375
|
+
let uploadDescriptor = this.fileUploadDialogService.uploadDescriptor;
|
|
6376
|
+
if (!files || !files.length) {
|
|
6377
|
+
return;
|
|
6378
|
+
}
|
|
6379
|
+
uiActionRequest.params = {
|
|
6380
|
+
...uiActionRequest.params,
|
|
6381
|
+
_files: files,
|
|
6382
|
+
_uploadDescriptor: uploadDescriptor,
|
|
6383
|
+
isMultiple,
|
|
6384
|
+
param: uiAction.inputType === 'file' || uiAction.inputType === 'multiple_files'
|
|
6385
|
+
? 'input'
|
|
6386
|
+
: 'input2',
|
|
6387
|
+
};
|
|
6388
|
+
return uiActionRequest;
|
|
6389
|
+
}
|
|
6390
|
+
async handleInputTypeUserSelect(inputTypeName, uiAction, uiActionRequest) {
|
|
6391
|
+
let response = await this.uiActionModel.serviceToUse.handleSpecificDemandsAsynchronously(uiAction, uiActionRequest);
|
|
6392
|
+
if (!response.shouldPerformAction || !response.uiActionRequest) {
|
|
6393
|
+
return;
|
|
6394
|
+
}
|
|
6395
|
+
uiActionRequest = response.uiActionRequest;
|
|
6396
|
+
return uiActionRequest;
|
|
6397
|
+
}
|
|
6398
|
+
async performAction(uiAction, uiActionRequest, options) {
|
|
6399
|
+
if (!uiActionRequest.params ||
|
|
6400
|
+
(uiActionRequest.params && !Object.keys(uiActionRequest.params).length)) {
|
|
6401
|
+
uiActionRequest.params = {
|
|
6402
|
+
model: this.uiActionModel.serviceToUse.getModel(),
|
|
6403
|
+
};
|
|
6404
|
+
}
|
|
6405
|
+
else if (uiAction.submit || uiAction.model) {
|
|
6406
|
+
uiActionRequest.params['model'] = this.uiActionModel.serviceToUse.getModel();
|
|
6407
|
+
}
|
|
6408
|
+
try {
|
|
6409
|
+
await this.uiActionModel.serviceToUse.performUiActionRequest(uiActionRequest, options?.widgetId, options?.nodeId);
|
|
6410
|
+
if (this.uiActionModel.descriptor?.feedbackType === UiActionFeedbackType.SNACKBAR) {
|
|
6411
|
+
this.showSavedSnackbar(uiAction);
|
|
6412
|
+
}
|
|
6413
|
+
}
|
|
6414
|
+
catch (error) {
|
|
6415
|
+
console.error(error);
|
|
6416
|
+
}
|
|
6417
|
+
}
|
|
6418
|
+
showSavedSnackbar(uiAction) {
|
|
6419
|
+
this._snackBar.openFromComponent(SuccessSnackBarComponent, {
|
|
6420
|
+
duration: 5 * 1000,
|
|
6421
|
+
panelClass: ['backgroundColor-accent'],
|
|
6422
|
+
data: uiAction,
|
|
6423
|
+
});
|
|
6424
|
+
}
|
|
6425
|
+
showInvalidFieldsSnackbar(invalidFields) {
|
|
6426
|
+
this._snackBar.openFromComponent(InvalidFieldsSnackBarComponent, {
|
|
6427
|
+
duration: 5 * 1000,
|
|
6428
|
+
panelClass: ['backgroundColor-warn'],
|
|
6429
|
+
data: invalidFields,
|
|
6430
|
+
});
|
|
6431
|
+
}
|
|
6432
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionService, deps: [{ token: 'confirmDialogService' }, { token: 'textFieldDialogService' }, { token: 'fileUploadDialogService' }, { token: i1$4.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6433
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionService, providedIn: 'root' }); }
|
|
6434
|
+
}
|
|
6435
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionService, decorators: [{
|
|
6436
|
+
type: Injectable,
|
|
6437
|
+
args: [{
|
|
6438
|
+
providedIn: 'root',
|
|
6439
|
+
}]
|
|
6440
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
6441
|
+
type: Inject,
|
|
6442
|
+
args: ['confirmDialogService']
|
|
6443
|
+
}] }, { type: undefined, decorators: [{
|
|
6444
|
+
type: Inject,
|
|
6445
|
+
args: ['textFieldDialogService']
|
|
6446
|
+
}] }, { type: undefined, decorators: [{
|
|
6447
|
+
type: Inject,
|
|
6448
|
+
args: ['fileUploadDialogService']
|
|
6449
|
+
}] }, { type: i1$4.MatSnackBar }] });
|
|
6450
|
+
|
|
6451
|
+
const SUBMENU_POSITIONS = [
|
|
6452
|
+
// Top-left of trigger → aligns top-left of overlay
|
|
6453
|
+
// {
|
|
6454
|
+
// originX: 'start',
|
|
6455
|
+
// originY: 'top',
|
|
6456
|
+
// overlayX: 'start',
|
|
6457
|
+
// overlayY: 'top',
|
|
6458
|
+
// },
|
|
6459
|
+
// // Bottom-left of trigger → aligns bottom-left of overlay
|
|
6460
|
+
// {
|
|
6461
|
+
// originX: 'start',
|
|
6462
|
+
// originY: 'bottom',
|
|
6463
|
+
// overlayX: 'start',
|
|
6464
|
+
// overlayY: 'bottom',
|
|
6465
|
+
// },
|
|
6466
|
+
// // Top-right of trigger → aligns top-right of overlay
|
|
6467
|
+
// {
|
|
6468
|
+
// originX: 'end',
|
|
6469
|
+
// originY: 'top',
|
|
6470
|
+
// overlayX: 'end',
|
|
6471
|
+
// overlayY: 'top',
|
|
6472
|
+
// },
|
|
6473
|
+
// // Bottom-right of trigger → aligns bottom-right of overlay
|
|
6474
|
+
// {
|
|
6475
|
+
// originX: 'end',
|
|
6476
|
+
// originY: 'bottom',
|
|
6477
|
+
// overlayX: 'end',
|
|
6478
|
+
// overlayY: 'bottom',
|
|
6479
|
+
// },
|
|
6480
|
+
{
|
|
6481
|
+
originX: 'end',
|
|
6482
|
+
originY: 'top',
|
|
6483
|
+
overlayX: 'start',
|
|
6484
|
+
overlayY: 'top',
|
|
6485
|
+
},
|
|
6486
|
+
{
|
|
6487
|
+
originX: 'start',
|
|
6488
|
+
originY: 'top',
|
|
6489
|
+
overlayX: 'end',
|
|
6490
|
+
overlayY: 'top',
|
|
6491
|
+
},
|
|
6492
|
+
];
|
|
6493
|
+
const ROOT_MENU_POSITIONS = [
|
|
6494
|
+
// Below-right of trigger
|
|
6495
|
+
{
|
|
6496
|
+
originX: 'end',
|
|
6497
|
+
originY: 'bottom',
|
|
6498
|
+
overlayX: 'end',
|
|
6499
|
+
overlayY: 'top',
|
|
6500
|
+
}, // Below-left of trigger
|
|
6501
|
+
{
|
|
6502
|
+
originX: 'start',
|
|
6503
|
+
originY: 'bottom',
|
|
6504
|
+
overlayX: 'start',
|
|
6505
|
+
overlayY: 'top',
|
|
6506
|
+
},
|
|
6507
|
+
// Above-left of trigger
|
|
6508
|
+
{
|
|
6509
|
+
originX: 'start',
|
|
6510
|
+
originY: 'top',
|
|
6511
|
+
overlayX: 'start',
|
|
6512
|
+
overlayY: 'bottom',
|
|
6513
|
+
},
|
|
6514
|
+
// Above-right of trigger
|
|
6515
|
+
{
|
|
6516
|
+
originX: 'end',
|
|
6517
|
+
originY: 'top',
|
|
6518
|
+
overlayX: 'end',
|
|
6519
|
+
overlayY: 'bottom',
|
|
6520
|
+
},
|
|
6521
|
+
];
|
|
6522
|
+
|
|
6523
|
+
class UiMenuService {
|
|
6524
|
+
constructor() {
|
|
6525
|
+
this.closeMenus$ = new Subject();
|
|
6526
|
+
}
|
|
6527
|
+
closeAllMenus() {
|
|
6528
|
+
this.closeMenus$.next();
|
|
6529
|
+
}
|
|
6530
|
+
getCloseSignal() {
|
|
6531
|
+
return this.closeMenus$.asObservable();
|
|
6532
|
+
}
|
|
6179
6533
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6180
6534
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiMenuService, providedIn: 'root' }); }
|
|
6181
6535
|
}
|
|
@@ -6599,12 +6953,15 @@ class UiActionToolbarComponent {
|
|
|
6599
6953
|
this.scrollInterval = null;
|
|
6600
6954
|
}
|
|
6601
6955
|
}
|
|
6956
|
+
get isVertical() {
|
|
6957
|
+
return this.toolbarPropertes?.direction === ToolbarDirection.VERTICAL;
|
|
6958
|
+
}
|
|
6602
6959
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionToolbarComponent, deps: [{ token: UiActionService }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: COMPONENT_LIBRARY }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6603
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: { uiActionModels: "uiActionModels", uiActionDescriptorService: "uiActionDescriptorService", id: "id", scrollOnWrap: "scrollOnWrap", toolbarPropertes: "toolbarPropertes" }, host: { listeners: { "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (isScrollable && scrollOnWrap) {\r\n <ui-action-button\r\n [disabled]=\"!isScrollable\"\r\n [descriptor]=\"buttonLeft\"\r\n (actionClick)=\"scrollLeft()\"\r\n (mousedown)=\"scrollStart('left')\"\r\n (mouseup)=\"stopScroll()\"\r\n (mouseleave)=\"stopScroll()\"\r\n (touchstart)=\"scrollStart('left')\"\r\n (touchend)=\"stopScroll()\"\r\n />\r\n}\r\n\r\n<div
|
|
6960
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: { uiActionModels: "uiActionModels", uiActionDescriptorService: "uiActionDescriptorService", id: "id", scrollOnWrap: "scrollOnWrap", toolbarPropertes: "toolbarPropertes" }, host: { listeners: { "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (isScrollable && scrollOnWrap) {\r\n <ui-action-button\r\n [disabled]=\"!isScrollable\"\r\n [descriptor]=\"buttonLeft\"\r\n (actionClick)=\"scrollLeft()\"\r\n (mousedown)=\"scrollStart('left')\"\r\n (mouseup)=\"stopScroll()\"\r\n (mouseleave)=\"stopScroll()\"\r\n (touchstart)=\"scrollStart('left')\"\r\n (touchend)=\"stopScroll()\"\r\n />\r\n}\r\n\r\n<div\r\n #container\r\n class=\"uiActionButtonsContainer\"\r\n [ngClass]=\"{\r\n scrollableContent: scrollOnWrap,\r\n verticalToolbar: isVertical,\r\n }\"\r\n>\r\n <ng-container *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions; trackBy: trackByFn\">\r\n @if (uiActionModel.uiAction.subActions && uiActionModel.uiAction.subActions.length > 0) {\r\n <ui-tiered-menu\r\n #menu\r\n [triggerAction]=\"uiActionModel.uiAction\"\r\n [subActions]=\"uiActionModel.uiAction.subActions!\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n ></ui-tiered-menu>\r\n } @else {\r\n <ui-action-button\r\n [descriptor]=\"uiActionModel.descriptor!\"\r\n [disabled]=\"!!uiActionModel.uiAction.disabled\"\r\n [addedCssClass]=\"uiActionModel.cssClass\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n (actionDoubleClick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n >\r\n </ui-action-button>\r\n }\r\n </ng-container>\r\n</div>\r\n\r\n@if (isScrollable && scrollOnWrap) {\r\n <ui-action-button\r\n [disabled]=\"!isScrollable\"\r\n [descriptor]=\"buttonRight\"\r\n (actionClick)=\"scrollRight()\"\r\n (mousedown)=\"scrollStart('right')\"\r\n (mouseup)=\"stopScroll()\"\r\n (mouseleave)=\"stopScroll()\"\r\n (touchstart)=\"scrollStart('right')\"\r\n (touchend)=\"stopScroll()\"\r\n />\r\n}\r\n", styles: [":host:has(.uiActionButtonsContainer.scrollableContent){display:flex;flex-direction:row;justify-content:space-between;gap:.5rem;width:100%;align-items:center}.uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}.uiActionButtonsContainer ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center}.uiActionButtonsContainer ::ng-deep .buttonWrapper{position:relative;width:fit-content;height:fit-content}.scrollableContent{flex:1;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;display:flex;scrollbar-width:none;padding:.5rem 0;align-items:center}.scrollableContent::-webkit-scrollbar{display:none!important}.verticalToolbar{display:flex;flex-direction:column}.verticalToolbar ::ng-deep ui-action-button,.verticalToolbar ::ng-deep button{width:100%;justify-content:flex-start}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: UiActionButtonComponent, selector: "ui-action-button", inputs: ["disabled", "descriptor", "code", "addedCssClass", "addBasicClasses"], outputs: ["actionClick", "actionDoubleClick"] }, { kind: "component", type: MenuComponent, selector: "ui-tiered-menu", inputs: ["triggerAction", "isSubmenu"], outputs: ["actionClick", "submenuOpened"] }] }); }
|
|
6604
6961
|
}
|
|
6605
6962
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UiActionToolbarComponent, decorators: [{
|
|
6606
6963
|
type: Component,
|
|
6607
|
-
args: [{ selector: 'smart-ui-action-toolbar', template: "@if (isScrollable && scrollOnWrap) {\r\n <ui-action-button\r\n [disabled]=\"!isScrollable\"\r\n [descriptor]=\"buttonLeft\"\r\n (actionClick)=\"scrollLeft()\"\r\n (mousedown)=\"scrollStart('left')\"\r\n (mouseup)=\"stopScroll()\"\r\n (mouseleave)=\"stopScroll()\"\r\n (touchstart)=\"scrollStart('left')\"\r\n (touchend)=\"stopScroll()\"\r\n />\r\n}\r\n\r\n<div
|
|
6964
|
+
args: [{ selector: 'smart-ui-action-toolbar', template: "@if (isScrollable && scrollOnWrap) {\r\n <ui-action-button\r\n [disabled]=\"!isScrollable\"\r\n [descriptor]=\"buttonLeft\"\r\n (actionClick)=\"scrollLeft()\"\r\n (mousedown)=\"scrollStart('left')\"\r\n (mouseup)=\"stopScroll()\"\r\n (mouseleave)=\"stopScroll()\"\r\n (touchstart)=\"scrollStart('left')\"\r\n (touchend)=\"stopScroll()\"\r\n />\r\n}\r\n\r\n<div\r\n #container\r\n class=\"uiActionButtonsContainer\"\r\n [ngClass]=\"{\r\n scrollableContent: scrollOnWrap,\r\n verticalToolbar: isVertical,\r\n }\"\r\n>\r\n <ng-container *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions; trackBy: trackByFn\">\r\n @if (uiActionModel.uiAction.subActions && uiActionModel.uiAction.subActions.length > 0) {\r\n <ui-tiered-menu\r\n #menu\r\n [triggerAction]=\"uiActionModel.uiAction\"\r\n [subActions]=\"uiActionModel.uiAction.subActions!\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n ></ui-tiered-menu>\r\n } @else {\r\n <ui-action-button\r\n [descriptor]=\"uiActionModel.descriptor!\"\r\n [disabled]=\"!!uiActionModel.uiAction.disabled\"\r\n [addedCssClass]=\"uiActionModel.cssClass\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n (actionDoubleClick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n >\r\n </ui-action-button>\r\n }\r\n </ng-container>\r\n</div>\r\n\r\n@if (isScrollable && scrollOnWrap) {\r\n <ui-action-button\r\n [disabled]=\"!isScrollable\"\r\n [descriptor]=\"buttonRight\"\r\n (actionClick)=\"scrollRight()\"\r\n (mousedown)=\"scrollStart('right')\"\r\n (mouseup)=\"stopScroll()\"\r\n (mouseleave)=\"stopScroll()\"\r\n (touchstart)=\"scrollStart('right')\"\r\n (touchend)=\"stopScroll()\"\r\n />\r\n}\r\n", styles: [":host:has(.uiActionButtonsContainer.scrollableContent){display:flex;flex-direction:row;justify-content:space-between;gap:.5rem;width:100%;align-items:center}.uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}.uiActionButtonsContainer ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center}.uiActionButtonsContainer ::ng-deep .buttonWrapper{position:relative;width:fit-content;height:fit-content}.scrollableContent{flex:1;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;display:flex;scrollbar-width:none;padding:.5rem 0;align-items:center}.scrollableContent::-webkit-scrollbar{display:none!important}.verticalToolbar{display:flex;flex-direction:column}.verticalToolbar ::ng-deep ui-action-button,.verticalToolbar ::ng-deep button{width:100%;justify-content:flex-start}\n"] }]
|
|
6608
6965
|
}], ctorParameters: () => [{ type: UiActionService }, { type: i0.Injector }, { type: i0.ChangeDetectorRef }, { type: ComponentLibrary, decorators: [{
|
|
6609
6966
|
type: Inject,
|
|
6610
6967
|
args: [COMPONENT_LIBRARY]
|
|
@@ -7568,11 +7925,11 @@ class FileEditorToolbarComponent extends UiActionToolbarComponent {
|
|
|
7568
7925
|
await super.fireAction(uiActionModel);
|
|
7569
7926
|
}
|
|
7570
7927
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FileEditorToolbarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
7571
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: FileEditorToolbarComponent, selector: "file-editor-toolbar", inputs: { dataUri: "dataUri" }, outputs: { actionEvent: "actionEvent" }, usesInheritance: true, ngImport: i0, template: "@if (isScrollable && scrollOnWrap) {\r\n <ui-action-button\r\n [disabled]=\"!isScrollable\"\r\n [descriptor]=\"buttonLeft\"\r\n (actionClick)=\"scrollLeft()\"\r\n (mousedown)=\"scrollStart('left')\"\r\n (mouseup)=\"stopScroll()\"\r\n (mouseleave)=\"stopScroll()\"\r\n (touchstart)=\"scrollStart('left')\"\r\n (touchend)=\"stopScroll()\"\r\n />\r\n}\r\n\r\n<div
|
|
7928
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: FileEditorToolbarComponent, selector: "file-editor-toolbar", inputs: { dataUri: "dataUri" }, outputs: { actionEvent: "actionEvent" }, usesInheritance: true, ngImport: i0, template: "@if (isScrollable && scrollOnWrap) {\r\n <ui-action-button\r\n [disabled]=\"!isScrollable\"\r\n [descriptor]=\"buttonLeft\"\r\n (actionClick)=\"scrollLeft()\"\r\n (mousedown)=\"scrollStart('left')\"\r\n (mouseup)=\"stopScroll()\"\r\n (mouseleave)=\"stopScroll()\"\r\n (touchstart)=\"scrollStart('left')\"\r\n (touchend)=\"stopScroll()\"\r\n />\r\n}\r\n\r\n<div\r\n #container\r\n class=\"uiActionButtonsContainer\"\r\n [ngClass]=\"{\r\n scrollableContent: scrollOnWrap,\r\n verticalToolbar: isVertical,\r\n }\"\r\n>\r\n <ng-container *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions; trackBy: trackByFn\">\r\n @if (uiActionModel.uiAction.subActions && uiActionModel.uiAction.subActions.length > 0) {\r\n <ui-tiered-menu\r\n #menu\r\n [triggerAction]=\"uiActionModel.uiAction\"\r\n [subActions]=\"uiActionModel.uiAction.subActions!\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n ></ui-tiered-menu>\r\n } @else {\r\n <ui-action-button\r\n [descriptor]=\"uiActionModel.descriptor!\"\r\n [disabled]=\"!!uiActionModel.uiAction.disabled\"\r\n [addedCssClass]=\"uiActionModel.cssClass\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n (actionDoubleClick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n >\r\n </ui-action-button>\r\n }\r\n </ng-container>\r\n</div>\r\n\r\n@if (isScrollable && scrollOnWrap) {\r\n <ui-action-button\r\n [disabled]=\"!isScrollable\"\r\n [descriptor]=\"buttonRight\"\r\n (actionClick)=\"scrollRight()\"\r\n (mousedown)=\"scrollStart('right')\"\r\n (mouseup)=\"stopScroll()\"\r\n (mouseleave)=\"stopScroll()\"\r\n (touchstart)=\"scrollStart('right')\"\r\n (touchend)=\"stopScroll()\"\r\n />\r\n}\r\n", styles: [":host:has(.uiActionButtonsContainer.scrollableContent){display:flex;flex-direction:row;justify-content:space-between;gap:.5rem;width:100%;align-items:center}.uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}.uiActionButtonsContainer ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center}.uiActionButtonsContainer ::ng-deep .buttonWrapper{position:relative;width:fit-content;height:fit-content}.scrollableContent{flex:1;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;display:flex;scrollbar-width:none;padding:.5rem 0;align-items:center}.scrollableContent::-webkit-scrollbar{display:none!important}.verticalToolbar{display:flex;flex-direction:column}.verticalToolbar ::ng-deep ui-action-button,.verticalToolbar ::ng-deep button{width:100%;justify-content:flex-start}\n"], dependencies: [{ kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: UiActionButtonComponent, selector: "ui-action-button", inputs: ["disabled", "descriptor", "code", "addedCssClass", "addBasicClasses"], outputs: ["actionClick", "actionDoubleClick"] }, { kind: "component", type: MenuComponent, selector: "ui-tiered-menu", inputs: ["triggerAction", "isSubmenu"], outputs: ["actionClick", "submenuOpened"] }] }); }
|
|
7572
7929
|
}
|
|
7573
7930
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FileEditorToolbarComponent, decorators: [{
|
|
7574
7931
|
type: Component,
|
|
7575
|
-
args: [{ selector: 'file-editor-toolbar', template: "@if (isScrollable && scrollOnWrap) {\r\n <ui-action-button\r\n [disabled]=\"!isScrollable\"\r\n [descriptor]=\"buttonLeft\"\r\n (actionClick)=\"scrollLeft()\"\r\n (mousedown)=\"scrollStart('left')\"\r\n (mouseup)=\"stopScroll()\"\r\n (mouseleave)=\"stopScroll()\"\r\n (touchstart)=\"scrollStart('left')\"\r\n (touchend)=\"stopScroll()\"\r\n />\r\n}\r\n\r\n<div
|
|
7932
|
+
args: [{ selector: 'file-editor-toolbar', template: "@if (isScrollable && scrollOnWrap) {\r\n <ui-action-button\r\n [disabled]=\"!isScrollable\"\r\n [descriptor]=\"buttonLeft\"\r\n (actionClick)=\"scrollLeft()\"\r\n (mousedown)=\"scrollStart('left')\"\r\n (mouseup)=\"stopScroll()\"\r\n (mouseleave)=\"stopScroll()\"\r\n (touchstart)=\"scrollStart('left')\"\r\n (touchend)=\"stopScroll()\"\r\n />\r\n}\r\n\r\n<div\r\n #container\r\n class=\"uiActionButtonsContainer\"\r\n [ngClass]=\"{\r\n scrollableContent: scrollOnWrap,\r\n verticalToolbar: isVertical,\r\n }\"\r\n>\r\n <ng-container *ngFor=\"let uiActionModel of uiActionModelsWithDescriptions; trackBy: trackByFn\">\r\n @if (uiActionModel.uiAction.subActions && uiActionModel.uiAction.subActions.length > 0) {\r\n <ui-tiered-menu\r\n #menu\r\n [triggerAction]=\"uiActionModel.uiAction\"\r\n [subActions]=\"uiActionModel.uiAction.subActions!\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n ></ui-tiered-menu>\r\n } @else {\r\n <ui-action-button\r\n [descriptor]=\"uiActionModel.descriptor!\"\r\n [disabled]=\"!!uiActionModel.uiAction.disabled\"\r\n [addedCssClass]=\"uiActionModel.cssClass\"\r\n (actionClick)=\"onActionClicked($event, uiActionModel)\"\r\n (actionDoubleClick)=\"onActionDoubleClicked($event, uiActionModel)\"\r\n >\r\n </ui-action-button>\r\n }\r\n </ng-container>\r\n</div>\r\n\r\n@if (isScrollable && scrollOnWrap) {\r\n <ui-action-button\r\n [disabled]=\"!isScrollable\"\r\n [descriptor]=\"buttonRight\"\r\n (actionClick)=\"scrollRight()\"\r\n (mousedown)=\"scrollStart('right')\"\r\n (mouseup)=\"stopScroll()\"\r\n (mouseleave)=\"stopScroll()\"\r\n (touchstart)=\"scrollStart('right')\"\r\n (touchend)=\"stopScroll()\"\r\n />\r\n}\r\n", styles: [":host:has(.uiActionButtonsContainer.scrollableContent){display:flex;flex-direction:row;justify-content:space-between;gap:.5rem;width:100%;align-items:center}.uiActionButtonsContainer{display:flex;flex-direction:row;gap:1rem;flex-wrap:wrap}.uiActionButtonsContainer ::ng-deep button{display:flex;gap:1rem;align-items:center;justify-content:center}.uiActionButtonsContainer ::ng-deep .buttonWrapper{position:relative;width:fit-content;height:fit-content}.scrollableContent{flex:1;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;display:flex;scrollbar-width:none;padding:.5rem 0;align-items:center}.scrollableContent::-webkit-scrollbar{display:none!important}.verticalToolbar{display:flex;flex-direction:column}.verticalToolbar ::ng-deep ui-action-button,.verticalToolbar ::ng-deep button{width:100%;justify-content:flex-start}\n"] }]
|
|
7576
7933
|
}], propDecorators: { dataUri: [{
|
|
7577
7934
|
type: Input
|
|
7578
7935
|
}], actionEvent: [{
|
|
@@ -12690,7 +13047,7 @@ var FilterExpressionOrderBy;
|
|
|
12690
13047
|
* Custom HttpParameterCodec
|
|
12691
13048
|
* Workaround for https://github.com/angular/angular/issues/18261
|
|
12692
13049
|
*/
|
|
12693
|
-
let CustomHttpParameterCodec$
|
|
13050
|
+
let CustomHttpParameterCodec$4 = class CustomHttpParameterCodec {
|
|
12694
13051
|
encodeKey(k) {
|
|
12695
13052
|
return encodeURIComponent(k);
|
|
12696
13053
|
}
|
|
@@ -12705,15 +13062,15 @@ let CustomHttpParameterCodec$5 = class CustomHttpParameterCodec {
|
|
|
12705
13062
|
}
|
|
12706
13063
|
};
|
|
12707
13064
|
|
|
12708
|
-
const BASE_PATH$
|
|
12709
|
-
const COLLECTION_FORMATS$
|
|
13065
|
+
const BASE_PATH$4 = new InjectionToken('basePath');
|
|
13066
|
+
const COLLECTION_FORMATS$4 = {
|
|
12710
13067
|
'csv': ',',
|
|
12711
13068
|
'tsv': ' ',
|
|
12712
13069
|
'ssv': ' ',
|
|
12713
13070
|
'pipes': '|'
|
|
12714
13071
|
};
|
|
12715
13072
|
|
|
12716
|
-
let Configuration$
|
|
13073
|
+
let Configuration$4 = class Configuration {
|
|
12717
13074
|
constructor(configurationParameters = {}) {
|
|
12718
13075
|
this.apiKeys = configurationParameters.apiKeys;
|
|
12719
13076
|
this.username = configurationParameters.username;
|
|
@@ -12821,7 +13178,7 @@ class GridService {
|
|
|
12821
13178
|
this.httpClient = httpClient;
|
|
12822
13179
|
this.basePath = 'http://localhost';
|
|
12823
13180
|
this.defaultHeaders = new HttpHeaders();
|
|
12824
|
-
this.configuration = new Configuration$
|
|
13181
|
+
this.configuration = new Configuration$4();
|
|
12825
13182
|
if (configuration) {
|
|
12826
13183
|
this.configuration = configuration;
|
|
12827
13184
|
}
|
|
@@ -12834,7 +13191,7 @@ class GridService {
|
|
|
12834
13191
|
}
|
|
12835
13192
|
this.configuration.basePath = basePath;
|
|
12836
13193
|
}
|
|
12837
|
-
this.encoder = this.configuration.encoder || new CustomHttpParameterCodec$
|
|
13194
|
+
this.encoder = this.configuration.encoder || new CustomHttpParameterCodec$4();
|
|
12838
13195
|
}
|
|
12839
13196
|
// @ts-ignore
|
|
12840
13197
|
addToHttpParams(httpParams, value, key) {
|
|
@@ -13274,7 +13631,7 @@ class GridService {
|
|
|
13274
13631
|
reportProgress: reportProgress
|
|
13275
13632
|
});
|
|
13276
13633
|
}
|
|
13277
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GridService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH$
|
|
13634
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GridService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH$4, optional: true }, { token: Configuration$4, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
13278
13635
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GridService, providedIn: 'root' }); }
|
|
13279
13636
|
}
|
|
13280
13637
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GridService, decorators: [{
|
|
@@ -13286,12 +13643,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
13286
13643
|
type: Optional
|
|
13287
13644
|
}, {
|
|
13288
13645
|
type: Inject,
|
|
13289
|
-
args: [BASE_PATH$
|
|
13290
|
-
}] }, { type: Configuration$
|
|
13646
|
+
args: [BASE_PATH$4]
|
|
13647
|
+
}] }, { type: Configuration$4, decorators: [{
|
|
13291
13648
|
type: Optional
|
|
13292
13649
|
}] }] });
|
|
13293
13650
|
|
|
13294
|
-
const APIS$
|
|
13651
|
+
const APIS$2 = [GridService];
|
|
13295
13652
|
|
|
13296
13653
|
/**
|
|
13297
13654
|
* Grid api
|
|
@@ -13385,11 +13742,11 @@ var GridViewDescriptorKindEnum;
|
|
|
13385
13742
|
})(GridViewDescriptorKindEnum || (GridViewDescriptorKindEnum = {}));
|
|
13386
13743
|
;
|
|
13387
13744
|
|
|
13388
|
-
let ApiModule$
|
|
13745
|
+
let ApiModule$2 = class ApiModule {
|
|
13389
13746
|
static forRoot(configurationFactory) {
|
|
13390
13747
|
return {
|
|
13391
13748
|
ngModule: ApiModule,
|
|
13392
|
-
providers: [{ provide: Configuration$
|
|
13749
|
+
providers: [{ provide: Configuration$4, useFactory: configurationFactory }]
|
|
13393
13750
|
};
|
|
13394
13751
|
}
|
|
13395
13752
|
constructor(parentModule, http) {
|
|
@@ -13405,7 +13762,7 @@ let ApiModule$3 = class ApiModule {
|
|
|
13405
13762
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: ApiModule }); }
|
|
13406
13763
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ApiModule }); }
|
|
13407
13764
|
};
|
|
13408
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ApiModule$
|
|
13765
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ApiModule$2, decorators: [{
|
|
13409
13766
|
type: NgModule,
|
|
13410
13767
|
args: [{
|
|
13411
13768
|
imports: [],
|
|
@@ -13413,7 +13770,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
13413
13770
|
exports: [],
|
|
13414
13771
|
providers: []
|
|
13415
13772
|
}]
|
|
13416
|
-
}], ctorParameters: () => [{ type: ApiModule$
|
|
13773
|
+
}], ctorParameters: () => [{ type: ApiModule$2, decorators: [{
|
|
13417
13774
|
type: Optional
|
|
13418
13775
|
}, {
|
|
13419
13776
|
type: SkipSelf
|
|
@@ -15415,7 +15772,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
15415
15772
|
* Custom HttpParameterCodec
|
|
15416
15773
|
* Workaround for https://github.com/angular/angular/issues/18261
|
|
15417
15774
|
*/
|
|
15418
|
-
let CustomHttpParameterCodec$
|
|
15775
|
+
let CustomHttpParameterCodec$3 = class CustomHttpParameterCodec {
|
|
15419
15776
|
encodeKey(k) {
|
|
15420
15777
|
return encodeURIComponent(k);
|
|
15421
15778
|
}
|
|
@@ -15430,15 +15787,15 @@ let CustomHttpParameterCodec$4 = class CustomHttpParameterCodec {
|
|
|
15430
15787
|
}
|
|
15431
15788
|
};
|
|
15432
15789
|
|
|
15433
|
-
const BASE_PATH$
|
|
15434
|
-
const COLLECTION_FORMATS$
|
|
15790
|
+
const BASE_PATH$3 = new InjectionToken('basePath');
|
|
15791
|
+
const COLLECTION_FORMATS$3 = {
|
|
15435
15792
|
'csv': ',',
|
|
15436
15793
|
'tsv': ' ',
|
|
15437
15794
|
'ssv': ' ',
|
|
15438
15795
|
'pipes': '|'
|
|
15439
15796
|
};
|
|
15440
15797
|
|
|
15441
|
-
let Configuration$
|
|
15798
|
+
let Configuration$3 = class Configuration {
|
|
15442
15799
|
constructor(configurationParameters = {}) {
|
|
15443
15800
|
this.apiKeys = configurationParameters.apiKeys;
|
|
15444
15801
|
this.username = configurationParameters.username;
|
|
@@ -15546,7 +15903,7 @@ class TreeService {
|
|
|
15546
15903
|
this.httpClient = httpClient;
|
|
15547
15904
|
this.basePath = 'http://localhost';
|
|
15548
15905
|
this.defaultHeaders = new HttpHeaders();
|
|
15549
|
-
this.configuration = new Configuration$
|
|
15906
|
+
this.configuration = new Configuration$3();
|
|
15550
15907
|
if (configuration) {
|
|
15551
15908
|
this.configuration = configuration;
|
|
15552
15909
|
}
|
|
@@ -15559,7 +15916,7 @@ class TreeService {
|
|
|
15559
15916
|
}
|
|
15560
15917
|
this.configuration.basePath = basePath;
|
|
15561
15918
|
}
|
|
15562
|
-
this.encoder = this.configuration.encoder || new CustomHttpParameterCodec$
|
|
15919
|
+
this.encoder = this.configuration.encoder || new CustomHttpParameterCodec$3();
|
|
15563
15920
|
}
|
|
15564
15921
|
// @ts-ignore
|
|
15565
15922
|
addToHttpParams(httpParams, value, key) {
|
|
@@ -16693,7 +17050,7 @@ class TreeService {
|
|
|
16693
17050
|
reportProgress: reportProgress,
|
|
16694
17051
|
});
|
|
16695
17052
|
}
|
|
16696
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TreeService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH$
|
|
17053
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TreeService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH$3, optional: true }, { token: Configuration$3, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
16697
17054
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TreeService, providedIn: 'root' }); }
|
|
16698
17055
|
}
|
|
16699
17056
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TreeService, decorators: [{
|
|
@@ -16705,8 +17062,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
16705
17062
|
type: Optional
|
|
16706
17063
|
}, {
|
|
16707
17064
|
type: Inject,
|
|
16708
|
-
args: [BASE_PATH$
|
|
16709
|
-
}] }, { type: Configuration$
|
|
17065
|
+
args: [BASE_PATH$3]
|
|
17066
|
+
}] }, { type: Configuration$3, decorators: [{
|
|
16710
17067
|
type: Optional
|
|
16711
17068
|
}] }] });
|
|
16712
17069
|
|
|
@@ -17259,7 +17616,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
17259
17616
|
* Custom HttpParameterCodec
|
|
17260
17617
|
* Workaround for https://github.com/angular/angular/issues/18261
|
|
17261
17618
|
*/
|
|
17262
|
-
let CustomHttpParameterCodec$
|
|
17619
|
+
let CustomHttpParameterCodec$2 = class CustomHttpParameterCodec {
|
|
17263
17620
|
encodeKey(k) {
|
|
17264
17621
|
return encodeURIComponent(k);
|
|
17265
17622
|
}
|
|
@@ -17274,15 +17631,15 @@ let CustomHttpParameterCodec$3 = class CustomHttpParameterCodec {
|
|
|
17274
17631
|
}
|
|
17275
17632
|
};
|
|
17276
17633
|
|
|
17277
|
-
const BASE_PATH$
|
|
17278
|
-
const COLLECTION_FORMATS$
|
|
17634
|
+
const BASE_PATH$2 = new InjectionToken('basePath');
|
|
17635
|
+
const COLLECTION_FORMATS$2 = {
|
|
17279
17636
|
'csv': ',',
|
|
17280
17637
|
'tsv': ' ',
|
|
17281
17638
|
'ssv': ' ',
|
|
17282
17639
|
'pipes': '|'
|
|
17283
17640
|
};
|
|
17284
17641
|
|
|
17285
|
-
let Configuration$
|
|
17642
|
+
let Configuration$2 = class Configuration {
|
|
17286
17643
|
constructor(configurationParameters = {}) {
|
|
17287
17644
|
this.apiKeys = configurationParameters.apiKeys;
|
|
17288
17645
|
this.username = configurationParameters.username;
|
|
@@ -17390,7 +17747,7 @@ class GeoMapService {
|
|
|
17390
17747
|
this.httpClient = httpClient;
|
|
17391
17748
|
this.basePath = 'http://localhost';
|
|
17392
17749
|
this.defaultHeaders = new HttpHeaders();
|
|
17393
|
-
this.configuration = new Configuration$
|
|
17750
|
+
this.configuration = new Configuration$2();
|
|
17394
17751
|
if (configuration) {
|
|
17395
17752
|
this.configuration = configuration;
|
|
17396
17753
|
}
|
|
@@ -17403,7 +17760,7 @@ class GeoMapService {
|
|
|
17403
17760
|
}
|
|
17404
17761
|
this.configuration.basePath = basePath;
|
|
17405
17762
|
}
|
|
17406
|
-
this.encoder = this.configuration.encoder || new CustomHttpParameterCodec$
|
|
17763
|
+
this.encoder = this.configuration.encoder || new CustomHttpParameterCodec$2();
|
|
17407
17764
|
}
|
|
17408
17765
|
// @ts-ignore
|
|
17409
17766
|
addToHttpParams(httpParams, value, key) {
|
|
@@ -17659,7 +18016,7 @@ class GeoMapService {
|
|
|
17659
18016
|
reportProgress: reportProgress
|
|
17660
18017
|
});
|
|
17661
18018
|
}
|
|
17662
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GeoMapService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH$
|
|
18019
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GeoMapService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH$2, optional: true }, { token: Configuration$2, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
17663
18020
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GeoMapService, providedIn: 'root' }); }
|
|
17664
18021
|
}
|
|
17665
18022
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GeoMapService, decorators: [{
|
|
@@ -17671,12 +18028,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
17671
18028
|
type: Optional
|
|
17672
18029
|
}, {
|
|
17673
18030
|
type: Inject,
|
|
17674
|
-
args: [BASE_PATH$
|
|
17675
|
-
}] }, { type: Configuration$
|
|
18031
|
+
args: [BASE_PATH$2]
|
|
18032
|
+
}] }, { type: Configuration$2, decorators: [{
|
|
17676
18033
|
type: Optional
|
|
17677
18034
|
}] }] });
|
|
17678
18035
|
|
|
17679
|
-
const APIS$
|
|
18036
|
+
const APIS$1 = [GeoMapService];
|
|
17680
18037
|
|
|
17681
18038
|
/**
|
|
17682
18039
|
* GeoMap api
|
|
@@ -17796,11 +18153,11 @@ var GeoMapTextType;
|
|
|
17796
18153
|
GeoMapTextType["HTML"] = "HTML";
|
|
17797
18154
|
})(GeoMapTextType || (GeoMapTextType = {}));
|
|
17798
18155
|
|
|
17799
|
-
let ApiModule$
|
|
18156
|
+
let ApiModule$1 = class ApiModule {
|
|
17800
18157
|
static forRoot(configurationFactory) {
|
|
17801
18158
|
return {
|
|
17802
18159
|
ngModule: ApiModule,
|
|
17803
|
-
providers: [{ provide: Configuration$
|
|
18160
|
+
providers: [{ provide: Configuration$2, useFactory: configurationFactory }]
|
|
17804
18161
|
};
|
|
17805
18162
|
}
|
|
17806
18163
|
constructor(parentModule, http) {
|
|
@@ -17816,7 +18173,7 @@ let ApiModule$2 = class ApiModule {
|
|
|
17816
18173
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: ApiModule }); }
|
|
17817
18174
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ApiModule }); }
|
|
17818
18175
|
};
|
|
17819
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ApiModule$
|
|
18176
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ApiModule$1, decorators: [{
|
|
17820
18177
|
type: NgModule,
|
|
17821
18178
|
args: [{
|
|
17822
18179
|
imports: [],
|
|
@@ -17824,7 +18181,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
17824
18181
|
exports: [],
|
|
17825
18182
|
providers: []
|
|
17826
18183
|
}]
|
|
17827
|
-
}], ctorParameters: () => [{ type: ApiModule$
|
|
18184
|
+
}], ctorParameters: () => [{ type: ApiModule$1, decorators: [{
|
|
17828
18185
|
type: Optional
|
|
17829
18186
|
}, {
|
|
17830
18187
|
type: SkipSelf
|
|
@@ -18444,718 +18801,369 @@ class LeafletMap extends AbstractMap {
|
|
|
18444
18801
|
x: event.latlng.lng,
|
|
18445
18802
|
y: event.latlng.lat,
|
|
18446
18803
|
},
|
|
18447
|
-
});
|
|
18448
|
-
});
|
|
18449
|
-
});
|
|
18450
|
-
}
|
|
18451
|
-
it.record.addTo(this.map);
|
|
18452
|
-
this.editingOverlays.set(it.id, it.record);
|
|
18453
|
-
});
|
|
18454
|
-
}
|
|
18455
|
-
findDatasetBounds() {
|
|
18456
|
-
const items = this.items()
|
|
18457
|
-
.flatMap((it) => (it.position ? [it.position] : it.route ? it.route.points : []))
|
|
18458
|
-
.map((it) => {
|
|
18459
|
-
return { x: it.latitude, y: it.longitude };
|
|
18460
|
-
});
|
|
18461
|
-
if (!items || items.length === 0) {
|
|
18462
|
-
return null;
|
|
18463
|
-
}
|
|
18464
|
-
let southwest = { x: items[0].x, y: items[0].y };
|
|
18465
|
-
let northeast = { x: items[0].x, y: items[0].y };
|
|
18466
|
-
items.forEach((it) => {
|
|
18467
|
-
if (it.x < southwest.x)
|
|
18468
|
-
southwest.x = it.x;
|
|
18469
|
-
if (it.y < southwest.y)
|
|
18470
|
-
southwest.y = it.y;
|
|
18471
|
-
if (it.x > northeast.x)
|
|
18472
|
-
northeast.x = it.x;
|
|
18473
|
-
if (it.y > northeast.y)
|
|
18474
|
-
northeast.y = it.y;
|
|
18475
|
-
});
|
|
18476
|
-
return { a: southwest, b: northeast };
|
|
18477
|
-
}
|
|
18478
|
-
toBase64() {
|
|
18479
|
-
return new Promise((resolve, reject) => {
|
|
18480
|
-
setTimeout(() => {
|
|
18481
|
-
leafletImage(this.map, (err, canvas) => {
|
|
18482
|
-
if (err) {
|
|
18483
|
-
console.error('Leaflet image capture error', err);
|
|
18484
|
-
reject(err);
|
|
18485
|
-
return;
|
|
18486
|
-
}
|
|
18487
|
-
const ctx = canvas.getContext('2d');
|
|
18488
|
-
if (!ctx) {
|
|
18489
|
-
reject('No context');
|
|
18490
|
-
return;
|
|
18491
|
-
}
|
|
18492
|
-
this.markers.forEach((marker) => {
|
|
18493
|
-
const tooltip = marker.getTooltip();
|
|
18494
|
-
if (!tooltip) {
|
|
18495
|
-
return;
|
|
18496
|
-
}
|
|
18497
|
-
const latLng = marker.getLatLng();
|
|
18498
|
-
const point = this.map.latLngToContainerPoint(latLng);
|
|
18499
|
-
const text = tooltip.getContent();
|
|
18500
|
-
// Tooltip szöveg megjelenítése
|
|
18501
|
-
ctx.font = 'bold 30px sans-serif';
|
|
18502
|
-
ctx.fillStyle = 'black';
|
|
18503
|
-
ctx.strokeStyle = 'white';
|
|
18504
|
-
ctx.lineWidth = 4;
|
|
18505
|
-
ctx.textAlign = 'center';
|
|
18506
|
-
ctx.textBaseline = 'bottom';
|
|
18507
|
-
ctx.strokeText(text, point.x, point.y + 10); // fehér kontúr
|
|
18508
|
-
ctx.fillText(text, point.x, point.y + 10); // fekete szöveg
|
|
18509
|
-
});
|
|
18510
|
-
resolve(canvas.toDataURL('image/png'));
|
|
18511
|
-
});
|
|
18512
|
-
}, 300);
|
|
18513
|
-
});
|
|
18514
|
-
}
|
|
18515
|
-
createLabel(group) {
|
|
18516
|
-
let label = '';
|
|
18517
|
-
group.forEach((item) => {
|
|
18518
|
-
label += item._tooltip._content + ', ';
|
|
18519
|
-
item._tooltip.permanent = false;
|
|
18520
|
-
});
|
|
18521
|
-
return label;
|
|
18522
|
-
}
|
|
18523
|
-
createNumberedIcon(number) {
|
|
18524
|
-
const size = 35;
|
|
18525
|
-
const scaleFactor = 15;
|
|
18526
|
-
const scaledSize = size * scaleFactor;
|
|
18527
|
-
const canvas = document.createElement('canvas');
|
|
18528
|
-
canvas.width = scaledSize;
|
|
18529
|
-
canvas.height = scaledSize;
|
|
18530
|
-
canvas.style.width = canvas.style.height = '35px';
|
|
18531
|
-
const ctx = canvas.getContext('2d');
|
|
18532
|
-
ctx.scale(scaleFactor, scaleFactor);
|
|
18533
|
-
ctx.beginPath();
|
|
18534
|
-
ctx.arc(size / 2, size / 2, size / 2 - 2, 0, 2 * Math.PI, false);
|
|
18535
|
-
ctx.fillStyle = '#0078d4';
|
|
18536
|
-
ctx.fill();
|
|
18537
|
-
ctx.lineWidth = 2;
|
|
18538
|
-
ctx.strokeStyle = '#ffffff';
|
|
18539
|
-
ctx.stroke();
|
|
18540
|
-
ctx.fillStyle = '#ffffff';
|
|
18541
|
-
ctx.font = 'bold 16px sans-serif';
|
|
18542
|
-
ctx.textAlign = 'center';
|
|
18543
|
-
ctx.textBaseline = 'middle';
|
|
18544
|
-
ctx.fillText(number.toString(), size / 2, size / 2);
|
|
18545
|
-
return L.icon({
|
|
18546
|
-
iconUrl: canvas.toDataURL(),
|
|
18547
|
-
iconSize: [size, size],
|
|
18548
|
-
iconAnchor: [size / 2, size / 2],
|
|
18549
|
-
popupAnchor: [0, -size / 2],
|
|
18550
|
-
});
|
|
18551
|
-
}
|
|
18552
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LeafletMap, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18553
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: LeafletMap, selector: "leaflet-map", usesInheritance: true, ngImport: i0, template: ` <div id="leaflet"></div>`, isInline: true, styles: ["#leaflet{height:720px}::ng-deep .marker-count{background-color:#0078d4;color:#fff;font-weight:700;border-radius:50%;width:30px;height:30px;line-height:30px;text-align:center;border:2px solid white;box-shadow:0 0 4px #0006}::ng-deep .custom-cluster-icon{pointer-events:auto!important}\n"] }); }
|
|
18554
|
-
}
|
|
18555
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LeafletMap, decorators: [{
|
|
18556
|
-
type: Component,
|
|
18557
|
-
args: [{ selector: 'leaflet-map', template: ` <div id="leaflet"></div>`, styles: ["#leaflet{height:720px}::ng-deep .marker-count{background-color:#0078d4;color:#fff;font-weight:700;border-radius:50%;width:30px;height:30px;line-height:30px;text-align:center;border:2px solid white;box-shadow:0 0 4px #0006}::ng-deep .custom-cluster-icon{pointer-events:auto!important}\n"] }]
|
|
18558
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }] });
|
|
18559
|
-
function getIcon(color) {
|
|
18560
|
-
const size = 12;
|
|
18561
|
-
const scaleFactor = 12;
|
|
18562
|
-
const scaledSize = size * scaleFactor;
|
|
18563
|
-
const canvas = document.createElement('canvas');
|
|
18564
|
-
canvas.width = scaledSize;
|
|
18565
|
-
canvas.height = scaledSize;
|
|
18566
|
-
canvas.style.width = canvas.style.height = `${size}px`;
|
|
18567
|
-
const ctx = canvas.getContext('2d');
|
|
18568
|
-
ctx.scale(scaleFactor, scaleFactor);
|
|
18569
|
-
ctx.beginPath();
|
|
18570
|
-
ctx.arc(size / 2, size / 2, size / 2, 0, 2 * Math.PI, false);
|
|
18571
|
-
ctx.fillStyle = color;
|
|
18572
|
-
ctx.fill();
|
|
18573
|
-
return L.icon({
|
|
18574
|
-
iconUrl: canvas.toDataURL(),
|
|
18575
|
-
iconSize: [size, size],
|
|
18576
|
-
iconAnchor: [size / 2, size / 2],
|
|
18577
|
-
popupAnchor: [0, -size / 2],
|
|
18578
|
-
});
|
|
18579
|
-
}
|
|
18580
|
-
|
|
18581
|
-
var MapEngine;
|
|
18582
|
-
(function (MapEngine) {
|
|
18583
|
-
MapEngine["GOOGLE"] = "GOOGLE";
|
|
18584
|
-
MapEngine["LEAFLET"] = "LEAFLET";
|
|
18585
|
-
})(MapEngine || (MapEngine = {}));
|
|
18586
|
-
const MAP_ENGINE = new InjectionToken('MAP_ENGINE');
|
|
18587
|
-
const itemEq = (a, b) => {
|
|
18588
|
-
const positions = new Set(a.map((it) => it.position));
|
|
18589
|
-
b.forEach((it) => positions.delete(it.position));
|
|
18590
|
-
return a.length === b.length && positions.size === 0;
|
|
18591
|
-
};
|
|
18592
|
-
class SmartMapComponent {
|
|
18593
|
-
constructor(mapEngine, api) {
|
|
18594
|
-
this.mapEngine = mapEngine;
|
|
18595
|
-
this.api = api;
|
|
18596
|
-
this.MapEngine = MapEngine;
|
|
18597
|
-
this.model = signal(undefined);
|
|
18598
|
-
this.items = computed(() => {
|
|
18599
|
-
const model = this.model();
|
|
18600
|
-
return model?.layers.flatMap((l) => l.items ?? []) ?? [];
|
|
18601
|
-
});
|
|
18602
|
-
this.editingSession = computed(() => this.model()?.viewState?.editingSession);
|
|
18603
|
-
this.selection = computed(() => new Set(this.items()
|
|
18604
|
-
.filter((it) => !!it.selected)
|
|
18605
|
-
.map((it) => it.id)
|
|
18606
|
-
.values()));
|
|
18607
|
-
}
|
|
18608
|
-
ngOnInit() { }
|
|
18609
|
-
ngAfterViewInit() {
|
|
18610
|
-
this.load();
|
|
18611
|
-
}
|
|
18612
|
-
async load() {
|
|
18613
|
-
const model = await lastValueFrom(this.api.load(this.uuid, this.identifier));
|
|
18614
|
-
if (!model.viewport) {
|
|
18615
|
-
throw new Error('GeoMapModel contains no viewport!');
|
|
18616
|
-
}
|
|
18617
|
-
this.model.update(() => model);
|
|
18618
|
-
}
|
|
18619
|
-
async move(viewport) {
|
|
18620
|
-
this.model.update((it) => {
|
|
18621
|
-
console.log('model update is running!');
|
|
18622
|
-
if (it) {
|
|
18623
|
-
it.viewport = viewport;
|
|
18624
|
-
}
|
|
18625
|
-
return it;
|
|
18626
|
-
});
|
|
18627
|
-
const change = await lastValueFrom(this.api.move(this.uuid, this.identifier, viewport));
|
|
18628
|
-
this.handleChange(change);
|
|
18629
|
-
}
|
|
18630
|
-
async update(mapState) {
|
|
18631
|
-
this.model.update((it) => {
|
|
18632
|
-
if (it) {
|
|
18633
|
-
it.viewState = mapState;
|
|
18634
|
-
}
|
|
18635
|
-
return it;
|
|
18636
|
-
});
|
|
18637
|
-
const change = await lastValueFrom(this.api.update(this.uuid, this.identifier, mapState));
|
|
18638
|
-
this.handleChange(change);
|
|
18639
|
-
}
|
|
18640
|
-
handleChange(change) {
|
|
18641
|
-
if (!change.items) {
|
|
18642
|
-
return;
|
|
18643
|
-
}
|
|
18644
|
-
this.model.update((it) => {
|
|
18645
|
-
const layersById = new Map();
|
|
18646
|
-
if (!it) {
|
|
18647
|
-
return it;
|
|
18648
|
-
}
|
|
18649
|
-
it.layers.forEach((layer) => layersById.set(layer.code, layer));
|
|
18650
|
-
for (const layerChange of change.items) {
|
|
18651
|
-
const layerId = layerChange.code;
|
|
18652
|
-
const toAdd = layerChange.toAdd;
|
|
18653
|
-
layersById.set(layerId, {
|
|
18654
|
-
code: layerId,
|
|
18655
|
-
items: toAdd,
|
|
18656
|
-
});
|
|
18657
|
-
}
|
|
18658
|
-
it.viewState.editingSession = change.editingSession;
|
|
18659
|
-
return {
|
|
18660
|
-
...it,
|
|
18661
|
-
layers: [...layersById.values()],
|
|
18662
|
-
viewState: it.viewState,
|
|
18663
|
-
};
|
|
18804
|
+
});
|
|
18805
|
+
});
|
|
18806
|
+
});
|
|
18807
|
+
}
|
|
18808
|
+
it.record.addTo(this.map);
|
|
18809
|
+
this.editingOverlays.set(it.id, it.record);
|
|
18664
18810
|
});
|
|
18665
18811
|
}
|
|
18666
|
-
|
|
18667
|
-
|
|
18668
|
-
|
|
18669
|
-
|
|
18670
|
-
|
|
18671
|
-
|
|
18672
|
-
|
|
18673
|
-
|
|
18674
|
-
// no-op, can't select empty space.
|
|
18675
|
-
break;
|
|
18676
|
-
}
|
|
18677
|
-
if (viewState.editingSession &&
|
|
18678
|
-
Object.keys(viewState.editingSession?.pendingItems).length > 0) {
|
|
18679
|
-
const pendingItems = viewState.editingSession.pendingItems;
|
|
18680
|
-
const firstKey = Object.keys(pendingItems)[0];
|
|
18681
|
-
const pendingItem = pendingItems[firstKey];
|
|
18682
|
-
if (pendingItem && pendingItem.length > 0) {
|
|
18683
|
-
const editingItem = pendingItem[0];
|
|
18684
|
-
if (editingItem.kind === GeoMapItemKind.MARKER) {
|
|
18685
|
-
editingItem.position = position;
|
|
18686
|
-
}
|
|
18687
|
-
else {
|
|
18688
|
-
editingItem.route.points.push(position);
|
|
18689
|
-
}
|
|
18690
|
-
}
|
|
18691
|
-
this.update(viewState);
|
|
18812
|
+
findDatasetBounds() {
|
|
18813
|
+
const items = this.items()
|
|
18814
|
+
.flatMap((it) => (it.position ? [it.position] : it.route ? it.route.points : []))
|
|
18815
|
+
.map((it) => {
|
|
18816
|
+
return { x: it.latitude, y: it.longitude };
|
|
18817
|
+
});
|
|
18818
|
+
if (!items || items.length === 0) {
|
|
18819
|
+
return null;
|
|
18692
18820
|
}
|
|
18821
|
+
let southwest = { x: items[0].x, y: items[0].y };
|
|
18822
|
+
let northeast = { x: items[0].x, y: items[0].y };
|
|
18823
|
+
items.forEach((it) => {
|
|
18824
|
+
if (it.x < southwest.x)
|
|
18825
|
+
southwest.x = it.x;
|
|
18826
|
+
if (it.y < southwest.y)
|
|
18827
|
+
southwest.y = it.y;
|
|
18828
|
+
if (it.x > northeast.x)
|
|
18829
|
+
northeast.x = it.x;
|
|
18830
|
+
if (it.y > northeast.y)
|
|
18831
|
+
northeast.y = it.y;
|
|
18832
|
+
});
|
|
18833
|
+
return { a: southwest, b: northeast };
|
|
18693
18834
|
}
|
|
18694
|
-
|
|
18695
|
-
|
|
18696
|
-
|
|
18697
|
-
|
|
18698
|
-
|
|
18699
|
-
|
|
18700
|
-
|
|
18701
|
-
|
|
18702
|
-
case GeoMapOperationMode.ACTION:
|
|
18703
|
-
// TODO: fire action!
|
|
18704
|
-
break;
|
|
18705
|
-
case GeoMapOperationMode.SELECTION:
|
|
18706
|
-
lastValueFrom(this.api.interact(this.uuid, this.identifier, {
|
|
18707
|
-
operationMode,
|
|
18708
|
-
targetItem,
|
|
18709
|
-
targetLayer: '',
|
|
18710
|
-
inverse: this.selection().has(id),
|
|
18711
|
-
})).then((change) => {
|
|
18712
|
-
if (!this.viewContextService) {
|
|
18713
|
-
console.warn('Smart Map has no ViewContext Service set up!');
|
|
18714
|
-
return null;
|
|
18835
|
+
toBase64() {
|
|
18836
|
+
return new Promise((resolve, reject) => {
|
|
18837
|
+
setTimeout(() => {
|
|
18838
|
+
leafletImage(this.map, (err, canvas) => {
|
|
18839
|
+
if (err) {
|
|
18840
|
+
console.error('Leaflet image capture error', err);
|
|
18841
|
+
reject(err);
|
|
18842
|
+
return;
|
|
18715
18843
|
}
|
|
18716
|
-
|
|
18717
|
-
|
|
18844
|
+
const ctx = canvas.getContext('2d');
|
|
18845
|
+
if (!ctx) {
|
|
18846
|
+
reject('No context');
|
|
18847
|
+
return;
|
|
18718
18848
|
}
|
|
18719
|
-
|
|
18720
|
-
|
|
18849
|
+
this.markers.forEach((marker) => {
|
|
18850
|
+
const tooltip = marker.getTooltip();
|
|
18851
|
+
if (!tooltip) {
|
|
18852
|
+
return;
|
|
18853
|
+
}
|
|
18854
|
+
const latLng = marker.getLatLng();
|
|
18855
|
+
const point = this.map.latLngToContainerPoint(latLng);
|
|
18856
|
+
const text = tooltip.getContent();
|
|
18857
|
+
// Tooltip szöveg megjelenítése
|
|
18858
|
+
ctx.font = 'bold 30px sans-serif';
|
|
18859
|
+
ctx.fillStyle = 'black';
|
|
18860
|
+
ctx.strokeStyle = 'white';
|
|
18861
|
+
ctx.lineWidth = 4;
|
|
18862
|
+
ctx.textAlign = 'center';
|
|
18863
|
+
ctx.textBaseline = 'bottom';
|
|
18864
|
+
ctx.strokeText(text, point.x, point.y + 10); // fehér kontúr
|
|
18865
|
+
ctx.fillText(text, point.x, point.y + 10); // fekete szöveg
|
|
18866
|
+
});
|
|
18867
|
+
resolve(canvas.toDataURL('image/png'));
|
|
18721
18868
|
});
|
|
18722
|
-
|
|
18723
|
-
}
|
|
18724
|
-
}
|
|
18725
|
-
handleEditingItemClick(id, event) {
|
|
18726
|
-
let viewState = this.model()?.viewState;
|
|
18727
|
-
const pendingValues = viewState?.editingSession?.pendingItems;
|
|
18728
|
-
const firstKey = Object.keys(pendingValues)[0];
|
|
18729
|
-
const pendingItems = pendingValues[firstKey];
|
|
18730
|
-
let targetItem = pendingItems[0];
|
|
18731
|
-
if (!targetItem) {
|
|
18732
|
-
console.warn('Selection item is seemingly missing from known items: ', id);
|
|
18733
|
-
return;
|
|
18734
|
-
}
|
|
18735
|
-
if (targetItem.kind === GeoMapItemKind.MARKER) {
|
|
18736
|
-
targetItem.position = undefined;
|
|
18737
|
-
this.update(viewState);
|
|
18738
|
-
}
|
|
18739
|
-
else {
|
|
18740
|
-
const points = targetItem.route.points;
|
|
18741
|
-
const index = points.findIndex((point) => point.latitude === event.coord.y && point.longitude === event.coord.x);
|
|
18742
|
-
if (index !== -1) {
|
|
18743
|
-
points.splice(index, 1);
|
|
18744
|
-
}
|
|
18745
|
-
}
|
|
18746
|
-
this.update(viewState);
|
|
18869
|
+
}, 300);
|
|
18870
|
+
});
|
|
18747
18871
|
}
|
|
18748
|
-
|
|
18749
|
-
let
|
|
18750
|
-
|
|
18751
|
-
|
|
18752
|
-
|
|
18753
|
-
|
|
18754
|
-
|
|
18755
|
-
console.warn('Selection item is seemingly missing from known items: ', id);
|
|
18756
|
-
return;
|
|
18757
|
-
}
|
|
18758
|
-
if (targetItem.kind === GeoMapItemKind.MARKER) {
|
|
18759
|
-
targetItem.position.latitude = event.dragTo.y;
|
|
18760
|
-
targetItem.position.longitude = event.dragTo.x;
|
|
18761
|
-
}
|
|
18762
|
-
else {
|
|
18763
|
-
const points = targetItem.route.points;
|
|
18764
|
-
const index = points.findIndex((point) => point.latitude === event.startPosition.y && point.longitude === event.startPosition.x);
|
|
18765
|
-
if (index !== -1) {
|
|
18766
|
-
points[index].latitude = event.dragTo.y;
|
|
18767
|
-
points[index].longitude = event.dragTo.x;
|
|
18768
|
-
}
|
|
18769
|
-
targetItem.route.points = points;
|
|
18770
|
-
}
|
|
18771
|
-
this.update(viewState);
|
|
18872
|
+
createLabel(group) {
|
|
18873
|
+
let label = '';
|
|
18874
|
+
group.forEach((item) => {
|
|
18875
|
+
label += item._tooltip._content + ', ';
|
|
18876
|
+
item._tooltip.permanent = false;
|
|
18877
|
+
});
|
|
18878
|
+
return label;
|
|
18772
18879
|
}
|
|
18773
|
-
|
|
18774
|
-
|
|
18880
|
+
createNumberedIcon(number) {
|
|
18881
|
+
const size = 35;
|
|
18882
|
+
const scaleFactor = 15;
|
|
18883
|
+
const scaledSize = size * scaleFactor;
|
|
18884
|
+
const canvas = document.createElement('canvas');
|
|
18885
|
+
canvas.width = scaledSize;
|
|
18886
|
+
canvas.height = scaledSize;
|
|
18887
|
+
canvas.style.width = canvas.style.height = '35px';
|
|
18888
|
+
const ctx = canvas.getContext('2d');
|
|
18889
|
+
ctx.scale(scaleFactor, scaleFactor);
|
|
18890
|
+
ctx.beginPath();
|
|
18891
|
+
ctx.arc(size / 2, size / 2, size / 2 - 2, 0, 2 * Math.PI, false);
|
|
18892
|
+
ctx.fillStyle = '#0078d4';
|
|
18893
|
+
ctx.fill();
|
|
18894
|
+
ctx.lineWidth = 2;
|
|
18895
|
+
ctx.strokeStyle = '#ffffff';
|
|
18896
|
+
ctx.stroke();
|
|
18897
|
+
ctx.fillStyle = '#ffffff';
|
|
18898
|
+
ctx.font = 'bold 16px sans-serif';
|
|
18899
|
+
ctx.textAlign = 'center';
|
|
18900
|
+
ctx.textBaseline = 'middle';
|
|
18901
|
+
ctx.fillText(number.toString(), size / 2, size / 2);
|
|
18902
|
+
return L.icon({
|
|
18903
|
+
iconUrl: canvas.toDataURL(),
|
|
18904
|
+
iconSize: [size, size],
|
|
18905
|
+
iconAnchor: [size / 2, size / 2],
|
|
18906
|
+
popupAnchor: [0, -size / 2],
|
|
18907
|
+
});
|
|
18775
18908
|
}
|
|
18776
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type:
|
|
18777
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
18909
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LeafletMap, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18910
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: LeafletMap, selector: "leaflet-map", usesInheritance: true, ngImport: i0, template: ` <div id="leaflet"></div>`, isInline: true, styles: ["#leaflet{height:720px}::ng-deep .marker-count{background-color:#0078d4;color:#fff;font-weight:700;border-radius:50%;width:30px;height:30px;line-height:30px;text-align:center;border:2px solid white;box-shadow:0 0 4px #0006}::ng-deep .custom-cluster-icon{pointer-events:auto!important}\n"] }); }
|
|
18778
18911
|
}
|
|
18779
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type:
|
|
18912
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LeafletMap, decorators: [{
|
|
18780
18913
|
type: Component,
|
|
18781
|
-
args: [{ selector: '
|
|
18782
|
-
}], ctorParameters: () => [{ type:
|
|
18783
|
-
|
|
18784
|
-
|
|
18785
|
-
|
|
18786
|
-
|
|
18787
|
-
|
|
18788
|
-
|
|
18789
|
-
|
|
18790
|
-
|
|
18791
|
-
|
|
18792
|
-
|
|
18793
|
-
|
|
18794
|
-
|
|
18795
|
-
|
|
18796
|
-
|
|
18797
|
-
|
|
18798
|
-
|
|
18799
|
-
|
|
18800
|
-
|
|
18801
|
-
|
|
18802
|
-
|
|
18803
|
-
|
|
18804
|
-
declarations: [SmartMapComponent, GoogleMap, LeafletMap],
|
|
18805
|
-
imports: [CommonModule, BrowserModule],
|
|
18806
|
-
providers: [{ provide: MAP_ENGINE, useValue: MapEngine.GOOGLE }],
|
|
18807
|
-
exports: [SmartMapComponent, GoogleMap, LeafletMap],
|
|
18808
|
-
}]
|
|
18809
|
-
}] });
|
|
18810
|
-
|
|
18811
|
-
/**
|
|
18812
|
-
* Custom HttpParameterCodec
|
|
18813
|
-
* Workaround for https://github.com/angular/angular/issues/18261
|
|
18814
|
-
*/
|
|
18815
|
-
let CustomHttpParameterCodec$2 = class CustomHttpParameterCodec {
|
|
18816
|
-
encodeKey(k) {
|
|
18817
|
-
return encodeURIComponent(k);
|
|
18818
|
-
}
|
|
18819
|
-
encodeValue(v) {
|
|
18820
|
-
return encodeURIComponent(v);
|
|
18821
|
-
}
|
|
18822
|
-
decodeKey(k) {
|
|
18823
|
-
return decodeURIComponent(k);
|
|
18824
|
-
}
|
|
18825
|
-
decodeValue(v) {
|
|
18826
|
-
return decodeURIComponent(v);
|
|
18827
|
-
}
|
|
18828
|
-
};
|
|
18914
|
+
args: [{ selector: 'leaflet-map', template: ` <div id="leaflet"></div>`, styles: ["#leaflet{height:720px}::ng-deep .marker-count{background-color:#0078d4;color:#fff;font-weight:700;border-radius:50%;width:30px;height:30px;line-height:30px;text-align:center;border:2px solid white;box-shadow:0 0 4px #0006}::ng-deep .custom-cluster-icon{pointer-events:auto!important}\n"] }]
|
|
18915
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }] });
|
|
18916
|
+
function getIcon(color) {
|
|
18917
|
+
const size = 12;
|
|
18918
|
+
const scaleFactor = 12;
|
|
18919
|
+
const scaledSize = size * scaleFactor;
|
|
18920
|
+
const canvas = document.createElement('canvas');
|
|
18921
|
+
canvas.width = scaledSize;
|
|
18922
|
+
canvas.height = scaledSize;
|
|
18923
|
+
canvas.style.width = canvas.style.height = `${size}px`;
|
|
18924
|
+
const ctx = canvas.getContext('2d');
|
|
18925
|
+
ctx.scale(scaleFactor, scaleFactor);
|
|
18926
|
+
ctx.beginPath();
|
|
18927
|
+
ctx.arc(size / 2, size / 2, size / 2, 0, 2 * Math.PI, false);
|
|
18928
|
+
ctx.fillStyle = color;
|
|
18929
|
+
ctx.fill();
|
|
18930
|
+
return L.icon({
|
|
18931
|
+
iconUrl: canvas.toDataURL(),
|
|
18932
|
+
iconSize: [size, size],
|
|
18933
|
+
iconAnchor: [size / 2, size / 2],
|
|
18934
|
+
popupAnchor: [0, -size / 2],
|
|
18935
|
+
});
|
|
18936
|
+
}
|
|
18829
18937
|
|
|
18830
|
-
|
|
18831
|
-
|
|
18832
|
-
|
|
18833
|
-
|
|
18834
|
-
|
|
18835
|
-
|
|
18938
|
+
var MapEngine;
|
|
18939
|
+
(function (MapEngine) {
|
|
18940
|
+
MapEngine["GOOGLE"] = "GOOGLE";
|
|
18941
|
+
MapEngine["LEAFLET"] = "LEAFLET";
|
|
18942
|
+
})(MapEngine || (MapEngine = {}));
|
|
18943
|
+
const MAP_ENGINE = new InjectionToken('MAP_ENGINE');
|
|
18944
|
+
const itemEq = (a, b) => {
|
|
18945
|
+
const positions = new Set(a.map((it) => it.position));
|
|
18946
|
+
b.forEach((it) => positions.delete(it.position));
|
|
18947
|
+
return a.length === b.length && positions.size === 0;
|
|
18836
18948
|
};
|
|
18837
|
-
|
|
18838
|
-
|
|
18839
|
-
|
|
18840
|
-
this.
|
|
18841
|
-
this.
|
|
18842
|
-
this.
|
|
18843
|
-
this.
|
|
18844
|
-
|
|
18845
|
-
|
|
18846
|
-
|
|
18847
|
-
|
|
18848
|
-
|
|
18849
|
-
|
|
18850
|
-
|
|
18851
|
-
|
|
18852
|
-
}
|
|
18853
|
-
if (configurationParameters.credentials) {
|
|
18854
|
-
this.credentials = configurationParameters.credentials;
|
|
18855
|
-
}
|
|
18856
|
-
else {
|
|
18857
|
-
this.credentials = {};
|
|
18858
|
-
}
|
|
18949
|
+
class SmartMapComponent {
|
|
18950
|
+
constructor(mapEngine, api) {
|
|
18951
|
+
this.mapEngine = mapEngine;
|
|
18952
|
+
this.api = api;
|
|
18953
|
+
this.MapEngine = MapEngine;
|
|
18954
|
+
this.model = signal(undefined);
|
|
18955
|
+
this.items = computed(() => {
|
|
18956
|
+
const model = this.model();
|
|
18957
|
+
return model?.layers.flatMap((l) => l.items ?? []) ?? [];
|
|
18958
|
+
});
|
|
18959
|
+
this.editingSession = computed(() => this.model()?.viewState?.editingSession);
|
|
18960
|
+
this.selection = computed(() => new Set(this.items()
|
|
18961
|
+
.filter((it) => !!it.selected)
|
|
18962
|
+
.map((it) => it.id)
|
|
18963
|
+
.values()));
|
|
18859
18964
|
}
|
|
18860
|
-
|
|
18861
|
-
|
|
18862
|
-
|
|
18863
|
-
* If no content type is found return the first found type if the contentTypes is not empty
|
|
18864
|
-
* @param contentTypes - the array of content types that are available for selection
|
|
18865
|
-
* @returns the selected content-type or <code>undefined</code> if no selection could be made.
|
|
18866
|
-
*/
|
|
18867
|
-
selectHeaderContentType(contentTypes) {
|
|
18868
|
-
if (contentTypes.length === 0) {
|
|
18869
|
-
return undefined;
|
|
18870
|
-
}
|
|
18871
|
-
const type = contentTypes.find((x) => this.isJsonMime(x));
|
|
18872
|
-
if (type === undefined) {
|
|
18873
|
-
return contentTypes[0];
|
|
18874
|
-
}
|
|
18875
|
-
return type;
|
|
18965
|
+
ngOnInit() { }
|
|
18966
|
+
ngAfterViewInit() {
|
|
18967
|
+
this.load();
|
|
18876
18968
|
}
|
|
18877
|
-
|
|
18878
|
-
|
|
18879
|
-
|
|
18880
|
-
|
|
18881
|
-
* @param accepts - the array of content types that are available for selection.
|
|
18882
|
-
* @returns the selected content-type or <code>undefined</code> if no selection could be made.
|
|
18883
|
-
*/
|
|
18884
|
-
selectHeaderAccept(accepts) {
|
|
18885
|
-
if (accepts.length === 0) {
|
|
18886
|
-
return undefined;
|
|
18887
|
-
}
|
|
18888
|
-
const type = accepts.find((x) => this.isJsonMime(x));
|
|
18889
|
-
if (type === undefined) {
|
|
18890
|
-
return accepts[0];
|
|
18969
|
+
async load() {
|
|
18970
|
+
const model = await lastValueFrom(this.api.load(this.uuid, this.identifier));
|
|
18971
|
+
if (!model.viewport) {
|
|
18972
|
+
throw new Error('GeoMapModel contains no viewport!');
|
|
18891
18973
|
}
|
|
18892
|
-
|
|
18893
|
-
}
|
|
18894
|
-
/**
|
|
18895
|
-
* Check if the given MIME is a JSON MIME.
|
|
18896
|
-
* JSON MIME examples:
|
|
18897
|
-
* application/json
|
|
18898
|
-
* application/json; charset=UTF8
|
|
18899
|
-
* APPLICATION/JSON
|
|
18900
|
-
* application/vnd.company+json
|
|
18901
|
-
* @param mime - MIME (Multipurpose Internet Mail Extensions)
|
|
18902
|
-
* @return True if the given MIME is JSON, false otherwise.
|
|
18903
|
-
*/
|
|
18904
|
-
isJsonMime(mime) {
|
|
18905
|
-
const jsonMime = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i');
|
|
18906
|
-
return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');
|
|
18974
|
+
this.model.update(() => model);
|
|
18907
18975
|
}
|
|
18908
|
-
|
|
18909
|
-
|
|
18910
|
-
|
|
18911
|
-
|
|
18912
|
-
|
|
18976
|
+
async move(viewport) {
|
|
18977
|
+
this.model.update((it) => {
|
|
18978
|
+
console.log('model update is running!');
|
|
18979
|
+
if (it) {
|
|
18980
|
+
it.viewport = viewport;
|
|
18981
|
+
}
|
|
18982
|
+
return it;
|
|
18983
|
+
});
|
|
18984
|
+
const change = await lastValueFrom(this.api.move(this.uuid, this.identifier, viewport));
|
|
18985
|
+
this.handleChange(change);
|
|
18913
18986
|
}
|
|
18914
|
-
|
|
18915
|
-
|
|
18916
|
-
|
|
18917
|
-
|
|
18918
|
-
|
|
18919
|
-
|
|
18920
|
-
|
|
18921
|
-
|
|
18922
|
-
|
|
18923
|
-
? param.value.toISOString()
|
|
18924
|
-
: param.value;
|
|
18925
|
-
return encodeURIComponent(String(value));
|
|
18987
|
+
async update(mapState) {
|
|
18988
|
+
this.model.update((it) => {
|
|
18989
|
+
if (it) {
|
|
18990
|
+
it.viewState = mapState;
|
|
18991
|
+
}
|
|
18992
|
+
return it;
|
|
18993
|
+
});
|
|
18994
|
+
const change = await lastValueFrom(this.api.update(this.uuid, this.identifier, mapState));
|
|
18995
|
+
this.handleChange(change);
|
|
18926
18996
|
}
|
|
18927
|
-
|
|
18928
|
-
|
|
18929
|
-
|
|
18930
|
-
* Form layout definition
|
|
18931
|
-
* Contains form layout definition objects.
|
|
18932
|
-
*
|
|
18933
|
-
* The version of the OpenAPI document: 1.0.0
|
|
18934
|
-
* Contact: info@it4all.hu
|
|
18935
|
-
*
|
|
18936
|
-
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
18937
|
-
* https://openapi-generator.tech
|
|
18938
|
-
* Do not edit the class manually.
|
|
18939
|
-
*/
|
|
18940
|
-
/* tslint:disable:no-unused-variable member-ordering */
|
|
18941
|
-
class DefaultService {
|
|
18942
|
-
constructor(httpClient, basePath, configuration) {
|
|
18943
|
-
this.httpClient = httpClient;
|
|
18944
|
-
this.basePath = 'http://localhost';
|
|
18945
|
-
this.defaultHeaders = new HttpHeaders();
|
|
18946
|
-
this.configuration = new Configuration$2();
|
|
18947
|
-
if (configuration) {
|
|
18948
|
-
this.configuration = configuration;
|
|
18997
|
+
handleChange(change) {
|
|
18998
|
+
if (!change.items) {
|
|
18999
|
+
return;
|
|
18949
19000
|
}
|
|
18950
|
-
|
|
18951
|
-
|
|
18952
|
-
|
|
19001
|
+
this.model.update((it) => {
|
|
19002
|
+
const layersById = new Map();
|
|
19003
|
+
if (!it) {
|
|
19004
|
+
return it;
|
|
18953
19005
|
}
|
|
18954
|
-
|
|
18955
|
-
|
|
19006
|
+
it.layers.forEach((layer) => layersById.set(layer.code, layer));
|
|
19007
|
+
for (const layerChange of change.items) {
|
|
19008
|
+
const layerId = layerChange.code;
|
|
19009
|
+
const toAdd = layerChange.toAdd;
|
|
19010
|
+
layersById.set(layerId, {
|
|
19011
|
+
code: layerId,
|
|
19012
|
+
items: toAdd,
|
|
19013
|
+
});
|
|
18956
19014
|
}
|
|
18957
|
-
|
|
19015
|
+
it.viewState.editingSession = change.editingSession;
|
|
19016
|
+
return {
|
|
19017
|
+
...it,
|
|
19018
|
+
layers: [...layersById.values()],
|
|
19019
|
+
viewState: it.viewState,
|
|
19020
|
+
};
|
|
19021
|
+
});
|
|
19022
|
+
}
|
|
19023
|
+
handleMapClick(position) {
|
|
19024
|
+
let viewState = this.model()?.viewState;
|
|
19025
|
+
const operationMode = this.model()?.viewState?.operationMode ?? GeoMapOperationMode.ACTION;
|
|
19026
|
+
switch (operationMode) {
|
|
19027
|
+
case GeoMapOperationMode.ACTION:
|
|
19028
|
+
// TODO: Fire action for layer, if applicable (maybe only on double click).
|
|
19029
|
+
break;
|
|
19030
|
+
case GeoMapOperationMode.SELECTION:
|
|
19031
|
+
// no-op, can't select empty space.
|
|
19032
|
+
break;
|
|
19033
|
+
}
|
|
19034
|
+
if (viewState.editingSession &&
|
|
19035
|
+
Object.keys(viewState.editingSession?.pendingItems).length > 0) {
|
|
19036
|
+
const pendingItems = viewState.editingSession.pendingItems;
|
|
19037
|
+
const firstKey = Object.keys(pendingItems)[0];
|
|
19038
|
+
const pendingItem = pendingItems[firstKey];
|
|
19039
|
+
if (pendingItem && pendingItem.length > 0) {
|
|
19040
|
+
const editingItem = pendingItem[0];
|
|
19041
|
+
if (editingItem.kind === GeoMapItemKind.MARKER) {
|
|
19042
|
+
editingItem.position = position;
|
|
19043
|
+
}
|
|
19044
|
+
else {
|
|
19045
|
+
editingItem.route.points.push(position);
|
|
19046
|
+
}
|
|
19047
|
+
}
|
|
19048
|
+
this.update(viewState);
|
|
18958
19049
|
}
|
|
18959
|
-
this.encoder = this.configuration.encoder || new CustomHttpParameterCodec$2();
|
|
18960
19050
|
}
|
|
18961
|
-
|
|
18962
|
-
|
|
18963
|
-
|
|
18964
|
-
|
|
19051
|
+
handleItemClick(id) {
|
|
19052
|
+
const operationMode = this.model()?.viewState?.operationMode ?? GeoMapOperationMode.ACTION;
|
|
19053
|
+
let targetItem = this.items().find((it) => id === it.id);
|
|
19054
|
+
if (!targetItem) {
|
|
19055
|
+
console.warn('Selection item is seemingly missing from known items: ', id);
|
|
19056
|
+
return;
|
|
18965
19057
|
}
|
|
18966
|
-
|
|
18967
|
-
|
|
19058
|
+
switch (operationMode) {
|
|
19059
|
+
case GeoMapOperationMode.ACTION:
|
|
19060
|
+
// TODO: fire action!
|
|
19061
|
+
break;
|
|
19062
|
+
case GeoMapOperationMode.SELECTION:
|
|
19063
|
+
lastValueFrom(this.api.interact(this.uuid, this.identifier, {
|
|
19064
|
+
operationMode,
|
|
19065
|
+
targetItem,
|
|
19066
|
+
targetLayer: '',
|
|
19067
|
+
inverse: this.selection().has(id),
|
|
19068
|
+
})).then((change) => {
|
|
19069
|
+
if (!this.viewContextService) {
|
|
19070
|
+
console.warn('Smart Map has no ViewContext Service set up!');
|
|
19071
|
+
return null;
|
|
19072
|
+
}
|
|
19073
|
+
else {
|
|
19074
|
+
return this.viewContextService.handlePerformActionResponse(change);
|
|
19075
|
+
}
|
|
19076
|
+
}, (err) => {
|
|
19077
|
+
console.warn('Could not submit selection change! ', err);
|
|
19078
|
+
});
|
|
19079
|
+
break;
|
|
18968
19080
|
}
|
|
18969
|
-
return httpParams;
|
|
18970
19081
|
}
|
|
18971
|
-
|
|
18972
|
-
|
|
18973
|
-
|
|
18974
|
-
|
|
18975
|
-
|
|
18976
|
-
|
|
18977
|
-
|
|
18978
|
-
|
|
18979
|
-
|
|
18980
|
-
if (key != null) {
|
|
18981
|
-
httpParams = httpParams.append(key, value.toISOString().substr(0, 10));
|
|
18982
|
-
}
|
|
18983
|
-
else {
|
|
18984
|
-
throw Error("key may not be null if value is Date");
|
|
18985
|
-
}
|
|
18986
|
-
}
|
|
18987
|
-
else {
|
|
18988
|
-
Object.keys(value).forEach(k => httpParams = this.addToHttpParamsRecursive(httpParams, value[k], key != null ? `${key}.${k}` : k));
|
|
18989
|
-
}
|
|
19082
|
+
handleEditingItemClick(id, event) {
|
|
19083
|
+
let viewState = this.model()?.viewState;
|
|
19084
|
+
const pendingValues = viewState?.editingSession?.pendingItems;
|
|
19085
|
+
const firstKey = Object.keys(pendingValues)[0];
|
|
19086
|
+
const pendingItems = pendingValues[firstKey];
|
|
19087
|
+
let targetItem = pendingItems[0];
|
|
19088
|
+
if (!targetItem) {
|
|
19089
|
+
console.warn('Selection item is seemingly missing from known items: ', id);
|
|
19090
|
+
return;
|
|
18990
19091
|
}
|
|
18991
|
-
|
|
18992
|
-
|
|
19092
|
+
if (targetItem.kind === GeoMapItemKind.MARKER) {
|
|
19093
|
+
targetItem.position = undefined;
|
|
19094
|
+
this.update(viewState);
|
|
18993
19095
|
}
|
|
18994
19096
|
else {
|
|
18995
|
-
|
|
19097
|
+
const points = targetItem.route.points;
|
|
19098
|
+
const index = points.findIndex((point) => point.latitude === event.coord.y && point.longitude === event.coord.x);
|
|
19099
|
+
if (index !== -1) {
|
|
19100
|
+
points.splice(index, 1);
|
|
19101
|
+
}
|
|
18996
19102
|
}
|
|
18997
|
-
|
|
19103
|
+
this.update(viewState);
|
|
18998
19104
|
}
|
|
18999
|
-
|
|
19000
|
-
let
|
|
19001
|
-
|
|
19002
|
-
|
|
19003
|
-
|
|
19004
|
-
|
|
19005
|
-
|
|
19006
|
-
|
|
19007
|
-
|
|
19008
|
-
localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
|
|
19105
|
+
handleEditingItemDrag(id, event) {
|
|
19106
|
+
let viewState = this.model()?.viewState;
|
|
19107
|
+
const pendingValues = viewState?.editingSession?.pendingItems;
|
|
19108
|
+
const firstKey = Object.keys(pendingValues)[0];
|
|
19109
|
+
const pendingItems = pendingValues[firstKey];
|
|
19110
|
+
let targetItem = pendingItems[0];
|
|
19111
|
+
if (!targetItem) {
|
|
19112
|
+
console.warn('Selection item is seemingly missing from known items: ', id);
|
|
19113
|
+
return;
|
|
19009
19114
|
}
|
|
19010
|
-
|
|
19011
|
-
|
|
19012
|
-
|
|
19115
|
+
if (targetItem.kind === GeoMapItemKind.MARKER) {
|
|
19116
|
+
targetItem.position.latitude = event.dragTo.y;
|
|
19117
|
+
targetItem.position.longitude = event.dragTo.x;
|
|
19013
19118
|
}
|
|
19014
|
-
|
|
19015
|
-
|
|
19016
|
-
|
|
19017
|
-
|
|
19018
|
-
|
|
19019
|
-
|
|
19020
|
-
responseType_ = 'json';
|
|
19021
|
-
}
|
|
19022
|
-
else {
|
|
19023
|
-
responseType_ = 'blob';
|
|
19119
|
+
else {
|
|
19120
|
+
const points = targetItem.route.points;
|
|
19121
|
+
const index = points.findIndex((point) => point.latitude === event.startPosition.y && point.longitude === event.startPosition.x);
|
|
19122
|
+
if (index !== -1) {
|
|
19123
|
+
points[index].latitude = event.dragTo.y;
|
|
19124
|
+
points[index].longitude = event.dragTo.x;
|
|
19024
19125
|
}
|
|
19126
|
+
targetItem.route.points = points;
|
|
19025
19127
|
}
|
|
19026
|
-
|
|
19027
|
-
return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`, {
|
|
19028
|
-
context: localVarHttpContext,
|
|
19029
|
-
responseType: responseType_,
|
|
19030
|
-
withCredentials: this.configuration.withCredentials,
|
|
19031
|
-
headers: localVarHeaders,
|
|
19032
|
-
observe: observe,
|
|
19033
|
-
reportProgress: reportProgress
|
|
19034
|
-
});
|
|
19128
|
+
this.update(viewState);
|
|
19035
19129
|
}
|
|
19036
|
-
|
|
19037
|
-
|
|
19130
|
+
toBase64() {
|
|
19131
|
+
return this.mapComponent.toBase64();
|
|
19132
|
+
}
|
|
19133
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartMapComponent, deps: [{ token: MAP_ENGINE }, { token: GeoMapService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19134
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: SmartMapComponent, selector: "smart-map", inputs: { uuid: "uuid", identifier: "identifier", parent: "parent" }, viewQueries: [{ propertyName: "mapComponent", first: true, predicate: ["mapComponent"], descendants: true }], ngImport: i0, template: "@if (model()) { @if (mapEngine === MapEngine.GOOGLE) {\r\n<google-map\r\n #mapComponent\r\n [model]=\"model()!\"\r\n [items]=\"items()\"\r\n [style]=\"{ width: '100%', height: '320px' }\"\r\n (onMapDragEnd)=\"move($event.viewport)\"\r\n (onZoomChanged)=\"move($event.viewport)\"\r\n (onMapClick)=\"handleMapClick($event.coordinates)\"\r\n (onOverlayClick)=\"handleItemClick($event.itemId)\"\r\n (onEditingOverlayClick)=\"handleEditingItemClick($event.itemId, $event)\"\r\n>\r\n</google-map>\r\n} @else if (mapEngine === MapEngine.LEAFLET) {\r\n<leaflet-map\r\n #mapComponent\r\n [model]=\"model()!\"\r\n [items]=\"items()\"\r\n [editingSession]=\"editingSession()\"\r\n (onMapDragEnd)=\"move($event.viewport)\"\r\n (onZoomChanged)=\"move($event.viewport)\"\r\n (onMapClick)=\"handleMapClick($event.coordinates)\"\r\n (onOverlayClick)=\"handleItemClick($event.itemId)\"\r\n (onEditingOverlayClick)=\"handleEditingItemClick($event.itemId, $event)\"\r\n (onEditingOverlayDrag)=\"handleEditingItemDrag($event.itemId, $event)\"\r\n>\r\n</leaflet-map>\r\n} @else {\r\n<p>\r\n <strong>Not recognised map engine: [ {{ mapEngine }} ]</strong>\r\n</p>\r\n<p>Please provide a valid choice of map engine!</p>\r\n} }\r\n", styles: [""], dependencies: [{ kind: "component", type: GoogleMap, selector: "google-map", inputs: ["style", "styleClass"], outputs: ["onOverlayDblClick", "onOverlayDragStart", "onOverlayDrag", "onOverlayDragEnd", "onMapReady"] }, { kind: "component", type: LeafletMap, selector: "leaflet-map" }] }); }
|
|
19038
19135
|
}
|
|
19039
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type:
|
|
19040
|
-
type:
|
|
19041
|
-
args: [{
|
|
19042
|
-
|
|
19043
|
-
}]
|
|
19044
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
19045
|
-
type: Optional
|
|
19046
|
-
}, {
|
|
19136
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartMapComponent, decorators: [{
|
|
19137
|
+
type: Component,
|
|
19138
|
+
args: [{ selector: 'smart-map', template: "@if (model()) { @if (mapEngine === MapEngine.GOOGLE) {\r\n<google-map\r\n #mapComponent\r\n [model]=\"model()!\"\r\n [items]=\"items()\"\r\n [style]=\"{ width: '100%', height: '320px' }\"\r\n (onMapDragEnd)=\"move($event.viewport)\"\r\n (onZoomChanged)=\"move($event.viewport)\"\r\n (onMapClick)=\"handleMapClick($event.coordinates)\"\r\n (onOverlayClick)=\"handleItemClick($event.itemId)\"\r\n (onEditingOverlayClick)=\"handleEditingItemClick($event.itemId, $event)\"\r\n>\r\n</google-map>\r\n} @else if (mapEngine === MapEngine.LEAFLET) {\r\n<leaflet-map\r\n #mapComponent\r\n [model]=\"model()!\"\r\n [items]=\"items()\"\r\n [editingSession]=\"editingSession()\"\r\n (onMapDragEnd)=\"move($event.viewport)\"\r\n (onZoomChanged)=\"move($event.viewport)\"\r\n (onMapClick)=\"handleMapClick($event.coordinates)\"\r\n (onOverlayClick)=\"handleItemClick($event.itemId)\"\r\n (onEditingOverlayClick)=\"handleEditingItemClick($event.itemId, $event)\"\r\n (onEditingOverlayDrag)=\"handleEditingItemDrag($event.itemId, $event)\"\r\n>\r\n</leaflet-map>\r\n} @else {\r\n<p>\r\n <strong>Not recognised map engine: [ {{ mapEngine }} ]</strong>\r\n</p>\r\n<p>Please provide a valid choice of map engine!</p>\r\n} }\r\n" }]
|
|
19139
|
+
}], ctorParameters: () => [{ type: MapEngine, decorators: [{
|
|
19047
19140
|
type: Inject,
|
|
19048
|
-
args: [
|
|
19049
|
-
}] }, { type:
|
|
19050
|
-
|
|
19051
|
-
|
|
19052
|
-
|
|
19053
|
-
|
|
19054
|
-
|
|
19055
|
-
|
|
19056
|
-
|
|
19057
|
-
|
|
19058
|
-
|
|
19059
|
-
* The version of the OpenAPI document: 1.0.0
|
|
19060
|
-
* Contact: info@it4all.hu
|
|
19061
|
-
*
|
|
19062
|
-
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
19063
|
-
* https://openapi-generator.tech
|
|
19064
|
-
* Do not edit the class manually.
|
|
19065
|
-
*/
|
|
19066
|
-
var ComponentType;
|
|
19067
|
-
(function (ComponentType) {
|
|
19068
|
-
ComponentType["CONTAINER"] = "container";
|
|
19069
|
-
ComponentType["FORM"] = "form";
|
|
19070
|
-
ComponentType["WIDGET"] = "widget";
|
|
19071
|
-
})(ComponentType || (ComponentType = {}));
|
|
19072
|
-
|
|
19073
|
-
/**
|
|
19074
|
-
* Form layout definition
|
|
19075
|
-
* Contains form layout definition objects.
|
|
19076
|
-
*
|
|
19077
|
-
* The version of the OpenAPI document: 1.0.0
|
|
19078
|
-
* Contact: info@it4all.hu
|
|
19079
|
-
*
|
|
19080
|
-
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
19081
|
-
* https://openapi-generator.tech
|
|
19082
|
-
* Do not edit the class manually.
|
|
19083
|
-
*/
|
|
19084
|
-
var ComponentWidgetType;
|
|
19085
|
-
(function (ComponentWidgetType) {
|
|
19086
|
-
ComponentWidgetType["GRID"] = "grid";
|
|
19087
|
-
ComponentWidgetType["FILTER"] = "filter";
|
|
19088
|
-
ComponentWidgetType["TREE"] = "tree";
|
|
19089
|
-
ComponentWidgetType["TOOLBAR"] = "toolbar";
|
|
19090
|
-
ComponentWidgetType["MAP"] = "map";
|
|
19091
|
-
ComponentWidgetType["DIAGRAM"] = "diagram";
|
|
19092
|
-
ComponentWidgetType["EMBEDDED_SLOT"] = "embedded_slot";
|
|
19093
|
-
})(ComponentWidgetType || (ComponentWidgetType = {}));
|
|
19094
|
-
|
|
19095
|
-
/**
|
|
19096
|
-
* Form layout definition
|
|
19097
|
-
* Contains form layout definition objects.
|
|
19098
|
-
*
|
|
19099
|
-
* The version of the OpenAPI document: 1.0.0
|
|
19100
|
-
* Contact: info@it4all.hu
|
|
19101
|
-
*
|
|
19102
|
-
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
19103
|
-
* https://openapi-generator.tech
|
|
19104
|
-
* Do not edit the class manually.
|
|
19105
|
-
*/
|
|
19106
|
-
var LayoutDirection;
|
|
19107
|
-
(function (LayoutDirection) {
|
|
19108
|
-
LayoutDirection["HORIZONTAL"] = "horizontal";
|
|
19109
|
-
LayoutDirection["VERTICAL"] = "vertical";
|
|
19110
|
-
})(LayoutDirection || (LayoutDirection = {}));
|
|
19111
|
-
|
|
19112
|
-
/**
|
|
19113
|
-
* Form layout definition
|
|
19114
|
-
* Contains form layout definition objects.
|
|
19115
|
-
*
|
|
19116
|
-
* The version of the OpenAPI document: 1.0.0
|
|
19117
|
-
* Contact: info@it4all.hu
|
|
19118
|
-
*
|
|
19119
|
-
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
19120
|
-
* https://openapi-generator.tech
|
|
19121
|
-
* Do not edit the class manually.
|
|
19122
|
-
*/
|
|
19141
|
+
args: [MAP_ENGINE]
|
|
19142
|
+
}] }, { type: GeoMapService }], propDecorators: { uuid: [{
|
|
19143
|
+
type: Input
|
|
19144
|
+
}], identifier: [{
|
|
19145
|
+
type: Input
|
|
19146
|
+
}], parent: [{
|
|
19147
|
+
type: Input
|
|
19148
|
+
}], mapComponent: [{
|
|
19149
|
+
type: ViewChild,
|
|
19150
|
+
args: ['mapComponent']
|
|
19151
|
+
}] } });
|
|
19123
19152
|
|
|
19124
|
-
|
|
19125
|
-
static
|
|
19126
|
-
|
|
19127
|
-
|
|
19128
|
-
|
|
19129
|
-
|
|
19130
|
-
}
|
|
19131
|
-
constructor(parentModule, http) {
|
|
19132
|
-
if (parentModule) {
|
|
19133
|
-
throw new Error('ApiModule is already loaded. Import in your base AppModule only.');
|
|
19134
|
-
}
|
|
19135
|
-
if (!http) {
|
|
19136
|
-
throw new Error('You need to import the HttpClientModule in your AppModule! \n' +
|
|
19137
|
-
'See also https://github.com/angular/angular/issues/20575');
|
|
19138
|
-
}
|
|
19139
|
-
}
|
|
19140
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ApiModule, deps: [{ token: ApiModule, optional: true, skipSelf: true }, { token: i1.HttpClient, optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
19141
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: ApiModule }); }
|
|
19142
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ApiModule }); }
|
|
19143
|
-
};
|
|
19144
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ApiModule$1, decorators: [{
|
|
19153
|
+
class SmartMapModule {
|
|
19154
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartMapModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
19155
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: SmartMapModule, declarations: [SmartMapComponent, GoogleMap, LeafletMap], imports: [CommonModule, BrowserModule], exports: [SmartMapComponent, GoogleMap, LeafletMap] }); }
|
|
19156
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartMapModule, providers: [{ provide: MAP_ENGINE, useValue: MapEngine.GOOGLE }], imports: [CommonModule, BrowserModule] }); }
|
|
19157
|
+
}
|
|
19158
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartMapModule, decorators: [{
|
|
19145
19159
|
type: NgModule,
|
|
19146
19160
|
args: [{
|
|
19147
|
-
|
|
19148
|
-
|
|
19149
|
-
|
|
19150
|
-
|
|
19161
|
+
declarations: [SmartMapComponent, GoogleMap, LeafletMap],
|
|
19162
|
+
imports: [CommonModule, BrowserModule],
|
|
19163
|
+
providers: [{ provide: MAP_ENGINE, useValue: MapEngine.GOOGLE }],
|
|
19164
|
+
exports: [SmartMapComponent, GoogleMap, LeafletMap],
|
|
19151
19165
|
}]
|
|
19152
|
-
}]
|
|
19153
|
-
type: Optional
|
|
19154
|
-
}, {
|
|
19155
|
-
type: SkipSelf
|
|
19156
|
-
}] }, { type: i1.HttpClient, decorators: [{
|
|
19157
|
-
type: Optional
|
|
19158
|
-
}] }] });
|
|
19166
|
+
}] });
|
|
19159
19167
|
|
|
19160
19168
|
/*
|
|
19161
19169
|
* Public API Surface of smart-grid
|
|
@@ -23128,5 +23136,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
23128
23136
|
* Generated bundle index. Do not edit.
|
|
23129
23137
|
*/
|
|
23130
23138
|
|
|
23131
|
-
export { APIS$5 as APIS, AbstractMap, ApiModule$5 as ApiModule, ApiQueueService, BASE_PATH$7 as BASE_PATH, COLLECTION_FORMATS$7 as COLLECTION_FORMATS, COMPONENT_LIBRARY, CUSTOM_DIAGRAM_OPTIONS, CloseResult, ComparableDropdownDirective, ComparableMultiselectDirective, ComponentFactoryService, ComponentFactoryServiceModule, ComponentLibrary, ComponentType, ComponentWidgetType, Configuration$7 as Configuration, DIALOG_DISABLE_CLOSE, DataChangeKind, DefaultChartOptionsProvider, DefaultUiActionCode_CLOSE, DrawTime, EMPTY_PARAMS, ExpandableSectionButtonIconPosition, ExpandableSectionButtonType, ExpandableSectionComponent, FilterExpressionBoolOperator$1 as FilterExpressionBoolOperator, FilterExpressionBuilderGroupBuilderGroupKindEnum, FilterExpressionDataType, FilterExpressionFieldWidgetType, FilterExpressionOperation, FilterExpressionOrderByOrderEnum, GeoMapDataLoadingMode, GeoMapDataSourceType, GeoMapItemKind, GeoMapOperationMode, GeoMapSelectionMode, GeoMapTextType, GoogleMap, GridColumnContentType, GridDataAccessConfigKindEnum, GridSelectionMode, GridSelectionType, GridUiActionType, GridViewDescriptorKindEnum, HighlightPipe, IS_ASYNC_PARAM_NAME, IconPosition, ImageResourceKindEnum, LayoutDirection, LeafletMap, LinkTargetEnum, MAP_ENGINE, MapEngine, MenuComponent, MessageOptionType, MessageTextType, MessageType, NAMED_VALIDATOR, NamedValidatorOperationEnum, NamedValidatorService, PhotoCaptureWidgetComponent, SelectionDefinitionTypeEnum, SelectionDefinitionValueSetValueTypeEnum, ServerRequestType, SessionAPIS, SessionErrorBehaviour, SessionService, SharedModule, SimplifiedTabGroupComponent, SmartActionType, SmartAuthService, SmartComponent, SmartComponentApiClient, SmartComponentLayoutComponent, SmartComponentLayoutModule, SmartComponentLayoutUtility, SmartDatePipe, SmartDateTimePipe, SmartDiagramComponent, SmartDiagramModule, SmartDialog, SmartEmbeddedSlotDirective, SmartExpandableSectionModule, SmartExpandableSectionService, SmartFileEditorComponent, SmartFileUploaderComponent, SmartFilterComponent, SmartFilterEditorContentComponent, SmartFilterEditorModule, SmartFilterEditorService, SmartFilterExpressionItemComponent, SmartFilterExpressionItemsComponent, SmartFilterModule, SmartFilterParamComponent, SmartFilterParamsComponent, SmartFilterPosition, SmartFilterType, SmartFormInputMode, SmartFormTextFieldButtonIconPosition, SmartFormWidgetDirection, SmartFormWidgetType, SmartFormWidgetWidth, SmartGridButtonType, SmartGridComponent, SmartGridDataLayout, SmartGridModule, SmartGridService, SmartGridType, SmartIconComponent, SmartIconModule, SmartIconService, SmartLayoutDef, SmartLinkChannelVariableInPath, SmartLinkMigrationStatusStatusEnum, SmartLinkUuidVariableInPath, SmartMapComponent, SmartMapModule, SmartMultiFileEditorComponent, SmartNavbarComponent, SmartNavbarModule, SmartNavbarService, SmartNavigationModule, SmartNavigationService, SmartNgClientModule, SmartNgClientService, SmartService, SmartSessionModule, SmartSessionService, SmartSessionTimerComponent, SmartSessionTimerService, SmartSubject, SmartTabGroupModule, SmartTabGroupService, SmartTable, SmartTableButtonType, SmartTableHeaderPropertyType, SmartTableInterfaceTypeEnum, SmartTableOptionButtonDirection, SmartTableOrder, SmartTableType, SmartTimePipe, SmartTooltipDirective, SmartTreeComponent, SmartTreeNodeButtonType, SmartUserSettinsIconPosition, SmartValidationModule, SmartValidatorName, SmartViewContextErrorDialogButtonLabel, SmartViewContextErrorDialogMessage, SmartViewContextErrorDialogTitle, SmartViewContextModule, SmartViewContextService, SmartViewRedirect, SmartWidgetHintPosition, SmartWidgetHintPositionEnum, SmartWidgetSettings, SmartdialogModule, SmartdialogService, SmartfileuploaderComponent, SmartformComponent, SmartformLayoutDefinitionService, SmartformwidgetComponent, SmarttableComponent, SmarttableModule, SmarttableService, SmarttreeGenericService, SmarttreeModule, SmarttreeService, TabGroupComponent, ToggleLabelPosition, UiActionButtonComponent, UiActionButtonType, UiActionConfirmDialogComponent, UiActionConfirmDialogService, UiActionDescriptorService, UiActionDialogButtonComponent, UiActionDialogType, UiActionFeedbackType, UiActionInputDialogComponent, UiActionInputDialogService, UiActionInputType, UiActionService, UiActionToolbarComponent, UiActionTooltipTooltipPositionEnum, UiBadgeComponent, UiBadgeDirective, UploadWidgetComponent, UploadWidgetType, ValueChangeMode, ViewEventHandlerViewEventTypeEnum, ViewService, ViewState, ViewType, VoiceRecordWidgetComponent, barChart, bubbleChart, createBasicOptions, doughnutChart, horizontalBarChart, horizontalStackedBarChart, multiAxisLineChart, pieChart, polarAreaChart, radarChart, scatterChart, stackedBarChart, transformDataToBarLikeDataSet, transformDataToBasicDataSets, transformDataToBubble, transformDataToScatter };
|
|
23139
|
+
export { APIS$5 as APIS, AbstractMap, ApiModule$5 as ApiModule, ApiQueueService, BASE_PATH$7 as BASE_PATH, COLLECTION_FORMATS$7 as COLLECTION_FORMATS, COMPONENT_LIBRARY, CUSTOM_DIAGRAM_OPTIONS, CloseResult, ComparableDropdownDirective, ComparableMultiselectDirective, ComponentFactoryService, ComponentFactoryServiceModule, ComponentLibrary, ComponentType, ComponentWidgetType, Configuration$7 as Configuration, DIALOG_DISABLE_CLOSE, DataChangeKind, DefaultChartOptionsProvider, DefaultUiActionCode_CLOSE, DrawTime, EMPTY_PARAMS, ExpandableSectionButtonIconPosition, ExpandableSectionButtonType, ExpandableSectionComponent, FilterExpressionBoolOperator$1 as FilterExpressionBoolOperator, FilterExpressionBuilderGroupBuilderGroupKindEnum, FilterExpressionDataType, FilterExpressionFieldWidgetType, FilterExpressionOperation, FilterExpressionOrderByOrderEnum, GeoMapDataLoadingMode, GeoMapDataSourceType, GeoMapItemKind, GeoMapOperationMode, GeoMapSelectionMode, GeoMapTextType, GoogleMap, GridColumnContentType, GridDataAccessConfigKindEnum, GridSelectionMode, GridSelectionType, GridUiActionType, GridViewDescriptorKindEnum, HighlightPipe, IS_ASYNC_PARAM_NAME, IconPosition, ImageResourceKindEnum, LayoutDirection, LeafletMap, LinkTargetEnum, MAP_ENGINE, MapEngine, MenuComponent, MessageOptionType, MessageTextType, MessageType, NAMED_VALIDATOR, NamedValidatorOperationEnum, NamedValidatorService, PhotoCaptureWidgetComponent, SelectionDefinitionTypeEnum, SelectionDefinitionValueSetValueTypeEnum, ServerRequestType, SessionAPIS, SessionErrorBehaviour, SessionService, SharedModule, SimplifiedTabGroupComponent, SmartActionType, SmartAuthService, SmartComponent, SmartComponentApiClient, SmartComponentLayoutComponent, SmartComponentLayoutModule, SmartComponentLayoutUtility, SmartDatePipe, SmartDateTimePipe, SmartDiagramComponent, SmartDiagramModule, SmartDialog, SmartEmbeddedSlotDirective, SmartExpandableSectionModule, SmartExpandableSectionService, SmartFileEditorComponent, SmartFileUploaderComponent, SmartFilterComponent, SmartFilterEditorContentComponent, SmartFilterEditorModule, SmartFilterEditorService, SmartFilterExpressionItemComponent, SmartFilterExpressionItemsComponent, SmartFilterModule, SmartFilterParamComponent, SmartFilterParamsComponent, SmartFilterPosition, SmartFilterType, SmartFormInputMode, SmartFormTextFieldButtonIconPosition, SmartFormWidgetDirection, SmartFormWidgetType, SmartFormWidgetWidth, SmartGridButtonType, SmartGridComponent, SmartGridDataLayout, SmartGridModule, SmartGridService, SmartGridType, SmartIconComponent, SmartIconModule, SmartIconService, SmartLayoutDef, SmartLinkChannelVariableInPath, SmartLinkMigrationStatusStatusEnum, SmartLinkUuidVariableInPath, SmartMapComponent, SmartMapModule, SmartMultiFileEditorComponent, SmartNavbarComponent, SmartNavbarModule, SmartNavbarService, SmartNavigationModule, SmartNavigationService, SmartNgClientModule, SmartNgClientService, SmartService, SmartSessionModule, SmartSessionService, SmartSessionTimerComponent, SmartSessionTimerService, SmartSubject, SmartTabGroupModule, SmartTabGroupService, SmartTable, SmartTableButtonType, SmartTableHeaderPropertyType, SmartTableInterfaceTypeEnum, SmartTableOptionButtonDirection, SmartTableOrder, SmartTableType, SmartTimePipe, SmartTooltipDirective, SmartTreeComponent, SmartTreeNodeButtonType, SmartUserSettinsIconPosition, SmartValidationModule, SmartValidatorName, SmartViewContextErrorDialogButtonLabel, SmartViewContextErrorDialogMessage, SmartViewContextErrorDialogTitle, SmartViewContextModule, SmartViewContextService, SmartViewRedirect, SmartWidgetHintPosition, SmartWidgetHintPositionEnum, SmartWidgetSettings, SmartdialogModule, SmartdialogService, SmartfileuploaderComponent, SmartformComponent, SmartformLayoutDefinitionService, SmartformwidgetComponent, SmarttableComponent, SmarttableModule, SmarttableService, SmarttreeGenericService, SmarttreeModule, SmarttreeService, TabGroupComponent, ToggleLabelPosition, ToolbarDirection, UiActionButtonComponent, UiActionButtonType, UiActionConfirmDialogComponent, UiActionConfirmDialogService, UiActionDescriptorService, UiActionDialogButtonComponent, UiActionDialogType, UiActionFeedbackType, UiActionInputDialogComponent, UiActionInputDialogService, UiActionInputType, UiActionService, UiActionToolbarComponent, UiActionTooltipTooltipPositionEnum, UiBadgeComponent, UiBadgeDirective, UploadWidgetComponent, UploadWidgetType, ValueChangeMode, ViewEventHandlerViewEventTypeEnum, ViewService, ViewState, ViewType, VoiceRecordWidgetComponent, barChart, bubbleChart, createBasicOptions, doughnutChart, horizontalBarChart, horizontalStackedBarChart, multiAxisLineChart, pieChart, polarAreaChart, radarChart, scatterChart, stackedBarChart, transformDataToBarLikeDataSet, transformDataToBasicDataSets, transformDataToBubble, transformDataToScatter };
|
|
23132
23140
|
//# sourceMappingURL=smartbit4all-ng-client.mjs.map
|