ngx-rs-ant 0.12.0 → 0.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,7 +8,7 @@ import * as i2 from 'devextreme-angular/ui/number-box';
8
8
  import * as i2$1 from 'devextreme-angular/ui/draggable';
9
9
  import * as i3$2 from '@angular/forms';
10
10
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
11
- import { DevExtremeModule, DxDataGridComponent } from 'devextreme-angular';
11
+ import { DevExtremeModule, DxDataGridComponent, DxValidationGroupComponent } from 'devextreme-angular';
12
12
  import { HelperUtils, DevUIModule } from 'ng-devui';
13
13
  import * as i1$1 from '@angular/common/http';
14
14
  import CustomStore from 'devextreme/data/custom_store';
@@ -19,7 +19,6 @@ import * as i4 from 'devextreme-angular/ui/tooltip';
19
19
  import * as i2$2 from '@angular/platform-browser';
20
20
  import * as i2$3 from 'devextreme-angular/ui/button';
21
21
  import * as i3$1 from 'devextreme-angular/ui/text-box';
22
- import { trigger } from 'devextreme/events';
23
22
  import * as i6 from 'devextreme-angular/ui/validation-group';
24
23
  import * as i4$2 from 'devextreme-angular/ui/popover';
25
24
  import notify from 'devextreme/ui/notify';
@@ -628,10 +627,10 @@ class BoxItemComponent {
628
627
  }
629
628
  }
630
629
  BoxItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BoxItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
