ngx-rs-ant 0.1.0 → 0.2.1

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/README.md CHANGED
@@ -4,8 +4,10 @@ This library was generated with [Angular CLI](https://github.com/angular/angular
4
4
 
5
5
  ## Code scaffolding
6
6
 
7
- Run `ng generate component component-name --project ngx-rs-ant` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ngx-rs-ant`.
8
- > Note: Don't forget to add `--project ngx-rs-ant` or else it will be added to the default project in your `angular.json` file.
7
+ Run `ng generate component component-name --project ngx-rs-ant` to generate a new component. You can also
8
+ use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ngx-rs-ant`.
9
+ > Note: Don't forget to add `--project ngx-rs-ant` or else it will be added to the default project in
10
+ > your `angular.json` file.
9
11
 
10
12
  ## Build
11
13
 
@@ -13,7 +15,8 @@ Run `ng build ngx-rs-ant` to build the project. The build artifacts will be stor
13
15
 
14
16
  ## Publishing
15
17
 
16
- After building your library with `ng build ngx-rs-ant`, go to the dist folder `cd dist/ngx-rs-ant` and run `npm publish`.
18
+ After building your library with `ng build ngx-rs-ant`, go to the dist folder `cd dist/ngx-rs-ant` and
19
+ run `npm publish`.
17
20
 
18
21
  ## Running unit tests
19
22
 
@@ -21,4 +24,5 @@ Run `ng test ngx-rs-ant` to execute the unit tests via [Karma](https://karma-run
21
24
 
22
25
  ## Further help
23
26
 
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
27
+ To get more help on the Angular CLI use `ng help` or go check out
28
+ the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -0,0 +1,16 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class DataGridComponent {
3
+ tenant: any;
4
+ get className(): any;
5
+ set className(className: any);
6
+ private _className;
7
+ view: any;
8
+ filter: any;
9
+ service: any;
10
+ dataSource: any;
11
+ columns: any[];
12
+ typeMap: any;
13
+ load(): void;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<DataGridComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<DataGridComponent, "rs-data-grid", never, { "tenant": "tenant"; "className": "className"; "view": "view"; "filter": "filter"; "service": "service"; }, {}, never, never, false, never>;
16
+ }
@@ -0,0 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./data-grid.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "devextreme-angular";
5
+ export declare class DataGridModule {
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<DataGridModule, never>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DataGridModule, [typeof i1.DataGridComponent], [typeof i2.CommonModule, typeof i3.DxDataGridModule], [typeof i1.DataGridComponent]>;
8
+ static ɵinj: i0.ɵɵInjectorDeclaration<DataGridModule>;
9
+ }
@@ -0,0 +1,137 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import CustomStore from "devextreme/data/custom_store";
3
+ import { lastValueFrom } from "rxjs";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "devextreme-angular";
6
+ import * as i2 from "devextreme-angular/ui/nested";
7
+ import * as i3 from "devextreme-angular/core";
8
+ export class DataGridComponent {
9
+ constructor() {
10
+ this._className = {};
11
+ this.dataSource = {};
12
+ this.columns = [];
13
+ this.typeMap = {
14
+ STRING: {
15
+ dataType: 'string',
16
+ filterOperations: ['contains', 'startswith', 'endswith', '=', '<>']
17
+ },
18
+ TEXT: {
19
+ dataType: 'string',
20
+ filterOperations: ['contains', 'startswith', 'endswith', '=', '<>']
21
+ },
22
+ BOOLEAN: {
23
+ dataType: 'boolean',
24
+ filterOperations: []
25
+ },
26
+ INTEGER: {
27
+ dataType: 'number',
28
+ filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between']
29
+ },
30
+ DOUBLE: {
31
+ dataType: 'number',
32
+ filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between']
33
+ },
34
+ DATE: {
35
+ dataType: 'date',
36
+ filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between'],
37
+ format: 'yyyy/MM/dd'
38
+ },
39
+ DATETIME: {
40
+ dataType: 'datetime',
41
+ filterOperations: ['>', '<', 'between'],
42
+ format: 'yyyy/MM/dd HH:mm:ss'
43
+ }
44
+ };
45
+ }
46
+ get className() {
47
+ return this._className;
48
+ }
49
+ set className(className) {
50
+ if (!className.name) {
51
+ return;
52
+ }
53
+ this._className = className;
54
+ this.load();
55
+ }
56
+ load() {
57
+ this.service.getMetadata(this.tenant, this.className, this.view || '').subscribe((response) => {
58
+ this.columns = [];
59
+ for (let column of response.data.columns) {
60
+ if (column.type === 'NORMAL') {
61
+ this.columns.push({
62
+ dataField: column.name,
63
+ caption: column.caption,
64
+ dataType: this.typeMap[column.dataType].dataType,
65
+ alignment: 'left',
66
+ filterOperations: this.typeMap[column.dataType].filterOperations,
67
+ format: this.typeMap[column.dataType].format
68
+ });
69
+ }
70
+ }
71
+ });
72
+ this.dataSource = new CustomStore({
73
+ key: 'oid',
74
+ byKey: (key) => {
75
+ return lastValueFrom(this.service.getOne(this.tenant, this.className, key));
76
+ },
77
+ load: (loadOptions) => {
78
+ let params = '?';
79
+ if (loadOptions.skip || loadOptions.take) {
80
+ params += 'offset=' + loadOptions.skip;
81
+ params += '&limit=' + loadOptions.take;
82
+ }
83
+ else {
84
+ params += 'limit=0';
85
+ }
86
+ if (loadOptions.sort) {
87
+ let first = true;
88
+ for (const thisSort of loadOptions.sort) {
89
+ if (first) {
90
+ params += '&orderBy=' + thisSort.selector;
91
+ }
92
+ else {
93
+ params += ',' + thisSort.selector;
94
+ }
95
+ if (thisSort.desc) {
96
+ params += ' desc';
97
+ }
98
+ first = false;
99
+ }
100
+ }
101
+ let filter;
102
+ if (loadOptions.filter) {
103
+ filter = loadOptions.filter;
104
+ }
105
+ if (this.filter) {
106
+ if (filter) {
107
+ filter = [filter, 'and', this.filter];
108
+ }
109
+ else {
110
+ filter = this.filter;
111
+ }
112
+ }
113
+ if (filter) {
114
+ params += '&filter=' + encodeURIComponent(JSON.stringify(filter));
115
+ }
116
+ return lastValueFrom(this.service.getMany(this.tenant, this.className, params + '&view=' + (this.view || '')));
117
+ }
118
+ });
119
+ }
120
+ }
121
+ DataGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DataGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
122
+ DataGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: DataGridComponent, selector: "rs-data-grid", inputs: { tenant: "tenant", className: "className", view: "view", filter: "filter", service: "service" }, ngImport: i0, template: "<dx-data-grid [dataSource]=\"dataSource\"\n [columns]=\"columns\"\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>\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\n <dxo-selection mode=\"multiple\" selectAllMode=\"page\"></dxo-selection>\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-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-export [allowExportSelectedData]=\"true\"\n [fileName]=\"className\"></dxo-export>\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\n {{cellInfo.rowIndex + 1}}\n </div>\n</dx-data-grid>\n", styles: [""], dependencies: [{ kind: "component", type: i1.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: i2.DxoExportComponent, selector: "dxo-export", inputs: ["backgroundColor", "enabled", "fileName", "formats", "margin", "printingEnabled", "svgToCanvas", "allowExportSelectedData", "texts"] }, { kind: "component", type: i2.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i2.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i2.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i2.DxoRemoteOperationsComponent, selector: "dxo-remote-operations", inputs: ["filtering", "grouping", "groupPaging", "paging", "sorting", "summary"] }, { kind: "component", type: i2.DxoSelectionComponent, selector: "dxo-selection", inputs: ["allowSelectAll", "deferred", "mode", "selectAllMode", "showCheckBoxesMode", "recursive"] }, { kind: "component", type: i2.DxoSortingComponent, selector: "dxo-sorting", inputs: ["ascendingText", "clearText", "descendingText", "mode", "showSortIndexes"] }, { kind: "directive", type: i3.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }] });
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DataGridComponent, decorators: [{
124
+ type: Component,
125
+ args: [{ selector: 'rs-data-grid', template: "<dx-data-grid [dataSource]=\"dataSource\"\n [columns]=\"columns\"\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>\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\n <dxo-selection mode=\"multiple\" selectAllMode=\"page\"></dxo-selection>\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-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-export [allowExportSelectedData]=\"true\"\n [fileName]=\"className\"></dxo-export>\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\n {{cellInfo.rowIndex + 1}}\n </div>\n</dx-data-grid>\n" }]
126
+ }], propDecorators: { tenant: [{
127
+ type: Input
128
+ }], className: [{
129
+ type: Input
130
+ }], view: [{
131
+ type: Input
132
+ }], filter: [{
133
+ type: Input
134
+ }], service: [{
135
+ type: Input
136
+ }] } });
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncmlkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ycy1hbnQvc3JjL2RhdGEtZ3JpZC9kYXRhLWdyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvZGF0YS1ncmlkL2RhdGEtZ3JpZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLFdBQVcsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7OztBQU9uQyxNQUFNLE9BQU8saUJBQWlCO0lBTDlCO1FBc0JVLGVBQVUsR0FBUSxFQUFFLENBQUM7UUFPN0IsZUFBVSxHQUFRLEVBQUUsQ0FBQztRQUNyQixZQUFPLEdBQVUsRUFBRSxDQUFDO1FBQ3BCLFlBQU8sR0FBUTtZQUNiLE1BQU0sRUFBRTtnQkFDTixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsZ0JBQWdCLEVBQUUsQ0FBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO2FBQ3BFO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixnQkFBZ0IsRUFBRSxDQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUM7YUFDcEU7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLGdCQUFnQixFQUFFLEVBQUU7YUFDckI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLGdCQUFnQixFQUFFLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJ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Q0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OzhHQXZIVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiw4SkNUOUIsODJDQWdDQTsyRkR2QmEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGNBQWM7OEJBTXhCLE1BQU07c0JBREwsS0FBSztnQkFJRixTQUFTO3NCQURaLEtBQUs7Z0JBZU4sSUFBSTtzQkFESCxLQUFLO2dCQUdOLE1BQU07c0JBREwsS0FBSztnQkFHTixPQUFPO3NCQUROLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IEN1c3RvbVN0b3JlIGZyb20gXCJkZXZleHRyZW1lL2RhdGEvY3VzdG9tX3N0b3JlXCI7XG5pbXBvcnQge2xhc3RWYWx1ZUZyb219IGZyb20gXCJyeGpzXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JzLWRhdGEtZ3JpZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWdyaWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhLWdyaWQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRhR3JpZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHRlbmFudDogYW55O1xuXG4gIEBJbnB1dCgpXG4gIGdldCBjbGFzc05hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NsYXNzTmFtZTtcbiAgfVxuXG4gIHNldCBjbGFzc05hbWUoY2xhc3NOYW1lOiBhbnkpIHtcbiAgICBpZiAoIWNsYXNzTmFtZS5uYW1lKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2NsYXNzTmFtZSA9IGNsYXNzTmFtZTtcbiAgICB0aGlzLmxvYWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NsYXNzTmFtZTogYW55ID0ge307XG4gIEBJbnB1dCgpXG4gIHZpZXc6IGFueTtcbiAgQElucHV0KClcbiAgZmlsdGVyOiBhbnk7XG4gIEBJbnB1dCgpXG4gIHNlcnZpY2U6IGFueTtcbiAgZGF0YVNvdXJjZTogYW55ID0ge307XG4gIGNvbHVtbnM6IGFueVtdID0gW107XG4gIHR5cGVNYXA6IGFueSA9IHtcbiAgICBTVFJJTkc6IHtcbiAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgIGZpbHRlck9wZXJhdGlvbnM6IFsnY29udGFpbnMnLCAnc3RhcnRzd2l0aCcsICdlbmRzd2l0aCcsICc9JywgJzw+J11cbiAgICB9LFxuICAgIFRFWFQ6IHtcbiAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgIGZpbHRlck9wZXJhdGlvbnM6IFsnY29udGFpbnMnLCAnc3RhcnRzd2l0aCcsICdlbmRzd2l0aCcsICc9JywgJzw+J11cbiAgICB9LFxuICAgIEJPT0xFQU46IHtcbiAgICAgIGRhdGFUeXBlOiAnYm9vbGVhbicsXG4gICAgICBmaWx0ZXJPcGVyYXRpb25zOiBbXVxuICAgIH0sXG4gICAgSU5URUdFUjoge1xuICAgICAgZGF0YVR5cGU6ICdudW1iZXInLFxuICAgICAgZmlsdGVyT3BlcmF0aW9uczogWyc9JywgJzw+JywgJz4nLCAnPj0nLCAnPCcsICc8PScsICdiZXR3ZWVuJ11cbiAgICB9LFxuICAgIERPVUJMRToge1xuICAgICAgZGF0YVR5cGU6ICdudW1iZXInLFxuICAgICAgZmlsdGVyT3BlcmF0aW9uczogWyc9JywgJzw+JywgJz4nLCAnPj0nLCAnPCcsICc8PScsICdiZXR3ZWVuJ11cbiAgICB9LFxuICAgIERBVEU6IHtcbiAgICAgIGRhdGFUeXBlOiAnZGF0ZScsXG4gICAgICBmaWx0ZXJPcGVyYXRpb25zOiBbJz0nLCAnPD4nLCAnPicsICc+PScsICc8JywgJzw9JywgJ2JldHdlZW4nXSxcbiAgICAgIGZvcm1hdDogJ3l5eXkvTU0vZGQnXG4gICAgfSxcbiAgICBEQVRFVElNRToge1xuICAgICAgZGF0YVR5cGU6ICdkYXRldGltZScsXG4gICAgICBmaWx0ZXJPcGVyYXRpb25zOiBbJz4nLCAnPCcsICdiZXR3ZWVuJ10sXG4gICAgICBmb3JtYXQ6ICd5eXl5L01NL2RkIEhIOm1tOnNzJ1xuICAgIH1cbiAgfTtcblxuICBsb2FkKCkge1xuICAgIHRoaXMuc2VydmljZS5nZXRNZXRhZGF0YSh0aGlzLnRlbmFudCwgdGhpcy5jbGFzc05hbWUsIHRoaXMudmlldyB8fCAnJykuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICB0aGlzLmNvbHVtbnMgPSBbXTtcbiAgICAgIGZvciAobGV0IGNvbHVtbiBvZiByZXNwb25zZS5kYXRhLmNvbHVtbnMpIHtcbiAgICAgICAgaWYgKGNvbHVtbi50eXBlID09PSAnTk9STUFMJykge1xuICAgICAgICAgIHRoaXMuY29sdW1ucy5wdXNoKHtcbiAgICAgICAgICAgIGRhdGFGaWVsZDogY29sdW1uLm5hbWUsXG4gICAgICAgICAgICBjYXB0aW9uOiBjb2x1bW4uY2FwdGlvbixcbiAgICAgICAgICAgIGRhdGFUeXBlOiB0aGlzLnR5cGVNYXBbY29sdW1uLmRhdGFUeXBlXS5kYXRhVHlwZSxcbiAgICAgICAgICAgIGFsaWdubWVudDogJ2xlZnQnLFxuICAgICAgICAgICAgZmlsdGVyT3BlcmF0aW9uczogdGhpcy50eXBlTWFwW2NvbHVtbi5kYXRhVHlwZV0uZmlsdGVyT3BlcmF0aW9ucyxcbiAgICAgICAgICAgIGZvcm1hdDogdGhpcy50eXBlTWFwW2NvbHVtbi5kYXRhVHlwZV0uZm9ybWF0XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgQ3VzdG9tU3RvcmUoe1xuICAgICAga2V5OiAnb2lkJyxcbiAgICAgIGJ5S2V5OiAoa2V5KSA9PiB7XG4gICAgICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKHRoaXMuc2VydmljZS5nZXRPbmUodGhpcy50ZW5hbnQsIHRoaXMuY2xhc3NOYW1lLCBrZXkpKTtcbiAgICAgIH0sXG4gICAgICBsb2FkOiAobG9hZE9wdGlvbnM6IGFueSkgPT4ge1xuICAgICAgICBsZXQgcGFyYW1zID0gJz8nO1xuICAgICAgICBpZiAobG9hZE9wdGlvbnMuc2tpcCB8fCBsb2FkT3B0aW9ucy50YWtlKSB7XG4gICAgICAgICAgcGFyYW1zICs9ICdvZmZzZXQ9JyArIGxvYWRPcHRpb25zLnNraXA7XG4gICAgICAgICAgcGFyYW1zICs9ICcmbGltaXQ9JyArIGxvYWRPcHRpb25zLnRha2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcGFyYW1zICs9ICdsaW1pdD0wJztcbiAgICAgICAgfVxuICAgICAgICBpZiAobG9hZE9wdGlvbnMuc29ydCkge1xuICAgICAgICAgIGxldCBmaXJzdCA9IHRydWU7XG4gICAgICAgICAgZm9yIChjb25zdCB0aGlzU29ydCBvZiBsb2FkT3B0aW9ucy5zb3J0KSB7XG4gICAgICAgICAgICBpZiAoZmlyc3QpIHtcbiAgICAgICAgICAgICAgcGFyYW1zICs9ICcmb3JkZXJCeT0nICsgdGhpc1NvcnQuc2VsZWN0b3I7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBwYXJhbXMgKz0gJywnICsgdGhpc1NvcnQuc2VsZWN0b3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpc1NvcnQuZGVzYykge1xuICAgICAgICAgICAgICBwYXJhbXMgKz0gJyBkZXNjJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpcnN0ID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGxldCBmaWx0ZXI7XG4gICAgICAgIGlmIChsb2FkT3B0aW9ucy5maWx0ZXIpIHtcbiAgICAgICAgICBmaWx0ZXIgPSBsb2FkT3B0aW9ucy5maWx0ZXI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZmlsdGVyKSB7XG4gICAgICAgICAgaWYgKGZpbHRlcikge1xuICAgICAgICAgICAgZmlsdGVyID0gW2ZpbHRlciwgJ2FuZCcsIHRoaXMuZmlsdGVyXTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZmlsdGVyID0gdGhpcy5maWx0ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChmaWx0ZXIpIHtcbiAgICAgICAgICBwYXJhbXMgKz0gJyZmaWx0ZXI9JyArIGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShmaWx0ZXIpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbGFzdFZhbHVlRnJvbSh0aGlzLnNlcnZpY2UuZ2V0TWFueSh0aGlzLnRlbmFudCwgdGhpcy5jbGFzc05hbWUsIHBhcmFtcyArICcmdmlldz0nICsgKHRoaXMudmlldyB8fCAnJykpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiPGR4LWRhdGEtZ3JpZCBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCJcbiAgICAgICAgICAgICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXG4gICAgICAgICAgICAgIFtzaG93Qm9yZGVyc109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW3Nob3dDb2x1bW5MaW5lc109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW3Nob3dSb3dMaW5lc109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW2hvdmVyU3RhdGVFbmFibGVkXT1cInRydWVcIlxuICAgICAgICAgICAgICBbcm93QWx0ZXJuYXRpb25FbmFibGVkXT1cInRydWVcIlxuICAgICAgICAgICAgICBbY29sdW1uQXV0b1dpZHRoXT1cInRydWVcIlxuICAgICAgICAgICAgICBbYWxsb3dDb2x1bW5SZXNpemluZ109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgY29sdW1uUmVzaXppbmdNb2RlPVwid2lkZ2V0XCJcbiAgICAgICAgICAgICAgZGF0ZVNlcmlhbGl6YXRpb25Gb3JtYXQ9XCJ5eXl5L01NL2RkIEhIOm1tOnNzXCJcbj5cbiAgPGR4by1zb3J0aW5nIG1vZGU9XCJtdWx0aXBsZVwiPjwvZHhvLXNvcnRpbmc+XG4gIDxkeG8tc2VsZWN0aW9uIG1vZGU9XCJtdWx0aXBsZVwiIHNlbGVjdEFsbE1vZGU9XCJwYWdlXCI+PC9keG8tc2VsZWN0aW9uPlxuICA8ZHhvLWZpbHRlci1yb3cgW3Zpc2libGVdPVwidHJ1ZVwiPjwvZHhvLWZpbHRlci1yb3c+XG4gIDxkeG8tcmVtb3RlLW9wZXJhdGlvbnMgW2ZpbHRlcmluZ109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbc29ydGluZ109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcGFnaW5nXT1cInRydWVcIj5cbiAgPC9keG8tcmVtb3RlLW9wZXJhdGlvbnM+XG4gIDxkeG8tcGFnaW5nIFtwYWdlU2l6ZV09XCIxNVwiPjwvZHhvLXBhZ2luZz5cbiAgPGR4by1wYWdlciBbdmlzaWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICBbc2hvd0luZm9dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgaW5mb1RleHQ9XCLnrKx7MH3pobXvvIzlhbF7MX3pobXvvIjlhbF7Mn3kuKrpobnnm67vvIlcIlxuICAgICAgICAgICAgIFtzaG93UGFnZVNpemVTZWxlY3Rvcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICBbYWxsb3dlZFBhZ2VTaXplc109XCJbMTUsIDMwLCA1MF1cIlxuICA+PC9keG8tcGFnZXI+XG4gIDxkeG8tZXhwb3J0IFthbGxvd0V4cG9ydFNlbGVjdGVkRGF0YV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW2ZpbGVOYW1lXT1cImNsYXNzTmFtZVwiPjwvZHhvLWV4cG9ydD5cbiAgPGRpdiAqZHhUZW1wbGF0ZT1cImxldCBjZWxsSW5mbyBvZiAncm93SW5kZXhUZW1wbGF0ZSdcIj5cbiAgICB7e2NlbGxJbmZvLnJvd0luZGV4ICsgMX19XG4gIDwvZGl2PlxuPC9keC1kYXRhLWdyaWQ+XG4iXX0=
@@ -0,0 +1,28 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { DataGridComponent } from './data-grid.component';
4
+ import { DxDataGridModule } from "devextreme-angular";
5
+ import * as i0 from "@angular/core";
6
+ export class DataGridModule {
7
+ }
8
+ DataGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DataGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ DataGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: DataGridModule, declarations: [DataGridComponent], imports: [CommonModule,
10
+ DxDataGridModule], exports: [DataGridComponent] });
11
+ DataGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DataGridModule, imports: [CommonModule,
12
+ DxDataGridModule] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DataGridModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ declarations: [
17
+ DataGridComponent
18
+ ],
19
+ imports: [
20
+ CommonModule,
21
+ DxDataGridModule
22
+ ],
23
+ exports: [
24
+ DataGridComponent
25
+ ]
26
+ }]
27
+ }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncmlkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ycy1hbnQvc3JjL2RhdGEtZ3JpZC9kYXRhLWdyaWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDOztBQWNwRCxNQUFNLE9BQU8sY0FBYzs7MkdBQWQsY0FBYzs0R0FBZCxjQUFjLGlCQVZ2QixpQkFBaUIsYUFHakIsWUFBWTtRQUNaLGdCQUFnQixhQUdoQixpQkFBaUI7NEdBR1IsY0FBYyxZQVB2QixZQUFZO1FBQ1osZ0JBQWdCOzJGQU1QLGNBQWM7a0JBWjFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGlCQUFpQjtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsaUJBQWlCO3FCQUNsQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0RhdGFHcmlkQ29tcG9uZW50fSBmcm9tICcuL2RhdGEtZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHtEeERhdGFHcmlkTW9kdWxlfSBmcm9tIFwiZGV2ZXh0cmVtZS1hbmd1bGFyXCI7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERhdGFHcmlkQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRHhEYXRhR3JpZE1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRGF0YUdyaWRDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRhR3JpZE1vZHVsZSB7XG59XG4iXX0=
@@ -3,4 +3,6 @@
3
3
  */
