@acorex/components 3.0.32 → 3.0.36
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/acorex-components.metadata.json +1 -1
- package/bundles/acorex-components.umd.js +177 -25
- package/bundles/acorex-components.umd.js.map +1 -1
- package/bundles/acorex-components.umd.min.js +1 -1
- package/bundles/acorex-components.umd.min.js.map +1 -1
- package/esm2015/lib/query-builder/query-builder-group.component.js +14 -5
- package/esm2015/lib/query-builder/query-builder-rule.component.js +7 -2
- package/esm2015/lib/query-builder/query-builder.component.js +10 -5
- package/esm2015/lib/query-builder/query-builder.service.js +84 -4
- package/esm2015/lib/tab-page/tab-page.module.js +2 -3
- package/esm2015/lib/tree-view/tree-view.component.js +38 -15
- package/esm5/lib/query-builder/query-builder-group.component.js +15 -5
- package/esm5/lib/query-builder/query-builder-rule.component.js +7 -2
- package/esm5/lib/query-builder/query-builder.component.js +10 -5
- package/esm5/lib/query-builder/query-builder.service.js +113 -4
- package/esm5/lib/tab-page/tab-page.module.js +2 -3
- package/esm5/lib/tree-view/tree-view.component.js +38 -15
- package/fesm2015/acorex-components.js +148 -26
- package/fesm2015/acorex-components.js.map +1 -1
- package/fesm5/acorex-components.js +178 -26
- package/fesm5/acorex-components.js.map +1 -1
- package/lib/query-builder/query-builder-group.component.d.ts +1 -0
- package/lib/query-builder/query-builder-rule.component.d.ts +1 -0
- package/lib/query-builder/query-builder.component.d.ts +1 -0
- package/lib/query-builder/query-builder.service.d.ts +2 -1
- package/lib/tree-view/tree-view.component.d.ts +3 -1
- package/package.json +1 -1
|
@@ -9629,6 +9629,7 @@
|
|
|
9629
9629
|
function AXQueryBuilderRuleComponent() {
|
|
9630
9630
|
var _this = this;
|
|
9631
9631
|
this.isEditing = true;
|
|
9632
|
+
this.mode = 'new';
|
|
9632
9633
|
this.fields = [];
|
|
9633
9634
|
this.onRuleDelete = new core.EventEmitter();
|
|
9634
9635
|
this.ruleChanged = new core.EventEmitter();
|
|
@@ -9959,6 +9960,10 @@
|
|
|
9959
9960
|
core.Input(),
|
|
9960
9961
|
__metadata("design:type", AXQueryBuilderGroup)
|
|
9961
9962
|
], AXQueryBuilderRuleComponent.prototype, "parent", void 0);
|
|
9963
|
+
__decorate([
|
|
9964
|
+
core.Input(),
|
|
9965
|
+
__metadata("design:type", String)
|
|
9966
|
+
], AXQueryBuilderRuleComponent.prototype, "mode", void 0);
|
|
9962
9967
|
__decorate([
|
|
9963
9968
|
core.Input(),
|
|
9964
9969
|
__metadata("design:type", Array)
|
|
@@ -9974,7 +9979,7 @@
|
|
|
9974
9979
|
AXQueryBuilderRuleComponent = __decorate([
|
|
9975
9980
|
core.Component({
|
|
9976
9981
|
selector: 'ax-query-rule',
|
|
9977
|
-
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
|
|
9982
|
+
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>",
|
|
9978
9983
|
host: { class: 'ax ax-query-rule' },
|
|
9979
9984
|
encapsulation: core.ViewEncapsulation.None
|
|
9980
9985
|
}),
|
|
@@ -10169,7 +10174,7 @@
|
|
|
10169
10174
|
}
|
|
10170
10175
|
}
|
|
10171
10176
|
if (_this.canRun) {
|
|
10172
|
-
_this.popup.open(AXQueryBuilderPopupComponent, { data: { group: group, provideData: provideData }, title:
|
|
10177
|
+
_this.popup.open(AXQueryBuilderPopupComponent, { data: { group: group, provideData: provideData }, title: 'دریافت مقادیر' }).then(function (c) {
|
|
10173
10178
|
resolve(c);
|
|
10174
10179
|
});
|
|
10175
10180
|
}
|
|
@@ -10209,10 +10214,119 @@
|
|
|
10209
10214
|
}
|
|
10210
10215
|
// }
|
|
10211
10216
|
};
|
|
10217
|
+
AXQueryBuilderService.prototype.getQueryStringSimple = function (group) {
|
|
10218
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
10219
|
+
var _this = this;
|
|
10220
|
+
return __generator(this, function (_a) {
|
|
10221
|
+
return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
|
|
10222
|
+
var query, id, _a, _b, iterator, item, codeOperator, e_1_1;
|
|
10223
|
+
var e_1, _c;
|
|
10224
|
+
return __generator(this, function (_d) {
|
|
10225
|
+
switch (_d.label) {
|
|
10226
|
+
case 0:
|
|
10227
|
+
debugger;
|
|
10228
|
+
if (group.items.length > 0) {
|
|
10229
|
+
query = ' ( ';
|
|
10230
|
+
}
|
|
10231
|
+
id = 0;
|
|
10232
|
+
_d.label = 1;
|
|
10233
|
+
case 1:
|
|
10234
|
+
_d.trys.push([1, 9, 10, 15]);
|
|
10235
|
+
_a = __asyncValues(group.items);
|
|
10236
|
+
_d.label = 2;
|
|
10237
|
+
case 2: return [4 /*yield*/, _a.next()];
|
|
10238
|
+
case 3:
|
|
10239
|
+
if (!(_b = _d.sent(), !_b.done)) return [3 /*break*/, 8];
|
|
10240
|
+
iterator = _b.value;
|
|
10241
|
+
item = group.items[id];
|
|
10242
|
+
if (!item.condition) return [3 /*break*/, 5];
|
|
10243
|
+
return [4 /*yield*/, this.getQueryStringSimple(item).then(function (c) {
|
|
10244
|
+
query = query + c;
|
|
10245
|
+
})];
|
|
10246
|
+
case 4:
|
|
10247
|
+
_d.sent();
|
|
10248
|
+
return [3 /*break*/, 6];
|
|
10249
|
+
case 5:
|
|
10250
|
+
codeOperator = null;
|
|
10251
|
+
switch (item.operator) {
|
|
10252
|
+
case 'equal':
|
|
10253
|
+
codeOperator = '==';
|
|
10254
|
+
break;
|
|
10255
|
+
case 'not-equal':
|
|
10256
|
+
codeOperator = '!=';
|
|
10257
|
+
break;
|
|
10258
|
+
case 'not-null':
|
|
10259
|
+
codeOperator = '!= null';
|
|
10260
|
+
break;
|
|
10261
|
+
case 'null':
|
|
10262
|
+
codeOperator = '== null';
|
|
10263
|
+
break;
|
|
10264
|
+
case 'gt':
|
|
10265
|
+
codeOperator = '>';
|
|
10266
|
+
break;
|
|
10267
|
+
case 'gte':
|
|
10268
|
+
codeOperator = '>=';
|
|
10269
|
+
break;
|
|
10270
|
+
case 'lt':
|
|
10271
|
+
codeOperator = '<';
|
|
10272
|
+
break;
|
|
10273
|
+
case 'lte':
|
|
10274
|
+
codeOperator = '<=';
|
|
10275
|
+
break;
|
|
10276
|
+
case 'contains':
|
|
10277
|
+
codeOperator = item.operator;
|
|
10278
|
+
break;
|
|
10279
|
+
case 'start-with':
|
|
10280
|
+
codeOperator = item.operator;
|
|
10281
|
+
break;
|
|
10282
|
+
case 'end-with':
|
|
10283
|
+
codeOperator = item.operator;
|
|
10284
|
+
break;
|
|
10285
|
+
}
|
|
10286
|
+
debugger;
|
|
10287
|
+
query = query + ' ' + item.caption + ' ' + codeOperator + ' ' + item.text;
|
|
10288
|
+
_d.label = 6;
|
|
10289
|
+
case 6:
|
|
10290
|
+
if (id !== group.items.length - 1 && query != ' ( ') {
|
|
10291
|
+
query = query + ' ' + group.condition;
|
|
10292
|
+
}
|
|
10293
|
+
id += 1;
|
|
10294
|
+
_d.label = 7;
|
|
10295
|
+
case 7: return [3 /*break*/, 2];
|
|
10296
|
+
case 8: return [3 /*break*/, 15];
|
|
10297
|
+
case 9:
|
|
10298
|
+
e_1_1 = _d.sent();
|
|
10299
|
+
e_1 = { error: e_1_1 };
|
|
10300
|
+
return [3 /*break*/, 15];
|
|
10301
|
+
case 10:
|
|
10302
|
+
_d.trys.push([10, , 13, 14]);
|
|
10303
|
+
if (!(_b && !_b.done && (_c = _a.return))) return [3 /*break*/, 12];
|
|
10304
|
+
return [4 /*yield*/, _c.call(_a)];
|
|
10305
|
+
case 11:
|
|
10306
|
+
_d.sent();
|
|
10307
|
+
_d.label = 12;
|
|
10308
|
+
case 12: return [3 /*break*/, 14];
|
|
10309
|
+
case 13:
|
|
10310
|
+
if (e_1) throw e_1.error;
|
|
10311
|
+
return [7 /*endfinally*/];
|
|
10312
|
+
case 14: return [7 /*endfinally*/];
|
|
10313
|
+
case 15:
|
|
10314
|
+
if (group.items.length > 0) {
|
|
10315
|
+
query = query + ' ) ';
|
|
10316
|
+
}
|
|
10317
|
+
resolve(query);
|
|
10318
|
+
return [2 /*return*/];
|
|
10319
|
+
}
|
|
10320
|
+
});
|
|
10321
|
+
}); })];
|
|
10322
|
+
});
|
|
10323
|
+
});
|
|
10324
|
+
};
|
|
10212
10325
|
AXQueryBuilderService.prototype.getQueryString = function (group, type) {
|
|
10213
10326
|
var query = '';
|
|
10214
10327
|
switch (type) {
|
|
10215
10328
|
case 'simple':
|
|
10329
|
+
debugger;
|
|
10216
10330
|
if (group.items.length > 0) {
|
|
10217
10331
|
query = ' ( ';
|
|
10218
10332
|
}
|
|
@@ -10274,6 +10388,7 @@
|
|
|
10274
10388
|
this.qs = qs;
|
|
10275
10389
|
this.collapsed = false;
|
|
10276
10390
|
this.fields = [];
|
|
10391
|
+
this.mode = 'new';
|
|
10277
10392
|
//ruleIsEditing: boolean = true;
|
|
10278
10393
|
this.groupRuleChanged = new core.EventEmitter();
|
|
10279
10394
|
this.showGroupCondition = false;
|
|
@@ -10352,9 +10467,14 @@
|
|
|
10352
10467
|
this.ruleChanged(null);
|
|
10353
10468
|
};
|
|
10354
10469
|
AXQueryBuilderGroupComponent.prototype.ruleChanged = function (e) {
|
|
10355
|
-
|
|
10356
|
-
|
|
10357
|
-
this.
|
|
10470
|
+
var _this = this;
|
|
10471
|
+
debugger;
|
|
10472
|
+
// this.group.queryString = this.qs.getQueryString(this.group, 'simple');
|
|
10473
|
+
this.qs.getQueryStringSimple(this.group).then(function (c) {
|
|
10474
|
+
_this.group.queryString = c;
|
|
10475
|
+
_this.group.queryStringElastic = _this.qs.getQueryString(_this.group, 'elastic');
|
|
10476
|
+
_this.groupRuleChanged.emit({ groups: _this.group, component: _this });
|
|
10477
|
+
});
|
|
10358
10478
|
};
|
|
10359
10479
|
AXQueryBuilderGroupComponent.ctorParameters = function () { return [
|
|
10360
10480
|
{ type: AXQueryBuilderService }
|
|
@@ -10379,6 +10499,10 @@
|
|
|
10379
10499
|
core.Input(),
|
|
10380
10500
|
__metadata("design:type", Array)
|
|
10381
10501
|
], AXQueryBuilderGroupComponent.prototype, "fields", void 0);
|
|
10502
|
+
__decorate([
|
|
10503
|
+
core.Input(),
|
|
10504
|
+
__metadata("design:type", String)
|
|
10505
|
+
], AXQueryBuilderGroupComponent.prototype, "mode", void 0);
|
|
10382
10506
|
__decorate([
|
|
10383
10507
|
core.Output(),
|
|
10384
10508
|
__metadata("design:type", core.EventEmitter)
|
|
@@ -10386,7 +10510,7 @@
|
|
|
10386
10510
|
AXQueryBuilderGroupComponent = __decorate([
|
|
10387
10511
|
core.Component({
|
|
10388
10512
|
selector: 'ax-query-group',
|
|
10389
|
-
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\"
|
|
10513
|
+
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> <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> <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> <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> <span>AND</span>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n</div>",
|
|
10390
10514
|
host: { class: 'ax ax-query-group' },
|
|
10391
10515
|
encapsulation: core.ViewEncapsulation.None
|
|
10392
10516
|
}),
|
|
@@ -10401,6 +10525,7 @@
|
|
|
10401
10525
|
var _this = _super.call(this) || this;
|
|
10402
10526
|
_this.ref = ref;
|
|
10403
10527
|
_this.toast = toast;
|
|
10528
|
+
_this.mode = 'new';
|
|
10404
10529
|
_this.rootGroup = new AXQueryBuilderGroup();
|
|
10405
10530
|
_this.fields = [];
|
|
10406
10531
|
// @Input()
|
|
@@ -10410,11 +10535,11 @@
|
|
|
10410
10535
|
return _this;
|
|
10411
10536
|
}
|
|
10412
10537
|
AXQueryBuilderComponent.prototype.ngOnInit = function () {
|
|
10413
|
-
this.rootGroup.condition = this.query.condition ? this.query.condition :
|
|
10538
|
+
this.rootGroup.condition = this.query.condition ? this.query.condition : 'AND';
|
|
10414
10539
|
this.rootGroup.items = this.query.items ? this.query.items : [];
|
|
10415
10540
|
};
|
|
10416
10541
|
AXQueryBuilderComponent.prototype.getQueryBuilder = function () {
|
|
10417
|
-
return
|
|
10542
|
+
return { groups: this.rootGroup };
|
|
10418
10543
|
};
|
|
10419
10544
|
AXQueryBuilderComponent.prototype.ruleChanged = function (e) {
|
|
10420
10545
|
this.onRuleChanged.emit({ component: this, groups: this.rootGroup });
|
|
@@ -10464,6 +10589,10 @@
|
|
|
10464
10589
|
core.Input(),
|
|
10465
10590
|
__metadata("design:type", AXQueryBuilderGroup)
|
|
10466
10591
|
], AXQueryBuilderComponent.prototype, "query", void 0);
|
|
10592
|
+
__decorate([
|
|
10593
|
+
core.Input(),
|
|
10594
|
+
__metadata("design:type", String)
|
|
10595
|
+
], AXQueryBuilderComponent.prototype, "mode", void 0);
|
|
10467
10596
|
__decorate([
|
|
10468
10597
|
core.Input(),
|
|
10469
10598
|
__metadata("design:type", Array)
|
|
@@ -10475,9 +10604,9 @@
|
|
|
10475
10604
|
AXQueryBuilderComponent = __decorate([
|
|
10476
10605
|
core.Component({
|
|
10477
10606
|
selector: 'ax-query-builder',
|
|
10478
|
-
template: "<ax-query-group #queryGroup [group]=\"rootGroup\" [fields]=\"fields\"
|
|
10607
|
+
template: "<ax-query-group #queryGroup [mode]=\"mode\" [group]=\"rootGroup\" [fields]=\"fields\"\r\n (groupRuleChanged)=\"ruleChanged($event)\">\r\n</ax-query-group>",
|
|
10479
10608
|
encapsulation: core.ViewEncapsulation.None,
|
|
10480
|
-
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-
|
|
10609
|
+
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)}"]
|
|
10481
10610
|
}),
|
|
10482
10611
|
__metadata("design:paramtypes", [core.ElementRef, AXToastService])
|
|
10483
10612
|
], AXQueryBuilderComponent);
|
|
@@ -11680,7 +11809,7 @@
|
|
|
11680
11809
|
imports: [common.CommonModule, AXLoadingModule],
|
|
11681
11810
|
exports: [AXTabPageRendererComponent],
|
|
11682
11811
|
entryComponents: [AXTabPageRendererComponent, AXTabPageHostComponent],
|
|
11683
|
-
providers: [
|
|
11812
|
+
providers: [],
|
|
11684
11813
|
})
|
|
11685
11814
|
], AXTabPageModule);
|
|
11686
11815
|
return AXTabPageModule;
|
|
@@ -13783,7 +13912,10 @@
|
|
|
13783
13912
|
//seletedKeyFields set id of nodes and parents
|
|
13784
13913
|
//selectedFieldName set name of fields that set selectes
|
|
13785
13914
|
_this.selectedFieldName = null;
|
|
13786
|
-
|
|
13915
|
+
// @Input()
|
|
13916
|
+
// selectNodesRecursive: 'all' | 'parents' | 'childs' | 'none' = 'all'; //leaf
|
|
13917
|
+
_this.checkParents = true;
|
|
13918
|
+
_this.checkChilds = true;
|
|
13787
13919
|
_this.seletedKeyFields = [];
|
|
13788
13920
|
_this.keyField = 'id';
|
|
13789
13921
|
_this.hasChildField = 'child';
|
|
@@ -13917,7 +14049,8 @@
|
|
|
13917
14049
|
};
|
|
13918
14050
|
AXTreeViewComponent.prototype.changeChildSelect = function (item, s) {
|
|
13919
14051
|
var _this = this;
|
|
13920
|
-
if (this.selectNodesRecursive == 'all' || this.selectNodesRecursive == 'childs') {
|
|
14052
|
+
// if (this.selectNodesRecursive == 'all' || this.selectNodesRecursive == 'childs') {
|
|
14053
|
+
if (this.checkChilds == true) {
|
|
13921
14054
|
item.select = s;
|
|
13922
14055
|
if (item[this.hasChildField] === true && item[this.childField] && item[this.childField].length > 0) {
|
|
13923
14056
|
item[this.childField].forEach(function (elm) {
|
|
@@ -13951,7 +14084,8 @@
|
|
|
13951
14084
|
};
|
|
13952
14085
|
AXTreeViewComponent.prototype.changeParentSelect = function (item) {
|
|
13953
14086
|
var _this = this;
|
|
13954
|
-
if (this.selectNodesRecursive == 'all' || this.selectNodesRecursive == 'parents') {
|
|
14087
|
+
//if (this.selectNodesRecursive == 'all' || this.selectNodesRecursive == 'parents') {
|
|
14088
|
+
if (this.checkParents) {
|
|
13955
14089
|
var allselect = true;
|
|
13956
14090
|
var alldeselect = true;
|
|
13957
14091
|
var oneselect = false;
|
|
@@ -14071,9 +14205,11 @@
|
|
|
14071
14205
|
_this.seletedKeyFields.forEach(function (n) {
|
|
14072
14206
|
if (n.includes(el[_this.keyField])) {
|
|
14073
14207
|
if (el[_this.hasChildField] == true) {
|
|
14074
|
-
|
|
14208
|
+
if (_this.checkParents == false && _this.checkChilds == false) {
|
|
14209
|
+
//select parent when check child and check parent is false TODO check this Action
|
|
14210
|
+
_this.selectItem(el);
|
|
14211
|
+
}
|
|
14075
14212
|
_this.open(el);
|
|
14076
|
-
// }
|
|
14077
14213
|
}
|
|
14078
14214
|
else {
|
|
14079
14215
|
_this.selectItem(el);
|
|
@@ -14084,9 +14220,11 @@
|
|
|
14084
14220
|
}
|
|
14085
14221
|
else if (_this.selectedFieldName != null) {
|
|
14086
14222
|
if (el[_this.hasChildField] == true && el[_this.selectedFieldName] == true) {
|
|
14087
|
-
|
|
14223
|
+
if (_this.checkParents == false && _this.checkChilds == false) {
|
|
14224
|
+
//select parent when check child and check parent is false TODO check this Action
|
|
14225
|
+
_this.selectItem(el);
|
|
14226
|
+
}
|
|
14088
14227
|
_this.open(el);
|
|
14089
|
-
// }
|
|
14090
14228
|
}
|
|
14091
14229
|
else if (el[_this.selectedFieldName] == true) {
|
|
14092
14230
|
_this.selectItem(el);
|
|
@@ -14119,7 +14257,8 @@
|
|
|
14119
14257
|
if (_this.selectionLevel == 'parents' && result_1[i][_this.hasChildField] == false) {
|
|
14120
14258
|
result_1[i].disabledCheckBox = true;
|
|
14121
14259
|
}
|
|
14122
|
-
if (
|
|
14260
|
+
// if (this.selectionMode !== 'single' && (this.selectNodesRecursive == 'all' || this.selectNodesRecursive == 'childs')) {
|
|
14261
|
+
if (_this.selectionMode !== 'single' && _this.checkChilds == true) {
|
|
14123
14262
|
result_1[i].select = _this.itemRow.select === (undefined || null) ? false : _this.itemRow.select;
|
|
14124
14263
|
if (_this.itemRow.select === true && _this.selectionMode == 'multiple' && result_1[i][_this.hasChildField] === false) {
|
|
14125
14264
|
_this.selectedItems = _this.selectedItems.filter(function (c) { return c[_this.keyField] !== result_1[i][_this.keyField]; });
|
|
@@ -14134,9 +14273,11 @@
|
|
|
14134
14273
|
_this.seletedKeyFields.forEach(function (n) {
|
|
14135
14274
|
if (n.includes(result_1[i][_this.keyField])) {
|
|
14136
14275
|
if (result_1[i][_this.hasChildField] == true) {
|
|
14137
|
-
|
|
14276
|
+
if (_this.checkParents == false && _this.checkChilds == false) {
|
|
14277
|
+
//select parent when check child and check parent is false TODO check this Action
|
|
14278
|
+
_this.selectItem(result_1[i]);
|
|
14279
|
+
}
|
|
14138
14280
|
_this.open(result_1[i]);
|
|
14139
|
-
// }
|
|
14140
14281
|
}
|
|
14141
14282
|
else {
|
|
14142
14283
|
_this.selectItem(result_1[i]);
|
|
@@ -14147,9 +14288,11 @@
|
|
|
14147
14288
|
}
|
|
14148
14289
|
else if (_this.selectedFieldName != null) {
|
|
14149
14290
|
if (result_1[i][_this.hasChildField] == true && result_1[i][_this.selectedFieldName] == true) {
|
|
14150
|
-
|
|
14291
|
+
if (_this.checkParents == false && _this.checkChilds == false) {
|
|
14292
|
+
//select parent when check child and check parent is false TODO check this Action
|
|
14293
|
+
_this.selectItem(result_1[i]);
|
|
14294
|
+
}
|
|
14151
14295
|
_this.open(result_1[i]);
|
|
14152
|
-
// }
|
|
14153
14296
|
}
|
|
14154
14297
|
else if (result_1[i][_this.selectedFieldName] == true) {
|
|
14155
14298
|
_this.selectItem(result_1[i]);
|
|
@@ -14321,6 +14464,11 @@
|
|
|
14321
14464
|
this.internalSelectItem(item, false);
|
|
14322
14465
|
}
|
|
14323
14466
|
};
|
|
14467
|
+
AXTreeViewComponent.prototype.unSelectItem = function (item) {
|
|
14468
|
+
if (item['select'] == true) {
|
|
14469
|
+
this.internalSelectItem(item, false);
|
|
14470
|
+
}
|
|
14471
|
+
};
|
|
14324
14472
|
AXTreeViewComponent.prototype.open = function (item) {
|
|
14325
14473
|
if (item['toggle'] !== true) {
|
|
14326
14474
|
this.toggleNode(item, true);
|
|
@@ -14404,8 +14552,12 @@
|
|
|
14404
14552
|
], AXTreeViewComponent.prototype, "selectedFieldName", void 0);
|
|
14405
14553
|
__decorate([
|
|
14406
14554
|
core.Input(),
|
|
14407
|
-
__metadata("design:type",
|
|
14408
|
-
], AXTreeViewComponent.prototype, "
|
|
14555
|
+
__metadata("design:type", Boolean)
|
|
14556
|
+
], AXTreeViewComponent.prototype, "checkParents", void 0);
|
|
14557
|
+
__decorate([
|
|
14558
|
+
core.Input(),
|
|
14559
|
+
__metadata("design:type", Boolean)
|
|
14560
|
+
], AXTreeViewComponent.prototype, "checkChilds", void 0);
|
|
14409
14561
|
__decorate([
|
|
14410
14562
|
core.Input(),
|
|
14411
14563
|
__metadata("design:type", Array)
|