@mediusinc/mng-commons 0.3.1 → 0.3.2
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/esm2020/lib/components/action/action.component.mjs +28 -6
- package/esm2020/lib/components/action/editor/action-editor.component.mjs +7 -6
- package/esm2020/lib/components/action/models/action-execution.model.mjs +1 -1
- package/esm2020/lib/components/form/editor/form-editor.component.mjs +3 -3
- package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +4 -6
- package/esm2020/lib/components/tableview/route/tableview-route.component.mjs +1 -1
- package/esm2020/lib/components/tableview/table/table.component.mjs +3 -3
- package/esm2020/lib/descriptors/action.descriptor.mjs +87 -4
- package/esm2020/lib/mng-commons.module.mjs +6 -2
- package/esm2020/lib/models/error.model.mjs +1 -1
- package/esm2020/lib/pipes/index.mjs +2 -1
- package/esm2020/lib/pipes/link-formatter.pipe.mjs +39 -0
- package/esm2020/lib/services/action-executor.service.mjs +33 -39
- package/esm2020/lib/utils/index.mjs +2 -2
- package/esm2020/lib/utils/notification.util.mjs +47 -0
- package/fesm2015/mediusinc-mng-commons.mjs +298 -159
- package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
- package/fesm2020/mediusinc-mng-commons.mjs +297 -158
- package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
- package/lib/components/action/action.component.d.ts +12 -1
- package/lib/components/action/models/action-execution.model.d.ts +2 -0
- package/lib/descriptors/action.descriptor.d.ts +35 -1
- package/lib/mng-commons.module.d.ts +69 -68
- package/lib/models/error.model.d.ts +2 -0
- package/lib/pipes/index.d.ts +1 -0
- package/lib/pipes/link-formatter.pipe.d.ts +11 -0
- package/lib/services/action-executor.service.d.ts +5 -3
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/{toast.util.d.ts → notification.util.d.ts} +7 -10
- package/package.json +1 -1
- package/scss/mng-overrides/_theme_button.scss +4 -0
- package/esm2020/lib/utils/toast.util.mjs +0 -44
|
@@ -2,7 +2,7 @@ import * as i4 from '@angular/common';
|
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { HttpErrorResponse, HttpClient, HttpClientModule } from '@angular/common/http';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
|
-
import { InjectionToken, Injectable, Inject, EventEmitter, Component, ChangeDetectionStrategy, Optional, Input, Output, Directive, ContentChildren, ViewChild, forwardRef,
|
|
5
|
+
import { InjectionToken, Injectable, Pipe, Inject, EventEmitter, Component, ChangeDetectionStrategy, Optional, HostBinding, Input, Output, Directive, ContentChildren, ViewChild, forwardRef, ViewChildren, HostListener, APP_INITIALIZER, NgModule } from '@angular/core';
|
|
6
6
|
import * as i2$1 from '@angular/forms';
|
|
7
7
|
import { Validators, FormGroup, FormArray, NG_VALUE_ACCESSOR, FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
8
8
|
import * as i1 from '@angular/router';
|
|
@@ -399,6 +399,9 @@ class ActionDescriptor {
|
|
|
399
399
|
this._routeUrl = null;
|
|
400
400
|
this._className = '';
|
|
401
401
|
this._size = ActionDescriptor.SizeEnum.Normal;
|
|
402
|
+
this._isStyleText = false;
|
|
403
|
+
this._isStyleOutlined = false;
|
|
404
|
+
this._isStyleRaised = false;
|
|
402
405
|
this._hasRunConfirmation = false;
|
|
403
406
|
this._hasRunNotificationSuccess = true;
|
|
404
407
|
this._hasRunNotificationError = true;
|
|
@@ -474,6 +477,15 @@ class ActionDescriptor {
|
|
|
474
477
|
get className() {
|
|
475
478
|
return this._className;
|
|
476
479
|
}
|
|
480
|
+
get isStyleText() {
|
|
481
|
+
return this._isStyleText;
|
|
482
|
+
}
|
|
483
|
+
get isStyleOutlined() {
|
|
484
|
+
return this._isStyleOutlined;
|
|
485
|
+
}
|
|
486
|
+
get isStyleRaised() {
|
|
487
|
+
return this._isStyleRaised;
|
|
488
|
+
}
|
|
477
489
|
get size() {
|
|
478
490
|
return this._size;
|
|
479
491
|
}
|
|
@@ -585,6 +597,12 @@ class ActionDescriptor {
|
|
|
585
597
|
this._size = size;
|
|
586
598
|
return this;
|
|
587
599
|
}
|
|
600
|
+
withStyle(styleText = false, styleOutlined = false, styleRaised = false) {
|
|
601
|
+
this._isStyleText = styleText;
|
|
602
|
+
this._isStyleOutlined = styleOutlined;
|
|
603
|
+
this._isStyleRaised = styleRaised;
|
|
604
|
+
return this;
|
|
605
|
+
}
|
|
588
606
|
withPosition(position) {
|
|
589
607
|
this._position = position;
|
|
590
608
|
return this;
|
|
@@ -625,6 +643,7 @@ class ActionEditorDescriptor extends ActionDescriptor {
|
|
|
625
643
|
this._editorActions = [];
|
|
626
644
|
this._editorTitle = undefined;
|
|
627
645
|
this._hasFetchNotificationSuccess = false;
|
|
646
|
+
this._dialogClassName = '';
|
|
628
647
|
this._type = ActionTypeEnum.Editor;
|
|
629
648
|
this._editorDescriptor = editorDescriptor;
|
|
630
649
|
this._editorActions.push(new ActionEditorSubmitDescriptor(this), new ActionEditorSubmitDescriptor(this, ActionEditorSubmitDescriptor.TypeEnum.Cancel));
|
|
@@ -635,6 +654,9 @@ class ActionEditorDescriptor extends ActionDescriptor {
|
|
|
635
654
|
get editorDescriptor() {
|
|
636
655
|
return this._editorDescriptor;
|
|
637
656
|
}
|
|
657
|
+
get dialogClassName() {
|
|
658
|
+
return this._dialogClassName;
|
|
659
|
+
}
|
|
638
660
|
get hasFetchNotificationSuccess() {
|
|
639
661
|
return this._hasFetchNotificationSuccess;
|
|
640
662
|
}
|
|
@@ -680,6 +702,10 @@ class ActionEditorDescriptor extends ActionDescriptor {
|
|
|
680
702
|
this._dataProvider = new EditorDataProvider(this._model.type, serviceType);
|
|
681
703
|
return this;
|
|
682
704
|
}
|
|
705
|
+
withDialogClassName(className) {
|
|
706
|
+
this._dialogClassName = className;
|
|
707
|
+
return this;
|
|
708
|
+
}
|
|
683
709
|
withRunFunction(fn) {
|
|
684
710
|
return this.withSubmitFunction(fn);
|
|
685
711
|
}
|
|
@@ -716,6 +742,7 @@ class ActionEditorSubmitDescriptor extends ActionDescriptor {
|
|
|
716
742
|
this._editorAction = editorAction;
|
|
717
743
|
this._submitType = submitType;
|
|
718
744
|
this._position = ActionPositionEnum.FooterRight;
|
|
745
|
+
this._isStyleText = true;
|
|
719
746
|
}
|
|
720
747
|
get submitType() {
|
|
721
748
|
return this._submitType;
|
|
@@ -737,7 +764,7 @@ class ActionEditorDetailsDescriptor extends ActionEditorDescriptor {
|
|
|
737
764
|
? ctx.dataProvider.fetch(ctx.data?.itemId, ctx.serviceInstance)
|
|
738
765
|
: throwError(new Error(`Data provider fetch function or item id ${ctx.data?.itemId} is missing.`)));
|
|
739
766
|
this.withEditorActions([new ActionEditorSubmitDescriptor(this, ActionEditorSubmitDescriptor.TypeEnum.Cancel)]);
|
|
740
|
-
this.
|
|
767
|
+
this.withDialogClassName('mng-details-dynamic-dialog');
|
|
741
768
|
}
|
|
742
769
|
withServiceType(serviceType) {
|
|
743
770
|
return this.withServiceFetchFunction(serviceType);
|
|
@@ -759,7 +786,7 @@ class ActionEditorAddDescriptor extends ActionEditorDescriptor {
|
|
|
759
786
|
this.withSubmitFunction(ctx => ctx.dataProvider?.create ? ctx.dataProvider.create(ctx.data?.item, ctx.serviceInstance) : throwError(new Error(`Data provider create function is missing.`)));
|
|
760
787
|
this.withLevel(ActionLevelEnum.Success);
|
|
761
788
|
this.withIcon('pi pi-plus');
|
|
762
|
-
this.
|
|
789
|
+
this.withDialogClassName('mng-details-dynamic-dialog');
|
|
763
790
|
}
|
|
764
791
|
withServiceType(serviceType) {
|
|
765
792
|
return this.withServiceSubmitFunction(serviceType);
|
|
@@ -789,7 +816,7 @@ class ActionEditorEditDescriptor extends ActionEditorDescriptor {
|
|
|
789
816
|
? ctx.dataProvider.update(ctx.data.itemId, ctx.data?.item, ctx.serviceInstance)
|
|
790
817
|
: throwError(new Error(`Data provider update function or item id ${ctx.data?.itemId} is missing.`)));
|
|
791
818
|
this.withIcon('pi pi-pencil');
|
|
792
|
-
this.
|
|
819
|
+
this.withDialogClassName('mng-details-dynamic-dialog');
|
|
793
820
|
}
|
|
794
821
|
withServiceType(serviceType) {
|
|
795
822
|
return this.withServiceSubmitFunction(serviceType);
|
|
@@ -833,6 +860,62 @@ class ActionDeleteDescriptor extends ActionDescriptor {
|
|
|
833
860
|
return this;
|
|
834
861
|
}
|
|
835
862
|
}
|
|
863
|
+
class ActionLinkDescriptor extends ActionDescriptor {
|
|
864
|
+
constructor(model) {
|
|
865
|
+
super(model, 'link');
|
|
866
|
+
this._url = '';
|
|
867
|
+
this._pathSegments = [];
|
|
868
|
+
this._replaceUrl = false;
|
|
869
|
+
this._target = '_self';
|
|
870
|
+
this._isStyleLink = false;
|
|
871
|
+
}
|
|
872
|
+
get url() {
|
|
873
|
+
return this._url;
|
|
874
|
+
}
|
|
875
|
+
get pathSegments() {
|
|
876
|
+
return this._pathSegments;
|
|
877
|
+
}
|
|
878
|
+
get queryParams() {
|
|
879
|
+
return this._queryParams;
|
|
880
|
+
}
|
|
881
|
+
get queryParamsHandling() {
|
|
882
|
+
return this._queryParamsHandling;
|
|
883
|
+
}
|
|
884
|
+
get replaceUrl() {
|
|
885
|
+
return this._replaceUrl;
|
|
886
|
+
}
|
|
887
|
+
get target() {
|
|
888
|
+
return this._target;
|
|
889
|
+
}
|
|
890
|
+
get isStyleLink() {
|
|
891
|
+
return this._isStyleLink;
|
|
892
|
+
}
|
|
893
|
+
withHref(url) {
|
|
894
|
+
this._url = url;
|
|
895
|
+
return this;
|
|
896
|
+
}
|
|
897
|
+
withRouterLink(...pathSegments) {
|
|
898
|
+
this._pathSegments = pathSegments;
|
|
899
|
+
return this;
|
|
900
|
+
}
|
|
901
|
+
withQueryParams(queryParams, queryParamsHandling) {
|
|
902
|
+
this._queryParams = queryParams;
|
|
903
|
+
this._queryParamsHandling = queryParamsHandling;
|
|
904
|
+
return this;
|
|
905
|
+
}
|
|
906
|
+
withReplaceUrl(replaceUrl = false) {
|
|
907
|
+
this._replaceUrl = replaceUrl;
|
|
908
|
+
return this;
|
|
909
|
+
}
|
|
910
|
+
withTarget(target = '_self') {
|
|
911
|
+
this._target = target;
|
|
912
|
+
return this;
|
|
913
|
+
}
|
|
914
|
+
withStyleLink(isStyleLink) {
|
|
915
|
+
this._isStyleLink = isStyleLink;
|
|
916
|
+
return this;
|
|
917
|
+
}
|
|
918
|
+
}
|
|
836
919
|
var ActionPositionEnum;
|
|
837
920
|
(function (ActionPositionEnum) {
|
|
838
921
|
ActionPositionEnum[ActionPositionEnum["ToolbarLeft"] = 0] = "ToolbarLeft";
|
|
@@ -2991,14 +3074,17 @@ class ModelUtil {
|
|
|
2991
3074
|
}
|
|
2992
3075
|
}
|
|
2993
3076
|
|
|
2994
|
-
class
|
|
3077
|
+
class NotificationUtil {
|
|
2995
3078
|
static notification(viewContainer, title, message, severity = 'success') {
|
|
2996
3079
|
const messageService = viewContainer?.getMessageService();
|
|
2997
|
-
|
|
3080
|
+
const notification = { severity: severity, summary: title, detail: message, life: severity === 'error' ? 10000 : 5000 };
|
|
3081
|
+
if (messageService) {
|
|
3082
|
+
messageService.add(notification);
|
|
3083
|
+
}
|
|
3084
|
+
else {
|
|
2998
3085
|
console.warn(`No message service was provided through view container, message will not be displayed.`);
|
|
2999
|
-
return;
|
|
3000
3086
|
}
|
|
3001
|
-
|
|
3087
|
+
return notification;
|
|
3002
3088
|
}
|
|
3003
3089
|
static tableNotificationError(translationService, table, error, viewContainer) {
|
|
3004
3090
|
const params = {};
|
|
@@ -3011,12 +3097,12 @@ class ToastUtil {
|
|
|
3011
3097
|
console.log(params);
|
|
3012
3098
|
const tableErrorTitle = I18nUtil.instantModelTranslation(translationService, table.model, 'table.error.title', undefined, undefined, 'general.error', params) ?? undefined;
|
|
3013
3099
|
const tableErrorMessage = I18nUtil.instantModelTranslation(translationService, table.model, 'table.error.message', undefined, undefined, 'general.errorMessage', params) ?? undefined;
|
|
3014
|
-
|
|
3100
|
+
return NotificationUtil.notification(viewContainer, tableErrorTitle, tableErrorMessage, 'error');
|
|
3015
3101
|
}
|
|
3016
3102
|
static actionNotificationSuccess(translationService, action, functionName, customTitleKey, customMessageKey, viewContainer, item) {
|
|
3017
3103
|
const actionSuccessTitle = I18nUtil.instantActionTranslation(translationService, action, 'success.title', customTitleKey, item, 'general.success', functionName) ?? undefined;
|
|
3018
3104
|
const actionSuccessMessage = I18nUtil.instantActionTranslation(translationService, action, 'success.message', customMessageKey, item, 'general.successMessage', functionName) ?? undefined;
|
|
3019
|
-
|
|
3105
|
+
return NotificationUtil.notification(viewContainer, actionSuccessTitle, actionSuccessMessage);
|
|
3020
3106
|
}
|
|
3021
3107
|
static actionNotificationError(translationService, action, error, functionName, viewContainer, item) {
|
|
3022
3108
|
const params = {
|
|
@@ -3025,7 +3111,7 @@ class ToastUtil {
|
|
|
3025
3111
|
const actionErrorTitle = I18nUtil.instantActionTranslation(translationService, action, 'error.title', action.runNotificationErrorTitle, item, 'general.error', functionName, params) ??
|
|
3026
3112
|
undefined;
|
|
3027
3113
|
const actionErrorMessage = I18nUtil.instantActionTranslation(translationService, action, 'error.message', action.runNotificationErrorMessage, item, 'general.errorMessage', functionName, params) ?? undefined;
|
|
3028
|
-
|
|
3114
|
+
return NotificationUtil.notification(viewContainer, actionErrorTitle, actionErrorMessage, 'error');
|
|
3029
3115
|
}
|
|
3030
3116
|
static getFormEditorWarningMessage(translationService, title, message) {
|
|
3031
3117
|
const actionErrorTitle = translationService.instant(title) ?? undefined;
|
|
@@ -3607,8 +3693,141 @@ class DefaultMngErrorMapperService extends MngErrorMapperService {
|
|
|
3607
3693
|
}
|
|
3608
3694
|
}
|
|
3609
3695
|
|
|
3696
|
+
class MngBooleanPipe {
|
|
3697
|
+
transform(value, yes, no, icon = false) {
|
|
3698
|
+
if (typeof value === 'boolean') {
|
|
3699
|
+
if (icon) {
|
|
3700
|
+
return value ? yes ?? 'pi pi-check' : no ?? 'pi pi-times';
|
|
3701
|
+
}
|
|
3702
|
+
else {
|
|
3703
|
+
return value ? yes ?? 'general.yes' : no ?? 'general.no';
|
|
3704
|
+
}
|
|
3705
|
+
}
|
|
3706
|
+
else {
|
|
3707
|
+
return value;
|
|
3708
|
+
}
|
|
3709
|
+
}
|
|
3710
|
+
}
|
|
3711
|
+
MngBooleanPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngBooleanPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
3712
|
+
MngBooleanPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngBooleanPipe, name: "boolean" });
|
|
3713
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngBooleanPipe, decorators: [{
|
|
3714
|
+
type: Pipe,
|
|
3715
|
+
args: [{
|
|
3716
|
+
name: 'boolean',
|
|
3717
|
+
pure: true
|
|
3718
|
+
}]
|
|
3719
|
+
}] });
|
|
3720
|
+
|
|
3721
|
+
class MngEnumPipe {
|
|
3722
|
+
transform(value, enumObj, i18nPath, nameAsValue = false) {
|
|
3723
|
+
if (!value || !enumObj) {
|
|
3724
|
+
return value;
|
|
3725
|
+
}
|
|
3726
|
+
const enumConstantName = nameAsValue ? value : EnumUtil.getConstantNameFromEnumObject(enumObj, value);
|
|
3727
|
+
if (typeof i18nPath === 'undefined') {
|
|
3728
|
+
i18nPath = TypeUtil.findEnumName(enumObj);
|
|
3729
|
+
}
|
|
3730
|
+
return i18nPath ? `${i18nPath}.${enumConstantName}` : enumConstantName;
|
|
3731
|
+
}
|
|
3732
|
+
}
|
|
3733
|
+
MngEnumPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngEnumPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
3734
|
+
MngEnumPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngEnumPipe, name: "enum" });
|
|
3735
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngEnumPipe, decorators: [{
|
|
3736
|
+
type: Pipe,
|
|
3737
|
+
args: [{
|
|
3738
|
+
name: 'enum',
|
|
3739
|
+
pure: true
|
|
3740
|
+
}]
|
|
3741
|
+
}] });
|
|
3742
|
+
|
|
3743
|
+
class MngI18nPropertyPipe {
|
|
3744
|
+
transform(property, model) {
|
|
3745
|
+
return I18nUtil.getModelPropertyKey(model, property);
|
|
3746
|
+
}
|
|
3747
|
+
}
|
|
3748
|
+
MngI18nPropertyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngI18nPropertyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
3749
|
+
MngI18nPropertyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngI18nPropertyPipe, name: "i18nProperty" });
|
|
3750
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngI18nPropertyPipe, decorators: [{
|
|
3751
|
+
type: Pipe,
|
|
3752
|
+
args: [{
|
|
3753
|
+
name: 'i18nProperty',
|
|
3754
|
+
pure: true
|
|
3755
|
+
}]
|
|
3756
|
+
}] });
|
|
3757
|
+
|
|
3758
|
+
class MngLinkFormatterPipe {
|
|
3759
|
+
parseUrl(s, itemId, itemAny, model, actionData) {
|
|
3760
|
+
if (s === ':itemId') {
|
|
3761
|
+
return itemId;
|
|
3762
|
+
}
|
|
3763
|
+
else if (model && s.startsWith(`:${model.typeName}.`)) {
|
|
3764
|
+
return itemAny[s.substring(model.typeName.length + 2)] ?? '';
|
|
3765
|
+
}
|
|
3766
|
+
else if (s.startsWith(':')) {
|
|
3767
|
+
return actionData?.[s.substring(1)] ?? '';
|
|
3768
|
+
}
|
|
3769
|
+
else {
|
|
3770
|
+
return s;
|
|
3771
|
+
}
|
|
3772
|
+
}
|
|
3773
|
+
transform(value, itemId, item, model, actionData) {
|
|
3774
|
+
const itemAny = (item ?? {});
|
|
3775
|
+
if (typeof value === 'string') {
|
|
3776
|
+
return value.split('/').map(s => this.parseUrl(s, itemId, itemAny, model, actionData));
|
|
3777
|
+
}
|
|
3778
|
+
else {
|
|
3779
|
+
const transformedItems = [];
|
|
3780
|
+
value.forEach(val => transformedItems.push(...val.split('/').map(s => this.parseUrl(s, itemId, itemAny, model, actionData))));
|
|
3781
|
+
return transformedItems;
|
|
3782
|
+
}
|
|
3783
|
+
}
|
|
3784
|
+
}
|
|
3785
|
+
MngLinkFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngLinkFormatterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
3786
|
+
MngLinkFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngLinkFormatterPipe, name: "linkFormatter" });
|
|
3787
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngLinkFormatterPipe, decorators: [{
|
|
3788
|
+
type: Pipe,
|
|
3789
|
+
args: [{
|
|
3790
|
+
name: 'linkFormatter',
|
|
3791
|
+
pure: true
|
|
3792
|
+
}]
|
|
3793
|
+
}] });
|
|
3794
|
+
|
|
3795
|
+
class MngPropertyPathPipe {
|
|
3796
|
+
transform(value, path = '') {
|
|
3797
|
+
if (path.indexOf('.') >= 0) {
|
|
3798
|
+
const pathSplit = path.split('.');
|
|
3799
|
+
let currValue = value;
|
|
3800
|
+
for (const p of pathSplit) {
|
|
3801
|
+
if (typeof currValue === 'undefined' || currValue === null) {
|
|
3802
|
+
return currValue;
|
|
3803
|
+
}
|
|
3804
|
+
else if (typeof currValue === 'object') {
|
|
3805
|
+
currValue = currValue[p];
|
|
3806
|
+
}
|
|
3807
|
+
else {
|
|
3808
|
+
console.warn(`Path ${path} is not valid for object`, value);
|
|
3809
|
+
return currValue;
|
|
3810
|
+
}
|
|
3811
|
+
}
|
|
3812
|
+
return currValue;
|
|
3813
|
+
}
|
|
3814
|
+
else {
|
|
3815
|
+
return typeof value === 'object' ? value[path] : value;
|
|
3816
|
+
}
|
|
3817
|
+
}
|
|
3818
|
+
}
|
|
3819
|
+
MngPropertyPathPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngPropertyPathPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
3820
|
+
MngPropertyPathPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngPropertyPathPipe, name: "propertyPath" });
|
|
3821
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngPropertyPathPipe, decorators: [{
|
|
3822
|
+
type: Pipe,
|
|
3823
|
+
args: [{
|
|
3824
|
+
name: 'propertyPath',
|
|
3825
|
+
pure: true
|
|
3826
|
+
}]
|
|
3827
|
+
}] });
|
|
3828
|
+
|
|
3610
3829
|
class MngActionExecutorService {
|
|
3611
|
-
constructor(injector, router, dialogService, confirmationService, translate, navigationService, errorMapper, defaultEditorDialogComponent) {
|
|
3830
|
+
constructor(injector, router, dialogService, confirmationService, translate, navigationService, errorMapper, linkFormatter, defaultEditorDialogComponent) {
|
|
3612
3831
|
this.injector = injector;
|
|
3613
3832
|
this.router = router;
|
|
3614
3833
|
this.dialogService = dialogService;
|
|
@@ -3616,6 +3835,7 @@ class MngActionExecutorService {
|
|
|
3616
3835
|
this.translate = translate;
|
|
3617
3836
|
this.navigationService = navigationService;
|
|
3618
3837
|
this.errorMapper = errorMapper;
|
|
3838
|
+
this.linkFormatter = linkFormatter;
|
|
3619
3839
|
this.defaultEditorDialogComponent = defaultEditorDialogComponent;
|
|
3620
3840
|
}
|
|
3621
3841
|
prepareActionExecContext(action, itemId, item, dataProvider, viewContainer, sourceComponent, actionData) {
|
|
@@ -3663,17 +3883,17 @@ class MngActionExecutorService {
|
|
|
3663
3883
|
confirmParams.accept = () => {
|
|
3664
3884
|
action
|
|
3665
3885
|
.runFunction(context)
|
|
3666
|
-
.pipe(first(), map(res => new ActionRunResult(context, res)), map(
|
|
3886
|
+
.pipe(first(), map(res => new ActionRunResult(context, res)), map(runResult => {
|
|
3667
3887
|
if (action.hasRunNotificationSuccess) {
|
|
3668
|
-
|
|
3888
|
+
runResult.notification = NotificationUtil.actionNotificationSuccess(this.translate, action, 'run', action.runNotificationSuccessTitle, action.runNotificationSuccessMessage, viewContainer, item);
|
|
3669
3889
|
}
|
|
3670
|
-
return
|
|
3890
|
+
return runResult;
|
|
3671
3891
|
}), catchError(err => {
|
|
3672
3892
|
const actionError = this.toMngActionError(err);
|
|
3673
3893
|
if (action.hasRunNotificationError) {
|
|
3674
|
-
|
|
3894
|
+
actionError.notification = NotificationUtil.actionNotificationError(this.translate, action, actionError, 'run', viewContainer, item);
|
|
3675
3895
|
}
|
|
3676
|
-
|
|
3896
|
+
return throwError(() => actionError);
|
|
3677
3897
|
}))
|
|
3678
3898
|
.subscribe(res => {
|
|
3679
3899
|
observer.next(res);
|
|
@@ -3688,17 +3908,17 @@ class MngActionExecutorService {
|
|
|
3688
3908
|
return observable;
|
|
3689
3909
|
}
|
|
3690
3910
|
else {
|
|
3691
|
-
return action.runFunction(context).pipe(map(res => new ActionRunResult(context, res)), map(
|
|
3911
|
+
return action.runFunction(context).pipe(map(res => new ActionRunResult(context, res)), map(runResult => {
|
|
3692
3912
|
if (action.hasRunNotificationSuccess) {
|
|
3693
|
-
|
|
3913
|
+
runResult.notification = NotificationUtil.actionNotificationSuccess(this.translate, action, 'run', action.runNotificationSuccessTitle, action.runNotificationSuccessMessage, viewContainer, item);
|
|
3694
3914
|
}
|
|
3695
|
-
return
|
|
3915
|
+
return runResult;
|
|
3696
3916
|
}), catchError(err => {
|
|
3697
3917
|
const actionError = this.toMngActionError(err);
|
|
3698
3918
|
if (action.hasRunNotificationError) {
|
|
3699
|
-
|
|
3919
|
+
actionError.notification = NotificationUtil.actionNotificationError(this.translate, action, actionError, 'run', viewContainer, item);
|
|
3700
3920
|
}
|
|
3701
|
-
|
|
3921
|
+
return throwError(() => actionError);
|
|
3702
3922
|
}));
|
|
3703
3923
|
}
|
|
3704
3924
|
}
|
|
@@ -3718,17 +3938,17 @@ class MngActionExecutorService {
|
|
|
3718
3938
|
if (typeof action.submitFunction !== 'function') {
|
|
3719
3939
|
throw new Error(`Submit function for action ${action.actionName} cannot be invoked.`);
|
|
3720
3940
|
}
|
|
3721
|
-
return action.submitFunction(context).pipe(map(res => new ActionRunResult(context, res)), map(
|
|
3941
|
+
return action.submitFunction(context).pipe(map(res => new ActionRunResult(context, res)), map(runResult => {
|
|
3722
3942
|
if (action.hasRunNotificationSuccess) {
|
|
3723
|
-
|
|
3943
|
+
runResult.notification = NotificationUtil.actionNotificationSuccess(this.translate, action, 'submit', action.runNotificationSuccessTitle, action.runNotificationSuccessMessage, viewContainer, formItem);
|
|
3724
3944
|
}
|
|
3725
|
-
return
|
|
3945
|
+
return runResult;
|
|
3726
3946
|
}), catchError(err => {
|
|
3727
3947
|
const actionError = this.toMngActionError(err);
|
|
3728
3948
|
if (action.hasRunNotificationError) {
|
|
3729
|
-
|
|
3949
|
+
actionError.notification = NotificationUtil.actionNotificationError(this.translate, action, actionError, 'submit', viewContainer, formItem);
|
|
3730
3950
|
}
|
|
3731
|
-
|
|
3951
|
+
return throwError(() => actionError);
|
|
3732
3952
|
}));
|
|
3733
3953
|
}
|
|
3734
3954
|
/**
|
|
@@ -3801,14 +4021,20 @@ class MngActionExecutorService {
|
|
|
3801
4021
|
activateAction(action, itemId, item, actionData, viewContainer, sourceComponent) {
|
|
3802
4022
|
if (action.type === ActionTypeEnum.Editor) {
|
|
3803
4023
|
let dialogComponent = this.defaultEditorDialogComponent;
|
|
3804
|
-
|
|
3805
|
-
|
|
4024
|
+
let dialogClassName = '';
|
|
4025
|
+
if (action instanceof ActionEditorDescriptor) {
|
|
4026
|
+
if (action.editorComponent) {
|
|
4027
|
+
dialogComponent = action.editorComponent;
|
|
4028
|
+
}
|
|
4029
|
+
if (action.dialogClassName) {
|
|
4030
|
+
dialogClassName = action.dialogClassName;
|
|
4031
|
+
}
|
|
3806
4032
|
}
|
|
3807
4033
|
const dialogConfig = {
|
|
3808
4034
|
data: {
|
|
3809
4035
|
action
|
|
3810
4036
|
},
|
|
3811
|
-
styleClass:
|
|
4037
|
+
styleClass: dialogClassName
|
|
3812
4038
|
};
|
|
3813
4039
|
if (itemId) {
|
|
3814
4040
|
dialogConfig.data.itemId = itemId;
|
|
@@ -3867,21 +4093,7 @@ class MngActionExecutorService {
|
|
|
3867
4093
|
if (actionUrl.startsWith('/')) {
|
|
3868
4094
|
actionUrl = actionUrl.substring(1);
|
|
3869
4095
|
}
|
|
3870
|
-
const
|
|
3871
|
-
const actionUrlSegments = actionUrl.split('/').map(s => {
|
|
3872
|
-
if (s === ':itemId') {
|
|
3873
|
-
return itemId;
|
|
3874
|
-
}
|
|
3875
|
-
else if (s.startsWith(`:${action.model.typeName}.`)) {
|
|
3876
|
-
return itemAny[s.substring(action.model.typeName.length + 2)] ?? '';
|
|
3877
|
-
}
|
|
3878
|
-
else if (s.startsWith(':')) {
|
|
3879
|
-
return actionData?.[s.substring(1)] ?? '';
|
|
3880
|
-
}
|
|
3881
|
-
else {
|
|
3882
|
-
return s;
|
|
3883
|
-
}
|
|
3884
|
-
});
|
|
4096
|
+
const actionUrlSegments = this.linkFormatter.transform(actionUrl, itemId, item, action.model, actionData);
|
|
3885
4097
|
return of(new ActionTriggerResult(undefined, from(this.router.navigate([baseUrl, ...actionUrlSegments], { relativeTo: route, queryParams: parsedUrl.queryParams }))));
|
|
3886
4098
|
}
|
|
3887
4099
|
else {
|
|
@@ -3928,11 +4140,11 @@ class MngActionExecutorService {
|
|
|
3928
4140
|
return this.errorMapper.toMngError(error, actionError);
|
|
3929
4141
|
}
|
|
3930
4142
|
}
|
|
3931
|
-
MngActionExecutorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngActionExecutorService, deps: [{ token: i0.Injector }, { token: i1.Router }, { token: i3.DialogService }, { token: i2.ConfirmationService }, { token: i3$1.TranslateService }, { token: MngNavigationService }, { token: MngErrorMapperService }, { token: ACTION_EDITOR_DIALOG_COMPONENT_SETTING }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4143
|
+
MngActionExecutorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngActionExecutorService, deps: [{ token: i0.Injector }, { token: i1.Router }, { token: i3.DialogService }, { token: i2.ConfirmationService }, { token: i3$1.TranslateService }, { token: MngNavigationService }, { token: MngErrorMapperService }, { token: MngLinkFormatterPipe }, { token: ACTION_EDITOR_DIALOG_COMPONENT_SETTING }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3932
4144
|
MngActionExecutorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngActionExecutorService });
|
|
3933
4145
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngActionExecutorService, decorators: [{
|
|
3934
4146
|
type: Injectable
|
|
3935
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.Router }, { type: i3.DialogService }, { type: i2.ConfirmationService }, { type: i3$1.TranslateService }, { type: MngNavigationService }, { type: MngErrorMapperService }, { type: i0.Type, decorators: [{
|
|
4147
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.Router }, { type: i3.DialogService }, { type: i2.ConfirmationService }, { type: i3$1.TranslateService }, { type: MngNavigationService }, { type: MngErrorMapperService }, { type: MngLinkFormatterPipe }, { type: i0.Type, decorators: [{
|
|
3936
4148
|
type: Inject,
|
|
3937
4149
|
args: [ACTION_EDITOR_DIALOG_COMPONENT_SETTING]
|
|
3938
4150
|
}] }]; } });
|
|
@@ -4384,21 +4596,38 @@ class MngActionComponent {
|
|
|
4384
4596
|
this.actionExecutor = actionExecutor;
|
|
4385
4597
|
this.confirmationService = confirmationService;
|
|
4386
4598
|
this.viewContainerService = viewContainerService;
|
|
4599
|
+
this.levelDefault = ActionLevelEnum.Default;
|
|
4600
|
+
this.levelPrimary = ActionLevelEnum.Primary;
|
|
4601
|
+
this.levelSecondary = ActionLevelEnum.Secondary;
|
|
4602
|
+
this.levelInfo = ActionLevelEnum.Info;
|
|
4603
|
+
this.levelHelp = ActionLevelEnum.Help;
|
|
4604
|
+
this.levelSuccess = ActionLevelEnum.Success;
|
|
4605
|
+
this.levelWarning = ActionLevelEnum.Warning;
|
|
4606
|
+
this.levelDanger = ActionLevelEnum.Danger;
|
|
4607
|
+
this.hostClass = 'mng-action-button';
|
|
4387
4608
|
this.inputDisabled = of(false);
|
|
4388
4609
|
this.inputLoading = of(false);
|
|
4389
4610
|
this.triggerEventEmitter = new EventEmitter();
|
|
4390
4611
|
this.loadingSubject = new ReplaySubject(1);
|
|
4391
4612
|
this.$loading = this.loadingSubject.asObservable();
|
|
4392
4613
|
this.cmpId = Math.random().toString(36).substring(2);
|
|
4614
|
+
this.hasNoTitle = false;
|
|
4393
4615
|
this.loadingSubject.next(false);
|
|
4394
4616
|
}
|
|
4395
4617
|
ngOnInit() {
|
|
4396
4618
|
this.viewContainer = this.viewContainerInit ?? this.viewContainerService ?? undefined;
|
|
4619
|
+
this.hasNoTitle = this.action.title === null;
|
|
4397
4620
|
const context = this.actionExecutor.prepareActionExecContext(this.action, this.itemId, this.item, this.dataProvider, this.viewContainer ?? undefined, this, this.actionData);
|
|
4398
4621
|
this.$isVisible = typeof this.action.isVisibleFunction === 'function' ? this.action.isVisibleFunction(context) : of(true);
|
|
4399
4622
|
this.$isEnabled = typeof this.action.isEnabledFunction === 'function' ? this.action.isEnabledFunction(context) : of(true);
|
|
4400
|
-
this.$label = I18nUtil.streamActionTranslation(this.translate, this.action, 'title', this.action?.title ?? undefined, this.item);
|
|
4623
|
+
this.$label = this.hasNoTitle ? of(null) : I18nUtil.streamActionTranslation(this.translate, this.action, 'title', this.action?.title ?? undefined, this.item);
|
|
4401
4624
|
this.$tooltip = I18nUtil.streamActionTranslation(this.translate, this.action, 'tooltip', this.action?.tooltip ?? undefined, this.item);
|
|
4625
|
+
if (this.action instanceof ActionLinkDescriptor) {
|
|
4626
|
+
this.actionLink = this.action;
|
|
4627
|
+
}
|
|
4628
|
+
if (this.action.className) {
|
|
4629
|
+
this.hostClass = this.action.className;
|
|
4630
|
+
}
|
|
4402
4631
|
}
|
|
4403
4632
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4404
4633
|
triggerAction(event) {
|
|
@@ -4427,13 +4656,16 @@ class MngActionComponent {
|
|
|
4427
4656
|
}
|
|
4428
4657
|
}
|
|
4429
4658
|
MngActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngActionComponent, deps: [{ token: i1.ActivatedRoute }, { token: i3$1.TranslateService }, { token: MngActionExecutorService }, { token: i2.ConfirmationService }, { token: MngViewContainerComponentService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
4430
|
-
MngActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngActionComponent, selector: "mng-action", inputs: { action: "action", item: "item", itemId: "itemId", actionData: "actionData", dataProvider: "dataProvider", inputDisabled: ["disabled", "inputDisabled"], inputLoading: ["loading", "inputLoading"], viewContainerInit: ["viewContainer", "viewContainerInit"] }, outputs: { triggerEventEmitter: "trigger" }, providers: [ConfirmationService], ngImport: i0, template: "<ng-container *ngIf=\"$isVisible | async\">\n <
|
|
4659
|
+
MngActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngActionComponent, selector: "mng-action", inputs: { action: "action", item: "item", itemId: "itemId", actionData: "actionData", dataProvider: "dataProvider", inputDisabled: ["disabled", "inputDisabled"], inputLoading: ["loading", "inputLoading"], viewContainerInit: ["viewContainer", "viewContainerInit"] }, outputs: { triggerEventEmitter: "trigger" }, host: { properties: { "class": "this.hostClass" } }, providers: [ConfirmationService], ngImport: i0, template: "<ng-container *ngIf=\"$isVisible | async\">\n <a *ngIf=\"actionLink && actionLink.url !== ''; else routerLink\"\n pButton\n pRipple\n [href]=\"actionLink.url\"\n [target]=\"actionLink.target\"\n [icon]=\"$any(action.icon)\"\n [class.p-button-rounded]=\"hasNoTitle\"\n [class.mng-action-button-icon]=\"hasNoTitle\"\n [class.p-button-text]=\"action.isStyleText\"\n [class.p-button-link]=\"actionLink.isStyleLink\"\n [class.p-button-raised]=\"action.isStyleRaised\"\n [class.p-button-outlined]=\"action.isStyleOutlined\"\n [class.mng-button-xs]=\"action.isSizeExtraSmall\"\n [class.mng-button-sm]=\"action.isSizeSmall\"\n [class.mng-button-lg]=\"action.isSizeLarge\"\n [class.mng-button-xl]=\"action.isSizeExtraLarge\"\n [class.p-button-default]=\"action.level === levelDefault\"\n [class.p-button-primary]=\"action.level === levelPrimary\"\n [class.p-button-secondary]=\"action.level === levelSecondary\"\n [class.p-button-info]=\"action.level === levelInfo\"\n [class.p-button-help]=\"action.level === levelHelp\"\n [class.p-button-success]=\"action.level === levelSuccess\"\n [class.p-button-warning]=\"action.level === levelWarning\"\n [class.p-button-danger]=\"action.level === levelDanger\">{{ ($label | async) ?? '' }}</a>\n <ng-template #routerLink>\n <a *ngIf=\"actionLink; else button\"\n pButton\n pRipple\n [target]=\"actionLink.target\"\n [replaceUrl]=\"actionLink.replaceUrl\"\n [routerLink]=\"actionLink.pathSegments | linkFormatter:itemId:item:action.model:actionData\"\n [queryParams]=\"actionLink.queryParams\"\n [queryParamsHandling]=\"actionLink.queryParamsHandling\"\n [icon]=\"$any(action.icon)\"\n [class.p-button-rounded]=\"hasNoTitle\"\n [class.mng-action-button-icon]=\"hasNoTitle\"\n [class.p-button-text]=\"action.isStyleText\"\n [class.p-button-link]=\"actionLink.isStyleLink\"\n [class.p-button-raised]=\"action.isStyleRaised\"\n [class.p-button-outlined]=\"action.isStyleOutlined\"\n [class.mng-button-xs]=\"action.isSizeExtraSmall\"\n [class.mng-button-sm]=\"action.isSizeSmall\"\n [class.mng-button-lg]=\"action.isSizeLarge\"\n [class.mng-button-xl]=\"action.isSizeExtraLarge\"\n [class.p-button-default]=\"action.level === levelDefault\"\n [class.p-button-primary]=\"action.level === levelPrimary\"\n [class.p-button-secondary]=\"action.level === levelSecondary\"\n [class.p-button-info]=\"action.level === levelInfo\"\n [class.p-button-help]=\"action.level === levelHelp\"\n [class.p-button-success]=\"action.level === levelSuccess\"\n [class.p-button-warning]=\"action.level === levelWarning\"\n [class.p-button-danger]=\"action.level === levelDanger\">{{ ($label | async) ?? '' }}</a>\n </ng-template>\n <ng-template #button>\n <button\n type=\"button\"\n pButton\n pRipple\n [icon]=\"$any(action.icon)\"\n [label]=\"($label | async) ?? ''\"\n [pTooltip]=\"$any($tooltip | async)\"\n [loading]=\"(($loading | async) ?? false) || ((inputLoading | async) ?? false)\"\n [disabled]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false)\"\n (click)=\"triggerAction($event)\"\n [class.p-button-rounded]=\"hasNoTitle\"\n [class.mng-action-button-icon]=\"hasNoTitle\"\n [class.p-button-text]=\"action.isStyleText\"\n [class.p-button-raised]=\"action.isStyleRaised\"\n [class.p-button-outlined]=\"action.isStyleOutlined\"\n [class.mng-button-xs]=\"action.isSizeExtraSmall\"\n [class.mng-button-sm]=\"action.isSizeSmall\"\n [class.mng-button-lg]=\"action.isSizeLarge\"\n [class.mng-button-xl]=\"action.isSizeExtraLarge\"\n [class.p-button-default]=\"action.level === levelDefault\"\n [class.p-button-primary]=\"action.level === levelPrimary\"\n [class.p-button-secondary]=\"action.level === levelSecondary\"\n [class.p-button-info]=\"action.level === levelInfo\"\n [class.p-button-help]=\"action.level === levelHelp\"\n [class.p-button-success]=\"action.level === levelSuccess\"\n [class.p-button-warning]=\"action.level === levelWarning\"\n [class.p-button-danger]=\"action.level === levelDanger\"></button>\n </ng-template>\n <p-confirmDialog *ngIf=\"action.hasRunConfirmation\" [key]=\"action.actionName + '_' + cmpId\" [baseZIndex]=\"50\" appendTo=\"body\"></p-confirmDialog>\n</ng-container>\n", styles: [":host{display:inline-block}\n"], components: [{ type: i5.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { type: i8.Ripple, selector: "[pRipple]" }, { type: i1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i9.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "pTooltip", "tooltipDisabled", "tooltipOptions"] }], pipes: { "async": i4.AsyncPipe, "linkFormatter": MngLinkFormatterPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4431
4660
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngActionComponent, decorators: [{
|
|
4432
4661
|
type: Component,
|
|
4433
|
-
args: [{ selector: 'mng-action', changeDetection: ChangeDetectionStrategy.OnPush, providers: [ConfirmationService], template: "<ng-container *ngIf=\"$isVisible | async\">\n <
|
|
4662
|
+
args: [{ selector: 'mng-action', changeDetection: ChangeDetectionStrategy.OnPush, providers: [ConfirmationService], template: "<ng-container *ngIf=\"$isVisible | async\">\n <a *ngIf=\"actionLink && actionLink.url !== ''; else routerLink\"\n pButton\n pRipple\n [href]=\"actionLink.url\"\n [target]=\"actionLink.target\"\n [icon]=\"$any(action.icon)\"\n [class.p-button-rounded]=\"hasNoTitle\"\n [class.mng-action-button-icon]=\"hasNoTitle\"\n [class.p-button-text]=\"action.isStyleText\"\n [class.p-button-link]=\"actionLink.isStyleLink\"\n [class.p-button-raised]=\"action.isStyleRaised\"\n [class.p-button-outlined]=\"action.isStyleOutlined\"\n [class.mng-button-xs]=\"action.isSizeExtraSmall\"\n [class.mng-button-sm]=\"action.isSizeSmall\"\n [class.mng-button-lg]=\"action.isSizeLarge\"\n [class.mng-button-xl]=\"action.isSizeExtraLarge\"\n [class.p-button-default]=\"action.level === levelDefault\"\n [class.p-button-primary]=\"action.level === levelPrimary\"\n [class.p-button-secondary]=\"action.level === levelSecondary\"\n [class.p-button-info]=\"action.level === levelInfo\"\n [class.p-button-help]=\"action.level === levelHelp\"\n [class.p-button-success]=\"action.level === levelSuccess\"\n [class.p-button-warning]=\"action.level === levelWarning\"\n [class.p-button-danger]=\"action.level === levelDanger\">{{ ($label | async) ?? '' }}</a>\n <ng-template #routerLink>\n <a *ngIf=\"actionLink; else button\"\n pButton\n pRipple\n [target]=\"actionLink.target\"\n [replaceUrl]=\"actionLink.replaceUrl\"\n [routerLink]=\"actionLink.pathSegments | linkFormatter:itemId:item:action.model:actionData\"\n [queryParams]=\"actionLink.queryParams\"\n [queryParamsHandling]=\"actionLink.queryParamsHandling\"\n [icon]=\"$any(action.icon)\"\n [class.p-button-rounded]=\"hasNoTitle\"\n [class.mng-action-button-icon]=\"hasNoTitle\"\n [class.p-button-text]=\"action.isStyleText\"\n [class.p-button-link]=\"actionLink.isStyleLink\"\n [class.p-button-raised]=\"action.isStyleRaised\"\n [class.p-button-outlined]=\"action.isStyleOutlined\"\n [class.mng-button-xs]=\"action.isSizeExtraSmall\"\n [class.mng-button-sm]=\"action.isSizeSmall\"\n [class.mng-button-lg]=\"action.isSizeLarge\"\n [class.mng-button-xl]=\"action.isSizeExtraLarge\"\n [class.p-button-default]=\"action.level === levelDefault\"\n [class.p-button-primary]=\"action.level === levelPrimary\"\n [class.p-button-secondary]=\"action.level === levelSecondary\"\n [class.p-button-info]=\"action.level === levelInfo\"\n [class.p-button-help]=\"action.level === levelHelp\"\n [class.p-button-success]=\"action.level === levelSuccess\"\n [class.p-button-warning]=\"action.level === levelWarning\"\n [class.p-button-danger]=\"action.level === levelDanger\">{{ ($label | async) ?? '' }}</a>\n </ng-template>\n <ng-template #button>\n <button\n type=\"button\"\n pButton\n pRipple\n [icon]=\"$any(action.icon)\"\n [label]=\"($label | async) ?? ''\"\n [pTooltip]=\"$any($tooltip | async)\"\n [loading]=\"(($loading | async) ?? false) || ((inputLoading | async) ?? false)\"\n [disabled]=\"($isEnabled | async) === false || ((inputDisabled | async) ?? false)\"\n (click)=\"triggerAction($event)\"\n [class.p-button-rounded]=\"hasNoTitle\"\n [class.mng-action-button-icon]=\"hasNoTitle\"\n [class.p-button-text]=\"action.isStyleText\"\n [class.p-button-raised]=\"action.isStyleRaised\"\n [class.p-button-outlined]=\"action.isStyleOutlined\"\n [class.mng-button-xs]=\"action.isSizeExtraSmall\"\n [class.mng-button-sm]=\"action.isSizeSmall\"\n [class.mng-button-lg]=\"action.isSizeLarge\"\n [class.mng-button-xl]=\"action.isSizeExtraLarge\"\n [class.p-button-default]=\"action.level === levelDefault\"\n [class.p-button-primary]=\"action.level === levelPrimary\"\n [class.p-button-secondary]=\"action.level === levelSecondary\"\n [class.p-button-info]=\"action.level === levelInfo\"\n [class.p-button-help]=\"action.level === levelHelp\"\n [class.p-button-success]=\"action.level === levelSuccess\"\n [class.p-button-warning]=\"action.level === levelWarning\"\n [class.p-button-danger]=\"action.level === levelDanger\"></button>\n </ng-template>\n <p-confirmDialog *ngIf=\"action.hasRunConfirmation\" [key]=\"action.actionName + '_' + cmpId\" [baseZIndex]=\"50\" appendTo=\"body\"></p-confirmDialog>\n</ng-container>\n", styles: [":host{display:inline-block}\n"] }]
|
|
4434
4663
|
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i3$1.TranslateService }, { type: MngActionExecutorService }, { type: i2.ConfirmationService }, { type: MngViewContainerComponentService, decorators: [{
|
|
4435
4664
|
type: Optional
|
|
4436
|
-
}] }]; }, propDecorators: {
|
|
4665
|
+
}] }]; }, propDecorators: { hostClass: [{
|
|
4666
|
+
type: HostBinding,
|
|
4667
|
+
args: ['class']
|
|
4668
|
+
}], action: [{
|
|
4437
4669
|
type: Input
|
|
4438
4670
|
}], item: [{
|
|
4439
4671
|
type: Input
|
|
@@ -4679,7 +4911,7 @@ class MngFormEditorComponent {
|
|
|
4679
4911
|
}
|
|
4680
4912
|
const event = new MngFormEditorSubmitEvent(formSubmitItem);
|
|
4681
4913
|
event.success = false;
|
|
4682
|
-
this.formMessages.push(
|
|
4914
|
+
this.formMessages.push(NotificationUtil.getFormEditorWarningMessage(this.translateService, 'mngEditor.invalidFormToastTitle', 'mngEditor.invalidFormToastMessage'));
|
|
4683
4915
|
this.formSubmitEventEmitter.next(event);
|
|
4684
4916
|
}
|
|
4685
4917
|
}
|
|
@@ -5202,15 +5434,16 @@ class MngActionEditorComponent {
|
|
|
5202
5434
|
this.actionExecutor
|
|
5203
5435
|
.runEditorFetch(this.action, this.item, this.itemId, this.dataProvider, this.sourceComponent, this.viewContainer)
|
|
5204
5436
|
.pipe(first(), catchError(err => {
|
|
5437
|
+
const actionError = this.actionExecutor.toMngActionError(err);
|
|
5205
5438
|
if (this.action.hasRunNotificationError) {
|
|
5206
|
-
|
|
5439
|
+
NotificationUtil.actionNotificationError(this.translate, this.action, actionError, 'fetch', this.viewContainer, this.item);
|
|
5207
5440
|
}
|
|
5208
|
-
|
|
5441
|
+
return throwError(() => actionError);
|
|
5209
5442
|
}), finalize(() => this.loadingSubject.next(false)))
|
|
5210
5443
|
.subscribe(res => {
|
|
5211
5444
|
this.item = res.result;
|
|
5212
5445
|
if (this.action.hasFetchNotificationSuccess) {
|
|
5213
|
-
|
|
5446
|
+
NotificationUtil.actionNotificationSuccess(this.translate, this.action, 'fetch', this.action.fetchNotificationSuccessTitle, this.action.fetchNotificationSuccessMessage, this.viewContainer, this.item);
|
|
5214
5447
|
}
|
|
5215
5448
|
this.setTitle();
|
|
5216
5449
|
});
|
|
@@ -5426,87 +5659,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
5426
5659
|
type: Input
|
|
5427
5660
|
}] } });
|
|
5428
5661
|
|
|
5429
|
-
class MngPropertyPathPipe {
|
|
5430
|
-
transform(value, path = '') {
|
|
5431
|
-
if (path.indexOf('.') >= 0) {
|
|
5432
|
-
const pathSplit = path.split('.');
|
|
5433
|
-
let currValue = value;
|
|
5434
|
-
for (const p of pathSplit) {
|
|
5435
|
-
if (typeof currValue === 'undefined' || currValue === null) {
|
|
5436
|
-
return currValue;
|
|
5437
|
-
}
|
|
5438
|
-
else if (typeof currValue === 'object') {
|
|
5439
|
-
currValue = currValue[p];
|
|
5440
|
-
}
|
|
5441
|
-
else {
|
|
5442
|
-
console.warn(`Path ${path} is not valid for object`, value);
|
|
5443
|
-
return currValue;
|
|
5444
|
-
}
|
|
5445
|
-
}
|
|
5446
|
-
return currValue;
|
|
5447
|
-
}
|
|
5448
|
-
else {
|
|
5449
|
-
return typeof value === 'object' ? value[path] : value;
|
|
5450
|
-
}
|
|
5451
|
-
}
|
|
5452
|
-
}
|
|
5453
|
-
MngPropertyPathPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngPropertyPathPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
5454
|
-
MngPropertyPathPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngPropertyPathPipe, name: "propertyPath" });
|
|
5455
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngPropertyPathPipe, decorators: [{
|
|
5456
|
-
type: Pipe,
|
|
5457
|
-
args: [{
|
|
5458
|
-
name: 'propertyPath',
|
|
5459
|
-
pure: true
|
|
5460
|
-
}]
|
|
5461
|
-
}] });
|
|
5462
|
-
|
|
5463
|
-
class MngBooleanPipe {
|
|
5464
|
-
transform(value, yes, no, icon = false) {
|
|
5465
|
-
if (typeof value === 'boolean') {
|
|
5466
|
-
if (icon) {
|
|
5467
|
-
return value ? yes ?? 'pi pi-check' : no ?? 'pi pi-times';
|
|
5468
|
-
}
|
|
5469
|
-
else {
|
|
5470
|
-
return value ? yes ?? 'general.yes' : no ?? 'general.no';
|
|
5471
|
-
}
|
|
5472
|
-
}
|
|
5473
|
-
else {
|
|
5474
|
-
return value;
|
|
5475
|
-
}
|
|
5476
|
-
}
|
|
5477
|
-
}
|
|
5478
|
-
MngBooleanPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngBooleanPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
5479
|
-
MngBooleanPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngBooleanPipe, name: "boolean" });
|
|
5480
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngBooleanPipe, decorators: [{
|
|
5481
|
-
type: Pipe,
|
|
5482
|
-
args: [{
|
|
5483
|
-
name: 'boolean',
|
|
5484
|
-
pure: true
|
|
5485
|
-
}]
|
|
5486
|
-
}] });
|
|
5487
|
-
|
|
5488
|
-
class MngEnumPipe {
|
|
5489
|
-
transform(value, enumObj, i18nPath, nameAsValue = false) {
|
|
5490
|
-
if (!value || !enumObj) {
|
|
5491
|
-
return value;
|
|
5492
|
-
}
|
|
5493
|
-
const enumConstantName = nameAsValue ? value : EnumUtil.getConstantNameFromEnumObject(enumObj, value);
|
|
5494
|
-
if (typeof i18nPath === 'undefined') {
|
|
5495
|
-
i18nPath = TypeUtil.findEnumName(enumObj);
|
|
5496
|
-
}
|
|
5497
|
-
return i18nPath ? `${i18nPath}.${enumConstantName}` : enumConstantName;
|
|
5498
|
-
}
|
|
5499
|
-
}
|
|
5500
|
-
MngEnumPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngEnumPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
5501
|
-
MngEnumPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngEnumPipe, name: "enum" });
|
|
5502
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngEnumPipe, decorators: [{
|
|
5503
|
-
type: Pipe,
|
|
5504
|
-
args: [{
|
|
5505
|
-
name: 'enum',
|
|
5506
|
-
pure: true
|
|
5507
|
-
}]
|
|
5508
|
-
}] });
|
|
5509
|
-
|
|
5510
5662
|
class MngTableColumnValueComponent {
|
|
5511
5663
|
constructor() {
|
|
5512
5664
|
this.columnTypeString = ColumnDescriptor.TypeEnum.String;
|
|
@@ -5527,21 +5679,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
5527
5679
|
type: Input
|
|
5528
5680
|
}] } });
|
|
5529
5681
|
|
|
5530
|
-
class MngI18nPropertyPipe {
|
|
5531
|
-
transform(property, model) {
|
|
5532
|
-
return I18nUtil.getModelPropertyKey(model, property);
|
|
5533
|
-
}
|
|
5534
|
-
}
|
|
5535
|
-
MngI18nPropertyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngI18nPropertyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
5536
|
-
MngI18nPropertyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngI18nPropertyPipe, name: "i18nProperty" });
|
|
5537
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngI18nPropertyPipe, decorators: [{
|
|
5538
|
-
type: Pipe,
|
|
5539
|
-
args: [{
|
|
5540
|
-
name: 'i18nProperty',
|
|
5541
|
-
pure: true
|
|
5542
|
-
}]
|
|
5543
|
-
}] });
|
|
5544
|
-
|
|
5545
5682
|
var TypeEnum = FilterDescriptor.TypeEnum;
|
|
5546
5683
|
var PaginationModeEnum = TableDescriptor.PaginationModeEnum;
|
|
5547
5684
|
class MngTableComponent {
|
|
@@ -5736,7 +5873,7 @@ class MngTableComponent {
|
|
|
5736
5873
|
this.isSortChanged = false;
|
|
5737
5874
|
this.dataProviderLoadingSubject.next(false);
|
|
5738
5875
|
}, err => {
|
|
5739
|
-
|
|
5876
|
+
NotificationUtil.tableNotificationError(this.translate, this.descriptor, err, this.viewContainerService ?? undefined);
|
|
5740
5877
|
const emptyQueryResult = new MediusQueryResult();
|
|
5741
5878
|
emptyQueryResult.pageData = [];
|
|
5742
5879
|
emptyQueryResult.allDataCount = 0;
|
|
@@ -6189,9 +6326,7 @@ class MngFormlyFieldTableDialogFormComponent extends FieldType {
|
|
|
6189
6326
|
const viewAction = new ActionEditorDescriptor(this.descriptor.tableviewDescriptor.viewEditor, 'details', this.descriptor.editor.model.type, this.descriptor.property)
|
|
6190
6327
|
.withPosition(ActionPositionEnum.RowClick)
|
|
6191
6328
|
.withTitle(null)
|
|
6192
|
-
.
|
|
6193
|
-
.withClassName('mng-formly-field-table-form-dialog')
|
|
6194
|
-
.withSize(SizeEnum.ExtraSmall);
|
|
6329
|
+
.withDialogClassName('mng-formly-field-table-form-dialog');
|
|
6195
6330
|
viewAction.withEditorActions([new ActionEditorSubmitDescriptor(viewAction, ActionEditorSubmitDescriptor.TypeEnum.Cancel)]);
|
|
6196
6331
|
this.rowClickActions.push(viewAction);
|
|
6197
6332
|
}
|
|
@@ -6200,7 +6335,7 @@ class MngFormlyFieldTableDialogFormComponent extends FieldType {
|
|
|
6200
6335
|
.withPosition(ActionPositionEnum.ToolbarRight)
|
|
6201
6336
|
.withTitle(null)
|
|
6202
6337
|
.withIcon('pi pi-plus')
|
|
6203
|
-
.
|
|
6338
|
+
.withDialogClassName('mng-formly-field-table-form-dialog')
|
|
6204
6339
|
.withSize(SizeEnum.ExtraSmall)
|
|
6205
6340
|
.withSubmitFunction(ctx => {
|
|
6206
6341
|
if (!ctx.data?.item) {
|
|
@@ -6220,7 +6355,7 @@ class MngFormlyFieldTableDialogFormComponent extends FieldType {
|
|
|
6220
6355
|
const editAction = new ActionEditorDescriptor(this.descriptor.tableviewDescriptor.editEditor, 'edit', this.descriptor.editor.model.type, this.descriptor.property)
|
|
6221
6356
|
.withTitle(null)
|
|
6222
6357
|
.withIcon('pi pi-pencil')
|
|
6223
|
-
.
|
|
6358
|
+
.withDialogClassName('mng-formly-field-table-form-dialog')
|
|
6224
6359
|
.withSize(SizeEnum.ExtraSmall)
|
|
6225
6360
|
.withSubmitFunction(ctx => {
|
|
6226
6361
|
if (!ctx.data?.item) {
|
|
@@ -7233,6 +7368,7 @@ const declarations = [
|
|
|
7233
7368
|
MngEnumPipe,
|
|
7234
7369
|
MngBooleanPipe,
|
|
7235
7370
|
MngI18nPropertyPipe,
|
|
7371
|
+
MngLinkFormatterPipe,
|
|
7236
7372
|
// layout components
|
|
7237
7373
|
MngBreadcrumbComponent,
|
|
7238
7374
|
MngFooterComponent,
|
|
@@ -7279,6 +7415,7 @@ class MngCommonsModule {
|
|
|
7279
7415
|
MngActionExecutorService,
|
|
7280
7416
|
MngNavigationService,
|
|
7281
7417
|
MngCommonsService,
|
|
7418
|
+
MngLinkFormatterPipe,
|
|
7282
7419
|
// component service
|
|
7283
7420
|
MngMainLayoutComponentService,
|
|
7284
7421
|
MngViewContainerComponentService,
|
|
@@ -7335,6 +7472,7 @@ MngCommonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
|
|
|
7335
7472
|
MngEnumPipe,
|
|
7336
7473
|
MngBooleanPipe,
|
|
7337
7474
|
MngI18nPropertyPipe,
|
|
7475
|
+
MngLinkFormatterPipe,
|
|
7338
7476
|
// layout components
|
|
7339
7477
|
MngBreadcrumbComponent,
|
|
7340
7478
|
MngFooterComponent,
|
|
@@ -7447,6 +7585,7 @@ MngCommonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
|
|
|
7447
7585
|
MngEnumPipe,
|
|
7448
7586
|
MngBooleanPipe,
|
|
7449
7587
|
MngI18nPropertyPipe,
|
|
7588
|
+
MngLinkFormatterPipe,
|
|
7450
7589
|
// layout components
|
|
7451
7590
|
MngBreadcrumbComponent,
|
|
7452
7591
|
MngFooterComponent,
|
|
@@ -8126,5 +8265,5 @@ class RouteDataBuilder {
|
|
|
8126
8265
|
* Generated bundle index. Do not edit.
|
|
8127
8266
|
*/
|
|
8128
8267
|
|
|
8129
|
-
export { AFieldDescriptor, AFieldGroupDescriptor, AGenericFieldDescriptor, AMngApiService, AMngCrudApiService, AMngGetAllApiService, AMngTableviewRouteComponent, ActionActivationResult, ActionActivationTriggerEnum, ActionDeleteDescriptor, ActionDescriptor, ActionEditorAddDescriptor, ActionEditorDescriptor, ActionEditorDetailsDescriptor, ActionEditorEditDescriptor, ActionEditorSubmitDescriptor, ActionError, ActionExecContext, ActionLevelEnum, ActionPositionEnum, ActionRunResult, ActionTriggerResult, ActionTypeEnum, ColumnDescriptor, DataProvider, DefaultMngErrorMapperService, EditorDataProvider, EditorDescriptor, EditorFormlyUtil, EnumName, EnumUtil, FieldDescriptor, FieldGroupDescriptor, FieldInputDescriptor, FieldLookupDescriptor, FieldLookupEnumDescriptor, FieldManyEditorDescriptor, FieldManyToManyEditorDescriptor, FieldTabGroupDescriptor, FieldValidator, FilterDescriptor, FilterLookupDescriptor, FilterLookupEnumDescriptor, I18nUtil, LookupDataProvider, MNG_AUTOCOMPLETE_VALUE_ACCESSOR, MNG_DROPDOWN_VALUE_ACCESSOR, MediusFilterMatchType, MediusFilterParam, MediusQueryMode, MediusQueryParam, MediusQueryParamBuilder, MediusQueryResult, MediusRestUtil, MngActionComponent, MngActionEditorComponent, MngActionExecutorService, MngActionRouteComponent, MngAutocompleteComponent, MngBooleanPipe, MngBreadcrumbComponent, MngCommonsModule, MngCommonsService, MngComponentDirective, MngConfigurationService, MngDropdownComponent, MngEnumPipe, MngErrorMapperService, MngFooterComponent, MngFormEditorComponent, MngFormEditorSubmitEvent, MngFormFieldEvent, MngFormFieldEventComponentSubtype, MngFormFieldEventDialogSubtype, MngFormFieldEventTypeEnum, MngFormlyFieldAutocompleteComponent, MngFormlyFieldDropdownComponent, MngFormlyFieldFieldsetComponent, MngFormlyFieldInputComponent, MngFormlyFieldLookupDialogComponent, MngFormlyFieldTableDialogFormComponent, MngFormlyFieldTableDialogMultiselectComponent, MngFormlyFieldTabsComponent, MngFormlyFieldWrapperComponent, MngFormlyTableWrapperComponent, MngI18nPropertyPipe, MngMainLayoutComponent, MngMainLayoutComponentService, MngMenuComponent, MngMenuItemComponent, MngNavigationService, MngPropertyPathPipe, MngTableColumnFilterComponent, MngTableColumnValueComponent, MngTableComponent, MngTableviewComponent, MngTableviewRouteComponent, MngTemplateDirective, MngTopbarComponent, MngViewContainerComponentService, ModelDescriptor, ModelUtil, ObjectSerializer, RouteBuilder, RouteDataBuilder, RoutesBuilder, TableDataProvider, TableDescriptor, TableviewDataProvider, TableviewDescriptor,
|
|
8268
|
+
export { AFieldDescriptor, AFieldGroupDescriptor, AGenericFieldDescriptor, AMngApiService, AMngCrudApiService, AMngGetAllApiService, AMngTableviewRouteComponent, ActionActivationResult, ActionActivationTriggerEnum, ActionDeleteDescriptor, ActionDescriptor, ActionEditorAddDescriptor, ActionEditorDescriptor, ActionEditorDetailsDescriptor, ActionEditorEditDescriptor, ActionEditorSubmitDescriptor, ActionError, ActionExecContext, ActionLevelEnum, ActionLinkDescriptor, ActionPositionEnum, ActionRunResult, ActionTriggerResult, ActionTypeEnum, ColumnDescriptor, DataProvider, DefaultMngErrorMapperService, EditorDataProvider, EditorDescriptor, EditorFormlyUtil, EnumName, EnumUtil, FieldDescriptor, FieldGroupDescriptor, FieldInputDescriptor, FieldLookupDescriptor, FieldLookupEnumDescriptor, FieldManyEditorDescriptor, FieldManyToManyEditorDescriptor, FieldTabGroupDescriptor, FieldValidator, FilterDescriptor, FilterLookupDescriptor, FilterLookupEnumDescriptor, I18nUtil, LookupDataProvider, MNG_AUTOCOMPLETE_VALUE_ACCESSOR, MNG_DROPDOWN_VALUE_ACCESSOR, MediusFilterMatchType, MediusFilterParam, MediusQueryMode, MediusQueryParam, MediusQueryParamBuilder, MediusQueryResult, MediusRestUtil, MngActionComponent, MngActionEditorComponent, MngActionExecutorService, MngActionRouteComponent, MngAutocompleteComponent, MngBooleanPipe, MngBreadcrumbComponent, MngCommonsModule, MngCommonsService, MngComponentDirective, MngConfigurationService, MngDropdownComponent, MngEnumPipe, MngErrorMapperService, MngFooterComponent, MngFormEditorComponent, MngFormEditorSubmitEvent, MngFormFieldEvent, MngFormFieldEventComponentSubtype, MngFormFieldEventDialogSubtype, MngFormFieldEventTypeEnum, MngFormlyFieldAutocompleteComponent, MngFormlyFieldDropdownComponent, MngFormlyFieldFieldsetComponent, MngFormlyFieldInputComponent, MngFormlyFieldLookupDialogComponent, MngFormlyFieldTableDialogFormComponent, MngFormlyFieldTableDialogMultiselectComponent, MngFormlyFieldTabsComponent, MngFormlyFieldWrapperComponent, MngFormlyTableWrapperComponent, MngI18nPropertyPipe, MngLinkFormatterPipe, MngMainLayoutComponent, MngMainLayoutComponentService, MngMenuComponent, MngMenuItemComponent, MngNavigationService, MngPropertyPathPipe, MngTableColumnFilterComponent, MngTableColumnValueComponent, MngTableComponent, MngTableviewComponent, MngTableviewRouteComponent, MngTemplateDirective, MngTopbarComponent, MngViewContainerComponentService, ModelDescriptor, ModelUtil, NotificationUtil, ObjectSerializer, RouteBuilder, RouteDataBuilder, RoutesBuilder, TableDataProvider, TableDescriptor, TableviewDataProvider, TableviewDescriptor, TypeName, TypeUtil, enumNameDecoratorPropertyName, enumsMapBase, formlyTypesConfig, formlyWrappersConfig, getEmailValidationMessage, getFormlyValidationMessages, getMaxLengthValidationMessage, getMinLengthValidationMessage, getRequiredValidationMessage, getTextPatternValidationMessage, mngCommonsInitializerProvider, mngConfigJsonAppInitializerProvider, mngConfigurationServiceProvider, mngFormlyConfigProvider, primeNgModules, typeMapBase, typeNameDecoratorPropertyName };
|
|
8130
8269
|
//# sourceMappingURL=mediusinc-mng-commons.mjs.map
|