4
4
  export * from './modal/modal.service';
5
5
  export * from './modal/modal.module';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1ycy1hbnQvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5neC1ycy1hbnRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL21vZGFsL21vZGFsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC9tb2RhbC5tb2R1bGUnO1xuIl19
6
+ export * from './data-grid/data-grid.component';
7
+ export * from './data-grid/data-grid.module';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1ycy1hbnQvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtcnMtYW50XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC9tb2RhbC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwvbW9kYWwubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1ncmlkL2RhdGEtZ3JpZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWdyaWQvZGF0YS1ncmlkLm1vZHVsZSc7XG4iXX0=
@@ -2,6 +2,12 @@ import * as i0 from '@angular/core';
2
2
  import { Component, Input, ViewChild, HostListener, Injectable, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
+ import CustomStore from 'devextreme/data/custom_store';
6
+ import { lastValueFrom } from 'rxjs';
7
+ import * as i1$1 from 'devextreme-angular';
8
+ import { DxDataGridModule } from 'devextreme-angular';
9
+ import * as i2 from 'devextreme-angular/ui/nested';
10
+ import * as i3 from 'devextreme-angular/core';
5
11
 
6
12
  class ModalComponent {
7
13
  constructor(elementRef) {
@@ -180,6 +186,159 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
180
186
  }]
181
187
  }] });