631
- BoxItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: BoxItemComponent, selector: "rs-box-item", outputs: { leaveOneItem: "leaveOneItem" }, host: { properties: { "style.flex-direction": "this._direction", "style": "this._style" } }, viewQueries: [{ propertyName: "itemHosts", predicate: BoxItemHostDirective, descendants: true }], ngImport: i0, template: "<ng-container *ngFor=\"let item of config.list; index as index\">\n <ng-container *ngIf=\"!boxContainer.editMode || item.type === 'item'\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n <ng-container *ngIf=\"boxContainer.editMode && item.type === 'plugin'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n handle=\".icon-drag\"\n group=\"rsBoxContainerDragGroup\"\n (onDragMove)=\"onDragMove($event)\"\n (onDragEnd)=\"onDragEnd($event)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n <ng-container *ngIf=\"boxContainer.editMode && item.type === 'blank'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n group=\"rsBoxContainerDragGroup\"\n (onDragStart)=\"$event.cancel = true\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n</ng-container>\n", styles: [":host{flex:1;display:flex;flex-flow:row nowrap;pointer-events:all}:host dx-draggable,:host div{display:flex;flex-flow:row nowrap}:host dx-draggable.active,:host div.active{background-color:#d4d4d4}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2$1.DxDraggableComponent, selector: "dx-draggable", inputs: ["autoScroll", "boundary", "clone", "container", "cursorOffset", "data", "dragDirection", "dragTemplate", "elementAttr", "group", "handle", "height", "rtlEnabled", "scrollSensitivity", "scrollSpeed", "width"], outputs: ["onDisposing", "onDragEnd", "onDragMove", "onDragStart", "onInitialized", "onOptionChanged", "autoScrollChange", "boundaryChange", "cloneChange", "containerChange", "cursorOffsetChange", "dataChange", "dragDirectionChange", "dragTemplateChange", "elementAttrChange", "groupChange", "handleChange", "heightChange", "rtlEnabledChange", "scrollSensitivityChange", "scrollSpeedChange", "widthChange"] }, { kind: "directive", type: BoxItemHostDirective, selector: "[rsBoxItemHost]", inputs: ["hostId"] }] });
630
+ BoxItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: BoxItemComponent, selector: "rs-box-item", outputs: { leaveOneItem: "leaveOneItem" }, host: { properties: { "style.flex-direction": "this._direction", "style": "this._style" } }, viewQueries: [{ propertyName: "itemHosts", predicate: BoxItemHostDirective, descendants: true }], ngImport: i0, template: "<ng-container *ngFor=\"let item of config.list; index as index\">\n <ng-container *ngIf=\"boxContainer.editMode\">\n <ng-container *ngIf=\"item.type === 'plugin'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n handle=\".icon-drag\"\n group=\"rsBoxContainerDragGroup\"\n (onDragMove)=\"onDragMove($event)\"\n (onDragEnd)=\"onDragEnd($event)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'item'\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'blank'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n group=\"rsBoxContainerDragGroup\"\n (onDragStart)=\"$event.cancel = true\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!boxContainer.editMode\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host{flex:1;display:flex;flex-flow:row nowrap;pointer-events:all}:host dx-draggable,:host div{display:flex;flex-flow:row nowrap}:host dx-draggable.active,:host div.active{background-color:#d4d4d4}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2$1.DxDraggableComponent, selector: "dx-draggable", inputs: ["autoScroll", "boundary", "clone", "container", "cursorOffset", "data", "dragDirection", "dragTemplate", "elementAttr", "group", "handle", "height", "rtlEnabled", "scrollSensitivity", "scrollSpeed", "width"], outputs: ["onDisposing", "onDragEnd", "onDragMove", "onDragStart", "onInitialized", "onOptionChanged", "autoScrollChange", "boundaryChange", "cloneChange", "containerChange", "cursorOffsetChange", "dataChange", "dragDirectionChange", "dragTemplateChange", "elementAttrChange", "groupChange", "handleChange", "heightChange", "rtlEnabledChange", "scrollSensitivityChange", "scrollSpeedChange", "widthChange"] }, { kind: "directive", type: BoxItemHostDirective, selector: "[rsBoxItemHost]", inputs: ["hostId"] }] });
632
631
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BoxItemComponent, decorators: [{
633
632
  type: Component,
634
- args: [{ selector: 'rs-box-item', template: "<ng-container *ngFor=\"let item of config.list; index as index\">\n <ng-container *ngIf=\"!boxContainer.editMode || item.type === 'item'\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n <ng-container *ngIf=\"boxContainer.editMode && item.type === 'plugin'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n handle=\".icon-drag\"\n group=\"rsBoxContainerDragGroup\"\n (onDragMove)=\"onDragMove($event)\"\n (onDragEnd)=\"onDragEnd($event)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n <ng-container *ngIf=\"boxContainer.editMode && item.type === 'blank'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n group=\"rsBoxContainerDragGroup\"\n (onDragStart)=\"$event.cancel = true\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n</ng-container>\n", styles: [":host{flex:1;display:flex;flex-flow:row nowrap;pointer-events:all}:host dx-draggable,:host div{display:flex;flex-flow:row nowrap}:host dx-draggable.active,:host div.active{background-color:#d4d4d4}\n"] }]
633
+ args: [{ selector: 'rs-box-item', template: "<ng-container *ngFor=\"let item of config.list; index as index\">\n <ng-container *ngIf=\"boxContainer.editMode\">\n <ng-container *ngIf=\"item.type === 'plugin'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n handle=\".icon-drag\"\n group=\"rsBoxContainerDragGroup\"\n (onDragMove)=\"onDragMove($event)\"\n (onDragEnd)=\"onDragEnd($event)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'item'\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'blank'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n group=\"rsBoxContainerDragGroup\"\n (onDragStart)=\"$event.cancel = true\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!boxContainer.editMode\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host{flex:1;display:flex;flex-flow:row nowrap;pointer-events:all}:host dx-draggable,:host div{display:flex;flex-flow:row nowrap}:host dx-draggable.active,:host div.active{background-color:#d4d4d4}\n"] }]
635
634
  }], propDecorators: { _direction: [{
636
635
  type: HostBinding,
637
636
  args: ['style.flex-direction']
@@ -1563,10 +1562,7 @@ class FormComponent {
1563
1562
  });
1564
1563
  }
1565
1564
  submitForm($event) {
1566
- const result = $event.validationGroup.validate();
1567
- if (!result.isValid) { // TODO 异步校验可能存在问题,需进一步确认
1568
- this.submitCallback.emit({ success: false });
1569
- result.brokenRules[0].validator.element().scrollIntoView();
1565
+ if (!this.validate()) {
1570
1566
  return;
1571
1567
  }
1572
1568
  this.service.createOrUpdate(this.tenant, this.className, {
@@ -1576,15 +1572,26 @@ class FormComponent {
1576
1572
  this.submitCallback.emit(response);
1577
1573
  });
1578
1574
  }
1575
+ validate() {
1576
+ const result = this.validator.instance.validate();
1577
+ if (!result.isValid) { // TODO 异步校验可能存在问题,需进一步确认
1578
+ this.submitCallback.emit({ success: false });
1579
+ // @ts-ignore
1580
+ result.brokenRules[0].validator.element().scrollIntoView();
1581
+ console.log(result);
1582
+ return false;
1583
+ }
1584
+ return true;
1585
+ }
1579
1586
  submit() {
1580
- trigger(this.formSubmitter.instance.element(), 'click');
1587
+ this.formSubmitter.instance.element().click();
1581
1588
  }
1582
1589
  }
1583
1590
  FormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormComponent, deps: [{ token: FormService }], target: i0.ɵɵFactoryTarget.Component });
