ngx-rs-ant 0.9.8 → 0.10.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data-grid/data-grid.component.d.ts +4 -2
- package/data-grid/data-grid.module.d.ts +6 -4
- package/data-grid/data-grid.service.d.ts +4 -3
- package/data-grid/file-cell-template/file-cell-template.component.d.ts +20 -0
- package/data-grid/row-buttons-template.directive.d.ts +8 -0
- package/esm2020/data-grid/data-grid.component.mjs +246 -228
- package/esm2020/data-grid/data-grid.module.mjs +13 -5
- package/esm2020/data-grid/data-grid.service.mjs +14 -4
- package/esm2020/data-grid/file-cell-template/file-cell-template.component.mjs +73 -0
- package/esm2020/data-grid/row-buttons-template.directive.mjs +16 -0
- package/esm2020/form/form.component.mjs +8 -1
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/ngx-rs-ant.mjs +363 -242
- package/fesm2015/ngx-rs-ant.mjs.map +1 -1
- package/fesm2020/ngx-rs-ant.mjs +363 -242
- package/fesm2020/ngx-rs-ant.mjs.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
package/fesm2020/ngx-rs-ant.mjs
CHANGED
|
@@ -8,16 +8,17 @@ import { Subject, map, lastValueFrom } from 'rxjs';
|
|
|
8
8
|
import * as i2$1 from 'ng-devui/input-number';
|
|
9
9
|
import * as i5 from '@angular/forms';
|
|
10
10
|
import { FormsModule, UntypedFormGroup, ReactiveFormsModule } from '@angular/forms';
|
|
11
|
-
import { DevUIModule, FormLayout } from 'ng-devui';
|
|
12
|
-
import * as i3 from 'devextreme-angular';
|
|
11
|
+
import { DevUIModule, HelperUtils, FormLayout } from 'ng-devui';
|
|
12
|
+
import * as i3$1 from 'devextreme-angular';
|
|
13
13
|
import { DxDataGridComponent, DxDataGridModule } from 'devextreme-angular';
|
|
14
14
|
import * as i1$1 from '@angular/common/http';
|
|
15
15
|
import CustomStore from 'devextreme/data/custom_store';
|
|
16
16
|
import * as i4 from 'devextreme-angular/ui/nested';
|
|
17
17
|
import * as i5$1 from 'devextreme-angular/core';
|
|
18
|
-
import * as
|
|
19
|
-
import * as i2$2 from '
|
|
20
|
-
import * as
|
|
18
|
+
import * as i3 from 'ng-devui/popover';
|
|
19
|
+
import * as i2$2 from '@angular/platform-browser';
|
|
20
|
+
import * as i2$3 from 'ng-devui/button';
|
|
21
|
+
import * as i3$2 from 'ng-devui/form';
|
|
21
22
|
import * as i4$1 from 'ng-devui/text-input';
|
|
22
23
|
import * as i4$2 from 'ng-devui/loading';
|
|
23
24
|
|
|
@@ -754,10 +755,11 @@ class DataGridService {
|
|
|
754
755
|
return response.data;
|
|
755
756
|
}));
|
|
756
757
|
}
|
|
757
|
-
getUserColumnDataSource(className, view, field) {
|
|
758
|
+
getUserColumnDataSource(tenant, className, view, field) {
|
|
758
759
|
return this.http.get('api/data/custom', {
|
|
759
760
|
params: {
|
|
760
761
|
executor: 'com.cs.system.data.grid.header.filter.GetUserColumnDataSource',
|
|
762
|
+
tenant,
|
|
761
763
|
className,
|
|
762
764
|
view: view || '',
|
|
763
765
|
field
|
|
@@ -775,10 +777,11 @@ class DataGridService {
|
|
|
775
777
|
return response.data.list;
|
|
776
778
|
}));
|
|
777
779
|
}
|
|
778
|
-
getUnitColumnDataSource(className, view, field) {
|
|
780
|
+
getUnitColumnDataSource(tenant, className, view, field) {
|
|
779
781
|
return this.http.get('api/data/custom', {
|
|
780
782
|
params: {
|
|
781
783
|
executor: 'com.cs.system.data.grid.header.filter.GetUnitColumnDataSource',
|
|
784
|
+
tenant,
|
|
782
785
|
className,
|
|
783
786
|
view: view || '',
|
|
784
787
|
field
|
|
@@ -796,10 +799,11 @@ class DataGridService {
|
|
|
796
799
|
return response.data.list;
|
|
797
800
|
}));
|
|
798
801
|
}
|
|
799
|
-
getConstraintColumnDataSource(className, view, field, constraintName) {
|
|
802
|
+
getConstraintColumnDataSource(tenant, className, view, field, constraintName) {
|
|
800
803
|
return this.http.get('api/data/custom', {
|
|
801
804
|
params: {
|
|
802
805
|
executor: 'com.cs.system.data.grid.header.filter.GetConstraintColumnDataSource',
|
|
806
|
+
tenant,
|
|
803
807
|
className,
|
|
804
808
|
view: view || '',
|
|
805
809
|
field,
|
|
@@ -830,6 +834,12 @@ class DataGridService {
|
|
|
830
834
|
return response.data.list;
|
|
831
835
|
}));
|
|
832
836
|
}
|
|
837
|
+
downloadAttachment(id, filename, onSuccess) {
|
|
838
|
+
HelperUtils.downloadFileByHttpClient(this.http, 'api/file/download/' + id, {
|
|
839
|
+
method: 'GET',
|
|
840
|
+
filename
|
|
841
|
+
}, undefined, onSuccess);
|
|
842
|
+
}
|
|
833
843
|
}
|
|
834
844
|
DataGridService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DataGridService, deps: [{ token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
835
845
|
DataGridService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DataGridService });
|
|
@@ -851,6 +861,88 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
851
861
|
}]
|
|
852
862
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
853
863
|
|
|
864
|
+
class RowButtonsTemplateDirective {
|
|
865
|
+
constructor(templateRef) {
|
|
866
|
+
this.templateRef = templateRef;
|
|
867
|
+
}
|
|
868
|
+
}
|
|
869
|
+
RowButtonsTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: RowButtonsTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
870
|
+
RowButtonsTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: RowButtonsTemplateDirective, selector: "[rsRowButtonsTemplate]", ngImport: i0 });
|
|
871
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: RowButtonsTemplateDirective, decorators: [{
|
|
872
|
+
type: Directive,
|
|
873
|
+
args: [{
|
|
874
|
+
selector: '[rsRowButtonsTemplate]'
|
|
875
|
+
}]
|
|
876
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
877
|
+
|
|
878
|
+
class FileCellTemplateComponent {
|
|
879
|
+
constructor(service, domSanitizer) {
|
|
880
|
+
this.service = service;
|
|
881
|
+
this.domSanitizer = domSanitizer;
|
|
882
|
+
this.loading = false;
|
|
883
|
+
}
|
|
884
|
+
ngOnInit() {
|
|
885
|
+
this.service.getOne('S', 'Attachment', this.oid).subscribe(response => {
|
|
886
|
+
this.file = response.data;
|
|
887
|
+
this.filename = this.file.fileName;
|
|
888
|
+
this.content = this.domSanitizer.bypassSecurityTrustHtml(`名称:${this.file.fileName}<br />
|
|
889
|
+
大小:${this.getFileSize(this.file.fileSize)}<br />
|
|
890
|
+
时间:${this.file.modifyTime}`);
|
|
891
|
+
const type = this.file.fileName.substring(this.file.fileName.lastIndexOf('.') + 1).toLocaleLowerCase();
|
|
892
|
+
switch (type) {
|
|
893
|
+
case 'xls':
|
|
894
|
+
case 'xlsx':
|
|
895
|
+
case 'doc':
|
|
896
|
+
case 'docx':
|
|
897
|
+
case 'ppt':
|
|
898
|
+
case 'pptx':
|
|
899
|
+
case 'pdf':
|
|
900
|
+
case 'txt':
|
|
901
|
+
case 'rtf':
|
|
902
|
+
this.icon = type + 'file';
|
|
903
|
+
break;
|
|
904
|
+
case 'jpg':
|
|
905
|
+
case 'jpeg':
|
|
906
|
+
case 'png':
|
|
907
|
+
case 'gif':
|
|
908
|
+
this.icon = 'image';
|
|
909
|
+
break;
|
|
910
|
+
default:
|
|
911
|
+
this.icon = 'file';
|
|
912
|
+
break;
|
|
913
|
+
}
|
|
914
|
+
// 重绘,自适应列宽
|
|
915
|
+
this.template.component.resize();
|
|
916
|
+
});
|
|
917
|
+
}
|
|
918
|
+
download() {
|
|
919
|
+
this.loading = true;
|
|
920
|
+
this.service.downloadAttachment(this.oid, this.filename, () => {
|
|
921
|
+
this.loading = false;
|
|
922
|
+
});
|
|
923
|
+
}
|
|
924
|
+
getFileSize(size) {
|
|
925
|
+
const labels = ['b', 'Kb', 'Mb', 'Gb'];
|
|
926
|
+
const count = labels.length - 1;
|
|
927
|
+
let i = 0;
|
|
928
|
+
while (i < count && size >= 1024) {
|
|
929
|
+
size /= 1024;
|
|
930
|
+
i++;
|
|
931
|
+
}
|
|
932
|
+
return Math.round(size * 100) / 100 + " " + labels[i];
|
|
933
|
+
}
|
|
934
|
+
}
|
|
935
|
+
FileCellTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FileCellTemplateComponent, deps: [{ token: DataGridService }, { token: i2$2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
936
|
+
FileCellTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: FileCellTemplateComponent, selector: "rs-file-cell-template", inputs: { template: "template", oid: "oid" }, ngImport: i0, template: "<button (click)=\"download()\"\n [disabled]=\"loading\"\n dPopover\n [content]=\"content\"\n [trigger]=\"'hover'\"\n [controlled]=\"true\"\n [popMaxWidth]=\"300\">\n <i class=\"dx-icon-{{icon}}\"></i>\n {{filename}}\n</button><br/>\n", styles: [":host{height:20px;padding-right:4px}:host button{color:var(--devui-link, #526ecc)}\n"], dependencies: [{ kind: "directive", type: i3.PopoverDirective, selector: "[dPopover]", inputs: ["content", "controlled", "position", "showAnimation", "showAnimate", "scrollElement", "appendToBody", "zIndex", "popType", "popMaxWidth", "trigger", "hoverToContent", "hoverDelayTime", "popoverStyle", "mouseEnterDelay", "mouseLeaveDelay", "visible"], exportAs: ["dPopover"] }] });
|
|
937
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FileCellTemplateComponent, decorators: [{
|
|
938
|
+
type: Component,
|
|
939
|
+
args: [{ selector: 'rs-file-cell-template', template: "<button (click)=\"download()\"\n [disabled]=\"loading\"\n dPopover\n [content]=\"content\"\n [trigger]=\"'hover'\"\n [controlled]=\"true\"\n [popMaxWidth]=\"300\">\n <i class=\"dx-icon-{{icon}}\"></i>\n {{filename}}\n</button><br/>\n", styles: [":host{height:20px;padding-right:4px}:host button{color:var(--devui-link, #526ecc)}\n"] }]
|
|
940
|
+
}], ctorParameters: function () { return [{ type: DataGridService }, { type: i2$2.DomSanitizer }]; }, propDecorators: { template: [{
|
|
941
|
+
type: Input
|
|
942
|
+
}], oid: [{
|
|
943
|
+
type: Input
|
|
944
|
+
}] } });
|
|
945
|
+
|
|
854
946
|
class DataGridComponent {
|
|
855
947
|
constructor(service, locale) {
|
|
856
948
|
this.service = service;
|
|
@@ -899,247 +991,263 @@ class DataGridComponent {
|
|
|
899
991
|
this.service.getMetadataByView(this.tenant, this.className, this.view || '').subscribe((response) => {
|
|
900
992
|
const columns = [];
|
|
901
993
|
for (let field of response.data.columns) {
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
994
|
+
switch (field.type) {
|
|
995
|
+
case 'FILE':
|
|
996
|
+
columns.push({
|
|
997
|
+
dataField: field.name,
|
|
998
|
+
caption: field.caption,
|
|
999
|
+
dataType: 'string',
|
|
1000
|
+
alignment: 'center',
|
|
1001
|
+
allowHeaderFiltering: false,
|
|
1002
|
+
allowFiltering: false,
|
|
1003
|
+
allowSorting: false,
|
|
1004
|
+
cellTemplate: 'fileCellTemplate',
|
|
1005
|
+
visible: field.visible
|
|
1006
|
+
});
|
|
1007
|
+
break;
|
|
1008
|
+
case 'NORMAL':
|
|
1009
|
+
const column = {
|
|
1010
|
+
dataField: field.name,
|
|
1011
|
+
caption: field.caption,
|
|
1012
|
+
dataType: this.typeMap[field.dataType].dataType,
|
|
1013
|
+
alignment: 'left',
|
|
1014
|
+
allowHeaderFiltering: true,
|
|
1015
|
+
headerFilter: {
|
|
1016
|
+
allowSelectAll: false
|
|
1017
|
+
},
|
|
1018
|
+
filterOperations: this.typeMap[field.dataType].filterOperations,
|
|
1019
|
+
format: this.typeMap[field.dataType].format,
|
|
1020
|
+
visible: field.visible
|
|
1021
|
+
};
|
|
1022
|
+
columns.push(column);
|
|
1023
|
+
switch (field.dataType) {
|
|
1024
|
+
case 'BOOLEAN':
|
|
1025
|
+
column.allowHeaderFiltering = false;
|
|
1026
|
+
column.alignment = 'center';
|
|
1027
|
+
column.trueText = '是';
|
|
1028
|
+
column.falseText = '否';
|
|
1029
|
+
break;
|
|
1030
|
+
case 'DATE':
|
|
1031
|
+
case 'DATETIME':
|
|
1032
|
+
column.headerFilter.dataSource = (options) => {
|
|
1033
|
+
options.dataSource.group.length = 3;
|
|
1034
|
+
options.dataSource.postProcess = (data) => {
|
|
1035
|
+
data.forEach((year) => {
|
|
1036
|
+
year.text = year.key + '年';
|
|
1037
|
+
year.items.forEach((month) => {
|
|
1038
|
+
month.text = month.key + '月';
|
|
1039
|
+
month.items.forEach((day) => {
|
|
1040
|
+
day.text = day.key + '日';
|
|
1041
|
+
day.items = [];
|
|
1042
|
+
});
|
|
947
1043
|
});
|
|
948
1044
|
});
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
}
|
|
955
|
-
};
|
|
956
|
-
};
|
|
957
|
-
break;
|
|
958
|
-
case 'DOUBLE':
|
|
959
|
-
case 'INTEGER':
|
|
960
|
-
column.headerFilter.dataSource = (options) => {
|
|
961
|
-
options.dataSource.postProcess = (data) => {
|
|
962
|
-
data.unshift({
|
|
963
|
-
key: '',
|
|
964
|
-
value: null,
|
|
965
|
-
text: '(空白)'
|
|
966
|
-
});
|
|
967
|
-
data.push({
|
|
968
|
-
key: '__',
|
|
969
|
-
value: '__',
|
|
970
|
-
text: '__',
|
|
971
|
-
visible: false
|
|
972
|
-
});
|
|
1045
|
+
data.unshift({
|
|
1046
|
+
key: '',
|
|
1047
|
+
value: null,
|
|
1048
|
+
text: '(空白)'
|
|
1049
|
+
});
|
|
1050
|
+
};
|
|
973
1051
|
};
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
1052
|
+
break;
|
|
1053
|
+
case 'DOUBLE':
|
|
1054
|
+
case 'INTEGER':
|
|
1055
|
+
column.headerFilter.dataSource = (options) => {
|
|
1056
|
+
options.dataSource.postProcess = (data) => {
|
|
1057
|
+
data.unshift({
|
|
1058
|
+
key: '',
|
|
1059
|
+
value: null,
|
|
1060
|
+
text: '(空白)'
|
|
1061
|
+
});
|
|
1062
|
+
data.push({
|
|
1063
|
+
key: '__',
|
|
1064
|
+
value: '__',
|
|
1065
|
+
text: '__',
|
|
1066
|
+
visible: false
|
|
1067
|
+
});
|
|
1068
|
+
};
|
|
990
1069
|
};
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
column.
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1070
|
+
break;
|
|
1071
|
+
case 'STRING':
|
|
1072
|
+
column.headerFilter.dataSource = (options) => {
|
|
1073
|
+
options.dataSource.postProcess = (data) => {
|
|
1074
|
+
data.unshift({
|
|
1075
|
+
key: '',
|
|
1076
|
+
value: null,
|
|
1077
|
+
text: '(空白)'
|
|
1078
|
+
});
|
|
1079
|
+
data.push({
|
|
1080
|
+
key: '__',
|
|
1081
|
+
value: '__',
|
|
1082
|
+
text: '__',
|
|
1083
|
+
visible: false
|
|
1084
|
+
});
|
|
1004
1085
|
};
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
},
|
|
1016
|
-
valueExpr: 'value',
|
|
1017
|
-
displayExpr: 'text'
|
|
1086
|
+
};
|
|
1087
|
+
switch (field.config.constraint.type) {
|
|
1088
|
+
case 'USER':
|
|
1089
|
+
column.headerFilter.dataSource = {
|
|
1090
|
+
store: new CustomStore({
|
|
1091
|
+
load: () => {
|
|
1092
|
+
return lastValueFrom(this.service.getUserColumnDataSource(this.tenant, this.className, this.view, field.name));
|
|
1093
|
+
}
|
|
1094
|
+
}),
|
|
1095
|
+
paginate: true
|
|
1018
1096
|
};
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1097
|
+
if (field.config.constraint.multiple) {
|
|
1098
|
+
column.allowFiltering = false;
|
|
1099
|
+
column.lookup = {
|
|
1100
|
+
dataSource: {
|
|
1101
|
+
store: new CustomStore({
|
|
1102
|
+
load: () => {
|
|
1103
|
+
return lastValueFrom(this.service.getUserColumnDataSource(this.tenant, this.className, this.view, field.name));
|
|
1104
|
+
}
|
|
1105
|
+
}),
|
|
1106
|
+
paginate: true
|
|
1107
|
+
},
|
|
1108
|
+
valueExpr: 'value',
|
|
1109
|
+
displayExpr: 'text'
|
|
1110
|
+
};
|
|
1111
|
+
column.calculateFilterExpression = function (filterValue, selectedFilterOperation, target) {
|
|
1112
|
+
if (this.defaultCalculateFilterExpression) {
|
|
1113
|
+
return this.defaultCalculateFilterExpression.apply(this, [filterValue, 'contains', target]);
|
|
1114
|
+
}
|
|
1115
|
+
return '';
|
|
1116
|
+
};
|
|
1117
|
+
column.cellTemplate = 'multipleValueCellTemplate';
|
|
1118
|
+
}
|
|
1119
|
+
else {
|
|
1120
|
+
column.dataField = '__' + field.name + '\u0001User_displayName';
|
|
1121
|
+
column.calculateFilterExpression = function (filterValue, selectedFilterOperation, target) {
|
|
1122
|
+
if (target === 'headerFilter') {
|
|
1123
|
+
if (this.defaultCalculateFilterExpression) {
|
|
1124
|
+
this.dataField = '__' + field.name + '\u0001User_username';
|
|
1125
|
+
return this.defaultCalculateFilterExpression.apply(this, [filterValue, selectedFilterOperation, target]);
|
|
1126
|
+
}
|
|
1127
|
+
}
|
|
1128
|
+
return [
|
|
1129
|
+
[column.name, selectedFilterOperation, filterValue],
|
|
1130
|
+
'or',
|
|
1131
|
+
['__' + field.name + '\u0001User_username', selectedFilterOperation, filterValue]
|
|
1132
|
+
];
|
|
1133
|
+
};
|
|
1134
|
+
}
|
|
1135
|
+
break;
|
|
1136
|
+
case 'UNIT':
|
|
1137
|
+
column.headerFilter.dataSource = {
|
|
1138
|
+
store: new CustomStore({
|
|
1139
|
+
load: () => {
|
|
1140
|
+
return lastValueFrom(this.service.getUnitColumnDataSource(this.tenant, this.className, this.view, field.name));
|
|
1141
|
+
}
|
|
1142
|
+
}),
|
|
1143
|
+
paginate: true
|
|
1024
1144
|
};
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1145
|
+
if (field.config.constraint.multiple) {
|
|
1146
|
+
column.allowFiltering = false;
|
|
1147
|
+
column.lookup = {
|
|
1148
|
+
dataSource: {
|
|
1149
|
+
store: new CustomStore({
|
|
1150
|
+
load: () => {
|
|
1151
|
+
return lastValueFrom(this.service.getUnitColumnDataSource(this.tenant, this.className, this.view, field.name));
|
|
1152
|
+
}
|
|
1153
|
+
}),
|
|
1154
|
+
paginate: true
|
|
1155
|
+
},
|
|
1156
|
+
valueExpr: 'value',
|
|
1157
|
+
displayExpr: 'text'
|
|
1158
|
+
};
|
|
1159
|
+
column.calculateFilterExpression = function (filterValue, selectedFilterOperation, target) {
|
|
1031
1160
|
if (this.defaultCalculateFilterExpression) {
|
|
1032
|
-
this.
|
|
1033
|
-
|
|
1161
|
+
return this.defaultCalculateFilterExpression.apply(this, [filterValue, 'contains', target]);
|
|
1162
|
+
}
|
|
1163
|
+
return '';
|
|
1164
|
+
};
|
|
1165
|
+
column.cellTemplate = 'multipleValueCellTemplate';
|
|
1166
|
+
}
|
|
1167
|
+
else {
|
|
1168
|
+
column.dataField = '__' + field.name + '\u0001Role_displayName';
|
|
1169
|
+
column.calculateFilterExpression = function (filterValue, selectedFilterOperation, target) {
|
|
1170
|
+
if (target === 'headerFilter') {
|
|
1171
|
+
if (this.defaultCalculateFilterExpression) {
|
|
1172
|
+
this.dataField = '__' + field.name + '\u0001Role_name';
|
|
1173
|
+
return this.defaultCalculateFilterExpression.apply(this, [filterValue, selectedFilterOperation, target]);
|
|
1174
|
+
}
|
|
1175
|
+
}
|
|
1176
|
+
return [
|
|
1177
|
+
[column.name, selectedFilterOperation, filterValue],
|
|
1178
|
+
'or',
|
|
1179
|
+
['__' + field.name + '\u0001Role_name', selectedFilterOperation, filterValue]
|
|
1180
|
+
];
|
|
1181
|
+
};
|
|
1182
|
+
}
|
|
1183
|
+
break;
|
|
1184
|
+
case 'CUSTOM':
|
|
1185
|
+
column.headerFilter.dataSource = {
|
|
1186
|
+
store: new CustomStore({
|
|
1187
|
+
load: () => {
|
|
1188
|
+
return lastValueFrom(this.service.getConstraintColumnDataSource(this.tenant, this.className, this.view, field.name, field.config.constraint.name));
|
|
1034
1189
|
}
|
|
1035
|
-
}
|
|
1036
|
-
|
|
1037
|
-
[column.name, selectedFilterOperation, filterValue],
|
|
1038
|
-
'or',
|
|
1039
|
-
['__' + field.name + '\u0001User_username', selectedFilterOperation, filterValue]
|
|
1040
|
-
];
|
|
1190
|
+
}),
|
|
1191
|
+
paginate: true
|
|
1041
1192
|
};
|
|
1042
|
-
}
|
|
1043
|
-
break;
|
|
1044
|
-
case 'UNIT':
|
|
1045
|
-
column.headerFilter.dataSource = {
|
|
1046
|
-
store: new CustomStore({
|
|
1047
|
-
load: () => {
|
|
1048
|
-
return lastValueFrom(this.service.getUnitColumnDataSource(this.className, this.view, field.name));
|
|
1049
|
-
}
|
|
1050
|
-
}),
|
|
1051
|
-
paginate: true
|
|
1052
|
-
};
|
|
1053
|
-
if (field.config.constraint.multiple) {
|
|
1054
|
-
column.allowFiltering = false;
|
|
1055
1193
|
column.lookup = {
|
|
1056
1194
|
dataSource: {
|
|
1057
1195
|
store: new CustomStore({
|
|
1058
1196
|
load: () => {
|
|
1059
|
-
return lastValueFrom(this.service.
|
|
1197
|
+
return lastValueFrom(this.service.getConstraintEntries(field.config.constraint.name));
|
|
1060
1198
|
}
|
|
1061
1199
|
}),
|
|
1062
1200
|
paginate: true
|
|
1063
1201
|
},
|
|
1064
|
-
valueExpr: '
|
|
1065
|
-
displayExpr: '
|
|
1066
|
-
};
|
|
1067
|
-
column.calculateFilterExpression = function (filterValue, selectedFilterOperation, target) {
|
|
1068
|
-
if (this.defaultCalculateFilterExpression) {
|
|
1069
|
-
return this.defaultCalculateFilterExpression.apply(this, [filterValue, 'contains', target]);
|
|
1070
|
-
}
|
|
1071
|
-
return '';
|
|
1202
|
+
valueExpr: 'store',
|
|
1203
|
+
displayExpr: 'display'
|
|
1072
1204
|
};
|
|
1073
|
-
column.
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
column.dataField = '__' + field.name + '\u0001Role_displayName';
|
|
1077
|
-
column.calculateFilterExpression = function (filterValue, selectedFilterOperation, target) {
|
|
1078
|
-
if (target === 'headerFilter') {
|
|
1205
|
+
column.filterOperations = [];
|
|
1206
|
+
if (field.config.constraint.multiple) {
|
|
1207
|
+
column.calculateFilterExpression = function (filterValue, selectedFilterOperation, target) {
|
|
1079
1208
|
if (this.defaultCalculateFilterExpression) {
|
|
1080
|
-
this.
|
|
1081
|
-
return this.defaultCalculateFilterExpression.apply(this, [filterValue, selectedFilterOperation, target]);
|
|
1082
|
-
}
|
|
1083
|
-
}
|
|
1084
|
-
return [
|
|
1085
|
-
[column.name, selectedFilterOperation, filterValue],
|
|
1086
|
-
'or',
|
|
1087
|
-
['__' + field.name + '\u0001Role_name', selectedFilterOperation, filterValue]
|
|
1088
|
-
];
|
|
1089
|
-
};
|
|
1090
|
-
}
|
|
1091
|
-
break;
|
|
1092
|
-
case 'CUSTOM':
|
|
1093
|
-
column.headerFilter.dataSource = {
|
|
1094
|
-
store: new CustomStore({
|
|
1095
|
-
load: () => {
|
|
1096
|
-
return lastValueFrom(this.service.getConstraintColumnDataSource(this.className, this.view, field.name, field.config.constraint.name));
|
|
1097
|
-
}
|
|
1098
|
-
}),
|
|
1099
|
-
paginate: true
|
|
1100
|
-
};
|
|
1101
|
-
column.lookup = {
|
|
1102
|
-
dataSource: {
|
|
1103
|
-
store: new CustomStore({
|
|
1104
|
-
load: () => {
|
|
1105
|
-
return lastValueFrom(this.service.getConstraintEntries(field.config.constraint.name));
|
|
1209
|
+
return this.defaultCalculateFilterExpression.apply(this, [filterValue, 'contains', target]);
|
|
1106
1210
|
}
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
}
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1211
|
+
return '';
|
|
1212
|
+
};
|
|
1213
|
+
}
|
|
1214
|
+
column.cellTemplate = 'multipleValueCellTemplate';
|
|
1215
|
+
break;
|
|
1216
|
+
}
|
|
1217
|
+
break;
|
|
1218
|
+
case 'TEXT':
|
|
1219
|
+
column.allowHeaderFiltering = false;
|
|
1220
|
+
column.cellTemplate = 'textCellTemplate';
|
|
1221
|
+
break;
|
|
1222
|
+
}
|
|
1223
|
+
break;
|
|
1224
|
+
case 'RELATION':
|
|
1225
|
+
switch (field.relationType) {
|
|
1226
|
+
case 'MANY_TO_MANY':
|
|
1227
|
+
case 'ONE_TO_MANY':
|
|
1228
|
+
columns.push({
|
|
1229
|
+
dataField: field.name,
|
|
1230
|
+
caption: field.caption,
|
|
1231
|
+
dataType: 'string',
|
|
1232
|
+
alignment: 'left',
|
|
1233
|
+
allowHeaderFiltering: false,
|
|
1234
|
+
allowFiltering: false,
|
|
1235
|
+
visible: field.visible
|
|
1236
|
+
});
|
|
1237
|
+
break;
|
|
1238
|
+
case 'MANY_TO_ONE':
|
|
1239
|
+
case 'ONE_TO_ONE':
|
|
1240
|
+
columns.push({
|
|
1241
|
+
dataField: field.name,
|
|
1242
|
+
caption: field.caption,
|
|
1243
|
+
dataType: 'string',
|
|
1244
|
+
alignment: 'left',
|
|
1245
|
+
allowHeaderFiltering: false,
|
|
1246
|
+
filterOperations: ['='],
|
|
1247
|
+
visible: field.visible
|
|
1248
|
+
});
|
|
1249
|
+
break;
|
|
1250
|
+
}
|
|
1143
1251
|
}
|
|
1144
1252
|
}
|
|
1145
1253
|
if (this.customColumnFn) {
|
|
@@ -1200,15 +1308,12 @@ class DataGridComponent {
|
|
|
1200
1308
|
}
|
|
1201
1309
|
});
|
|
1202
1310
|
}
|
|
1203
|
-
convertMultipleValueCellText(cellInfo
|
|
1311
|
+
convertMultipleValueCellText(cellInfo) {
|
|
1204
1312
|
if (!cellInfo.value) {
|
|
1205
1313
|
return;
|
|
1206
1314
|
}
|
|
1207
1315
|
if (Array.isArray(cellInfo.value)) {
|
|
1208
|
-
|
|
1209
|
-
return cellInfo.value.map((item) => cellInfo.column.lookup.calculateCellValue(item)).join('<br />');
|
|
1210
|
-
}
|
|
1211
|
-
return cellInfo.value.map((item) => cellInfo.column.lookup.calculateCellValue(item)).join(';');
|
|
1316
|
+
return cellInfo.value.map((item) => cellInfo.column.lookup.calculateCellValue(item)).join('<br />');
|
|
1212
1317
|
}
|
|
1213
1318
|
return cellInfo.column.lookup.calculateCellValue(cellInfo.value);
|
|
1214
1319
|
}
|
|
@@ -1224,10 +1329,10 @@ class DataGridComponent {
|
|
|
1224
1329
|
}
|
|
1225
1330
|
}
|
|
1226
1331
|
DataGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DataGridComponent, deps: [{ token: DataGridService }, { token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
1227
|
-
DataGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DataGridComponent, selector: "rs-data-grid", inputs: { tenant: "tenant", className: "className", view: "view", filter: "filter", enableMasterDetail: "enableMasterDetail", customColumnFn: "customColumnFn" }, providers: [DataGridService], queries: [{ propertyName: "masterDetailTemplate", first: true, predicate: MasterDetailTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "dxDataGrid", first: true, predicate: DxDataGridComponent, descendants: true, static: true }], ngImport: i0, template: "<dx-data-grid [dataSource]=\"dataSource\"\n [columns]=\"columns\"\n [syncLookupFilterValues]=\"false\"\n [showBorders]=\"true\"\n [showColumnLines]=\"true\"\n [showRowLines]=\"true\"\n [hoverStateEnabled]=\"true\"\n [rowAlternationEnabled]=\"true\"\n [columnAutoWidth]=\"true\"\n [allowColumnResizing]=\"true\"\n columnResizingMode=\"widget\"\n dateSerializationFormat=\"yyyy/MM/dd HH:mm:ss\"\n (onRowExpanding)=\"$event.component.collapseAll(-1)\"\n>\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\n <dxo-selection mode=\"multiple\" selectAllMode=\"page\"></dxo-selection>\n <dxo-header-filter [visible]=\"true\">\n <dxo-search [enabled]=\"true\"></dxo-search>\n <dxo-texts [ok]=\"'\u786E\u5B9A'\"></dxo-texts>\n </dxo-header-filter>\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-remote-operations [filtering]=\"true\"\n [sorting]=\"true\"\n [paging]=\"true\">\n </dxo-remote-operations>\n <dxo-master-detail [enabled]=\"enableMasterDetail\" template=\"masterDetailTemplate\"></dxo-master-detail>\n <dxo-paging [pageSize]=\"15\"></dxo-paging>\n <dxo-pager [visible]=\"true\"\n [showInfo]=\"true\"\n infoText=\"\u7B2C{0}\u9875\uFF0C\u5171{1}\u9875\uFF08\u5171{2}\u4E2A\u9879\u76EE\uFF09\"\n [showPageSizeSelector]=\"true\"\n [allowedPageSizes]=\"[15, 30, 50]\"\n ></dxo-pager>\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\n <dxo-export [allowExportSelectedData]=\"true\"\n [fileName]=\"className\"></dxo-export>\n <div *dxTemplate=\"let rowInfo of 'masterDetailTemplate'\">\n <ng-container [ngTemplateOutlet]=\"masterDetailTemplate.templateRef\"\n [ngTemplateOutletContext]=\"{$implicit: rowInfo}\"></ng-container>\n </div>\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\n {{cellInfo.rowIndex + 1}}\n </div>\n <div *dxTemplate=\"let cellInfo of 'multipleValueCellTemplate'\">\n <div dPopover #textDiv\n [content]=\"convertMultipleValueCellText(cellInfo, true)\"\n [controlled]=\"textDiv.clientWidth < textDiv.scrollWidth\"\n [popoverStyle]=\"{ backgroundColor: '#fff', color: 'rgb(51, 51, 51)' }\"\n style=\"text-overflow: ellipsis; overflow: hidden;\"\n [ngStyle]=\"{ cursor: textDiv.clientWidth < textDiv.scrollWidth ? 'pointer': 'default'}\">\n {{convertMultipleValueCellText(cellInfo)}}\n </div>\n </div>\n <div *dxTemplate=\"let cellInfo of 'textCellTemplate'\">\n <div dPopover #textDiv\n [content]=\"cellInfo.value\"\n [controlled]=\"textDiv.clientWidth < textDiv.scrollWidth\"\n [popMaxWidth]=\"300\"\n [popoverStyle]=\"{ backgroundColor: '#fff', color: 'rgb(51, 51, 51)' }\"\n style=\"text-overflow: ellipsis; overflow: hidden;\"\n [ngStyle]=\"{ cursor: textDiv.clientWidth < textDiv.scrollWidth ? 'pointer': 'default'}\">{{cellInfo.value}}</div>\n </div>\n</dx-data-grid>\n", styles: [":host{display:flex;flex-flow:column nowrap}:host dx-data-grid{flex:auto;height:0}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i4.DxoSearchComponent, selector: "dxo-search", inputs: ["editorOptions", "enabled", "timeout", "mode", "searchExpr"] }, { kind: "component", type: i4.DxoSelectionComponent, selector: "dxo-selection", inputs: ["allowSelectAll", "recursive", "selectByClick", "deferred", "mode", "selectAllMode", "showCheckBoxesMode"] }, { kind: "component", type: i4.DxoTextsComponent, selector: "dxo-texts", inputs: ["fix", "leftPosition", "rightPosition", "unfix", "addRow", "cancelAllChanges", "cancelRowChanges", "confirmDeleteMessage", "confirmDeleteTitle", "deleteRow", "editRow", "saveAllChanges", "saveRowChanges", "undeleteRow", "validationCancelChanges", "exportAll", "exportSelectedRows", "exportTo", "clearFilter", "createFilter", "filterEnabledHint", "groupByThisColumn", "groupContinuedMessage", "groupContinuesMessage", "ungroup", "ungroupAll", "cancel", "emptyValue", "ok", "avg", "avgOtherColumn", "count", "max", "maxOtherColumn", "min", "minOtherColumn", "sum", "sumOtherColumn", "allFields", "columnFields", "dataFields", "filterFields", "rowFields", "columnFieldArea", "dataFieldArea", "filterFieldArea", "rowFieldArea", "collapseAll", "dataNotAvailable", "expandAll", "exportToExcel", "grandTotal", "noData", "removeAllSorting", "showFieldChooser", "sortColumnBySummary", "sortRowBySummary", "total", "addRowToNode"] }, { kind: "component", type: i4.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "allowSelectAll", "dataSource", "groupInterval", "height", "search", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i4.DxoExportComponent, selector: "dxo-export", inputs: ["backgroundColor", "enabled", "fileName", "formats", "margin", "printingEnabled", "svgToCanvas", "allowExportSelectedData", "texts"] }, { kind: "component", type: i4.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i4.DxoMasterDetailComponent, selector: "dxo-master-detail", inputs: ["autoExpandAll", "enabled", "template"] }, { kind: "component", type: i4.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i4.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i4.DxoRemoteOperationsComponent, selector: "dxo-remote-operations", inputs: ["filtering", "grouping", "groupPaging", "paging", "sorting", "summary"] }, { kind: "component", type: i4.DxoScrollingComponent, selector: "dxo-scrolling", inputs: ["columnRenderingMode", "mode", "preloadEnabled", "renderAsync", "rowRenderingMode", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative"] }, { kind: "component", type: i4.DxoSortingComponent, selector: "dxo-sorting", inputs: ["ascendingText", "clearText", "descendingText", "mode", "showSortIndexes"] }, { kind: "directive", type: i5$1.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "directive", type: i6.PopoverDirective, selector: "[dPopover]", inputs: ["content", "controlled", "position", "showAnimation", "showAnimate", "scrollElement", "appendToBody", "zIndex", "popType", "popMaxWidth", "trigger", "hoverToContent", "hoverDelayTime", "popoverStyle", "mouseEnterDelay", "mouseLeaveDelay", "visible"], exportAs: ["dPopover"] }] });
|
|
1332
|
+
DataGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DataGridComponent, selector: "rs-data-grid", inputs: { tenant: "tenant", className: "className", view: "view", filter: "filter", enableMasterDetail: "enableMasterDetail", customColumnFn: "customColumnFn" }, providers: [DataGridService], queries: [{ propertyName: "masterDetailTemplate", first: true, predicate: MasterDetailTemplateDirective, descendants: true }, { propertyName: "rowButtonsTemplate", first: true, predicate: RowButtonsTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "dxDataGrid", first: true, predicate: DxDataGridComponent, descendants: true, static: true }], ngImport: i0, template: "<dx-data-grid [dataSource]=\"dataSource\"\n [columns]=\"columns\"\n [syncLookupFilterValues]=\"false\"\n [showBorders]=\"true\"\n [showColumnLines]=\"true\"\n [showRowLines]=\"true\"\n [hoverStateEnabled]=\"true\"\n [rowAlternationEnabled]=\"true\"\n [columnAutoWidth]=\"true\"\n [allowColumnResizing]=\"true\"\n columnResizingMode=\"widget\"\n dateSerializationFormat=\"yyyy/MM/dd HH:mm:ss\"\n (onRowExpanding)=\"$event.component.collapseAll(-1)\"\n>\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\n <dxo-selection mode=\"multiple\" selectAllMode=\"page\"></dxo-selection>\n <dxo-header-filter [visible]=\"true\">\n <dxo-search [enabled]=\"true\"></dxo-search>\n <dxo-texts [ok]=\"'\u786E\u5B9A'\"></dxo-texts>\n </dxo-header-filter>\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-remote-operations [filtering]=\"true\"\n [sorting]=\"true\"\n [paging]=\"true\">\n </dxo-remote-operations>\n <dxo-master-detail [enabled]=\"enableMasterDetail\" template=\"masterDetailTemplate\"></dxo-master-detail>\n <dxo-paging [pageSize]=\"15\"></dxo-paging>\n <dxo-pager [visible]=\"true\"\n [showInfo]=\"true\"\n infoText=\"\u7B2C{0}\u9875\uFF0C\u5171{1}\u9875\uFF08\u5171{2}\u4E2A\u9879\u76EE\uFF09\"\n [showPageSizeSelector]=\"true\"\n [allowedPageSizes]=\"[15, 30, 50]\"\n ></dxo-pager>\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\n <dxo-export [allowExportSelectedData]=\"true\"\n [fileName]=\"className\"></dxo-export>\n <div *dxTemplate=\"let rowInfo of 'masterDetailTemplate'\">\n <ng-container [ngTemplateOutlet]=\"masterDetailTemplate.templateRef\"\n [ngTemplateOutletContext]=\"{$implicit: rowInfo}\"></ng-container>\n </div>\n <div *dxTemplate=\"let rowInfo of 'rowButtonsTemplate'\">\n <ng-container [ngTemplateOutlet]=\"rowButtonsTemplate.templateRef\"\n [ngTemplateOutletContext]=\"{$implicit: rowInfo}\"></ng-container>\n </div>\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\n {{cellInfo.rowIndex + 1}}\n </div>\n <div *dxTemplate=\"let cellInfo of 'multipleValueCellTemplate'\">\n <div [innerHTML]=\"convertMultipleValueCellText(cellInfo)\"></div>\n </div>\n <div *dxTemplate=\"let cellInfo of 'textCellTemplate'\">\n <div dPopover #textDiv\n [content]=\"cellInfo.value\"\n [trigger]=\"'hover'\"\n [controlled]=\"textDiv.clientWidth < textDiv.scrollWidth\"\n [popMaxWidth]=\"300\"\n style=\"max-width: 240px; text-overflow: ellipsis; overflow: hidden;\"\n [ngStyle]=\"{ cursor: textDiv.clientWidth < textDiv.scrollWidth ? 'pointer': 'default'}\">{{cellInfo.value}}</div>\n </div>\n <div *dxTemplate=\"let cellInfo of 'fileCellTemplate'\">\n <ng-container *ngFor=\"let file of cellInfo.value\">\n <rs-file-cell-template [template]=\"cellInfo\" [oid]=\"file\"></rs-file-cell-template>\n </ng-container>\n </div>\n</dx-data-grid>\n", styles: [":host{display:flex;flex-flow:column nowrap}:host dx-data-grid{flex:auto;height:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3$1.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i4.DxoSearchComponent, selector: "dxo-search", inputs: ["editorOptions", "enabled", "timeout", "mode", "searchExpr"] }, { kind: "component", type: i4.DxoSelectionComponent, selector: "dxo-selection", inputs: ["allowSelectAll", "recursive", "selectByClick", "deferred", "mode", "selectAllMode", "showCheckBoxesMode"] }, { kind: "component", type: i4.DxoTextsComponent, selector: "dxo-texts", inputs: ["fix", "leftPosition", "rightPosition", "unfix", "addRow", "cancelAllChanges", "cancelRowChanges", "confirmDeleteMessage", "confirmDeleteTitle", "deleteRow", "editRow", "saveAllChanges", "saveRowChanges", "undeleteRow", "validationCancelChanges", "exportAll", "exportSelectedRows", "exportTo", "clearFilter", "createFilter", "filterEnabledHint", "groupByThisColumn", "groupContinuedMessage", "groupContinuesMessage", "ungroup", "ungroupAll", "cancel", "emptyValue", "ok", "avg", "avgOtherColumn", "count", "max", "maxOtherColumn", "min", "minOtherColumn", "sum", "sumOtherColumn", "allFields", "columnFields", "dataFields", "filterFields", "rowFields", "columnFieldArea", "dataFieldArea", "filterFieldArea", "rowFieldArea", "collapseAll", "dataNotAvailable", "expandAll", "exportToExcel", "grandTotal", "noData", "removeAllSorting", "showFieldChooser", "sortColumnBySummary", "sortRowBySummary", "total", "addRowToNode"] }, { kind: "component", type: i4.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "allowSelectAll", "dataSource", "groupInterval", "height", "search", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i4.DxoExportComponent, selector: "dxo-export", inputs: ["backgroundColor", "enabled", "fileName", "formats", "margin", "printingEnabled", "svgToCanvas", "allowExportSelectedData", "texts"] }, { kind: "component", type: i4.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i4.DxoMasterDetailComponent, selector: "dxo-master-detail", inputs: ["autoExpandAll", "enabled", "template"] }, { kind: "component", type: i4.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i4.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i4.DxoRemoteOperationsComponent, selector: "dxo-remote-operations", inputs: ["filtering", "grouping", "groupPaging", "paging", "sorting", "summary"] }, { kind: "component", type: i4.DxoScrollingComponent, selector: "dxo-scrolling", inputs: ["columnRenderingMode", "mode", "preloadEnabled", "renderAsync", "rowRenderingMode", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative"] }, { kind: "component", type: i4.DxoSortingComponent, selector: "dxo-sorting", inputs: ["ascendingText", "clearText", "descendingText", "mode", "showSortIndexes"] }, { kind: "directive", type: i5$1.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "directive", type: i3.PopoverDirective, selector: "[dPopover]", inputs: ["content", "controlled", "position", "showAnimation", "showAnimate", "scrollElement", "appendToBody", "zIndex", "popType", "popMaxWidth", "trigger", "hoverToContent", "hoverDelayTime", "popoverStyle", "mouseEnterDelay", "mouseLeaveDelay", "visible"], exportAs: ["dPopover"] }, { kind: "component", type: FileCellTemplateComponent, selector: "rs-file-cell-template", inputs: ["template", "oid"] }] });
|
|
1228
1333
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DataGridComponent, decorators: [{
|
|
1229
1334
|
type: Component,
|
|
1230
|
-
args: [{ selector: 'rs-data-grid', providers: [DataGridService], template: "<dx-data-grid [dataSource]=\"dataSource\"\n [columns]=\"columns\"\n [syncLookupFilterValues]=\"false\"\n [showBorders]=\"true\"\n [showColumnLines]=\"true\"\n [showRowLines]=\"true\"\n [hoverStateEnabled]=\"true\"\n [rowAlternationEnabled]=\"true\"\n [columnAutoWidth]=\"true\"\n [allowColumnResizing]=\"true\"\n columnResizingMode=\"widget\"\n dateSerializationFormat=\"yyyy/MM/dd HH:mm:ss\"\n (onRowExpanding)=\"$event.component.collapseAll(-1)\"\n>\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\n <dxo-selection mode=\"multiple\" selectAllMode=\"page\"></dxo-selection>\n <dxo-header-filter [visible]=\"true\">\n <dxo-search [enabled]=\"true\"></dxo-search>\n <dxo-texts [ok]=\"'\u786E\u5B9A'\"></dxo-texts>\n </dxo-header-filter>\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-remote-operations [filtering]=\"true\"\n [sorting]=\"true\"\n [paging]=\"true\">\n </dxo-remote-operations>\n <dxo-master-detail [enabled]=\"enableMasterDetail\" template=\"masterDetailTemplate\"></dxo-master-detail>\n <dxo-paging [pageSize]=\"15\"></dxo-paging>\n <dxo-pager [visible]=\"true\"\n [showInfo]=\"true\"\n infoText=\"\u7B2C{0}\u9875\uFF0C\u5171{1}\u9875\uFF08\u5171{2}\u4E2A\u9879\u76EE\uFF09\"\n [showPageSizeSelector]=\"true\"\n [allowedPageSizes]=\"[15, 30, 50]\"\n ></dxo-pager>\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\n <dxo-export [allowExportSelectedData]=\"true\"\n [fileName]=\"className\"></dxo-export>\n <div *dxTemplate=\"let rowInfo of 'masterDetailTemplate'\">\n <ng-container [ngTemplateOutlet]=\"masterDetailTemplate.templateRef\"\n [ngTemplateOutletContext]=\"{$implicit: rowInfo}\"></ng-container>\n </div>\n <div *dxTemplate=\"let
|
|
1335
|
+
args: [{ selector: 'rs-data-grid', providers: [DataGridService], template: "<dx-data-grid [dataSource]=\"dataSource\"\n [columns]=\"columns\"\n [syncLookupFilterValues]=\"false\"\n [showBorders]=\"true\"\n [showColumnLines]=\"true\"\n [showRowLines]=\"true\"\n [hoverStateEnabled]=\"true\"\n [rowAlternationEnabled]=\"true\"\n [columnAutoWidth]=\"true\"\n [allowColumnResizing]=\"true\"\n columnResizingMode=\"widget\"\n dateSerializationFormat=\"yyyy/MM/dd HH:mm:ss\"\n (onRowExpanding)=\"$event.component.collapseAll(-1)\"\n>\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\n <dxo-selection mode=\"multiple\" selectAllMode=\"page\"></dxo-selection>\n <dxo-header-filter [visible]=\"true\">\n <dxo-search [enabled]=\"true\"></dxo-search>\n <dxo-texts [ok]=\"'\u786E\u5B9A'\"></dxo-texts>\n </dxo-header-filter>\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-remote-operations [filtering]=\"true\"\n [sorting]=\"true\"\n [paging]=\"true\">\n </dxo-remote-operations>\n <dxo-master-detail [enabled]=\"enableMasterDetail\" template=\"masterDetailTemplate\"></dxo-master-detail>\n <dxo-paging [pageSize]=\"15\"></dxo-paging>\n <dxo-pager [visible]=\"true\"\n [showInfo]=\"true\"\n infoText=\"\u7B2C{0}\u9875\uFF0C\u5171{1}\u9875\uFF08\u5171{2}\u4E2A\u9879\u76EE\uFF09\"\n [showPageSizeSelector]=\"true\"\n [allowedPageSizes]=\"[15, 30, 50]\"\n ></dxo-pager>\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\n <dxo-export [allowExportSelectedData]=\"true\"\n [fileName]=\"className\"></dxo-export>\n <div *dxTemplate=\"let rowInfo of 'masterDetailTemplate'\">\n <ng-container [ngTemplateOutlet]=\"masterDetailTemplate.templateRef\"\n [ngTemplateOutletContext]=\"{$implicit: rowInfo}\"></ng-container>\n </div>\n <div *dxTemplate=\"let rowInfo of 'rowButtonsTemplate'\">\n <ng-container [ngTemplateOutlet]=\"rowButtonsTemplate.templateRef\"\n [ngTemplateOutletContext]=\"{$implicit: rowInfo}\"></ng-container>\n </div>\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\n {{cellInfo.rowIndex + 1}}\n </div>\n <div *dxTemplate=\"let cellInfo of 'multipleValueCellTemplate'\">\n <div [innerHTML]=\"convertMultipleValueCellText(cellInfo)\"></div>\n </div>\n <div *dxTemplate=\"let cellInfo of 'textCellTemplate'\">\n <div dPopover #textDiv\n [content]=\"cellInfo.value\"\n [trigger]=\"'hover'\"\n [controlled]=\"textDiv.clientWidth < textDiv.scrollWidth\"\n [popMaxWidth]=\"300\"\n style=\"max-width: 240px; text-overflow: ellipsis; overflow: hidden;\"\n [ngStyle]=\"{ cursor: textDiv.clientWidth < textDiv.scrollWidth ? 'pointer': 'default'}\">{{cellInfo.value}}</div>\n </div>\n <div *dxTemplate=\"let cellInfo of 'fileCellTemplate'\">\n <ng-container *ngFor=\"let file of cellInfo.value\">\n <rs-file-cell-template [template]=\"cellInfo\" [oid]=\"file\"></rs-file-cell-template>\n </ng-container>\n </div>\n</dx-data-grid>\n", styles: [":host{display:flex;flex-flow:column nowrap}:host dx-data-grid{flex:auto;height:0}\n"] }]
|
|
1231
1336
|
}], ctorParameters: function () { return [{ type: DataGridService }, { type: undefined, decorators: [{
|
|
1232
1337
|
type: Inject,
|
|
1233
1338
|
args: [LOCALE_ID]
|
|
@@ -1249,16 +1354,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
1249
1354
|
}], masterDetailTemplate: [{
|
|
1250
1355
|
type: ContentChild,
|
|
1251
1356
|
args: [MasterDetailTemplateDirective]
|
|
1357
|
+
}], rowButtonsTemplate: [{
|
|
1358
|
+
type: ContentChild,
|
|
1359
|
+
args: [RowButtonsTemplateDirective]
|
|
1252
1360
|
}] } });
|
|
1253
1361
|
|
|
1254
1362
|
class DataGridModule {
|
|
1255
1363
|
}
|
|
1256
1364
|
DataGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DataGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1257
1365
|
DataGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: DataGridModule, declarations: [DataGridComponent,
|
|
1258
|
-
MasterDetailTemplateDirective
|
|
1366
|
+
MasterDetailTemplateDirective,
|
|
1367
|
+
FileCellTemplateComponent,
|
|
1368
|
+
RowButtonsTemplateDirective], imports: [CommonModule,
|
|
1259
1369
|
DxDataGridModule,
|
|
1260
1370
|
DevUIModule], exports: [DataGridComponent,
|
|
1261
|
-
MasterDetailTemplateDirective
|
|
1371
|
+
MasterDetailTemplateDirective,
|
|
1372
|
+
RowButtonsTemplateDirective] });
|
|
1262
1373
|
DataGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DataGridModule, imports: [CommonModule,
|
|
1263
1374
|
DxDataGridModule,
|
|
1264
1375
|
DevUIModule] });
|
|
@@ -1267,7 +1378,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
1267
1378
|
args: [{
|
|
1268
1379
|
declarations: [
|
|
1269
1380
|
DataGridComponent,
|
|
1270
|
-
MasterDetailTemplateDirective
|
|
1381
|
+
MasterDetailTemplateDirective,
|
|
1382
|
+
FileCellTemplateComponent,
|
|
1383
|
+
RowButtonsTemplateDirective
|
|
1271
1384
|
],
|
|
1272
1385
|
imports: [
|
|
1273
1386
|
CommonModule,
|
|
@@ -1276,7 +1389,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
1276
1389
|
],
|
|
1277
1390
|
exports: [
|
|
1278
1391
|
DataGridComponent,
|
|
1279
|
-
MasterDetailTemplateDirective
|
|
1392
|
+
MasterDetailTemplateDirective,
|
|
1393
|
+
RowButtonsTemplateDirective
|
|
1280
1394
|
]
|
|
1281
1395
|
}]
|
|
1282
1396
|
}] });
|
|
@@ -1290,7 +1404,7 @@ class DynamicParamsComponent {
|
|
|
1290
1404
|
}
|
|
1291
1405
|
}
|
|
1292
1406
|
DynamicParamsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicParamsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1293
|
-
DynamicParamsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DynamicParamsComponent, selector: "rs-dynamic-params", inputs: { params: "params" }, ngImport: i0, template: "<form dForm labelSize=\"sm\">\n <d-form-item>\n <d-form-label>\u52A8\u6001\u53C2\u6570</d-form-label>\n <d-form-control>\n <d-button icon=\"icon-add\" [bsSize]=\"'sm'\" (btnClick)=\"add()\"></d-button>\n </d-form-control>\n </d-form-item>\n <d-form-item>\n <d-form-label></d-form-label>\n <d-form-control>\n <div *ngFor=\"let param of params; let index = index\">\n <input dTextInput [name]=\"'name' + index\" placeholder=\"\u53C2\u6570\u540D\" [(ngModel)]=\"param.name\"/>\n <input dTextInput [name]=\"'value' + index\" placeholder=\"\u53C2\u6570\u503C\" [(ngModel)]=\"param.value\"/>\n <d-button icon=\"icon-close\" [bsStyle]=\"'text'\" (btnClick)=\"delete(index)\"></d-button>\n </div>\n </d-form-control>\n </d-form-item>\n</form>\n", styles: [":host form d-form-item{margin-bottom:8px}:host form d-form-item d-form-control{margin:0}:host form d-form-item d-form-control div{position:relative;display:flex;flex-flow:row nowrap}:host form d-form-item d-form-control div d-button{display:none;position:absolute;left:-30px}:host form d-form-item:hover d-form-control div d-button{display:inline-block!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2$
|
|
1407
|
+
DynamicParamsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DynamicParamsComponent, selector: "rs-dynamic-params", inputs: { params: "params" }, ngImport: i0, template: "<form dForm labelSize=\"sm\">\n <d-form-item>\n <d-form-label>\u52A8\u6001\u53C2\u6570</d-form-label>\n <d-form-control>\n <d-button icon=\"icon-add\" [bsSize]=\"'sm'\" (btnClick)=\"add()\"></d-button>\n </d-form-control>\n </d-form-item>\n <d-form-item>\n <d-form-label></d-form-label>\n <d-form-control>\n <div *ngFor=\"let param of params; let index = index\">\n <input dTextInput [name]=\"'name' + index\" placeholder=\"\u53C2\u6570\u540D\" [(ngModel)]=\"param.name\"/>\n <input dTextInput [name]=\"'value' + index\" placeholder=\"\u53C2\u6570\u503C\" [(ngModel)]=\"param.value\"/>\n <d-button icon=\"icon-close\" [bsStyle]=\"'text'\" (btnClick)=\"delete(index)\"></d-button>\n </div>\n </d-form-control>\n </d-form-item>\n</form>\n", styles: [":host form d-form-item{margin-bottom:8px}:host form d-form-item d-form-control{margin:0}:host form d-form-item d-form-control div{position:relative;display:flex;flex-flow:row nowrap}:host form d-form-item d-form-control div d-button{display:none;position:absolute;left:-30px}:host form d-form-item:hover d-form-control div d-button{display:inline-block!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2$3.ButtonComponent, selector: "d-button", inputs: ["id", "type", "bsStyle", "shape", "bsSize", "bsPosition", "bordered", "icon", "disabled", "showLoading", "width", "autofocus", "loadingTemplateRef"], outputs: ["btnClick"] }, { kind: "component", type: i3$2.FormItemComponent, selector: "d-form-item", inputs: ["dFeedbackType", "dHasFeedback"] }, { kind: "component", type: i3$2.FormLabelComponent, selector: "d-form-label", inputs: ["required", "hasHelp", "helpTips"] }, { kind: "component", type: i3$2.FormControlComponent, selector: "d-form-control", inputs: ["extraInfo", "feedbackStatus", "suffixTemplate"] }, { kind: "directive", type: i3$2.FormDirective, selector: "[dForm]", inputs: ["layout", "labelSize", "labelAlign", "dFeedbackType", "dHasFeedback"], outputs: ["dSubmit"], exportAs: ["dForm"] }, { kind: "directive", type: i4$1.TextDirective, selector: "[dTextInput]", inputs: ["error", "size", "styleType"], exportAs: ["dTextInput"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
|
|
1294
1408
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicParamsComponent, decorators: [{
|
|
1295
1409
|
type: Component,
|
|
1296
1410
|
args: [{ selector: 'rs-dynamic-params', template: "<form dForm labelSize=\"sm\">\n <d-form-item>\n <d-form-label>\u52A8\u6001\u53C2\u6570</d-form-label>\n <d-form-control>\n <d-button icon=\"icon-add\" [bsSize]=\"'sm'\" (btnClick)=\"add()\"></d-button>\n </d-form-control>\n </d-form-item>\n <d-form-item>\n <d-form-label></d-form-label>\n <d-form-control>\n <div *ngFor=\"let param of params; let index = index\">\n <input dTextInput [name]=\"'name' + index\" placeholder=\"\u53C2\u6570\u540D\" [(ngModel)]=\"param.name\"/>\n <input dTextInput [name]=\"'value' + index\" placeholder=\"\u53C2\u6570\u503C\" [(ngModel)]=\"param.value\"/>\n <d-button icon=\"icon-close\" [bsStyle]=\"'text'\" (btnClick)=\"delete(index)\"></d-button>\n </div>\n </d-form-control>\n </d-form-item>\n</form>\n", styles: [":host form d-form-item{margin-bottom:8px}:host form d-form-item d-form-control{margin:0}:host form d-form-item d-form-control div{position:relative;display:flex;flex-flow:row nowrap}:host form d-form-item d-form-control div d-button{display:none;position:absolute;left:-30px}:host form d-form-item:hover d-form-control div d-button{display:inline-block!important}\n"] }]
|
|
@@ -1396,6 +1510,13 @@ class FormComponent {
|
|
|
1396
1510
|
submitForm($event) {
|
|
1397
1511
|
if (!$event.valid) {
|
|
1398
1512
|
this.submitCallback.emit({ success: false });
|
|
1513
|
+
for (let controlKey in this.formGroup.controls) {
|
|
1514
|
+
const control = this.formGroup.controls[controlKey];
|
|
1515
|
+
if (!control.valid && control.originElement) {
|
|
1516
|
+
control.originElement.scrollIntoView();
|
|
1517
|
+
break;
|
|
1518
|
+
}
|
|
1519
|
+
}
|
|
1399
1520
|
return;
|
|
1400
1521
|
}
|
|
1401
1522
|
this.service.createOrUpdate(this.tenant, this.className, {
|
|
@@ -1410,7 +1531,7 @@ class FormComponent {
|
|
|
1410
1531
|
}
|
|
1411
1532
|
}
|
|
1412
1533
|
FormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormComponent, deps: [{ token: FormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1413
|
-
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 dForm [formGroup]=\"formGroup\" [layout]=\"layoutDirection\" (dSubmit)=\"submitForm($event)\"\n dLoading [loading]=\"loading\">\n <ng-container *ngIf=\"loaded\">\n <rs-box-container [config]=\"config\" [formGroup]=\"formGroup\" [model]=\"model\"></rs-box-container>\n </ng-container>\n <button #formSubmitter dFormSubmit=\"click\"></button>\n</form>\n", styles: ["form{display:flex;flex-flow:row nowrap}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$
|
|
1534
|
+
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 dForm [formGroup]=\"formGroup\" [layout]=\"layoutDirection\" (dSubmit)=\"submitForm($event)\"\n dLoading [loading]=\"loading\">\n <ng-container *ngIf=\"loaded\">\n <rs-box-container [config]=\"config\" [formGroup]=\"formGroup\" [model]=\"model\"></rs-box-container>\n </ng-container>\n <button #formSubmitter dFormSubmit=\"click\"></button>\n</form>\n", styles: ["form{display:flex;flex-flow:row nowrap}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$2.FormDirective, selector: "[dForm]", inputs: ["layout", "labelSize", "labelAlign", "dFeedbackType", "dHasFeedback"], outputs: ["dSubmit"], exportAs: ["dForm"] }, { kind: "directive", type: i3$2.DFormSubmitDirective, selector: "[dFormSubmit]", inputs: ["dFormSubmit", "dFormSubmitData"] }, { kind: "directive", type: i4$2.LoadingDirective, selector: "[dLoading]", inputs: ["backdrop", "message", "positionType", "showLoading", "view", "zIndex", "loading", "loadingStyle", "loadingTemplateRef"], exportAs: ["dLoading"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: BoxContainerComponent, selector: "rs-box-container", inputs: ["editMode", "config", "formGroup", "model", "tabViewContainerRef"] }] });
|
|
1414
1535
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormComponent, decorators: [{
|
|
1415
1536
|
type: Component,
|
|
1416
1537
|
args: [{ selector: 'rs-form', providers: [FormService], template: "<form dForm [formGroup]=\"formGroup\" [layout]=\"layoutDirection\" (dSubmit)=\"submitForm($event)\"\n dLoading [loading]=\"loading\">\n <ng-container *ngIf=\"loaded\">\n <rs-box-container [config]=\"config\" [formGroup]=\"formGroup\" [model]=\"model\"></rs-box-container>\n </ng-container>\n <button #formSubmitter dFormSubmit=\"click\"></button>\n</form>\n", styles: ["form{display:flex;flex-flow:row nowrap}\n"] }]
|
|
@@ -1674,5 +1795,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
1674
1795
|
* Generated bundle index. Do not edit.
|
|
1675
1796
|
*/
|
|
1676
1797
|
|
|
1677
|
-
export { BoxContainerComponent, BoxContainerModule, DataGridComponent, DataGridModule, DataGridService, DynamicParamsComponent, DynamicParamsModule, FormComponent, FormModule, FormService, ItemConfigComponent, ItemStyleComponent, MasterDetailTemplateDirective, ModalComponent, ModalModule, ModalService, PluginManager };
|
|
1798
|
+
export { BoxContainerComponent, BoxContainerModule, DataGridComponent, DataGridModule, DataGridService, DynamicParamsComponent, DynamicParamsModule, FormComponent, FormModule, FormService, ItemConfigComponent, ItemStyleComponent, MasterDetailTemplateDirective, ModalComponent, ModalModule, ModalService, PluginManager, RowButtonsTemplateDirective };
|
|
1678
1799
|
//# sourceMappingURL=ngx-rs-ant.mjs.map
|