@acorex/components 3.0.31 → 3.0.35

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.
Files changed (29) hide show
  1. package/acorex-components.metadata.json +1 -1
  2. package/bundles/acorex-components.umd.js +180 -27
  3. package/bundles/acorex-components.umd.js.map +1 -1
  4. package/bundles/acorex-components.umd.min.js +1 -1
  5. package/bundles/acorex-components.umd.min.js.map +1 -1
  6. package/esm2015/lib/number-box/number-box.component.js +1 -2
  7. package/esm2015/lib/query-builder/query-builder-group.component.js +14 -5
  8. package/esm2015/lib/query-builder/query-builder-rule.component.js +7 -3
  9. package/esm2015/lib/query-builder/query-builder.component.js +10 -5
  10. package/esm2015/lib/query-builder/query-builder.service.js +84 -4
  11. package/esm2015/lib/tab-page/tab-page.module.js +2 -3
  12. package/esm2015/lib/tree-view/tree-view.component.js +40 -15
  13. package/esm5/lib/number-box/number-box.component.js +1 -2
  14. package/esm5/lib/query-builder/query-builder-group.component.js +15 -5
  15. package/esm5/lib/query-builder/query-builder-rule.component.js +7 -3
  16. package/esm5/lib/query-builder/query-builder.component.js +10 -5
  17. package/esm5/lib/query-builder/query-builder.service.js +113 -4
  18. package/esm5/lib/tab-page/tab-page.module.js +2 -3
  19. package/esm5/lib/tree-view/tree-view.component.js +41 -15
  20. package/fesm2015/acorex-components.js +150 -28
  21. package/fesm2015/acorex-components.js.map +1 -1
  22. package/fesm5/acorex-components.js +181 -28
  23. package/fesm5/acorex-components.js.map +1 -1
  24. package/lib/query-builder/query-builder-group.component.d.ts +1 -0
  25. package/lib/query-builder/query-builder-rule.component.d.ts +1 -0
  26. package/lib/query-builder/query-builder.component.d.ts +1 -0
  27. package/lib/query-builder/query-builder.service.d.ts +2 -1
  28. package/lib/tree-view/tree-view.component.d.ts +3 -1
  29. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { __decorate, __metadata, __extends, __spread, __param, __assign, __awaiter, __generator } from 'tslib';
1
+ import { __decorate, __metadata, __extends, __spread, __param, __assign, __awaiter, __generator, __asyncValues } from 'tslib';
2
2
  import { Input, Component, EventEmitter, ContentChildren, QueryList, Output, ViewChild, ContentChild, ElementRef, ɵɵdefineInjectable, ɵɵinject, Injectable, ComponentFactoryResolver, Injector, NgZone, Inject, RendererFactory2, INJECTOR, TemplateRef, ApplicationRef, ChangeDetectorRef, HostListener, ViewEncapsulation, NgModule, ChangeDetectionStrategy, Attribute, Directive, ViewContainerRef, Renderer2, ViewChildren } from '@angular/core';
3
3
  import { AXTranslator, AXHtmlUtil, AXRenderService, AXConfig, AXDateTime, AXDateTimeRange, AXCoreModule, AXMenuItem, AXTranslatorModule, AXObjectUtil, AXScrollModule, getPropByPath, AXColorUtil } from '@acorex/core';
4
4
  import { OverlayContainer, ScrollStrategyOptions, OverlayPositionBuilder, OverlayKeyboardDispatcher, Overlay, OverlayModule } from '@angular/cdk/overlay';
@@ -7568,7 +7568,6 @@ var AXNumberBoxComponent = /** @class */ (function (_super) {
7568
7568
  configurable: true
7569
7569
  });
