@smartbit4all/ng-client 3.1.98 → 3.1.99
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/smart-filter-editor/smart-filter-editor-content/smart-filter-editor-content.component.mjs +103 -30
- package/esm2020/lib/smart-filter-editor/smart-filter-editor.module.mjs +5 -2
- package/esm2020/lib/smart-filter-editor/smart-filter-editor.service.mjs +1 -1
- package/fesm2015/smartbit4all-ng-client.mjs +99 -24
- package/fesm2015/smartbit4all-ng-client.mjs.map +1 -1
- package/fesm2020/smartbit4all-ng-client.mjs +100 -24
- package/fesm2020/smartbit4all-ng-client.mjs.map +1 -1
- package/lib/smart-filter-editor/smart-filter-editor-content/smart-filter-editor-content.component.d.ts +7 -6
- package/lib/smart-filter-editor/smart-filter-editor.module.d.ts +1 -1
- package/lib/smart-filter-editor/smart-filter-editor.service.d.ts +11 -1
- package/package.json +1 -1
- package/smartbit4all-ng-client-3.1.99.tgz +0 -0
- package/smartbit4all-ng-client-3.1.98.tgz +0 -0
|
@@ -13604,18 +13604,7 @@ class SmartFilterEditorContentComponent {
|
|
|
13604
13604
|
this.expressionUiActionModels = [];
|
|
13605
13605
|
this.type = FilterExpressionBuilderUiModel.TypeEnum;
|
|
13606
13606
|
}
|
|
13607
|
-
ngAfterViewChecked() {
|
|
13608
|
-
if (this.service.model?.type === this.type.Simple) {
|
|
13609
|
-
if (this.smartFilterChangeSubscription) {
|
|
13610
|
-
this.smartFilterChangeSubscription.unsubscribe();
|
|
13611
|
-
}
|
|
13612
|
-
this.smartFilterChangeSubscription = this.smartFilterChild?.service.change
|
|
13613
|
-
.pipe(takeUntil(this._destroy$))
|
|
13614
|
-
.subscribe(() => {
|
|
13615
|
-
this.saveFilter();
|
|
13616
|
-
});
|
|
13617
|
-
}
|
|
13618
|
-
}
|
|
13607
|
+
ngAfterViewChecked() { }
|
|
13619
13608
|
ngOnInit() {
|
|
13620
13609
|
this.service.load();
|
|
13621
13610
|
this.service.modelChanged.pipe(takeUntil(this._destroy$)).subscribe(() => {
|
|
@@ -13627,12 +13616,73 @@ class SmartFilterEditorContentComponent {
|
|
|
13627
13616
|
this._destroy$.complete();
|
|
13628
13617
|
}
|
|
13629
13618
|
setupSimpleFilter() {
|
|
13630
|
-
|
|
13631
|
-
|
|
13632
|
-
|
|
13619
|
+
let widgets = [];
|
|
13620
|
+
let key;
|
|
13621
|
+
let model = {};
|
|
13622
|
+
this.service.model?.model?.workplaceList?.filters.forEach((filterExpressionField, index) => {
|
|
13623
|
+
model[index] = filterExpressionField;
|
|
13624
|
+
if (filterExpressionField.widgetType === 'SELECT_MULTIPLE') {
|
|
13625
|
+
key = index + '.expressionData.operand2.selectedValues';
|
|
13626
|
+
widgets.push(this.constructFormWidget(key, filterExpressionField.label2, filterExpressionField.widgetType ?? FilterExpressionFieldWidgetType.TextField, filterExpressionField.possibleValues));
|
|
13627
|
+
return;
|
|
13628
|
+
}
|
|
13629
|
+
if (filterExpressionField.expressionData?.currentOperation === 'BETWEEN') {
|
|
13630
|
+
key = index + '.expressionData.operand2.valueAsString';
|
|
13631
|
+
widgets.push(this.constructFormWidget(key, filterExpressionField.label2, filterExpressionField.widgetType ?? FilterExpressionFieldWidgetType.TextField, filterExpressionField.possibleValues));
|
|
13632
|
+
key = index + '.expressionData.operand3.valueAsString';
|
|
13633
|
+
widgets.push(this.constructFormWidget(key, filterExpressionField.label2, filterExpressionField.widgetType ?? FilterExpressionFieldWidgetType.TextField, filterExpressionField.possibleValues));
|
|
13634
|
+
return;
|
|
13635
|
+
}
|
|
13636
|
+
if (filterExpressionField.expressionData?.operand2) {
|
|
13637
|
+
if (key !== index + '.expressionData.operand2.selectedValues') {
|
|
13638
|
+
key = index + '.expressionData.operand2.valueAsString';
|
|
13639
|
+
}
|
|
13640
|
+
widgets.push(this.constructFormWidget(key, filterExpressionField.label2, filterExpressionField.widgetType ?? FilterExpressionFieldWidgetType.TextField, filterExpressionField.possibleValues));
|
|
13641
|
+
return;
|
|
13642
|
+
}
|
|
13643
|
+
if (filterExpressionField?.expressionData?.operand3) {
|
|
13644
|
+
if (key !== index + '.selectedValues') {
|
|
13645
|
+
key = index + '.expressionData.operand3.valueAsString';
|
|
13646
|
+
}
|
|
13647
|
+
widgets.push(this.constructFormWidget(key, filterExpressionField.label3, filterExpressionField.widgetType ?? FilterExpressionFieldWidgetType.TextField, filterExpressionField.possibleValues));
|
|
13648
|
+
return;
|
|
13649
|
+
}
|
|
13650
|
+
});
|
|
13651
|
+
this.simpleFilterForm = {
|
|
13652
|
+
direction: SmartFormWidgetDirection.ROW,
|
|
13653
|
+
componentModel: { data: model },
|
|
13654
|
+
useOnValueChangeEvent: true,
|
|
13655
|
+
useOnBlurEvent: true,
|
|
13656
|
+
widgets,
|
|
13633
13657
|
};
|
|
13634
|
-
if (
|
|
13658
|
+
if (this.smartFilterChangeSubscription) {
|
|
13659
|
+
this.smartFilterChangeSubscription.unsubscribe();
|
|
13635
13660
|
}
|
|
13661
|
+
this.smartFilterChangeSubscription = this.simpleFilterFormChild?.onBlurSubject
|
|
13662
|
+
?.pipe(takeUntil(this._destroy$))
|
|
13663
|
+
.subscribe(() => {
|
|
13664
|
+
this.saveFilter();
|
|
13665
|
+
});
|
|
13666
|
+
if (this.smartFilterSophisticatedChangeSubscription) {
|
|
13667
|
+
this.smartFilterSophisticatedChangeSubscription.unsubscribe();
|
|
13668
|
+
}
|
|
13669
|
+
this.smartFilterSophisticatedChangeSubscription =
|
|
13670
|
+
this.simpleFilterFormChild?.sophisticatedValueChange
|
|
13671
|
+
?.pipe(takeUntil(this._destroy$))
|
|
13672
|
+
.subscribe((change) => {
|
|
13673
|
+
if (change.kind === 'selection') {
|
|
13674
|
+
console.log(change);
|
|
13675
|
+
this.saveFilter();
|
|
13676
|
+
}
|
|
13677
|
+
});
|
|
13678
|
+
}
|
|
13679
|
+
extractFilterFieldFromFormModel() {
|
|
13680
|
+
let simpleFilter = this.simpleFilterFormChild?.submitForm(false).componentModel.data;
|
|
13681
|
+
let result = [];
|
|
13682
|
+
Object.keys(simpleFilter).forEach((key) => {
|
|
13683
|
+
result.push(simpleFilter[key]);
|
|
13684
|
+
});
|
|
13685
|
+
this.service.model.model.workplaceList.filters = result;
|
|
13636
13686
|
}
|
|
13637
13687
|
setUp() {
|
|
13638
13688
|
if (this.service.model?.type === this.type.Simple) {
|
|
@@ -13730,9 +13780,7 @@ class SmartFilterEditorContentComponent {
|
|
|
13730
13780
|
return [];
|
|
13731
13781
|
}
|
|
13732
13782
|
async saveFilter() {
|
|
13733
|
-
|
|
13734
|
-
this.service.model.model.workplaceList.filters =
|
|
13735
|
-
smartFilter?.data;
|
|
13783
|
+
this.extractFilterFieldFromFormModel();
|
|
13736
13784
|
this.service.performUiActionRequest({
|
|
13737
13785
|
code: FilterExpressionBuilderApiActions.SAVE_EXPRESSION_FIELD_LIST,
|
|
13738
13786
|
params: {
|
|
@@ -13740,20 +13788,45 @@ class SmartFilterEditorContentComponent {
|
|
|
13740
13788
|
},
|
|
13741
13789
|
});
|
|
13742
13790
|
}
|
|
13791
|
+
constructFormWidget(key, label, widgetType, possibleValues) {
|
|
13792
|
+
let type = widgetType;
|
|
13793
|
+
if (type === FilterExpressionFieldWidgetType.Date) {
|
|
13794
|
+
type = SmartFormWidgetType.DATE_PICKER;
|
|
13795
|
+
}
|
|
13796
|
+
else if (type === FilterExpressionFieldWidgetType.DateTime) {
|
|
13797
|
+
type = SmartFormWidgetType.DATE_TIME_PICKER;
|
|
13798
|
+
}
|
|
13799
|
+
let widget = {
|
|
13800
|
+
key,
|
|
13801
|
+
label,
|
|
13802
|
+
type,
|
|
13803
|
+
value: '',
|
|
13804
|
+
showLabel: true,
|
|
13805
|
+
valueList: possibleValues.map((value) => {
|
|
13806
|
+
return {
|
|
13807
|
+
key: value.objectUri ? value.objectUri : value.code,
|
|
13808
|
+
label: value.displayValue,
|
|
13809
|
+
type: SmartFormWidgetType.ITEM,
|
|
13810
|
+
value: value.objectUri ? value.objectUri : value.code,
|
|
13811
|
+
};
|
|
13812
|
+
}),
|
|
13813
|
+
};
|
|
13814
|
+
return widget;
|
|
13815
|
+
}
|
|
13743
13816
|
}
|
|
13744
13817
|
SmartFilterEditorContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterEditorContentComponent, deps: [{ token: SmartformLayoutDefinitionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
13745
|
-
SmartFilterEditorContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartFilterEditorContentComponent, selector: "smart-filter-expression-editor", inputs: { service: "service" }, viewQueries: [{ propertyName: "formChild", first: true, predicate: ["form"], descendants: true }, { propertyName: "
|
|
13818
|
+
SmartFilterEditorContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartFilterEditorContentComponent, selector: "smart-filter-expression-editor", inputs: { service: "service" }, viewQueries: [{ propertyName: "formChild", first: true, predicate: ["form"], descendants: true }, { propertyName: "simpleFilterFormChild", first: true, predicate: ["simpleFilterFromChild"], descendants: true }], ngImport: i0, template: "<div class=\"targetGroupContentContainer\">\r\n <h3>{{ service.model?.model?.label }}</h3>\r\n\r\n <div *ngIf=\"service.model?.type === type.Simple; then simpleFilter; else complexFilter\"></div>\r\n\r\n <ng-template #simpleFilter>\r\n <div class=\"expressionsContainer\">\r\n <smartform #simpleFilterFromChild [smartForm]=\"simpleFilterForm\"></smartform>\r\n </div>\r\n </ng-template>\r\n <ng-template #complexFilter>\r\n <div class=\"uiActionsBar\" *ngIf=\"!service.model?.readOnly\">\r\n <div class=\"uiActionsInsideOfBar\">\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n service?.model?.model?.workplaceList?.filters?.length;\r\n then withParameters;\r\n else withoutParameters\r\n \"\r\n ></div>\r\n <ng-template #withoutParameters>\r\n <div class=\"withoutParametersContainer\">\r\n <span class=\"mat-body\"> M\u00E9g nincs megadva param\u00E9ter </span>\r\n </div>\r\n </ng-template>\r\n <ng-template #withParameters>\r\n <div class=\"withParametersContainer\">\r\n <div\r\n class=\"expressionsContainer\"\r\n *ngIf=\"service?.model?.model?.workplaceList?.filters?.length\"\r\n >\r\n <app-expression-items\r\n [items]=\"(service.model?.model?.workplaceList)!.filters\"\r\n ></app-expression-items>\r\n </div>\r\n <div class=\"expressionEditorContainer\">\r\n <smartform #form [smartForm]=\"smartForm\"></smartform>\r\n <div *ngIf=\"smartForm\">\r\n <button (click)=\"remove()\" mat-raised-button color=\"primary\">T\u00F6rl\u00E9s</button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n</div>\r\n", styles: [".targetGroupContentContainer{padding:1.5rem;display:flex;flex-direction:column;gap:2.5rem;height:calc(100% - 3rem);overflow:auto;position:relative}.targetGroupContentContainer h3{margin:0;font-weight:600}.uiActionsBar{padding:1.5rem;border-radius:.25rem;background-color:var(--container-color)}.uiActionsBar,.uiActionsInsideOfBar{display:flex;flex-direction:row;gap:1rem}.uiActionsInsideOfBar{position:relative;left:-3rem}.section,.notSection{display:flex;flex-direction:row;gap:1rem}.section:before{content:\"\";border:1px solid #d9d9d9;align-self:stretch}.withoutParametersContainer{display:flex;flex-direction:column;padding:2rem;background-color:var(--container-color);border-radius:.25rem}.withoutParametersContainer .mat-body{font-weight:600;text-align:center}.withParametersContainer{display:flex;flex-direction:column;padding:1.5rem;background-color:var(--container-color);border-radius:.25rem;gap:.75rem}.expressionsContainer{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;margin-bottom:1px solid #cdcdcd}.expressionEditorContainer{display:flex;flex-direction:column;gap:.75rem}\n"], components: [{ type: SmartformComponent, selector: "smartform", inputs: ["smartForm"] }, { type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService"] }, { type: SmartFilterExpressionItemsComponent, selector: "app-expression-items", inputs: ["items"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
13746
13819
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterEditorContentComponent, decorators: [{
|
|
13747
13820
|
type: Component,
|
|
13748
|
-
args: [{ selector: 'smart-filter-expression-editor', template: "<div class=\"targetGroupContentContainer\">\r\n <h3>{{ service.model?.model?.label }}</h3>\r\n\r\n <div *ngIf=\"service.model?.type === type.Simple; then simpleFilter; else complexFilter\"></div>\r\n\r\n <ng-template #simpleFilter>\r\n <div class=\"expressionsContainer\">\r\n <
|
|
13821
|
+
args: [{ selector: 'smart-filter-expression-editor', template: "<div class=\"targetGroupContentContainer\">\r\n <h3>{{ service.model?.model?.label }}</h3>\r\n\r\n <div *ngIf=\"service.model?.type === type.Simple; then simpleFilter; else complexFilter\"></div>\r\n\r\n <ng-template #simpleFilter>\r\n <div class=\"expressionsContainer\">\r\n <smartform #simpleFilterFromChild [smartForm]=\"simpleFilterForm\"></smartform>\r\n </div>\r\n </ng-template>\r\n <ng-template #complexFilter>\r\n <div class=\"uiActionsBar\" *ngIf=\"!service.model?.readOnly\">\r\n <div class=\"uiActionsInsideOfBar\">\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"\r\n service?.model?.model?.workplaceList?.filters?.length;\r\n then withParameters;\r\n else withoutParameters\r\n \"\r\n ></div>\r\n <ng-template #withoutParameters>\r\n <div class=\"withoutParametersContainer\">\r\n <span class=\"mat-body\"> M\u00E9g nincs megadva param\u00E9ter </span>\r\n </div>\r\n </ng-template>\r\n <ng-template #withParameters>\r\n <div class=\"withParametersContainer\">\r\n <div\r\n class=\"expressionsContainer\"\r\n *ngIf=\"service?.model?.model?.workplaceList?.filters?.length\"\r\n >\r\n <app-expression-items\r\n [items]=\"(service.model?.model?.workplaceList)!.filters\"\r\n ></app-expression-items>\r\n </div>\r\n <div class=\"expressionEditorContainer\">\r\n <smartform #form [smartForm]=\"smartForm\"></smartform>\r\n <div *ngIf=\"smartForm\">\r\n <button (click)=\"remove()\" mat-raised-button color=\"primary\">T\u00F6rl\u00E9s</button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n</div>\r\n", styles: [".targetGroupContentContainer{padding:1.5rem;display:flex;flex-direction:column;gap:2.5rem;height:calc(100% - 3rem);overflow:auto;position:relative}.targetGroupContentContainer h3{margin:0;font-weight:600}.uiActionsBar{padding:1.5rem;border-radius:.25rem;background-color:var(--container-color)}.uiActionsBar,.uiActionsInsideOfBar{display:flex;flex-direction:row;gap:1rem}.uiActionsInsideOfBar{position:relative;left:-3rem}.section,.notSection{display:flex;flex-direction:row;gap:1rem}.section:before{content:\"\";border:1px solid #d9d9d9;align-self:stretch}.withoutParametersContainer{display:flex;flex-direction:column;padding:2rem;background-color:var(--container-color);border-radius:.25rem}.withoutParametersContainer .mat-body{font-weight:600;text-align:center}.withParametersContainer{display:flex;flex-direction:column;padding:1.5rem;background-color:var(--container-color);border-radius:.25rem;gap:.75rem}.expressionsContainer{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;margin-bottom:1px solid #cdcdcd}.expressionEditorContainer{display:flex;flex-direction:column;gap:.75rem}\n"] }]
|
|
13749
13822
|
}], ctorParameters: function () { return [{ type: SmartformLayoutDefinitionService }]; }, propDecorators: { service: [{
|
|
13750
13823
|
type: Input
|
|
13751
13824
|
}], formChild: [{
|
|
13752
13825
|
type: ViewChild,
|
|
13753
13826
|
args: ['form']
|
|
13754
|
-
}],
|
|
13827
|
+
}], simpleFilterFormChild: [{
|
|
13755
13828
|
type: ViewChild,
|
|
13756
|
-
args: ['
|
|
13829
|
+
args: ['simpleFilterFromChild']
|
|
13757
13830
|
}] } });
|
|
13758
13831
|
|
|
13759
13832
|
class SmartFilterEditorModule {
|
|
@@ -13769,7 +13842,8 @@ SmartFilterEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0",
|
|
|
13769
13842
|
SmartViewContextModule,
|
|
13770
13843
|
SmartformModule,
|
|
13771
13844
|
MatButtonModule,
|
|
13772
|
-
SmartFilterModule
|
|
13845
|
+
SmartFilterModule,
|
|
13846
|
+
SmartformModule], exports: [SmartFilterParamsComponent,
|
|
13773
13847
|
SmartFilterParamComponent,
|
|
13774
13848
|
SmartFilterEditorContentComponent,
|
|
13775
13849
|
SmartFilterExpressionItemsComponent,
|
|
@@ -13782,6 +13856,7 @@ SmartFilterEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
|
|
|
13782
13856
|
SmartformModule,
|
|
13783
13857
|
MatButtonModule,
|
|
13784
13858
|
SmartFilterModule,
|
|
13859
|
+
SmartformModule,
|
|
13785
13860
|
]] });
|
|
13786
13861
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterEditorModule, decorators: [{
|
|
13787
13862
|
type: NgModule,
|
|
@@ -13801,6 +13876,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
13801
13876
|
SmartformModule,
|
|
13802
13877
|
MatButtonModule,
|
|
13803
13878
|
SmartFilterModule,
|
|
13879
|
+
SmartformModule,
|
|
13804
13880
|
],
|
|
13805
13881
|
exports: [
|
|
13806
13882
|
SmartFilterParamsComponent,
|