182
188
 
189
+ class DataGridComponent {
190
+ constructor() {
191
+ this._className = {};
192
+ this.dataSource = {};
193
+ this.columns = [];
194
+ this.typeMap = {
195
+ STRING: {
196
+ dataType: 'string',
197
+ filterOperations: ['contains', 'startswith', 'endswith', '=', '<>']
198
+ },
199
+ TEXT: {
200
+ dataType: 'string',
201
+ filterOperations: ['contains', 'startswith', 'endswith', '=', '<>']
202
+ },
203
+ BOOLEAN: {
204
+ dataType: 'boolean',
205
+ filterOperations: []
206
+ },
207
+ INTEGER: {
208
+ dataType: 'number',
209
+ filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between']
210
+ },
211
+ DOUBLE: {
212
+ dataType: 'number',
213
+ filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between']
214
+ },
215
+ DATE: {
216
+ dataType: 'date',
217
+ filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between'],
218
+ format: 'yyyy/MM/dd'
219
+ },
220
+ DATETIME: {
221
+ dataType: 'datetime',
222
+ filterOperations: ['>', '<', 'between'],
223
+ format: 'yyyy/MM/dd HH:mm:ss'
224
+ }
225
+ };
226
+ }
227
+ get className() {
228
+ return this._className;
229
+ }
230
+ set className(className) {
231
+ if (!className.name) {
232
+ return;
233
+ }
234
+ this._className = className;
235
+ this.load();
236
+ }
237
+ load() {
238
+ this.service.getMetadata(this.tenant, this.className, this.view || '').subscribe((response) => {
239
+ this.columns = [];
240
+ for (let column of response.data.columns) {
241
+ if (column.type === 'NORMAL') {
242
+ this.columns.push({
243
+ dataField: column.name,
244
+ caption: column.caption,
245
+ dataType: this.typeMap[column.dataType].dataType,
246
+ alignment: 'left',
247
+ filterOperations: this.typeMap[column.dataType].filterOperations,
248
+ format: this.typeMap[column.dataType].format
249
+ });
250
+ }
251
+ }
252
+ });
253
+ this.dataSource = new CustomStore({
254
+ key: 'oid',
255
+ byKey: (key) => {
256
+ return lastValueFrom(this.service.getOne(this.tenant, this.className, key));
257
+ },
258
+ load: (loadOptions) => {
259
+ let params = '?';
260
+ if (loadOptions.skip || loadOptions.take) {
261
+ params += 'offset=' + loadOptions.skip;
262
+ params += '&limit=' + loadOptions.take;
263
+ }
264
+ else {
265
+ params += 'limit=0';
266
+ }
267
+ if (loadOptions.sort) {
268
+ let first = true;
269
+ for (const thisSort of loadOptions.sort) {
270
+ if (first) {
271
+ params += '&orderBy=' + thisSort.selector;
272
+ }
273
+ else {
274
+ params += ',' + thisSort.selector;
275
+ }
276
+ if (thisSort.desc) {
277
+ params += ' desc';
278
+ }
279
+ first = false;
280
+ }
281
+ }
282
+ let filter;
283
+ if (loadOptions.filter) {
284
+ filter = loadOptions.filter;
285
+ }
286
+ if (this.filter) {
287
+ if (filter) {
288
+ filter = [filter, 'and', this.filter];
289
+ }
290
+ else {
291
+ filter = this.filter;
292
+ }
293
+ }
294
+ if (filter) {
295
+ params += '&filter=' + encodeURIComponent(JSON.stringify(filter));
296
+ }
297
+ return lastValueFrom(this.service.getMany(this.tenant, this.className, params + '&view=' + (this.view || '')));
298
+ }
299
+ });
300
+ }
301
+ }
302
+ DataGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DataGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
303
+ DataGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: DataGridComponent, selector: "rs-data-grid", inputs: { tenant: "tenant", className: "className", view: "view", filter: "filter", service: "service" }, ngImport: i0, template: "<dx-data-grid [dataSource]=\"dataSource\"\n [columns]=\"columns\"\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>\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\n <dxo-selection mode=\"multiple\" selectAllMode=\"page\"></dxo-selection>\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-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-export [allowExportSelectedData]=\"true\"\n [fileName]=\"className\"></dxo-export>\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\n {{cellInfo.rowIndex + 1}}\n </div>\n</dx-data-grid>\n", styles: [""], dependencies: [{ kind: "component", type: i1$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: i2.DxoExportComponent, selector: "dxo-export", inputs: ["backgroundColor", "enabled", "fileName", "formats", "margin", "printingEnabled", "svgToCanvas", "allowExportSelectedData", "texts"] }, { kind: "component", type: i2.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i2.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i2.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i2.DxoRemoteOperationsComponent, selector: "dxo-remote-operations", inputs: ["filtering", "grouping", "groupPaging", "paging", "sorting", "summary"] }, { kind: "component", type: i2.DxoSelectionComponent, selector: "dxo-selection", inputs: ["allowSelectAll", "deferred", "mode", "selectAllMode", "showCheckBoxesMode", "recursive"] }, { kind: "component", type: i2.DxoSortingComponent, selector: "dxo-sorting", inputs: ["ascendingText", "clearText", "descendingText", "mode", "showSortIndexes"] }, { kind: "directive", type: i3.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }] });
304
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DataGridComponent, decorators: [{
305
+ type: Component,
306
+ args: [{ selector: 'rs-data-grid', template: "<dx-data-grid [dataSource]=\"dataSource\"\n [columns]=\"columns\"\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>\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\n <dxo-selection mode=\"multiple\" selectAllMode=\"page\"></dxo-selection>\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-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-export [allowExportSelectedData]=\"true\"\n [fileName]=\"className\"></dxo-export>\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\n {{cellInfo.rowIndex + 1}}\n </div>\n</dx-data-grid>\n" }]
307
+ }], propDecorators: { tenant: [{
308
+ type: Input
309
+ }], className: [{
310
+ type: Input
311
+ }], view: [{
312
+ type: Input
313
+ }], filter: [{
314
+ type: Input
315
+ }], service: [{
316
+ type: Input
317
+ }] } });
318
+
319
+ class DataGridModule {
320
+ }
321
+ DataGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DataGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
322
+ DataGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: DataGridModule, declarations: [DataGridComponent], imports: [CommonModule,
323
+ DxDataGridModule], exports: [DataGridComponent] });
324
+ DataGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DataGridModule, imports: [CommonModule,
325
+ DxDataGridModule] });
326
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DataGridModule, decorators: [{
327
+ type: NgModule,
328
+ args: [{
329
+ declarations: [
330
+ DataGridComponent
331
+ ],
332
+ imports: [
333
+ CommonModule,
334
+ DxDataGridModule
335
+ ],
336
+ exports: [
337
+ DataGridComponent
338
+ ]
339
+ }]
340
+ }] });
341
+
183
342
  /*
184
343
  * Public API Surface of ngx-rs-ant
185
344
  */