7570
7570
  AXNumberBoxComponent.prototype.calcSeparator = function (num) {
7571
- debugger;
7572
7571
  if (this.showSeparator) {
7573
7572
  return num + (+(num / 3));
7574
7573
  }
@@ -9424,6 +9423,7 @@ var AXQueryBuilderRuleComponent = /** @class */ (function () {
9424
9423
  function AXQueryBuilderRuleComponent() {
9425
9424
  var _this = this;
9426
9425
  this.isEditing = true;
9426
+ this.mode = 'new';
9427
9427
  this.fields = [];
9428
9428
  this.onRuleDelete = new EventEmitter();
9429
9429
  this.ruleChanged = new EventEmitter();
@@ -9607,7 +9607,6 @@ var AXQueryBuilderRuleComponent = /** @class */ (function () {
9607
9607
  };
9608
9608
  AXQueryBuilderRuleComponent.prototype.captionChange = function (e) {
9609
9609
  var _this = this;
9610
- debugger;
9611
9610
  if (e.selectedItems[0]) {
9612
9611
  this.rule.caption = e.selectedItems[0].caption;
9613
9612
  this.rule.dataField = e.selectedItems[0].dataField;
@@ -9755,6 +9754,10 @@ var AXQueryBuilderRuleComponent = /** @class */ (function () {
9755
9754
  Input(),
9756
9755
  __metadata("design:type", AXQueryBuilderGroup)
9757
9756
  ], AXQueryBuilderRuleComponent.prototype, "parent", void 0);
9757
+ __decorate([
9758
+ Input(),
9759
+ __metadata("design:type", String)
9760
+ ], AXQueryBuilderRuleComponent.prototype, "mode", void 0);
9758
9761
  __decorate([
9759
9762
  Input(),
9760
9763
  __metadata("design:type", Array)
@@ -9770,7 +9773,7 @@ var AXQueryBuilderRuleComponent = /** @class */ (function () {
9770
9773
  AXQueryBuilderRuleComponent = __decorate([
9771
9774
  Component({
9772
9775
  selector: 'ax-query-rule',
9773
- template: "<div class=\"condition\" *ngIf=\"parent\">\r\n <div class=\"text {{parent.condition}}\">\r\n <span>{{parent.condition}}</span>\r\n </div>\r\n</div>\r\n<div class=\"handler\">\r\n <i class=\"far fa-grip-lines-vertical\"></i>\r\n</div>\r\n\r\n<div class=\"caption\" [ngClass]=\"{'editable': isEditing}\">\r\n <ng-container *ngIf=\"isEditing;else fieldsTemplate\">\r\n <ax-form-group>\r\n <ax-select-box (selectionChanged)=\"captionChange($event)\" allowNull=\"false\"\r\n [(selectedItems)]=\"rule.dataFieldItem\" textField=\"caption\" valueField=\"dataField\" [items]=\"fields\"\r\n size=\"sm\" mode=\"single\">\r\n </ax-select-box>\r\n </ax-form-group>\r\n </ng-container>\r\n <ng-template #fieldsTemplate>\r\n <div (click)=\"handleEditClick()\">\r\n {{rule.caption}}\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n<div class=\"operator\" [ngClass]=\"{'editable': isEditing,'radius':!showValue}\">\r\n <ng-container *ngIf=\"isEditing;else operatorTemplate\">\r\n <ax-form-group>\r\n <ax-select-box *ngIf=\"showOperatorSelectBox\" [(selectedValues)]=\"rule.operator\" #selectBox\r\n (selectedItemsChange)=\"operatorChange($event)\" allowNull=\"false\" size=\"sm\" mode=\"single\">\r\n <ax-data-source [provideData]=\"provideDataOperator\">\r\n </ax-data-source>\r\n </ax-select-box>\r\n </ax-form-group>\r\n </ng-container>\r\n <ng-template #operatorTemplate>\r\n <div class=\"text\" (click)=\"handleEditClick()\">\r\n {{('queryBuilder.'+rule.operator) | trans}}\r\n </div>\r\n </ng-template>\r\n</div>\r\n<div *ngIf=\"showValue\" class=\"value\" [ngClass]=\"{'editable': isEditing}\">\r\n <ng-container *ngIf=\"isEditing;else valueTemplate\">\r\n\r\n <div *ngIf=\" rule.control && !isOnDemandLabel\" [ngSwitch]=\"rule.control.type\">\r\n <div *ngSwitchCase=\"'textBox'\">\r\n <ax-form-group>\r\n <ax-text-box (onValueChanged)=\"valueChange($event)\" placeholder=\"\u0645\u0642\u062F\u0627\u0631 \u0645\u0648\u0631\u062F \u0646\u0638\u0631 \u062E\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F\"\r\n [(value)]=\"rule.value\" size=\"sm\">\r\n </ax-text-box>\r\n </ax-form-group>\r\n </div>\r\n <div *ngSwitchCase=\"'selectBox'\">\r\n <ax-form-group>\r\n <ax-select-box *ngIf=\"showSelectBox\" [mode]=\"getOption('mode')\"\r\n [remoteOperation]=\"getOption('remoteOperation')\" [valueField]=\"getOption('valueField')\"\r\n placeholder=\"\u0645\u0642\u062F\u0627\u0631 \u0645\u0648\u0631\u062F \u0646\u0638\u0631 \u062E\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F\" [textField]=\"getOption('textField')\"\r\n [(selectedItems)]=\"rule.valueItem\" (selectedItemsChange)=\"selectedItemsChange($event)\" size=\"sm\"\r\n #selectBoxValue>\r\n <ax-data-source [provideData]=\"getProvideData\"></ax-data-source>\r\n </ax-select-box>\r\n </ax-form-group>\r\n </div>\r\n\r\n <div *ngSwitchCase=\"'numberBox'\">\r\n <ax-form-group>\r\n <ax-number-box (onValueChanged)=\"valueChange($event)\" placeholder=\"\u0645\u0642\u062F\u0627\u0631 \u0645\u0648\u0631\u062F \u0646\u0638\u0631 \u062E\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F\"\r\n [(value)]=\"rule.value\" size=\"sm\">\r\n </ax-number-box>\r\n </ax-form-group>\r\n </div>\r\n <div *ngSwitchCase=\"'datePicker'\">\r\n\r\n\r\n </div>\r\n <div *ngSwitchCase=\"'boolean'\">\r\n\r\n <ax-form-group>\r\n <ax-select-box #selectBoxBoolean (selectedItemsChange)=\"valueBooleanChange($event)\"\r\n allowNull=\"false\" [selectedValues]=\"rule.value\" size=\"sm\" mode=\"single\">\r\n <ax-data-source [provideData]=\"provideDataBoolean\">\r\n </ax-data-source>\r\n </ax-select-box>\r\n </ax-form-group>\r\n\r\n </div>\r\n <div *ngSwitchDefault>\r\n <ax-form-group>\r\n <ax-text-box (onValueChanged)=\"valueChange($event)\" placeholder=\"\u0645\u0642\u062F\u0627\u0631 \u0645\u0648\u0631\u062F \u0646\u0638\u0631 \u062E\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F\"\r\n [(value)]=\"rule.value\" size=\"sm\">\r\n </ax-text-box>\r\n\r\n </ax-form-group>\r\n\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"isOnDemandLabel\">\r\n\r\n <ax-text-box #textBoxNameValue [value]=\"getOnDemandName(rule.onDemandLabel)\"\r\n (onValueChanged)=\"onDemandLabelChange($event)\" placeholder=\"\u0646\u0627\u0645 \u0645\u062A\u063A\u06CC\u0631 \u062E\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F\" size=\"sm\">\r\n <!-- <ax-validation>\r\n <ax-validation-rule type=\"required\"></ax-validation-rule>\r\n </ax-validation> -->\r\n </ax-text-box>\r\n\r\n\r\n </div>\r\n\r\n </ng-container>\r\n <ng-template #valueTemplate>\r\n <div (click)=\"handleEditClick()\">\r\n\r\n {{rule.text}}\r\n\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n<div class=\"buttons-list\">\r\n <div *ngIf=\"showValue && isEditing\" class=\"button variable\" [ngClass]=\"{'active-button': isOnDemandLabel}\">\r\n <i class=\"far fa-dollar-sign\"></i>\r\n <ax-check-box [value]=\"isOnDemandLabel\" (onClick)=\"onDemandLabel($event)\">\r\n </ax-check-box>\r\n </div>\r\n\r\n <div class=\"button commit\" (click)=\"handleCommitClick()\" *ngIf=\"isEditing\">\r\n <i class=\"far fa-check\"></i>\r\n </div>\r\n <div class=\"button remove\" (click)=\"handleRemoveClick()\">\r\n <i class=\"far fa-times\"></i>\r\n </div>\r\n</div>",
9776
+ template: "<div class=\"condition\" *ngIf=\"parent\">\r\n <div class=\"text {{parent.condition}}\">\r\n <span>{{parent.condition}}</span>\r\n </div>\r\n</div>\r\n<div class=\"handler\">\r\n <i class=\"far fa-grip-lines-vertical\"></i>\r\n</div>\r\n\r\n<div class=\"caption\" [ngClass]=\"{'editable': isEditing}\">\r\n <ng-container *ngIf=\"isEditing;else fieldsTemplate\">\r\n <ax-form-group>\r\n <ax-select-box [readonly]=\"mode == 'edit'\" (selectionChanged)=\"captionChange($event)\" allowNull=\"false\"\r\n [(selectedItems)]=\"rule.dataFieldItem\" textField=\"caption\" valueField=\"dataField\" [items]=\"fields\"\r\n mode=\"single\">\r\n </ax-select-box>\r\n </ax-form-group>\r\n </ng-container>\r\n <ng-template #fieldsTemplate>\r\n <div (click)=\"handleEditClick()\">\r\n {{rule.caption}}\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n<div class=\"operator\" [ngClass]=\"{'editable': isEditing,'radius':!showValue}\">\r\n <ng-container *ngIf=\"isEditing;else operatorTemplate\">\r\n <ax-form-group>\r\n <ax-select-box [readonly]=\"mode == 'edit'\" *ngIf=\"showOperatorSelectBox\" [(selectedValues)]=\"rule.operator\"\r\n #selectBox (selectedItemsChange)=\"operatorChange($event)\" allowNull=\"false\" mode=\"single\">\r\n <ax-data-source [provideData]=\"provideDataOperator\">\r\n </ax-data-source>\r\n </ax-select-box>\r\n </ax-form-group>\r\n </ng-container>\r\n <ng-template #operatorTemplate>\r\n <div class=\"text\" (click)=\"handleEditClick()\">\r\n {{('queryBuilder.'+rule.operator) | trans}}\r\n </div>\r\n </ng-template>\r\n</div>\r\n<div *ngIf=\"showValue\" class=\"value\" [ngClass]=\"{'editable': isEditing}\">\r\n <ng-container *ngIf=\"isEditing;else valueTemplate\">\r\n\r\n <div *ngIf=\" rule.control && !isOnDemandLabel\" [ngSwitch]=\"rule.control.type\">\r\n <div *ngSwitchCase=\"'textBox'\">\r\n <ax-form-group>\r\n <ax-text-box (onValueChanged)=\"valueChange($event)\" placeholder=\"\u0645\u0642\u062F\u0627\u0631 \u0645\u0648\u0631\u062F \u0646\u0638\u0631 \u062E\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F\"\r\n [(value)]=\"rule.value\">\r\n </ax-text-box>\r\n </ax-form-group>\r\n </div>\r\n <div *ngSwitchCase=\"'selectBox'\">\r\n <ax-form-group>\r\n <ax-select-box *ngIf=\"showSelectBox\" [mode]=\"getOption('mode')\"\r\n [remoteOperation]=\"getOption('remoteOperation')\" [valueField]=\"getOption('valueField')\"\r\n placeholder=\"\u0645\u0642\u062F\u0627\u0631 \u0645\u0648\u0631\u062F \u0646\u0638\u0631 \u062E\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F\" [textField]=\"getOption('textField')\"\r\n [(selectedItems)]=\"rule.valueItem\" (selectedItemsChange)=\"selectedItemsChange($event)\"\r\n #selectBoxValue>\r\n <ax-data-source [provideData]=\"getProvideData\"></ax-data-source>\r\n </ax-select-box>\r\n </ax-form-group>\r\n </div>\r\n\r\n <div *ngSwitchCase=\"'numberBox'\">\r\n <ax-form-group>\r\n <ax-number-box (onValueChanged)=\"valueChange($event)\" placeholder=\"\u0645\u0642\u062F\u0627\u0631 \u0645\u0648\u0631\u062F \u0646\u0638\u0631 \u062E\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F\"\r\n [(value)]=\"rule.value\">\r\n </ax-number-box>\r\n </ax-form-group>\r\n </div>\r\n <div *ngSwitchCase=\"'datePicker'\">\r\n\r\n\r\n </div>\r\n <div *ngSwitchCase=\"'boolean'\">\r\n\r\n <ax-form-group>\r\n <ax-select-box #selectBoxBoolean (selectedItemsChange)=\"valueBooleanChange($event)\"\r\n allowNull=\"false\" [selectedValues]=\"rule.value\" mode=\"single\">\r\n <ax-data-source [provideData]=\"provideDataBoolean\">\r\n </ax-data-source>\r\n </ax-select-box>\r\n </ax-form-group>\r\n\r\n </div>\r\n <div *ngSwitchDefault>\r\n <ax-form-group>\r\n <ax-text-box (onValueChanged)=\"valueChange($event)\" placeholder=\"\u0645\u0642\u062F\u0627\u0631 \u0645\u0648\u0631\u062F \u0646\u0638\u0631 \u062E\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F\"\r\n [(value)]=\"rule.value\">\r\n </ax-text-box>\r\n\r\n </ax-form-group>\r\n\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"isOnDemandLabel\">\r\n\r\n <ax-text-box #textBoxNameValue [value]=\"getOnDemandName(rule.onDemandLabel)\"\r\n (onValueChanged)=\"onDemandLabelChange($event)\" placeholder=\"\u0646\u0627\u0645 \u0645\u062A\u063A\u06CC\u0631 \u062E\u0648\u062F \u0631\u0627 \u0648\u0627\u0631\u062F \u06A9\u0646\u06CC\u062F\">\r\n <!-- <ax-validation>\r\n <ax-validation-rule type=\"required\"></ax-validation-rule>\r\n </ax-validation> -->\r\n </ax-text-box>\r\n\r\n\r\n </div>\r\n\r\n </ng-container>\r\n <ng-template #valueTemplate>\r\n <div (click)=\"handleEditClick()\">\r\n\r\n {{rule.text}}\r\n\r\n </div>\r\n </ng-template>\r\n</div>\r\n\r\n<div class=\"buttons-list\">\r\n <div *ngIf=\"showValue && isEditing && mode == 'new'\" class=\"button variable\"\r\n [ngClass]=\"{'active-button': isOnDemandLabel}\">\r\n <i class=\"far fa-dollar-sign\"></i>\r\n <ax-check-box [value]=\"isOnDemandLabel\" (onClick)=\"onDemandLabel($event)\">\r\n </ax-check-box>\r\n </div>\r\n\r\n <div class=\"button commit\" (click)=\"handleCommitClick()\" *ngIf=\"isEditing\">\r\n <i class=\"far fa-check\"></i>\r\n </div>\r\n <div class=\"button remove\" (click)=\"handleRemoveClick()\" *ngIf=\"mode == 'new'\">\r\n <i class=\"far fa-times\"></i>\r\n </div>\r\n</div>",
9774
9777
  host: { class: 'ax ax-query-rule' },
9775
9778
  encapsulation: ViewEncapsulation.None
9776
9779
  }),
@@ -9965,7 +9968,7 @@ var AXQueryBuilderService = /** @class */ (function () {
9965
9968
  }
9966
9969
  }
9967
9970
  if (_this.canRun) {
9968
- _this.popup.open(AXQueryBuilderPopupComponent, { data: { group: group, provideData: provideData }, title: "دریافت مقادیر" }).then(function (c) {
9971
+ _this.popup.open(AXQueryBuilderPopupComponent, { data: { group: group, provideData: provideData }, title: 'دریافت مقادیر' }).then(function (c) {
9969
9972
  resolve(c);
9970
9973
  });
9971
9974
  }
@@ -10005,10 +10008,119 @@ var AXQueryBuilderService = /** @class */ (function () {
10005
10008
  }
10006
10009
  // }
10007
10010
  };
10011
+ AXQueryBuilderService.prototype.getQueryStringSimple = function (group) {
10012
+ return __awaiter(this, void 0, void 0, function () {
10013
+ var _this = this;
10014
+ return __generator(this, function (_a) {
10015
+ return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
10016
+ var query, id, _a, _b, iterator, item, codeOperator, e_1_1;
10017
+ var e_1, _c;
10018
+ return __generator(this, function (_d) {
10019
+ switch (_d.label) {
10020
+ case 0:
10021
+ debugger;
10022
+ if (group.items.length > 0) {
10023
+ query = ' ( ';
10024
+ }
10025
+ id = 0;
10026
+ _d.label = 1;
10027
+ case 1:
10028
+ _d.trys.push([1, 9, 10, 15]);
10029
+ _a = __asyncValues(group.items);
10030
+ _d.label = 2;
10031
+ case 2: return [4 /*yield*/, _a.next()];
10032
+ case 3:
10033
+ if (!(_b = _d.sent(), !_b.done)) return [3 /*break*/, 8];
10034
+ iterator = _b.value;
10035
+ item = group.items[id];
10036
+ if (!item.condition) return [3 /*break*/, 5];
10037
+ return [4 /*yield*/, this.getQueryStringSimple(item).then(function (c) {
10038
+ query = query + c;
10039
+ })];
10040
+ case 4:
10041
+ _d.sent();
10042
+ return [3 /*break*/, 6];
10043
+ case 5:
10044
+ codeOperator = null;
10045
+ switch (item.operator) {
10046
+ case 'equal':
10047
+ codeOperator = '==';
10048
+ break;
10049
+ case 'not-equal':
10050
+ codeOperator = '!=';
10051
+ break;
10052
+ case 'not-null':
10053
+ codeOperator = '!= null';
10054
+ break;
10055
+ case 'null':
10056
+ codeOperator = '== null';
10057
+ break;
10058
+ case 'gt':
10059
+ codeOperator = '>';
10060
+ break;
10061
+ case 'gte':
10062
+ codeOperator = '>=';
10063
+ break;
10064
+ case 'lt':
10065
+ codeOperator = '<';
10066
+ break;
10067
+ case 'lte':
10068
+ codeOperator = '<=';
10069
+ break;
10070
+ case 'contains':
10071
+ codeOperator = item.operator;
10072
+ break;
10073
+ case 'start-with':
10074
+ codeOperator = item.operator;
10075
+ break;
10076
+ case 'end-with':
10077
+ codeOperator = item.operator;
10078
+ break;
10079
+ }
10080
+ debugger;
10081
+ query = query + ' ' + item.caption + ' ' + codeOperator + ' ' + item.text;
10082
+ _d.label = 6;
10083
+ case 6:
10084
+ if (id !== group.items.length - 1 && query != ' ( ') {
10085
+ query = query + ' ' + group.condition;
10086
+ }
10087
+ id += 1;
10088
+ _d.label = 7;
10089
+ case 7: return [3 /*break*/, 2];
10090
+ case 8: return [3 /*break*/, 15];
10091
+ case 9:
10092
+ e_1_1 = _d.sent();
10093
+ e_1 = { error: e_1_1 };
10094
+ return [3 /*break*/, 15];
10095
+ case 10:
10096
+ _d.trys.push([10, , 13, 14]);
10097
+ if (!(_b && !_b.done && (_c = _a.return))) return [3 /*break*/, 12];
10098
+ return [4 /*yield*/, _c.call(_a)];
10099
+ case 11:
10100
+ _d.sent();
10101
+ _d.label = 12;
10102
+ case 12: return [3 /*break*/, 14];
10103
+ case 13:
10104
+ if (e_1) throw e_1.error;
10105
+ return [7 /*endfinally*/];
10106
+ case 14: return [7 /*endfinally*/];
10107
+ case 15:
10108
+ if (group.items.length > 0) {
10109
+ query = query + ' ) ';
10110
+ }
10111
+ resolve(query);
10112
+ return [2 /*return*/];
10113
+ }
10114
+ });
10115
+ }); })];
10116
+ });
10117
+ });
10118
+ };
10008
10119
  AXQueryBuilderService.prototype.getQueryString = function (group, type) {
10009
10120
  var query = '';
10010
10121
  switch (type) {
10011
10122
  case 'simple':
10123
+ debugger;
10012
10124
  if (group.items.length > 0) {
10013
10125
  query = ' ( ';
10014
10126
  }
@@ -10070,6 +10182,7 @@ var AXQueryBuilderGroupComponent = /** @class */ (function () {
10070
10182
  this.qs = qs;
10071
10183
  this.collapsed = false;
10072
10184
  this.fields = [];
10185
+ this.mode = 'new';
10073
10186
  //ruleIsEditing: boolean = true;
10074
10187
  this.groupRuleChanged = new EventEmitter();
10075
10188
  this.showGroupCondition = false;
@@ -10148,9 +10261,14 @@ var AXQueryBuilderGroupComponent = /** @class */ (function () {
10148
10261
  this.ruleChanged(null);
10149
10262
  };
10150
10263
  AXQueryBuilderGroupComponent.prototype.ruleChanged = function (e) {
10151
- this.group.queryString = this.qs.getQueryString(this.group, 'simple');
10152
- this.group.queryStringElastic = this.qs.getQueryString(this.group, 'elastic');
10153
- this.groupRuleChanged.emit({ groups: this.group, component: this });
10264
+ var _this = this;
10265
+ debugger;
10266
+ // this.group.queryString = this.qs.getQueryString(this.group, 'simple');
10267
+ this.qs.getQueryStringSimple(this.group).then(function (c) {
10268
+ _this.group.queryString = c;
10269
+ _this.group.queryStringElastic = _this.qs.getQueryString(_this.group, 'elastic');
10270
+ _this.groupRuleChanged.emit({ groups: _this.group, component: _this });
10271
+ });
10154
10272
  };
10155
10273
  AXQueryBuilderGroupComponent.ctorParameters = function () { return [
10156
10274
  { type: AXQueryBuilderService }
@@ -10175,6 +10293,10 @@ var AXQueryBuilderGroupComponent = /** @class */ (function () {
10175
10293
  Input(),
10176
10294
  __metadata("design:type", Array)
10177
10295
  ], AXQueryBuilderGroupComponent.prototype, "fields", void 0);
10296
+ __decorate([
10297
+ Input(),
10298
+ __metadata("design:type", String)
10299
+ ], AXQueryBuilderGroupComponent.prototype, "mode", void 0);
10178
10300
  __decorate([
10179
10301
  Output(),
10180
10302
  __metadata("design:type", EventEmitter)
@@ -10182,7 +10304,7 @@ var AXQueryBuilderGroupComponent = /** @class */ (function () {
10182
10304
  AXQueryBuilderGroupComponent = __decorate([
10183
10305
  Component({
10184
10306
  selector: 'ax-query-group',
10185
- template: "<div class=\"header\">\r\n <div class=\"condition\" *ngIf=\"parent\">\r\n <div class=\"text {{parent.condition}}\">\r\n <span>{{parent.condition }}</span>\r\n </div>\r\n </div>\r\n <div class=\"handler\">\r\n <i class=\"far fa-grip-lines-vertical\"></i>\r\n </div>\r\n\r\n <div class=\"detail {{group.condition}}\" (click)=\"changeDetailMode()\">\r\n <div class=\"collapsed\" *ngIf=\"collapsed;else expandedTemplate\">\r\n {{group.queryString}}\r\n </div>\r\n <ng-template #expandedTemplate>\r\n <div class=\"expanded\">\r\n <strong>{{group.condition == 'OR' ? '\u06CC\u06A9\u06CC \u0627\u0632' : '\u0647\u0645\u0647' }} <span>\u0634\u0631\u0627\u06CC\u0637 \u0632\u06CC\u0631 \u0628\u0631\u0642\u0631\u0627\u0631 \u0628\u0627\u0634\u062F</span> </strong>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div class=\"buttons-list\">\r\n <div class=\"button remove\" *ngIf=\"parent\" (click)=\"handleRemoveClick()\">\r\n <i class=\"far fa-times ax-danger-color\"></i>\r\n </div>\r\n <div class=\"button edit\" (click)=\"handleChangeClick()\">\r\n <i class=\"far fa-retweet ax-danger-color\"></i>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"rules\" *ngIf=\"!collapsed\">\r\n <!-- <ax-validation-form #form> -->\r\n\r\n <div *ngFor=\"let item of group.items\" class=\"group-item\">\r\n <ng-container *ngIf=\"item.condition;else ruleTemplate\">\r\n <ax-query-group (groupRuleChanged)=\"ruleChanged($event)\" [group]=\"item\" [fields]=\"fields\" [parent]=\"group\">\r\n </ax-query-group>\r\n </ng-container>\r\n <ng-template #ruleTemplate>\r\n <ax-query-rule #queryRule (ruleChanged)=\"ruleChanged($event)\" (onRuleDelete)=\"ruleDelete($event)\"\r\n [rule]=\"item\" [fields]=\"fields\" [parent]=\"group\">\r\n </ax-query-rule>\r\n </ng-template>\r\n </div>\r\n <!-- </ax-validation-form> -->\r\n <div class=\"group-item\">\r\n <div class=\"ax-query-rule\">\r\n <div class=\"condition\">\r\n </div>\r\n <div class=\"handler\">\r\n <i class=\"far fa-grip-lines-vertical\"></i>\r\n </div>\r\n <div class=\"add-rule\" (click)=\"addRule()\">\r\n <i class=\"far fa-plus\"></i>&nbsp;&nbsp;<span>\u0634\u0631\u0637</span>\r\n </div>\r\n <div class=\"add-group\" (click)=\"addGroup()\" *ngIf=\"!showGroupCondition\">\r\n <i class=\"far fa-plus\"></i>&nbsp;&nbsp;<span>\u06AF\u0631\u0648\u0647</span>\r\n </div>\r\n <div *ngIf=\"showGroupCondition\" class=\"add-condition OR\" (click)=\"addGroupOR()\">\r\n <i class=\"far fa-plus\"></i>&nbsp;&nbsp;<span>OR</span>\r\n </div>\r\n <div *ngIf=\"showGroupCondition\" class=\"add-condition AND\" (click)=\"addGroupAND()\">\r\n <i class=\"far fa-plus\"></i>&nbsp;&nbsp;<span>AND</span>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n</div>",
10307
+ template: "<div class=\"header\">\r\n <div class=\"condition\" *ngIf=\"parent\">\r\n <div class=\"text {{parent.condition}}\">\r\n <span>{{parent.condition }}</span>\r\n </div>\r\n </div>\r\n <div class=\"handler\">\r\n <i class=\"far fa-grip-lines-vertical\"></i>\r\n </div>\r\n\r\n <div class=\"detail {{group.condition}}\" (click)=\"changeDetailMode()\">\r\n <div class=\"collapsed\" *ngIf=\"collapsed;else expandedTemplate\">\r\n {{group.queryString}}\r\n </div>\r\n <ng-template #expandedTemplate>\r\n <div class=\"expanded\">\r\n <strong>{{group.condition == 'OR' ? '\u06CC\u06A9\u06CC \u0627\u0632' : '\u0647\u0645\u0647' }} <span>\u0634\u0631\u0627\u06CC\u0637 \u0632\u06CC\u0631 \u0628\u0631\u0642\u0631\u0627\u0631 \u0628\u0627\u0634\u062F</span> </strong>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div class=\"buttons-list\">\r\n <div class=\"button remove\" *ngIf=\"parent && mode=='new'\" (click)=\"handleRemoveClick()\">\r\n <i class=\"far fa-times ax-danger-color\"></i>\r\n </div>\r\n <div class=\"button edit\" *ngIf=\"mode=='new'\" (click)=\"handleChangeClick()\">\r\n <i class=\"far fa-retweet ax-danger-color\"></i>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"rules\" *ngIf=\"!collapsed\">\r\n <!-- <ax-validation-form #form> -->\r\n\r\n <div *ngFor=\"let item of group.items\" class=\"group-item\">\r\n <ng-container *ngIf=\"item.condition;else ruleTemplate\">\r\n <ax-query-group (groupRuleChanged)=\"ruleChanged($event)\" [mode]=\"mode\" [group]=\"item\" [fields]=\"fields\"\r\n [parent]=\"group\">\r\n </ax-query-group>\r\n </ng-container>\r\n <ng-template #ruleTemplate>\r\n <ax-query-rule #queryRule (ruleChanged)=\"ruleChanged($event)\" [mode]=\"mode\"\r\n (onRuleDelete)=\"ruleDelete($event)\" [rule]=\"item\" [fields]=\"fields\" [parent]=\"group\">\r\n </ax-query-rule>\r\n </ng-template>\r\n </div>\r\n <!-- </ax-validation-form> -->\r\n <div class=\"group-item\" *ngIf=\"mode=='new'\">\r\n <div class=\"ax-query-rule\">\r\n <div class=\"condition\">\r\n </div>\r\n <div class=\"handler\">\r\n <i class=\"far fa-grip-lines-vertical\"></i>\r\n </div>\r\n <div class=\"add-rule\" (click)=\"addRule()\" *ngIf=\"mode=='new'\">\r\n <i class=\"far fa-plus\"></i>&nbsp;&nbsp;<span>\u0634\u0631\u0637</span>\r\n </div>\r\n <div class=\"add-group\" (click)=\"addGroup()\" *ngIf=\"!showGroupCondition && mode=='new'\">\r\n <i class=\"far fa-plus\"></i>&nbsp;&nbsp;<span>\u06AF\u0631\u0648\u0647</span>\r\n </div>\r\n <div *ngIf=\"showGroupCondition && mode=='new'\" class=\"add-condition OR\" (click)=\"addGroupOR()\">\r\n <i class=\"far fa-plus\"></i>&nbsp;&nbsp;<span>OR</span>\r\n </div>\r\n <div *ngIf=\"showGroupCondition && mode=='new'\" class=\"add-condition AND\" (click)=\"addGroupAND()\">\r\n <i class=\"far fa-plus\"></i>&nbsp;&nbsp;<span>AND</span>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n</div>",
10186
10308
  host: { class: 'ax ax-query-group' },
10187
10309
  encapsulation: ViewEncapsulation.None
10188
10310
  }),
@@ -10197,6 +10319,7 @@ var AXQueryBuilderComponent = /** @class */ (function (_super) {
10197
10319
  var _this = _super.call(this) || this;
10198
10320
  _this.ref = ref;
10199
10321
  _this.toast = toast;
10322
+ _this.mode = 'new';
10200
10323
  _this.rootGroup = new AXQueryBuilderGroup();
10201
10324
  _this.fields = [];
10202
10325
  // @Input()
@@ -10206,11 +10329,11 @@ var AXQueryBuilderComponent = /** @class */ (function (_super) {
10206
10329
  return _this;
10207
10330
  }
10208
10331
  AXQueryBuilderComponent.prototype.ngOnInit = function () {
10209
- this.rootGroup.condition = this.query.condition ? this.query.condition : "AND";
10332
+ this.rootGroup.condition = this.query.condition ? this.query.condition : 'AND';
10210
10333
  this.rootGroup.items = this.query.items ? this.query.items : [];
10211
10334
  };
10212
10335
  AXQueryBuilderComponent.prototype.getQueryBuilder = function () {
10213
- return ({ groups: this.rootGroup });
10336
+ return { groups: this.rootGroup };
10214
10337
  };
10215
10338
  AXQueryBuilderComponent.prototype.ruleChanged = function (e) {
10216
10339
  this.onRuleChanged.emit({ component: this, groups: this.rootGroup });
@@ -10260,6 +10383,10 @@ var AXQueryBuilderComponent = /** @class */ (function (_super) {
10260
10383
  Input(),
10261
10384
  __metadata("design:type", AXQueryBuilderGroup)
10262
10385
  ], AXQueryBuilderComponent.prototype, "query", void 0);
10386
+ __decorate([
10387
+ Input(),
10388
+ __metadata("design:type", String)
10389
+ ], AXQueryBuilderComponent.prototype, "mode", void 0);
10263
10390
  __decorate([
10264
10391
  Input(),
10265
10392
  __metadata("design:type", Array)
@@ -10271,9 +10398,9 @@ var AXQueryBuilderComponent = /** @class */ (function (_super) {
10271
10398
  AXQueryBuilderComponent = __decorate([
10272
10399
  Component({
10273
10400
  selector: 'ax-query-builder',
10274
- template: "<ax-query-group #queryGroup [group]=\"rootGroup\" [fields]=\"fields\" (groupRuleChanged)=\"ruleChanged($event)\">\r\n</ax-query-group>",
10401
+ template: "<ax-query-group #queryGroup [mode]=\"mode\" [group]=\"rootGroup\" [fields]=\"fields\"\r\n (groupRuleChanged)=\"ruleChanged($event)\">\r\n</ax-query-group>",
10275
10402
  encapsulation: ViewEncapsulation.None,
10276
- styles: [".ax-query-group{display:flex;flex-direction:column;margin:5px;-webkit-padding-start:0;padding-inline-start:0}.ax-query-group .add-buttons{display:flex;margin:5px;flex-direction:row}.ax-query-group .add-buttons .handler{display:flex;align-items:center;background-color:var(--ax-primary-trans-light-color);color:var(--ax-primary-color);padding:5px;cursor:move;border:1px solid var(--ax-primary-trans-light-color);border-top-right-radius:4px;border-bottom-right-radius:4px}.ax-query-group .buttons-list{-webkit-margin-start:10px;margin-inline-start:10px;display:flex;align-items:center}.ax-query-group .buttons-list .button{cursor:pointer;-webkit-margin-end:.5em;margin-inline-end:.5em;width:2.3em;height:2.3em;display:flex;align-items:center;justify-content:center;border-radius:50px;position:relative}.ax-query-group .buttons-list .button ax-check-box{opacity:0;width:100%;height:100%;position:absolute;z-index:1;left:0;top:0}.ax-query-group .buttons-list .variable{color:var(--ax-warning-color);background:var(--ax-warning-trans-light-color)}.ax-query-group .buttons-list .variable.active-button{background:var(--ax-warning-light-color);color:var(--ax-white-color);opacity:.7}.ax-query-group .buttons-list .commit{color:var(--ax-success-color);background:var(--ax-success-trans-light-color)}.ax-query-group .buttons-list .remove{color:var(--ax-danger-color);background:var(--ax-danger-trans-light-color)}.ax-query-group .buttons-list .edit{color:var(--ax-primary-color);background:var(--ax-primary-trans-light-color)}.ax-query-group .group-item{transition:.5s}.ax-query-group .group-item .condition{width:40px;display:flex;align-items:center;background:linear-gradient(180deg,rgba(2,0,36,0) 49%,var(--ax-gray-light-color) 49%,var(--ax-gray-light-color) 55%,rgba(0,212,255,0) 50%)}.ax-query-group .group-item .condition .text{-webkit-margin-start:-50%;margin-inline-start:-50%;border-radius:50%;width:35px;height:35px;display:flex;align-items:center;justify-content:center}.ax-query-group .group-item .condition .text.OR{background:var(--ax-warning-color);color:var(--ax-warning-fore-color)}.ax-query-group .group-item .condition .text.AND{background:var(--ax-success-color);color:var(--ax-success-fore-color)}.ax-query-group .header{display:flex;flex-direction:row}.ax-query-group .header .handler{display:flex;align-items:center;background-color:var(--ax-light-light-color);color:var(--ax-light-fore-color);padding:5px;cursor:move;border:1px solid var(--ax-light-light-color);border-top-right-radius:4px;border-bottom-right-radius:4px}.ax-query-group .header .caption{padding:10px;background-color:var(--ax-gray-trans-light-color);color:var(--ax-gray-dark-color);font-weight:700;cursor:pointer}.ax-query-group .header .detail{padding:10px;background-color:var(--ax-gray-trans-light-color);border-right:none;border-top-left-radius:50px;border-bottom-left-radius:50px;cursor:pointer}.ax-query-group .header .detail.OR{background-color:var(--ax-warning-trans-light-color)}.ax-query-group .header .detail.AND{background-color:var(--ax-success-trans-light-color)}.ax-query-group .rules{-webkit-margin-start:10px;margin-inline-start:10px;-webkit-border-start:2px solid var(--ax-gray-light-color);border-inline-start:2px solid var(--ax-gray-light-color)}.ax-query-group .rules .rules{-webkit-margin-start:48px;margin-inline-start:48px}.ax-query-group .ax-query-rule{display:flex;margin:5px;flex-direction:row;transition:.5s}.ax-query-group .ax-query-rule .handler{display:flex;align-items:center;background-color:var(--ax-light-light-color);color:var(--ax-light-fore-color);padding:.5em;cursor:move;border:1px solid var(--ax-light-light-color);border-top-right-radius:4px;border-bottom-right-radius:4px}.ax-query-group .ax-query-rule .caption{padding:10px;background-color:var(--ax-gray-trans-light-color);border:1px solid var(--ax-gray-light-color);color:#333;font-weight:700;cursor:pointer}.ax-query-group .ax-query-rule .caption.editable{width:200px}.ax-query-group .ax-query-rule .operator{border-top:1px solid var(--ax-gray-light-color);border-bottom:1px solid var(--ax-gray-light-color);background-color:var(--ax-gray-trans-light-color);padding:10px}.ax-query-group .ax-query-rule .operator.editable{width:200px}.ax-query-group .ax-query-rule .operator .text{color:var(--ax-primary-color);font-weight:700;-webkit-text-decoration:underline dashed;text-decoration:underline dashed;cursor:pointer}.ax-query-group .ax-query-rule .operator.radius{border-top-left-radius:4px;border-bottom-left-radius:4px;border:1px solid var(--ax-gray-light-color);border-right:none}.ax-query-group .ax-query-rule .value{padding:10px;background-color:var(--ax-light-light-color);color:#000;border:1px solid var(--ax-gray-light-color);border-right:none;border-top-left-radius:4px;border-bottom-left-radius:4px;cursor:pointer}.ax-query-group .ax-query-rule .value.editable{width:200px}.ax-query-group .ax-query-rule .add-rule{border-top:1px dashed var(--ax-gray-light-color);border-bottom:1px dashed var(--ax-gray-light-color);color:var(--ax-gray-dark-color);padding:10px;font-weight:700;cursor:pointer}.ax-query-group .ax-query-rule .add-group:hover,.ax-query-group .ax-query-rule .add-rule:hover{background-color:var(--ax-gray-light-color)}.ax-query-group .ax-query-rule .add-condition,.ax-query-group .ax-query-rule .add-group{border-top:1px dashed var(--ax-gray-light-color);border-bottom:1px dashed var(--ax-gray-light-color);color:var(--ax-gray-dark-color);padding:10px;border:1px dashed var(--ax-gray-light-color);border-top-left-radius:4px;border-bottom-left-radius:4px;cursor:pointer}.ax-query-group .ax-query-rule .add-condition.OR{background-color:var(--ax-warning-trans-light-color);color:var(--ax-warning-dark-color)}.ax-query-group .ax-query-rule .add-condition.AND{background-color:var(--ax-success-trans-light-color);color:var(--ax-success-dark-color)}.ax-query-group .ax-query-rule .add-condition:hover.OR{background-color:var(--ax-warning-trans-light-color);color:var(--ax-warning-dark-color)}.ax-query-group .ax-query-rule .add-condition:hover.AND{background-color:var(--ax-success-trans-light-color);color:var(--ax-success-dark-color)}"]
10403
+ styles: [".ax-query-group{display:flex;flex-direction:column;margin:5px;-webkit-padding-start:0;padding-inline-start:0}.ax-query-group .add-buttons{display:flex;margin:5px;flex-direction:row}.ax-query-group .add-buttons .handler{display:flex;align-items:center;background-color:var(--ax-primary-trans-light-color);color:var(--ax-primary-color);padding:5px;cursor:move;border:1px solid var(--ax-primary-trans-light-color);border-start-start-radius:4px;border-end-start-radius:4px}.ax-query-group .buttons-list{-webkit-margin-start:10px;margin-inline-start:10px;display:flex;align-items:center}.ax-query-group .buttons-list .button{cursor:pointer;-webkit-margin-end:.5em;margin-inline-end:.5em;width:2.3em;height:2.3em;display:flex;align-items:center;justify-content:center;border-radius:50px;position:relative}.ax-query-group .buttons-list .button ax-check-box{opacity:0;width:100%;height:100%;position:absolute;z-index:1;left:0;top:0}.ax-query-group .buttons-list .variable{color:var(--ax-warning-color);background:var(--ax-warning-trans-light-color)}.ax-query-group .buttons-list .variable.active-button{background:var(--ax-warning-light-color);color:var(--ax-white-color);opacity:.7}.ax-query-group .buttons-list .commit{color:var(--ax-success-color);background:var(--ax-success-trans-light-color)}.ax-query-group .buttons-list .remove{color:var(--ax-danger-color);background:var(--ax-danger-trans-light-color)}.ax-query-group .buttons-list .edit{color:var(--ax-primary-color);background:var(--ax-primary-trans-light-color)}.ax-query-group .group-item{transition:.5s}.ax-query-group .group-item .condition{width:40px;display:flex;align-items:center;background:linear-gradient(180deg,rgba(2,0,36,0) 49%,var(--ax-gray-light-color) 49%,var(--ax-gray-light-color) 55%,rgba(0,212,255,0) 50%)}.ax-query-group .group-item .condition .text{-webkit-margin-start:-50%;margin-inline-start:-50%;border-radius:50%;width:35px;height:35px;display:flex;align-items:center;justify-content:center}.ax-query-group .group-item .condition .text.OR{background:var(--ax-warning-color);color:var(--ax-warning-fore-color)}.ax-query-group .group-item .condition .text.AND{background:var(--ax-success-color);color:var(--ax-success-fore-color)}.ax-query-group .header{display:flex;flex-direction:row}.ax-query-group .header .handler{display:flex;align-items:center;background-color:var(--ax-light-light-color);color:var(--ax-light-fore-color);padding:5px;cursor:move;border:1px solid var(--ax-light-light-color);border-start-start-radius:4px;border-end-start-radius:4px}.ax-query-group .header .caption{padding:.5rem;background-color:var(--ax-gray-trans-light-color);color:var(--ax-gray-dark-color);font-weight:700;cursor:pointer}.ax-query-group .header .detail{padding:.5rem;background-color:var(--ax-gray-trans-light-color);border-right:none;border-start-end-radius:4px;border-end-end-radius:4px;cursor:pointer}.ax-query-group .header .detail.OR{background-color:var(--ax-warning-trans-light-color)}.ax-query-group .header .detail.AND{background-color:var(--ax-success-trans-light-color)}.ax-query-group .rules{-webkit-margin-start:10px;margin-inline-start:10px;-webkit-border-start:2px solid var(--ax-gray-light-color);border-inline-start:2px solid var(--ax-gray-light-color)}.ax-query-group .rules .rules{-webkit-margin-start:48px;margin-inline-start:48px}.ax-query-group .ax-query-rule{display:flex;margin:5px;flex-direction:row;transition:.5s}.ax-query-group .ax-query-rule .handler{display:flex;align-items:center;background-color:var(--ax-light-light-color);color:var(--ax-light-fore-color);padding:.5em;cursor:move;border:1px solid var(--ax-light-light-color);border-start-start-radius:4px;border-end-start-radius:4px}.ax-query-group .ax-query-rule .caption{padding:.5rem;background-color:var(--ax-gray-trans-light-color);border:1px solid var(--ax-gray-light-color);color:#333;font-weight:700;cursor:pointer}.ax-query-group .ax-query-rule .caption.editable{width:200px}.ax-query-group .ax-query-rule .operator{border-top:1px solid var(--ax-gray-light-color);border-bottom:1px solid var(--ax-gray-light-color);background-color:var(--ax-gray-trans-light-color);padding:.5rem}.ax-query-group .ax-query-rule .operator.editable{width:200px}.ax-query-group .ax-query-rule .operator .text{color:var(--ax-primary-color);font-weight:700;-webkit-text-decoration:underline dashed;text-decoration:underline dashed;cursor:pointer}.ax-query-group .ax-query-rule .operator.radius{border-top-left-radius:4px;border-bottom-left-radius:4px;border:1px solid var(--ax-gray-light-color);border-right:none}.ax-query-group .ax-query-rule .value{padding:.5rem;background-color:var(--ax-light-light-color);color:#000;border:1px solid var(--ax-gray-light-color);border-right:none;border-start-end-radius:4px;border-end-end-radius:4px;cursor:pointer}.ax-query-group .ax-query-rule .value.editable{width:200px}.ax-query-group .ax-query-rule .add-rule{border-top:1px dashed var(--ax-gray-light-color);border-bottom:1px dashed var(--ax-gray-light-color);color:var(--ax-gray-dark-color);padding:.5rem;font-weight:700;cursor:pointer}.ax-query-group .ax-query-rule .add-group:hover,.ax-query-group .ax-query-rule .add-rule:hover{background-color:var(--ax-gray-light-color)}.ax-query-group .ax-query-rule .add-condition,.ax-query-group .ax-query-rule .add-group{border-top:1px dashed var(--ax-gray-light-color);border-bottom:1px dashed var(--ax-gray-light-color);color:var(--ax-gray-dark-color);padding:.5rem;border:1px dashed var(--ax-gray-light-color);border-top-left-radius:4px;border-bottom-left-radius:4px;cursor:pointer}.ax-query-group .ax-query-rule .add-condition.OR{background-color:var(--ax-warning-trans-light-color);color:var(--ax-warning-dark-color)}.ax-query-group .ax-query-rule .add-condition.AND{background-color:var(--ax-success-trans-light-color);color:var(--ax-success-dark-color)}.ax-query-group .ax-query-rule .add-condition:hover.OR{background-color:var(--ax-warning-trans-light-color);color:var(--ax-warning-dark-color)}.ax-query-group .ax-query-rule .add-condition:hover.AND{background-color:var(--ax-success-trans-light-color);color:var(--ax-success-dark-color)}"]
10277
10404
  }),
10278
10405
  __metadata("design:paramtypes", [ElementRef, AXToastService])
10279
10406
  ], AXQueryBuilderComponent);
@@ -11476,7 +11603,7 @@ var AXTabPageModule = /** @class */ (function () {
11476
11603
  imports: [CommonModule, AXLoadingModule],
11477
11604
  exports: [AXTabPageRendererComponent],
11478
11605
  entryComponents: [AXTabPageRendererComponent, AXTabPageHostComponent],
11479
- providers: [AXTabPageService],
11606
+ providers: [],
11480
11607
  })
11481
11608
  ], AXTabPageModule);
11482
11609
  return AXTabPageModule;
@@ -13579,7 +13706,10 @@ var AXTreeViewComponent = /** @class */ (function (_super) {
13579
13706
  //seletedKeyFields set id of nodes and parents
13580
13707
  //selectedFieldName set name of fields that set selectes
13581
13708
  _this.selectedFieldName = null;
13582
- _this.selectNodesRecursive = 'all';
13709
+ // @Input()
13710
+ // selectNodesRecursive: 'all' | 'parents' | 'childs' | 'none' = 'all'; //leaf
13711
+ _this.checkParents = true;
13712
+ _this.checkChilds = true;
13583
13713
  _this.seletedKeyFields = [];
13584
13714
  _this.keyField = 'id';
13585
13715
  _this.hasChildField = 'child';
@@ -13651,6 +13781,7 @@ var AXTreeViewComponent = /** @class */ (function (_super) {
13651
13781
  }
13652
13782
  if (item.select == true) {
13653
13783
  if (this.selectionMode === 'multiple') {
13784
+ this.selectedParents = this.selectedParents.filter(function (c) { return c[_this.keyField] !== item[_this.keyField]; });
13654
13785
  this.selectedParents.push(item);
13655
13786
  }
13656
13787
  else {
@@ -13705,13 +13836,15 @@ var AXTreeViewComponent = /** @class */ (function (_super) {
13705
13836
  }
13706
13837
  node.itemData.item = c; //TO DO
13707
13838
  node.itemData.selected = item.select === true ? item.select : false;
13839
+ node.itemData.indeterminate = item.select === null ? true : false;
13708
13840
  node.itemData.hasChild = item[this.hasChildField];
13709
13841
  node.parent = item.parentNode === undefined ? null : this.makeNode(item.parentNode, false);
13710
13842
  return node;
13711
13843
  };
13712
13844
  AXTreeViewComponent.prototype.changeChildSelect = function (item, s) {
13713
13845
  var _this = this;
13714
- if (this.selectNodesRecursive == 'all' || this.selectNodesRecursive == 'childs') {
13846
+ // if (this.selectNodesRecursive == 'all' || this.selectNodesRecursive == 'childs') {
13847
+ if (this.checkChilds == true) {
13715
13848
  item.select = s;
13716
13849
  if (item[this.hasChildField] === true && item[this.childField] && item[this.childField].length > 0) {
13717
13850
  item[this.childField].forEach(function (elm) {
@@ -13744,7 +13877,9 @@ var AXTreeViewComponent = /** @class */ (function (_super) {
13744
13877
  }
13745
13878
  };
13746
13879
  AXTreeViewComponent.prototype.changeParentSelect = function (item) {
13747
- if (this.selectNodesRecursive == 'all' || this.selectNodesRecursive == 'parents') {
13880
+ var _this = this;
13881
+ //if (this.selectNodesRecursive == 'all' || this.selectNodesRecursive == 'parents') {
13882
+ if (this.checkParents) {
13748
13883
  var allselect = true;
13749
13884
  var alldeselect = true;
13750
13885
  var oneselect = false;
@@ -13768,9 +13903,13 @@ var AXTreeViewComponent = /** @class */ (function (_super) {
13768
13903
  }
13769
13904
  if (oneselect || (isindeterminate && !allselect)) {
13770
13905
  item.select = null;
13906
+ this.selectedParents = this.selectedParents.filter(function (c) { return c[_this.keyField] !== item[_this.keyField]; });
13907
+ this.selectedParents.push(item);
13771
13908
  }
13772
13909
  if (allselect === true) {
13773
13910
  item.select = true;
13911
+ this.selectedParents = this.selectedParents.filter(function (c) { return c[_this.keyField] !== item[_this.keyField]; });
13912
+ this.selectedParents.push(item);
13774
13913
  }
13775
13914
  if (alldeselect === true) {
13776
13915
  item.select = false;
@@ -13860,9 +13999,11 @@ var AXTreeViewComponent = /** @class */ (function (_super) {
13860
13999
  _this.seletedKeyFields.forEach(function (n) {
13861
14000
  if (n.includes(el[_this.keyField])) {
13862
14001
  if (el[_this.hasChildField] == true) {
13863
- // if (this.selectNodesRecursive) {
14002
+ if (_this.checkParents == false && _this.checkChilds == false) {
14003
+ //select parent when check child and check parent is false TODO check this Action
14004
+ _this.selectItem(el);
14005
+ }
13864
14006
  _this.open(el);
13865
- // }
13866
14007
  }
13867
14008
  else {
13868
14009
  _this.selectItem(el);
@@ -13873,9 +14014,11 @@ var AXTreeViewComponent = /** @class */ (function (_super) {
13873
14014
  }
13874
14015
  else if (_this.selectedFieldName != null) {
13875
14016
  if (el[_this.hasChildField] == true && el[_this.selectedFieldName] == true) {
13876
- // if (this.selectNodesRecursive) {
14017
+ if (_this.checkParents == false && _this.checkChilds == false) {
14018
+ //select parent when check child and check parent is false TODO check this Action
14019
+ _this.selectItem(el);
14020
+ }
13877
14021
  _this.open(el);
13878
- // }
13879
14022
  }
13880
14023
  else if (el[_this.selectedFieldName] == true) {
13881
14024
  _this.selectItem(el);
@@ -13887,6 +14030,7 @@ var AXTreeViewComponent = /** @class */ (function (_super) {
13887
14030
  else {
13888
14031
  _this.itemRow = _this.listLoad.filter(function (c) { return c.requestId === _data.data.requestId; })[0];
13889
14032
  _this.listLoad = _this.listLoad.filter(function (c) { return c.requestId !== _data.data.requestId; });
14033
+ _this.itemRow.loaded = true;
13890
14034
  if (_this.itemRow !== undefined) {
13891
14035
  _this.hideLoading(_this.itemRow);
13892
14036
  var result_1 = _data.data.result;
@@ -13907,7 +14051,8 @@ var AXTreeViewComponent = /** @class */ (function (_super) {
13907
14051
  if (_this.selectionLevel == 'parents' && result_1[i][_this.hasChildField] == false) {
13908
14052
  result_1[i].disabledCheckBox = true;
13909
14053
  }
13910
- if (_this.selectionMode !== 'single' && (_this.selectNodesRecursive == 'all' || _this.selectNodesRecursive == 'childs')) {
14054
+ // if (this.selectionMode !== 'single' && (this.selectNodesRecursive == 'all' || this.selectNodesRecursive == 'childs')) {
14055
+ if (_this.selectionMode !== 'single' && _this.checkChilds == true) {
13911
14056
  result_1[i].select = _this.itemRow.select === (undefined || null) ? false : _this.itemRow.select;
13912
14057
  if (_this.itemRow.select === true && _this.selectionMode == 'multiple' && result_1[i][_this.hasChildField] === false) {
13913
14058
  _this.selectedItems = _this.selectedItems.filter(function (c) { return c[_this.keyField] !== result_1[i][_this.keyField]; });
@@ -13922,9 +14067,11 @@ var AXTreeViewComponent = /** @class */ (function (_super) {
13922
14067
  _this.seletedKeyFields.forEach(function (n) {
13923
14068
  if (n.includes(result_1[i][_this.keyField])) {
13924
14069
  if (result_1[i][_this.hasChildField] == true) {
13925
- // if (this.selectNodesRecursive) {
14070
+ if (_this.checkParents == false && _this.checkChilds == false) {
14071
+ //select parent when check child and check parent is false TODO check this Action
14072
+ _this.selectItem(result_1[i]);
14073
+ }
13926
14074
  _this.open(result_1[i]);
13927
- // }
13928
14075
  }
13929
14076
  else {
13930
14077
  _this.selectItem(result_1[i]);
@@ -13935,9 +14082,11 @@ var AXTreeViewComponent = /** @class */ (function (_super) {
13935
14082
  }
13936
14083
  else if (_this.selectedFieldName != null) {
13937
14084
  if (result_1[i][_this.hasChildField] == true && result_1[i][_this.selectedFieldName] == true) {
13938
- // if (this.selectNodesRecursive) {
14085
+ if (_this.checkParents == false && _this.checkChilds == false) {
14086
+ //select parent when check child and check parent is false TODO check this Action
14087
+ _this.selectItem(result_1[i]);
14088
+ }
13939
14089
  _this.open(result_1[i]);
13940
- // }
13941
14090
  }
13942
14091
  else if (result_1[i][_this.selectedFieldName] == true) {
13943
14092
  _this.selectItem(result_1[i]);
@@ -14192,8 +14341,12 @@ var AXTreeViewComponent = /** @class */ (function (_super) {
14192
14341
  ], AXTreeViewComponent.prototype, "selectedFieldName", void 0);
14193
14342
  __decorate([
14194
14343
  Input(),
14195
- __metadata("design:type", String)
14196
- ], AXTreeViewComponent.prototype, "selectNodesRecursive", void 0);
14344
+ __metadata("design:type", Boolean)
14345
+ ], AXTreeViewComponent.prototype, "checkParents", void 0);
14346
+ __decorate([
14347
+ Input(),
14348
+ __metadata("design:type", Boolean)
14349
+ ], AXTreeViewComponent.prototype, "checkChilds", void 0);
14197
14350
  __decorate([
14198
14351
  Input(),
14199
14352
  __metadata("design:type", Array)