1584
- FormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: FormComponent, selector: "rs-form", inputs: { tenant: "tenant", className: "className", oid: "oid", copyOid: "copyOid", template: "template" }, outputs: { submitCallback: "submitCallback" }, providers: [FormService], viewQueries: [{ propertyName: "formSubmitter", first: true, predicate: ["formSubmitter"], descendants: true }], ngImport: i0, template: "<form>\n <dx-validation-group *ngIf=\"model\">\n <rs-box-container [config]=\"config\" [model]=\"model\"></rs-box-container>\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm($event)\" [useSubmitBehavior]=\"true\"></dx-button>\n </dx-validation-group>\n</form>\n", styles: ["form{display:flex;flex-flow:row nowrap}form dx-validation-group{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: BoxContainerComponent, selector: "rs-box-container", inputs: ["editMode", "config", "model", "tabViewContainerRef"] }, { kind: "component", type: i2$3.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: i6.DxValidationGroupComponent, selector: "dx-validation-group", inputs: ["elementAttr", "height", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "elementAttrChange", "heightChange", "widthChange"] }] });
1591
+ FormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: FormComponent, selector: "rs-form", inputs: { tenant: "tenant", className: "className", oid: "oid", copyOid: "copyOid", template: "template" }, outputs: { submitCallback: "submitCallback" }, providers: [FormService], viewQueries: [{ propertyName: "validator", first: true, predicate: DxValidationGroupComponent, descendants: true }, { propertyName: "formSubmitter", first: true, predicate: ["formSubmitter"], descendants: true }], ngImport: i0, template: "<form>\n <dx-validation-group *ngIf=\"model\">\n <rs-box-container [config]=\"config\" [model]=\"model\"></rs-box-container>\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm($event)\" [useSubmitBehavior]=\"true\"></dx-button>\n </dx-validation-group>\n</form>\n", styles: [":host{padding:12px 24px 20px}:host form{display:flex;flex-flow:row nowrap}:host form dx-validation-group{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: BoxContainerComponent, selector: "rs-box-container", inputs: ["editMode", "config", "model", "tabViewContainerRef"] }, { kind: "component", type: i2$3.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: i6.DxValidationGroupComponent, selector: "dx-validation-group", inputs: ["elementAttr", "height", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "elementAttrChange", "heightChange", "widthChange"] }] });
1585
1592
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormComponent, decorators: [{
1586
1593
  type: Component,
1587
- args: [{ selector: 'rs-form', providers: [FormService], template: "<form>\n <dx-validation-group *ngIf=\"model\">\n <rs-box-container [config]=\"config\" [model]=\"model\"></rs-box-container>\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm($event)\" [useSubmitBehavior]=\"true\"></dx-button>\n </dx-validation-group>\n</form>\n", styles: ["form{display:flex;flex-flow:row nowrap}form dx-validation-group{width:100%}\n"] }]
1594
+ args: [{ selector: 'rs-form', providers: [FormService], template: "<form>\n <dx-validation-group *ngIf=\"model\">\n <rs-box-container [config]=\"config\" [model]=\"model\"></rs-box-container>\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm($event)\" [useSubmitBehavior]=\"true\"></dx-button>\n </dx-validation-group>\n</form>\n", styles: [":host{padding:12px 24px 20px}:host form{display:flex;flex-flow:row nowrap}:host form dx-validation-group{width:100%}\n"] }]
1588
1595
  }], ctorParameters: function () { return [{ type: FormService }]; }, propDecorators: { tenant: [{
1589
1596
  type: Input
1590
1597
  }], className: [{
@@ -1595,6 +1602,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
1595
1602
  type: Input
1596
1603
  }], template: [{
1597
1604
  type: Input
1605
+ }], validator: [{
1606
+ type: ViewChild,
1607
+ args: [DxValidationGroupComponent]
1598
1608
  }], formSubmitter: [{
1599
1609
  type: ViewChild,
1600
1610
  args: ['formSubmitter']