@@ -188,5 +347,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
188
347
  * Generated bundle index. Do not edit.
189
348
  */
190
349
 
191
- export { ModalModule, ModalService };
350
+ export { DataGridComponent, DataGridModule, ModalModule, ModalService };
192
351
  //# sourceMappingURL=ngx-rs-ant.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-rs-ant.mjs","sources":["../../../projects/ngx-rs-ant/src/modal/modal.component.ts","../../../projects/ngx-rs-ant/src/modal/modal.component.html","../../../projects/ngx-rs-ant/src/modal/modal.service.ts","../../../projects/ngx-rs-ant/src/modal/modal.module.ts","../../../projects/ngx-rs-ant/src/public-api.ts","../../../projects/ngx-rs-ant/src/ngx-rs-ant.ts"],"sourcesContent":["import {Component, ElementRef, HostListener, Input, OnDestroy, OnInit, TemplateRef, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'rs-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss']\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n @Input() title!: string;\n @Input() size: 'default' | 'large' | 'full' = 'default';\n _width: number = 480;\n @ViewChild('modal', {static: true}) modalElementRef!: ElementRef;\n moveHandleEl!: HTMLElement;\n movable: boolean = false;\n topStart = 0;\n leftStart = 0;\n @Input()\n contentTemplate!: TemplateRef<any>;\n @Input()\n contentTemplateContext: any;\n\n constructor(public elementRef: ElementRef) {\n }\n\n ngOnInit() {\n if (this.size === 'full') {\n this.modalElementRef.nativeElement.style.top = '0px';\n this.modalElementRef.nativeElement.style.right = '0px';\n this.modalElementRef.nativeElement.style.bottom = '0px';\n this.modalElementRef.nativeElement.style.left = '0px';\n this.modalElementRef.nativeElement.style.margin = '2px';\n this.modalElementRef.nativeElement.style.boxShadow = 'none';\n } else {\n if (this.size === 'large') {\n this._width = 960;\n }\n this.modalElementRef.nativeElement.style.width = this._width + 'px';\n this.modalElementRef.nativeElement.style.top = '40px';\n this.modalElementRef.nativeElement.style.left =\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\n this.moveHandleEl = this.elementRef.nativeElement.querySelector('.modal-header');\n this.moveHandleEl.style.cursor = 'move';\n }\n }\n\n show() {\n // 若存在多层模态框,仅保留最上层遮罩颜色,下层遮罩设置为透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const modals = parentElement.querySelectorAll(nodeName);\n for (let i = 0; i < modals.length; i++) {\n if (i === modals.length - 1) {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n } else {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0)';\n }\n }\n }\n\n hide() {\n // 在service中重写\n }\n\n ngOnDestroy(): void {\n // 若存在多层模态框,下一层遮罩设置为不透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const nextModal = parentElement.querySelector(nodeName + ':nth-last-child(2)');\n if (nextModal) {\n nextModal.querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n }\n }\n\n resolveModalBackdropPosition() {\n return {\n \"width\": this.elementRef.nativeElement.parentElement.offsetWidth + 'px',\n \"height\": this.elementRef.nativeElement.parentElement.offsetHeight + 'px',\n \"top\": this.elementRef.nativeElement.parentElement.offsetTop + 'px',\n \"left\": this.elementRef.nativeElement.parentElement.offsetLeft + 'px',\n };\n }\n\n onMousedown($event: MouseEvent) {\n if ($event.button === 2 || !this.checkHandleTarget($event.target, this.moveHandleEl)) {\n return;\n }\n this.movable = true;\n this.topStart = $event.clientY - this.modalElementRef.nativeElement.style.top.replace('px', '');\n this.leftStart = $event.clientX - this.modalElementRef.nativeElement.style.left.replace('px', '');\n }\n\n private checkHandleTarget(target: any, element: any): boolean {\n if (!element) {\n return false;\n }\n if (target === element) {\n return true;\n }\n for (let child in element.children) {\n if (Object.prototype.hasOwnProperty.call(element.children, child)) {\n if (this.checkHandleTarget(target, element.children[child])) {\n return true;\n }\n }\n }\n return false;\n }\n\n @HostListener('document:mouseup', ['$event'])\n onMouseup() {\n this.movable = false;\n }\n\n @HostListener('document:mousemove', ['$event'])\n onMousemove($event: MouseEvent) {\n if (!this.movable) {\n return;\n }\n $event.stopPropagation();\n $event.preventDefault();\n const element = this.modalElementRef.nativeElement;\n let currentTop = $event.clientY - this.topStart;\n let currentLeft = $event.clientX - this.leftStart;\n currentTop = currentTop < 0 ? 0 : currentTop;\n const maxTop = element.parentElement.offsetHeight - element.offsetHeight;\n currentTop = currentTop > maxTop ? maxTop : currentTop;\n currentLeft = currentLeft < 0 ? 0 : currentLeft;\n const maxLeft = element.parentElement.offsetWidth - element.offsetWidth;\n currentLeft = currentLeft > maxLeft ? maxLeft : currentLeft;\n element.style.top = currentTop + 'px';\n element.style.left = currentLeft + 'px';\n }\n}\n","<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <div class=\"modal-header\" (mousedown)=\"onMousedown($event)\">\n <div class=\"modal-title\">{{title}}</div>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n </div>\n <div class=\"modal-content\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\n </div>\n </div>\n</div>\n","import {Injectable, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {ModalComponent} from './modal.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModalService {\n constructor() {\n }\n\n open(viewContainerRef: ViewContainerRef,\n title: string, size: 'default' | 'large' | 'full' = 'default',\n contentTemplate: TemplateRef<any>,\n contentTemplateContext: any) {\n const modalRef = viewContainerRef.createComponent(ModalComponent);\n modalRef.instance.hide = () => {\n modalRef.hostView.destroy();\n }\n modalRef.instance.title = title;\n modalRef.instance.contentTemplate = contentTemplate;\n modalRef.instance.size = size;\n modalRef.instance.contentTemplateContext = contentTemplateContext;\n modalRef.instance.show();\n return modalRef.instance;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ModalComponent} from './modal.component';\n\n@NgModule({\n declarations: [\n ModalComponent\n ],\n imports: [\n CommonModule\n ],\n exports: []\n})\nexport class ModalModule {\n}\n","/*\n * Public API Surface of ngx-rs-ant\n */\n\nexport * from './modal/modal.service';\nexport * from './modal/modal.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-rs-ant.mjs","sources":["../../../projects/ngx-rs-ant/src/modal/modal.component.ts","../../../projects/ngx-rs-ant/src/modal/modal.component.html","../../../projects/ngx-rs-ant/src/modal/modal.service.ts","../../../projects/ngx-rs-ant/src/modal/modal.module.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.component.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.component.html","../../../projects/ngx-rs-ant/src/data-grid/data-grid.module.ts","../../../projects/ngx-rs-ant/src/public-api.ts","../../../projects/ngx-rs-ant/src/ngx-rs-ant.ts"],"sourcesContent":["import {Component, ElementRef, HostListener, Input, OnDestroy, OnInit, TemplateRef, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'rs-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss']\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n @Input() title!: string;\n @Input() size: 'default' | 'large' | 'full' = 'default';\n _width: number = 480;\n @ViewChild('modal', {static: true}) modalElementRef!: ElementRef;\n moveHandleEl!: HTMLElement;\n movable: boolean = false;\n topStart = 0;\n leftStart = 0;\n @Input()\n contentTemplate!: TemplateRef<any>;\n @Input()\n contentTemplateContext: any;\n\n constructor(public elementRef: ElementRef) {\n }\n\n ngOnInit() {\n if (this.size === 'full') {\n this.modalElementRef.nativeElement.style.top = '0px';\n this.modalElementRef.nativeElement.style.right = '0px';\n this.modalElementRef.nativeElement.style.bottom = '0px';\n this.modalElementRef.nativeElement.style.left = '0px';\n this.modalElementRef.nativeElement.style.margin = '2px';\n this.modalElementRef.nativeElement.style.boxShadow = 'none';\n } else {\n if (this.size === 'large') {\n this._width = 960;\n }\n this.modalElementRef.nativeElement.style.width = this._width + 'px';\n this.modalElementRef.nativeElement.style.top = '40px';\n this.modalElementRef.nativeElement.style.left =\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\n this.moveHandleEl = this.elementRef.nativeElement.querySelector('.modal-header');\n this.moveHandleEl.style.cursor = 'move';\n }\n }\n\n show() {\n // 若存在多层模态框,仅保留最上层遮罩颜色,下层遮罩设置为透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const modals = parentElement.querySelectorAll(nodeName);\n for (let i = 0; i < modals.length; i++) {\n if (i === modals.length - 1) {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n } else {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0)';\n }\n }\n }\n\n hide() {\n // 在service中重写\n }\n\n ngOnDestroy(): void {\n // 若存在多层模态框,下一层遮罩设置为不透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const nextModal = parentElement.querySelector(nodeName + ':nth-last-child(2)');\n if (nextModal) {\n nextModal.querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n }\n }\n\n resolveModalBackdropPosition() {\n return {\n \"width\": this.elementRef.nativeElement.parentElement.offsetWidth + 'px',\n \"height\": this.elementRef.nativeElement.parentElement.offsetHeight + 'px',\n \"top\": this.elementRef.nativeElement.parentElement.offsetTop + 'px',\n \"left\": this.elementRef.nativeElement.parentElement.offsetLeft + 'px',\n };\n }\n\n onMousedown($event: MouseEvent) {\n if ($event.button === 2 || !this.checkHandleTarget($event.target, this.moveHandleEl)) {\n return;\n }\n this.movable = true;\n this.topStart = $event.clientY - this.modalElementRef.nativeElement.style.top.replace('px', '');\n this.leftStart = $event.clientX - this.modalElementRef.nativeElement.style.left.replace('px', '');\n }\n\n private checkHandleTarget(target: any, element: any): boolean {\n if (!element) {\n return false;\n }\n if (target === element) {\n return true;\n }\n for (let child in element.children) {\n if (Object.prototype.hasOwnProperty.call(element.children, child)) {\n if (this.checkHandleTarget(target, element.children[child])) {\n return true;\n }\n }\n }\n return false;\n }\n\n @HostListener('document:mouseup', ['$event'])\n onMouseup() {\n this.movable = false;\n }\n\n @HostListener('document:mousemove', ['$event'])\n onMousemove($event: MouseEvent) {\n if (!this.movable) {\n return;\n }\n $event.stopPropagation();\n $event.preventDefault();\n const element = this.modalElementRef.nativeElement;\n let currentTop = $event.clientY - this.topStart;\n let currentLeft = $event.clientX - this.leftStart;\n currentTop = currentTop < 0 ? 0 : currentTop;\n const maxTop = element.parentElement.offsetHeight - element.offsetHeight;\n currentTop = currentTop > maxTop ? maxTop : currentTop;\n currentLeft = currentLeft < 0 ? 0 : currentLeft;\n const maxLeft = element.parentElement.offsetWidth - element.offsetWidth;\n currentLeft = currentLeft > maxLeft ? maxLeft : currentLeft;\n element.style.top = currentTop + 'px';\n element.style.left = currentLeft + 'px';\n }\n}\n","<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <div class=\"modal-header\" (mousedown)=\"onMousedown($event)\">\n <div class=\"modal-title\">{{title}}</div>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n </div>\n <div class=\"modal-content\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\n </div>\n </div>\n</div>\n","import {Injectable, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {ModalComponent} from './modal.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModalService {\n constructor() {\n }\n\n open(viewContainerRef: ViewContainerRef,\n title: string, size: 'default' | 'large' | 'full' = 'default',\n contentTemplate: TemplateRef<any>,\n contentTemplateContext: any) {\n const modalRef = viewContainerRef.createComponent(ModalComponent);\n modalRef.instance.hide = () => {\n modalRef.hostView.destroy();\n }\n modalRef.instance.title = title;\n modalRef.instance.contentTemplate = contentTemplate;\n modalRef.instance.size = size;\n modalRef.instance.contentTemplateContext = contentTemplateContext;\n modalRef.instance.show();\n return modalRef.instance;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ModalComponent} from './modal.component';\n\n@NgModule({\n declarations: [\n ModalComponent\n ],\n imports: [\n CommonModule\n ],\n exports: []\n})\nexport class ModalModule {\n}\n","import {Component, Input} from '@angular/core';\nimport CustomStore from \"devextreme/data/custom_store\";\nimport {lastValueFrom} from \"rxjs\";\n\n@Component({\n selector: 'rs-data-grid',\n templateUrl: './data-grid.component.html',\n styleUrls: ['./data-grid.component.scss']\n})\nexport class DataGridComponent {\n @Input()\n tenant: any;\n\n @Input()\n get className() {\n return this._className;\n }\n\n set className(className: any) {\n if (!className.name) {\n return;\n }\n this._className = className;\n this.load();\n }\n\n private _className: any = {};\n @Input()\n view: any;\n @Input()\n filter: any;\n @Input()\n service: any;\n dataSource: any = {};\n columns: any[] = [];\n typeMap: any = {\n STRING: {\n dataType: 'string',\n filterOperations: ['contains', 'startswith', 'endswith', '=', '<>']\n },\n TEXT: {\n dataType: 'string',\n filterOperations: ['contains', 'startswith', 'endswith', '=', '<>']\n },\n BOOLEAN: {\n dataType: 'boolean',\n filterOperations: []\n },\n INTEGER: {\n dataType: 'number',\n filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between']\n },\n DOUBLE: {\n dataType: 'number',\n filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between']\n },\n DATE: {\n dataType: 'date',\n filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between'],\n format: 'yyyy/MM/dd'\n },\n DATETIME: {\n dataType: 'datetime',\n filterOperations: ['>', '<', 'between'],\n format: 'yyyy/MM/dd HH:mm:ss'\n }\n };\n\n load() {\n this.service.getMetadata(this.tenant, this.className, this.view || '').subscribe((response: any) => {\n this.columns = [];\n for (let column of response.data.columns) {\n if (column.type === 'NORMAL') {\n this.columns.push({\n dataField: column.name,\n caption: column.caption,\n dataType: this.typeMap[column.dataType].dataType,\n alignment: 'left',\n filterOperations: this.typeMap[column.dataType].filterOperations,\n format: this.typeMap[column.dataType].format\n });\n }\n }\n });\n this.dataSource = new CustomStore({\n key: 'oid',\n byKey: (key) => {\n return lastValueFrom(this.service.getOne(this.tenant, this.className, key));\n },\n load: (loadOptions: any) => {\n let params = '?';\n if (loadOptions.skip || loadOptions.take) {\n params += 'offset=' + loadOptions.skip;\n params += '&limit=' + loadOptions.take;\n } else {\n params += 'limit=0';\n }\n if (loadOptions.sort) {\n let first = true;\n for (const thisSort of loadOptions.sort) {\n if (first) {\n params += '&orderBy=' + thisSort.selector;\n } else {\n params += ',' + thisSort.selector;\n }\n if (thisSort.desc) {\n params += ' desc';\n }\n first = false;\n }\n }\n let filter;\n if (loadOptions.filter) {\n filter = loadOptions.filter;\n }\n if (this.filter) {\n if (filter) {\n filter = [filter, 'and', this.filter];\n } else {\n filter = this.filter;\n }\n }\n if (filter) {\n params += '&filter=' + encodeURIComponent(JSON.stringify(filter));\n }\n return lastValueFrom(this.service.getMany(this.tenant, this.className, params + '&view=' + (this.view || '')));\n }\n });\n }\n}\n","<dx-data-grid [dataSource]=\"dataSource\"\n [columns]=\"columns\"\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>\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\n <dxo-selection mode=\"multiple\" selectAllMode=\"page\"></dxo-selection>\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-paging [pageSize]=\"15\"></dxo-paging>\n <dxo-pager [visible]=\"true\"\n [showInfo]=\"true\"\n infoText=\"第{0}页,共{1}页(共{2}个项目)\"\n [showPageSizeSelector]=\"true\"\n [allowedPageSizes]=\"[15, 30, 50]\"\n ></dxo-pager>\n <dxo-export [allowExportSelectedData]=\"true\"\n [fileName]=\"className\"></dxo-export>\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\n {{cellInfo.rowIndex + 1}}\n </div>\n</dx-data-grid>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DataGridComponent} from './data-grid.component';\nimport {DxDataGridModule} from \"devextreme-angular\";\n\n@NgModule({\n declarations: [\n DataGridComponent\n ],\n imports: [\n CommonModule,\n DxDataGridModule\n ],\n exports: [\n DataGridComponent\n ]\n})\nexport class DataGridModule {\n}\n","/*\n * Public API Surface of ngx-rs-ant\n */\n\nexport * from './modal/modal.service';\nexport * from './modal/modal.module';\nexport * from './data-grid/data-grid.component';\nexport * from './data-grid/data-grid.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
@@ -2,6 +2,12 @@ import * as i0 from '@angular/core';
2
2
  import { Component, Input, ViewChild, HostListener, Injectable, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
+ import CustomStore from 'devextreme/data/custom_store';
6
+ import { lastValueFrom } from 'rxjs';
7
+ import * as i1$1 from 'devextreme-angular';
8
+ import { DxDataGridModule } from 'devextreme-angular';
9
+ import * as i2 from 'devextreme-angular/ui/nested';
10
+ import * as i3 from 'devextreme-angular/core';
5
11
 
6
12
  class ModalComponent {
7
13
  constructor(elementRef) {
@@ -180,6 +186,159 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
180
186
  }]
181
187
  }] });
182
188
 
189
+ class DataGridComponent {
190
+ constructor() {
191
+ this._className = {};
192
+ this.dataSource = {};
193
+ this.columns = [];
194
+ this.typeMap = {
195
+ STRING: {
196
+ dataType: 'string',
197
+ filterOperations: ['contains', 'startswith', 'endswith', '=', '<>']
198
+ },
199
+ TEXT: {
200
+ dataType: 'string',
201
+ filterOperations: ['contains', 'startswith', 'endswith', '=', '<>']
202
+ },
203
+ BOOLEAN: {
204
+ dataType: 'boolean',
205
+ filterOperations: []
206
+ },
207
+ INTEGER: {
208
+ dataType: 'number',
209
+ filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between']
210
+ },
211
+ DOUBLE: {
212
+ dataType: 'number',
213
+ filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between']
214
+ },
215
+ DATE: {
216
+ dataType: 'date',
217
+ filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between'],
218
+ format: 'yyyy/MM/dd'
219
+ },
220
+ DATETIME: {
221
+ dataType: 'datetime',
222
+ filterOperations: ['>', '<', 'between'],
223
+ format: 'yyyy/MM/dd HH:mm:ss'
224
+ }
225
+ };
226
+ }
227
+ get className() {
228
+ return this._className;
229
+ }
230
+ set className(className) {
231
+ if (!className.name) {
232
+ return;
233
+ }
234
+ this._className = className;
235
+ this.load();
236
+ }
237
+ load() {
238
+ this.service.getMetadata(this.tenant, this.className, this.view || '').subscribe((response) => {
239
+ this.columns = [];
240
+ for (let column of response.data.columns) {
241
+ if (column.type === 'NORMAL') {
242
+ this.columns.push({
243
+ dataField: column.name,
244
+ caption: column.caption,
245
+ dataType: this.typeMap[column.dataType].dataType,
246
+ alignment: 'left',
247
+ filterOperations: this.typeMap[column.dataType].filterOperations,
248
+ format: this.typeMap[column.dataType].format
249
+ });
250
+ }
251
+ }
252
+ });
253
+ this.dataSource = new CustomStore({
254
+ key: 'oid',
255
+ byKey: (key) => {
256
+ return lastValueFrom(this.service.getOne(this.tenant, this.className, key));
257
+ },
258
+ load: (loadOptions) => {
259
+ let params = '?';
260
+ if (loadOptions.skip || loadOptions.take) {
261
+ params += 'offset=' + loadOptions.skip;
262
+ params += '&limit=' + loadOptions.take;
263
+ }
264
+ else {
265
+ params += 'limit=0';
266
+ }
267
+ if (loadOptions.sort) {
268
+ let first = true;
269
+ for (const thisSort of loadOptions.sort) {
270
+ if (first) {
271
+ params += '&orderBy=' + thisSort.selector;
272
+ }
273
+ else {
274
+ params += ',' + thisSort.selector;
275
+ }
276
+ if (thisSort.desc) {
277
+ params += ' desc';
278
+ }
279
+ first = false;
280
+ }
281
+ }
282
+ let filter;
283
+ if (loadOptions.filter) {
284
+ filter = loadOptions.filter;
285
+ }
286
+ if (this.filter) {
287
+ if (filter) {
288
+ filter = [filter, 'and', this.filter];
289
+ }
290
+ else {
291
+ filter = this.filter;
292
+ }
293
+ }
294
+ if (filter) {
295
+ params += '&filter=' + encodeURIComponent(JSON.stringify(filter));
296
+ }
297
+ return lastValueFrom(this.service.getMany(this.tenant, this.className, params + '&view=' + (this.view || '')));
298
+ }
299
+ });
300
+ }
301
+ }
302
+ DataGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DataGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
303
+ DataGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: DataGridComponent, selector: "rs-data-grid", inputs: { tenant: "tenant", className: "className", view: "view", filter: "filter", service: "service" }, ngImport: i0, template: "<dx-data-grid [dataSource]=\"dataSource\"\n [columns]=\"columns\"\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>\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\n <dxo-selection mode=\"multiple\" selectAllMode=\"page\"></dxo-selection>\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-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-export [allowExportSelectedData]=\"true\"\n [fileName]=\"className\"></dxo-export>\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\n {{cellInfo.rowIndex + 1}}\n </div>\n</dx-data-grid>\n", styles: [""], dependencies: [{ kind: "component", type: i1$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: i2.DxoExportComponent, selector: "dxo-export", inputs: ["backgroundColor", "enabled", "fileName", "formats", "margin", "printingEnabled", "svgToCanvas", "allowExportSelectedData", "texts"] }, { kind: "component", type: i2.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i2.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i2.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i2.DxoRemoteOperationsComponent, selector: "dxo-remote-operations", inputs: ["filtering", "grouping", "groupPaging", "paging", "sorting", "summary"] }, { kind: "component", type: i2.DxoSelectionComponent, selector: "dxo-selection", inputs: ["allowSelectAll", "deferred", "mode", "selectAllMode", "showCheckBoxesMode", "recursive"] }, { kind: "component", type: i2.DxoSortingComponent, selector: "dxo-sorting", inputs: ["ascendingText", "clearText", "descendingText", "mode", "showSortIndexes"] }, { kind: "directive", type: i3.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }] });
304
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DataGridComponent, decorators: [{
305
+ type: Component,
306
+ args: [{ selector: 'rs-data-grid', template: "<dx-data-grid [dataSource]=\"dataSource\"\n [columns]=\"columns\"\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>\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\n <dxo-selection mode=\"multiple\" selectAllMode=\"page\"></dxo-selection>\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-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-export [allowExportSelectedData]=\"true\"\n [fileName]=\"className\"></dxo-export>\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\n {{cellInfo.rowIndex + 1}}\n </div>\n</dx-data-grid>\n" }]
307
+ }], propDecorators: { tenant: [{
308
+ type: Input
309
+ }], className: [{
310
+ type: Input
311
+ }], view: [{
312
+ type: Input
313
+ }], filter: [{
314
+ type: Input
315
+ }], service: [{
316
+ type: Input
317
+ }] } });
318
+
319
+ class DataGridModule {
320
+ }
321
+ DataGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DataGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
322
+ DataGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: DataGridModule, declarations: [DataGridComponent], imports: [CommonModule,
323
+ DxDataGridModule], exports: [DataGridComponent] });
324
+ DataGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DataGridModule, imports: [CommonModule,
325
+ DxDataGridModule] });
326
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DataGridModule, decorators: [{
327
+ type: NgModule,
328
+ args: [{
329
+ declarations: [
330
+ DataGridComponent
331
+ ],
332
+ imports: [
333
+ CommonModule,
334
+ DxDataGridModule
335
+ ],
336
+ exports: [
337
+ DataGridComponent
338
+ ]
339
+ }]
340
+ }] });
341
+
183
342
  /*
184
343
  * Public API Surface of ngx-rs-ant
185
344
  */
@@ -188,5 +347,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
188
347
  * Generated bundle index. Do not edit.
189
348
  */
190
349
 
191
- export { ModalModule, ModalService };
350
+ export { DataGridComponent, DataGridModule, ModalModule, ModalService };
192
351
  //# sourceMappingURL=ngx-rs-ant.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-rs-ant.mjs","sources":["../../../projects/ngx-rs-ant/src/modal/modal.component.ts","../../../projects/ngx-rs-ant/src/modal/modal.component.html","../../../projects/ngx-rs-ant/src/modal/modal.service.ts","../../../projects/ngx-rs-ant/src/modal/modal.module.ts","../../../projects/ngx-rs-ant/src/public-api.ts","../../../projects/ngx-rs-ant/src/ngx-rs-ant.ts"],"sourcesContent":["import {Component, ElementRef, HostListener, Input, OnDestroy, OnInit, TemplateRef, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'rs-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss']\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n @Input() title!: string;\n @Input() size: 'default' | 'large' | 'full' = 'default';\n _width: number = 480;\n @ViewChild('modal', {static: true}) modalElementRef!: ElementRef;\n moveHandleEl!: HTMLElement;\n movable: boolean = false;\n topStart = 0;\n leftStart = 0;\n @Input()\n contentTemplate!: TemplateRef<any>;\n @Input()\n contentTemplateContext: any;\n\n constructor(public elementRef: ElementRef) {\n }\n\n ngOnInit() {\n if (this.size === 'full') {\n this.modalElementRef.nativeElement.style.top = '0px';\n this.modalElementRef.nativeElement.style.right = '0px';\n this.modalElementRef.nativeElement.style.bottom = '0px';\n this.modalElementRef.nativeElement.style.left = '0px';\n this.modalElementRef.nativeElement.style.margin = '2px';\n this.modalElementRef.nativeElement.style.boxShadow = 'none';\n } else {\n if (this.size === 'large') {\n this._width = 960;\n }\n this.modalElementRef.nativeElement.style.width = this._width + 'px';\n this.modalElementRef.nativeElement.style.top = '40px';\n this.modalElementRef.nativeElement.style.left =\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\n this.moveHandleEl = this.elementRef.nativeElement.querySelector('.modal-header');\n this.moveHandleEl.style.cursor = 'move';\n }\n }\n\n show() {\n // 若存在多层模态框,仅保留最上层遮罩颜色,下层遮罩设置为透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const modals = parentElement.querySelectorAll(nodeName);\n for (let i = 0; i < modals.length; i++) {\n if (i === modals.length - 1) {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n } else {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0)';\n }\n }\n }\n\n hide() {\n // 在service中重写\n }\n\n ngOnDestroy(): void {\n // 若存在多层模态框,下一层遮罩设置为不透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const nextModal = parentElement.querySelector(nodeName + ':nth-last-child(2)');\n if (nextModal) {\n nextModal.querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n }\n }\n\n resolveModalBackdropPosition() {\n return {\n \"width\": this.elementRef.nativeElement.parentElement.offsetWidth + 'px',\n \"height\": this.elementRef.nativeElement.parentElement.offsetHeight + 'px',\n \"top\": this.elementRef.nativeElement.parentElement.offsetTop + 'px',\n \"left\": this.elementRef.nativeElement.parentElement.offsetLeft + 'px',\n };\n }\n\n onMousedown($event: MouseEvent) {\n if ($event.button === 2 || !this.checkHandleTarget($event.target, this.moveHandleEl)) {\n return;\n }\n this.movable = true;\n this.topStart = $event.clientY - this.modalElementRef.nativeElement.style.top.replace('px', '');\n this.leftStart = $event.clientX - this.modalElementRef.nativeElement.style.left.replace('px', '');\n }\n\n private checkHandleTarget(target: any, element: any): boolean {\n if (!element) {\n return false;\n }\n if (target === element) {\n return true;\n }\n for (let child in element.children) {\n if (Object.prototype.hasOwnProperty.call(element.children, child)) {\n if (this.checkHandleTarget(target, element.children[child])) {\n return true;\n }\n }\n }\n return false;\n }\n\n @HostListener('document:mouseup', ['$event'])\n onMouseup() {\n this.movable = false;\n }\n\n @HostListener('document:mousemove', ['$event'])\n onMousemove($event: MouseEvent) {\n if (!this.movable) {\n return;\n }\n $event.stopPropagation();\n $event.preventDefault();\n const element = this.modalElementRef.nativeElement;\n let currentTop = $event.clientY - this.topStart;\n let currentLeft = $event.clientX - this.leftStart;\n currentTop = currentTop < 0 ? 0 : currentTop;\n const maxTop = element.parentElement.offsetHeight - element.offsetHeight;\n currentTop = currentTop > maxTop ? maxTop : currentTop;\n currentLeft = currentLeft < 0 ? 0 : currentLeft;\n const maxLeft = element.parentElement.offsetWidth - element.offsetWidth;\n currentLeft = currentLeft > maxLeft ? maxLeft : currentLeft;\n element.style.top = currentTop + 'px';\n element.style.left = currentLeft + 'px';\n }\n}\n","<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <div class=\"modal-header\" (mousedown)=\"onMousedown($event)\">\n <div class=\"modal-title\">{{title}}</div>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n </div>\n <div class=\"modal-content\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\n </div>\n </div>\n</div>\n","import {Injectable, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {ModalComponent} from './modal.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModalService {\n constructor() {\n }\n\n open(viewContainerRef: ViewContainerRef,\n title: string, size: 'default' | 'large' | 'full' = 'default',\n contentTemplate: TemplateRef<any>,\n contentTemplateContext: any) {\n const modalRef = viewContainerRef.createComponent(ModalComponent);\n modalRef.instance.hide = () => {\n modalRef.hostView.destroy();\n }\n modalRef.instance.title = title;\n modalRef.instance.contentTemplate = contentTemplate;\n modalRef.instance.size = size;\n modalRef.instance.contentTemplateContext = contentTemplateContext;\n modalRef.instance.show();\n return modalRef.instance;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ModalComponent} from './modal.component';\n\n@NgModule({\n declarations: [\n ModalComponent\n ],\n imports: [\n CommonModule\n ],\n exports: []\n})\nexport class ModalModule {\n}\n","/*\n * Public API Surface of ngx-rs-ant\n */\n\nexport * from './modal/modal.service';\nexport * from './modal/modal.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAOa,cAAc,CAAA;AAczB,IAAA,WAAA,CAAmB,UAAsB,EAAA;QAAtB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAZhC,IAAI,CAAA,IAAA,GAAiC,SAAS,CAAC;QACxD,IAAM,CAAA,MAAA,GAAW,GAAG,CAAC;QAGrB,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;QACzB,IAAQ,CAAA,QAAA,GAAG,CAAC,CAAC;QACb,IAAS,CAAA,SAAA,GAAG,CAAC,CAAC;KAOb;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YACxB,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC;YACrD,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACvD,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;YACxD,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;YACtD,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;YACxD,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;AAC7D,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;AACzB,gBAAA,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;AACnB,aAAA;AACD,YAAA,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACpE,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC;AACtD,YAAA,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI;gBAC3C,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,WAAW,IAAI,CAAC,GAAG,IAAI,CAAC;AACxH,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YACjF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;AACzC,SAAA;KACF;IAED,IAAI,GAAA;;QAEF,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC;QACxD,MAAM,MAAM,GAAG,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACxD,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtC,YAAA,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3B,gBAAA,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,eAAe,GAAG,wBAAwB,CAAC;AAC7F,aAAA;AAAM,iBAAA;AACL,gBAAA,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,eAAe,GAAG,qBAAqB,CAAC;AAC1F,aAAA;AACF,SAAA;KACF;IAED,IAAI,GAAA;;KAEH;IAED,WAAW,GAAA;;QAET,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC;QACxD,MAAM,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC,QAAQ,GAAG,oBAAoB,CAAC,CAAC;AAC/E,QAAA,IAAI,SAAS,EAAE;YACb,SAAS,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,eAAe,GAAG,wBAAwB,CAAC;AAC7F,SAAA;KACF;IAED,4BAA4B,GAAA;QAC1B,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI;YACvE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI;YACzE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI;YACnE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI;SACtE,CAAC;KACH;AAED,IAAA,WAAW,CAAC,MAAkB,EAAA;AAC5B,QAAA,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE;YACpF,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAChG,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;KACnG;IAEO,iBAAiB,CAAC,MAAW,EAAE,OAAY,EAAA;QACjD,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;QACD,IAAI,MAAM,KAAK,OAAO,EAAE;AACtB,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AACD,QAAA,KAAK,IAAI,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE;AAClC,YAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;AACjE,gBAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;AAC3D,oBAAA,OAAO,IAAI,CAAC;AACb,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;IAGD,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACtB;AAGD,IAAA,WAAW,CAAC,MAAkB,EAAA;AAC5B,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,OAAO;AACR,SAAA;QACD,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,MAAM,CAAC,cAAc,EAAE,CAAC;AACxB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;QACnD,IAAI,UAAU,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChD,IAAI,WAAW,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;AAClD,QAAA,UAAU,GAAG,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;QAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;AACzE,QAAA,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AACvD,QAAA,WAAW,GAAG,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;QAChD,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;AACxE,QAAA,WAAW,GAAG,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;QAC5D,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU,GAAG,IAAI,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,WAAW,GAAG,IAAI,CAAC;KACzC;;2GA5HU,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,uZCP3B,2gBAYA,EAAA,MAAA,EAAA,CAAA,ypCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDLa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,SAAS;+BACE,UAAU,EAAA,QAAA,EAAA,2gBAAA,EAAA,MAAA,EAAA,CAAA,ypCAAA,CAAA,EAAA,CAAA;iGAKX,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAE8B,eAAe,EAAA,CAAA;sBAAlD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,OAAO,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAA;gBAMlC,eAAe,EAAA,CAAA;sBADd,KAAK;gBAGN,sBAAsB,EAAA,CAAA;sBADrB,KAAK;gBA2FN,SAAS,EAAA,CAAA;sBADR,YAAY;uBAAC,kBAAkB,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAM5C,WAAW,EAAA,CAAA;sBADV,YAAY;uBAAC,oBAAoB,EAAE,CAAC,QAAQ,CAAC,CAAA;;;ME3GnC,YAAY,CAAA;AACvB,IAAA,WAAA,GAAA;KACC;IAED,IAAI,CAAC,gBAAkC,EAClC,KAAa,EAAE,OAAqC,SAAS,EAC7D,eAAiC,EACjC,sBAA2B,EAAA;QAC9B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;AAClE,QAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAK;AAC5B,YAAA,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;AAC9B,SAAC,CAAA;AACD,QAAA,QAAQ,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;AAChC,QAAA,QAAQ,CAAC,QAAQ,CAAC,eAAe,GAAG,eAAe,CAAC;AACpD,QAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;AAC9B,QAAA,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;AAClE,QAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC,QAAQ,CAAC;KAC1B;;yGAlBU,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAZ,YAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFX,MAAM,EAAA,CAAA,CAAA;2FAEP,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCQY,WAAW,CAAA;;wGAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;yGAAX,WAAW,EAAA,YAAA,EAAA,CAPpB,cAAc,CAAA,EAAA,OAAA,EAAA,CAGd,YAAY,CAAA,EAAA,CAAA,CAAA;AAIH,WAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,YAJpB,YAAY,CAAA,EAAA,CAAA,CAAA;2FAIH,WAAW,EAAA,UAAA,EAAA,CAAA;kBATvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,cAAc;AACf,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE,EAAE;AACZ,iBAAA,CAAA;;;ACZD;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"ngx-rs-ant.mjs","sources":["../../../projects/ngx-rs-ant/src/modal/modal.component.ts","../../../projects/ngx-rs-ant/src/modal/modal.component.html","../../../projects/ngx-rs-ant/src/modal/modal.service.ts","../../../projects/ngx-rs-ant/src/modal/modal.module.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.component.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.component.html","../../../projects/ngx-rs-ant/src/data-grid/data-grid.module.ts","../../../projects/ngx-rs-ant/src/public-api.ts","../../../projects/ngx-rs-ant/src/ngx-rs-ant.ts"],"sourcesContent":["import {Component, ElementRef, HostListener, Input, OnDestroy, OnInit, TemplateRef, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'rs-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss']\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n @Input() title!: string;\n @Input() size: 'default' | 'large' | 'full' = 'default';\n _width: number = 480;\n @ViewChild('modal', {static: true}) modalElementRef!: ElementRef;\n moveHandleEl!: HTMLElement;\n movable: boolean = false;\n topStart = 0;\n leftStart = 0;\n @Input()\n contentTemplate!: TemplateRef<any>;\n @Input()\n contentTemplateContext: any;\n\n constructor(public elementRef: ElementRef) {\n }\n\n ngOnInit() {\n if (this.size === 'full') {\n this.modalElementRef.nativeElement.style.top = '0px';\n this.modalElementRef.nativeElement.style.right = '0px';\n this.modalElementRef.nativeElement.style.bottom = '0px';\n this.modalElementRef.nativeElement.style.left = '0px';\n this.modalElementRef.nativeElement.style.margin = '2px';\n this.modalElementRef.nativeElement.style.boxShadow = 'none';\n } else {\n if (this.size === 'large') {\n this._width = 960;\n }\n this.modalElementRef.nativeElement.style.width = this._width + 'px';\n this.modalElementRef.nativeElement.style.top = '40px';\n this.modalElementRef.nativeElement.style.left =\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\n this.moveHandleEl = this.elementRef.nativeElement.querySelector('.modal-header');\n this.moveHandleEl.style.cursor = 'move';\n }\n }\n\n show() {\n // 若存在多层模态框,仅保留最上层遮罩颜色,下层遮罩设置为透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const modals = parentElement.querySelectorAll(nodeName);\n for (let i = 0; i < modals.length; i++) {\n if (i === modals.length - 1) {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n } else {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0)';\n }\n }\n }\n\n hide() {\n // 在service中重写\n }\n\n ngOnDestroy(): void {\n // 若存在多层模态框,下一层遮罩设置为不透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const nextModal = parentElement.querySelector(nodeName + ':nth-last-child(2)');\n if (nextModal) {\n nextModal.querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n }\n }\n\n resolveModalBackdropPosition() {\n return {\n \"width\": this.elementRef.nativeElement.parentElement.offsetWidth + 'px',\n \"height\": this.elementRef.nativeElement.parentElement.offsetHeight + 'px',\n \"top\": this.elementRef.nativeElement.parentElement.offsetTop + 'px',\n \"left\": this.elementRef.nativeElement.parentElement.offsetLeft + 'px',\n };\n }\n\n onMousedown($event: MouseEvent) {\n if ($event.button === 2 || !this.checkHandleTarget($event.target, this.moveHandleEl)) {\n return;\n }\n this.movable = true;\n this.topStart = $event.clientY - this.modalElementRef.nativeElement.style.top.replace('px', '');\n this.leftStart = $event.clientX - this.modalElementRef.nativeElement.style.left.replace('px', '');\n }\n\n private checkHandleTarget(target: any, element: any): boolean {\n if (!element) {\n return false;\n }\n if (target === element) {\n return true;\n }\n for (let child in element.children) {\n if (Object.prototype.hasOwnProperty.call(element.children, child)) {\n if (this.checkHandleTarget(target, element.children[child])) {\n return true;\n }\n }\n }\n return false;\n }\n\n @HostListener('document:mouseup', ['$event'])\n onMouseup() {\n this.movable = false;\n }\n\n @HostListener('document:mousemove', ['$event'])\n onMousemove($event: MouseEvent) {\n if (!this.movable) {\n return;\n }\n $event.stopPropagation();\n $event.preventDefault();\n const element = this.modalElementRef.nativeElement;\n let currentTop = $event.clientY - this.topStart;\n let currentLeft = $event.clientX - this.leftStart;\n currentTop = currentTop < 0 ? 0 : currentTop;\n const maxTop = element.parentElement.offsetHeight - element.offsetHeight;\n currentTop = currentTop > maxTop ? maxTop : currentTop;\n currentLeft = currentLeft < 0 ? 0 : currentLeft;\n const maxLeft = element.parentElement.offsetWidth - element.offsetWidth;\n currentLeft = currentLeft > maxLeft ? maxLeft : currentLeft;\n element.style.top = currentTop + 'px';\n element.style.left = currentLeft + 'px';\n }\n}\n","<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <div class=\"modal-header\" (mousedown)=\"onMousedown($event)\">\n <div class=\"modal-title\">{{title}}</div>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n </div>\n <div class=\"modal-content\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\n </div>\n </div>\n</div>\n","import {Injectable, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {ModalComponent} from './modal.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModalService {\n constructor() {\n }\n\n open(viewContainerRef: ViewContainerRef,\n title: string, size: 'default' | 'large' | 'full' = 'default',\n contentTemplate: TemplateRef<any>,\n contentTemplateContext: any) {\n const modalRef = viewContainerRef.createComponent(ModalComponent);\n modalRef.instance.hide = () => {\n modalRef.hostView.destroy();\n }\n modalRef.instance.title = title;\n modalRef.instance.contentTemplate = contentTemplate;\n modalRef.instance.size = size;\n modalRef.instance.contentTemplateContext = contentTemplateContext;\n modalRef.instance.show();\n return modalRef.instance;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ModalComponent} from './modal.component';\n\n@NgModule({\n declarations: [\n ModalComponent\n ],\n imports: [\n CommonModule\n ],\n exports: []\n})\nexport class ModalModule {\n}\n","import {Component, Input} from '@angular/core';\nimport CustomStore from \"devextreme/data/custom_store\";\nimport {lastValueFrom} from \"rxjs\";\n\n@Component({\n selector: 'rs-data-grid',\n templateUrl: './data-grid.component.html',\n styleUrls: ['./data-grid.component.scss']\n})\nexport class DataGridComponent {\n @Input()\n tenant: any;\n\n @Input()\n get className() {\n return this._className;\n }\n\n set className(className: any) {\n if (!className.name) {\n return;\n }\n this._className = className;\n this.load();\n }\n\n private _className: any = {};\n @Input()\n view: any;\n @Input()\n filter: any;\n @Input()\n service: any;\n dataSource: any = {};\n columns: any[] = [];\n typeMap: any = {\n STRING: {\n dataType: 'string',\n filterOperations: ['contains', 'startswith', 'endswith', '=', '<>']\n },\n TEXT: {\n dataType: 'string',\n filterOperations: ['contains', 'startswith', 'endswith', '=', '<>']\n },\n BOOLEAN: {\n dataType: 'boolean',\n filterOperations: []\n },\n INTEGER: {\n dataType: 'number',\n filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between']\n },\n DOUBLE: {\n dataType: 'number',\n filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between']\n },\n DATE: {\n dataType: 'date',\n filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between'],\n format: 'yyyy/MM/dd'\n },\n DATETIME: {\n dataType: 'datetime',\n filterOperations: ['>', '<', 'between'],\n format: 'yyyy/MM/dd HH:mm:ss'\n }\n };\n\n load() {\n this.service.getMetadata(this.tenant, this.className, this.view || '').subscribe((response: any) => {\n this.columns = [];\n for (let column of response.data.columns) {\n if (column.type === 'NORMAL') {\n this.columns.push({\n dataField: column.name,\n caption: column.caption,\n dataType: this.typeMap[column.dataType].dataType,\n alignment: 'left',\n filterOperations: this.typeMap[column.dataType].filterOperations,\n format: this.typeMap[column.dataType].format\n });\n }\n }\n });\n this.dataSource = new CustomStore({\n key: 'oid',\n byKey: (key) => {\n return lastValueFrom(this.service.getOne(this.tenant, this.className, key));\n },\n load: (loadOptions: any) => {\n let params = '?';\n if (loadOptions.skip || loadOptions.take) {\n params += 'offset=' + loadOptions.skip;\n params += '&limit=' + loadOptions.take;\n } else {\n params += 'limit=0';\n }\n if (loadOptions.sort) {\n let first = true;\n for (const thisSort of loadOptions.sort) {\n if (first) {\n params += '&orderBy=' + thisSort.selector;\n } else {\n params += ',' + thisSort.selector;\n }\n if (thisSort.desc) {\n params += ' desc';\n }\n first = false;\n }\n }\n let filter;\n if (loadOptions.filter) {\n filter = loadOptions.filter;\n }\n if (this.filter) {\n if (filter) {\n filter = [filter, 'and', this.filter];\n } else {\n filter = this.filter;\n }\n }\n if (filter) {\n params += '&filter=' + encodeURIComponent(JSON.stringify(filter));\n }\n return lastValueFrom(this.service.getMany(this.tenant, this.className, params + '&view=' + (this.view || '')));\n }\n });\n }\n}\n","<dx-data-grid [dataSource]=\"dataSource\"\n [columns]=\"columns\"\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>\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\n <dxo-selection mode=\"multiple\" selectAllMode=\"page\"></dxo-selection>\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-paging [pageSize]=\"15\"></dxo-paging>\n <dxo-pager [visible]=\"true\"\n [showInfo]=\"true\"\n infoText=\"第{0}页,共{1}页(共{2}个项目)\"\n [showPageSizeSelector]=\"true\"\n [allowedPageSizes]=\"[15, 30, 50]\"\n ></dxo-pager>\n <dxo-export [allowExportSelectedData]=\"true\"\n [fileName]=\"className\"></dxo-export>\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\n {{cellInfo.rowIndex + 1}}\n </div>\n</dx-data-grid>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DataGridComponent} from './data-grid.component';\nimport {DxDataGridModule} from \"devextreme-angular\";\n\n@NgModule({\n declarations: [\n DataGridComponent\n ],\n imports: [\n CommonModule,\n DxDataGridModule\n ],\n exports: [\n DataGridComponent\n ]\n})\nexport class DataGridModule {\n}\n","/*\n * Public API Surface of ngx-rs-ant\n */\n\nexport * from './modal/modal.service';\nexport * from './modal/modal.module';\nexport * from './data-grid/data-grid.component';\nexport * from './data-grid/data-grid.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,15 @@
1
1
  {
2
2
  "name": "ngx-rs-ant",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "license": "MIT",
5
5
  "description": "RsAnt components based on Angular and DevUI",
6
6
  "peerDependencies": {
7
7
  "@angular/common": "^15.2.0",
8
8
  "@angular/core": "^15.2.0",
9
9
  "@devui-design/icons": "^1.3.0",
10
- "ng-devui": "^15.0.0"
10
+ "ng-devui": "^15.0.0",
11
+ "devextreme": "22.2.5",
12
+ "devextreme-angular": "22.2.5"
11
13
  },
12
14
  "dependencies": {
13
15
  "tslib": "^2.3.0"
package/public-api.d.ts CHANGED
@@ -1,2 +1,4 @@
1
1
  export * from './modal/modal.service';
2
2
  export * from './modal/modal.module';
3
+ export * from './data-grid/data-grid.component';
4
+ export * from './data-grid/data-grid.module';