imng-kendo-schematics 7.348.1 → 8.115.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/package.json +1 -1
- package/schematics/imng-crud/files/add-edit.component.html.template +2 -2
- package/schematics/imng-crud/files/add.component.spec.ts.template +3 -3
- package/schematics/imng-crud/files/base-entry.component.ts.template +2 -2
- package/schematics/imng-crud/files/edit.component.spec.ts.template +5 -3
- package/schematics/imng-list/files/list.component.html.template +8 -8
- package/schematics/imng-sub-list/files/__pluralizedName@dasherize__-list/list.component.html.template +8 -8
- package/schematics/shared/map-properties.d.ts +1 -0
- package/schematics/shared/map-properties.js +4 -2
- package/schematics/shared/map-properties.js.map +1 -1
- package/schematics/shared/open-api-component.d.ts +1 -0
- package/schematics/shared/rules.js +1 -1
- package/schematics/shared/rules.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<imng-data-entry-dialog id="dataEntry<%= startCasedPluralName %>" name="dataEntry<%= startCasedPluralName %>" [width]="700" [height]="550" [parentComponent]="this" autoFocusedElement="#<%= underscore(firstProperty.name) %>">
|
|
2
|
-
<form id="imng-form" novalidate [formGroup]="addEditForm" autocomplete="
|
|
2
|
+
<form id="imng-form" novalidate [formGroup]="addEditForm" autocomplete="off" class="row needs-validation"><% swaggerProperties.filter(function(swaggerProperty){ return !swaggerProperty.hidden;}).forEach(function(swaggerProperty) {%>
|
|
3
3
|
<div class="col-md-6">
|
|
4
4
|
<label for="<%= underscore(swaggerProperty.name) %>" class="control-label<% if (swaggerProperty.htmlInputType === 'checkbox') { %> me-4 mt-4<% } %>"><%= swaggerProperty.startCaseName %>:<% if(swaggerProperty.required) { %> <span class="text-danger">*</span><% } %></label><% if (swaggerProperty.htmlInputType === 'checkbox') { %>
|
|
5
5
|
<input id="<%= underscore(swaggerProperty.name) %>" type="<%= swaggerProperty.htmlInputType %>" [formControlName]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" />
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
[valueField]="<%= camelize(swaggerProperty.name) %>Props.ID"
|
|
44
44
|
[valuePrimitive]="true"
|
|
45
45
|
[filterable]="true"
|
|
46
|
-
(filterChange)="handle<%= classify(swaggerProperty.name) %>Filter($event)"><% swaggerProperty.properties.filter(t=> t.name !== 'id').forEach(swaggerSubProperty => { %>
|
|
46
|
+
(filterChange)="handle<%= classify(swaggerProperty.name) %>Filter($event)"><% swaggerProperty.properties.filter(t=> t.name !== 'id' && !t.hidden).forEach(swaggerSubProperty => { %>
|
|
47
47
|
<kendo-combobox-column field="<%= camelize(swaggerSubProperty.name) %>" title="<%= swaggerSubProperty.startCaseName %>" [width]="100"></kendo-combobox-column><% }); %>
|
|
48
48
|
</kendo-multicolumncombobox><% if(swaggerProperty.required) { %>
|
|
49
49
|
<div *ngIf="(submitted$ | async) && formControlErrors(props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>)" class="invalid-feedback d-block">
|
|
@@ -15,8 +15,8 @@ import { <%= classify(name) %>CrudFacade } from './crud.facade';
|
|
|
15
15
|
return {
|
|
16
16
|
currentEntity$: of({}),<% swaggerObjectProperties.filter(t=> !t.enum).forEach(function(swaggerProperty){ %>
|
|
17
17
|
<%= camelize(swaggerProperty.pluralizedName) %>$: of([
|
|
18
|
-
{ <% swaggerProperty.properties.filter(t=> t.type === 'string').forEach(function(swaggerSubProperty){ %><%= camelize(swaggerSubProperty.name) %>: 'abc',<% }); %> },
|
|
19
|
-
{ <% swaggerProperty.properties.filter(t=> t.type === 'string').forEach(function(swaggerSubProperty){ %><%= camelize(swaggerSubProperty.name) %>: 'xyz',<% }); %> },]),
|
|
18
|
+
{ <% swaggerProperty.properties.filter(t=> t.type === 'string' && !t.hidden).forEach(function(swaggerSubProperty){ %><%= camelize(swaggerSubProperty.name) %>: 'abc',<% }); %> },
|
|
19
|
+
{ <% swaggerProperty.properties.filter(t=> t.type === 'string' && !t.hidden).forEach(function(swaggerSubProperty){ %><%= camelize(swaggerSubProperty.name) %>: 'xyz',<% }); %> },]),
|
|
20
20
|
load<%= classify(swaggerProperty.pluralizedName) %>: jest.fn(),<% }); %>
|
|
21
21
|
};
|
|
22
22
|
}<% } %>
|
|
@@ -71,7 +71,7 @@ describe('<%= classify(name) %>AddComponent', () => {
|
|
|
71
71
|
expect(facade.updateExistingEntity).toHaveBeenCalledTimes(0);
|
|
72
72
|
<% if (hasDates) { %>
|
|
73
73
|
expect(item).toMatchSnapshot({
|
|
74
|
-
<% swaggerProperties.filter(t=> t.format === 'date-time' || t.format === 'date').forEach(function(swaggerProperty)
|
|
74
|
+
<% swaggerProperties.filter(t=> (t.format === 'date-time' || t.format === 'date') && !t.hidden).forEach(function(swaggerProperty)
|
|
75
75
|
{%> <%= swaggerProperty.name %>: expect.any(Date),
|
|
76
76
|
<% }); %> });
|
|
77
77
|
<% } else { %>
|
|
@@ -20,7 +20,7 @@ export abstract class <%= classify(name) %>BaseEntryComponent extends BaseDataEn
|
|
|
20
20
|
this.<%= camelize(swaggerProperty.pluralizedName) %>$ = facade.<%= camelize(swaggerProperty.pluralizedName) %>$.pipe(
|
|
21
21
|
switchMap(<%= camelize(swaggerProperty.pluralizedName) %> => this.<%= camelize(swaggerProperty.name) %>Filter$.pipe(
|
|
22
22
|
map(<%= camelize(swaggerProperty.name) %>Filter => <%= camelize(swaggerProperty.name) %>Filter ? <%= camelize(swaggerProperty.pluralizedName) %>
|
|
23
|
-
.filter(<%= camelize(swaggerProperty.name) %> => (<% swaggerProperty.properties.filter(f => f.name !== 'id' && f.htmlInputType !== 'object').forEach(function(swaggerSubProperty, i, arr){
|
|
23
|
+
.filter(<%= camelize(swaggerProperty.name) %> => (<% swaggerProperty.properties.filter(f => f.name !== 'id' && f.htmlInputType !== 'object' && !f.hidden).forEach(function(swaggerSubProperty, i, arr){%>
|
|
24
24
|
(<%= camelize(swaggerProperty.name) %>.<%= camelize(swaggerSubProperty.name) %> && <%= camelize(swaggerProperty.name) %>.<%= camelize(swaggerSubProperty.name) %><% if(swaggerSubProperty.format){ %>.toString()<% } %>.toLowerCase().indexOf(<%= camelize(swaggerProperty.name) %>Filter) >= 0)<% if (i + 1 != arr.length) { %> ||<% } }) %>
|
|
25
25
|
)) : <%= camelize(swaggerProperty.pluralizedName) %>
|
|
26
26
|
))));<% }) %>
|
|
@@ -28,7 +28,7 @@ export abstract class <%= classify(name) %>BaseEntryComponent extends BaseDataEn
|
|
|
28
28
|
|
|
29
29
|
public override ngOnInit(): void {
|
|
30
30
|
this.initForm();<% swaggerObjectProperties.filter(t=> !t.enum).forEach(function(swaggerProperty){ %>
|
|
31
|
-
this.facade.load<%= classify(swaggerProperty.pluralizedName) %>({ selectors: [<% swaggerProperty.properties.forEach(function(swaggerSubProperty){ %>
|
|
31
|
+
this.facade.load<%= classify(swaggerProperty.pluralizedName) %>({ selectors: [<% swaggerProperty.properties.filter(t=> !t.hidden).forEach(function(swaggerSubProperty){ %>
|
|
32
32
|
<%= classify(swaggerProperty.propertyTypeName) %>Properties.<%= swaggerSubProperty.snakeCaseName.toUpperCase() %>,<% }) %>] });<% }) %>
|
|
33
33
|
}
|
|
34
34
|
|
|
@@ -54,7 +54,7 @@ describe('<%= classify(name) %>EditComponent', () => {
|
|
|
54
54
|
expect(facade.updateExistingEntity).toHaveBeenCalledTimes(1);
|
|
55
55
|
<% if (hasDates) { %>
|
|
56
56
|
expect(item).toMatchSnapshot({
|
|
57
|
-
<% swaggerProperties.filter(t=> t.format === 'date-time' || t.format === 'date').forEach(function(swaggerProperty)
|
|
57
|
+
<% swaggerProperties.filter(t=> (t.format === 'date-time' || t.format === 'date') && !t.hidden).forEach(function(swaggerProperty)
|
|
58
58
|
{%> <%= swaggerProperty.name %>: expect.any(Date),
|
|
59
59
|
<% }); %> });
|
|
60
60
|
<% } else { %>
|
|
@@ -83,8 +83,10 @@ describe('<%= classify(name) %>EditComponent', () => {
|
|
|
83
83
|
test('should support <%= classify(swaggerProperty.name) %> filters', async () => {
|
|
84
84
|
component.handle<%= classify(swaggerProperty.name) %>Filter('xy');
|
|
85
85
|
const result = await readFirst(component.<%= camelize(swaggerProperty.pluralizedName) %>$);
|
|
86
|
-
expect(result).toStrictEqual([{ <% swaggerProperty.properties.filter(t=>
|
|
87
|
-
});<% });
|
|
86
|
+
expect(result).toStrictEqual([{ <% swaggerProperty.properties.filter(t=> t.type === 'string' && !t.hidden).forEach(function(swaggerSubProperty){ %><%= camelize(swaggerSubProperty.name) %>: 'xyz',<% }); %> }]);
|
|
87
|
+
});<% }); %>
|
|
88
|
+
|
|
89
|
+
<% swaggerObjectProperties.filter(t=> t.enum).forEach(function(swaggerProperty){ %>
|
|
88
90
|
test('should handle <%= classify(swaggerProperty.name) %> filters', async () => {
|
|
89
91
|
component.handle<%= classify(swaggerProperty.name) %>Filter('abc-xyz');
|
|
90
92
|
const result = await readFirst(component.<%= camelize(swaggerProperty.pluralizedName) %>$);
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
entityName="<%= classify(name) %>"
|
|
7
7
|
(addItemClicked)="addItem()"
|
|
8
8
|
(reloadEntitiesClicked)="reloadEntities()"
|
|
9
|
-
(
|
|
9
|
+
(resetFiltersClicked)="resetFilters()"
|
|
10
10
|
[hasHiddenColumns$]="hasHiddenColumns$">
|
|
11
11
|
</imng-kendo-odata-grid-header>
|
|
12
12
|
</div>
|
|
@@ -46,11 +46,11 @@
|
|
|
46
46
|
</ng-template>
|
|
47
47
|
</kendo-grid-column>
|
|
48
48
|
<% swaggerProperties.forEach(function(swaggerProperty) {%><% if ((swaggerProperty.format === 'date-time') && swaggerProperty.name.toLowerCase().endsWith('utc') ) { %>
|
|
49
|
-
<kendo-grid-column [field]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" [width]="100" format="{0:MM/dd/yy
|
|
49
|
+
<kendo-grid-column [field]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" [width]="100" format="{0:MM/dd/yy HH:mm}" title="<%= swaggerProperty.startCaseName %>" filter="<%= swaggerProperty.filterExpression %>" [hidden]="<%= swaggerProperty.hidden %>">
|
|
50
50
|
<%} else if (swaggerProperty.format === 'date-time' || swaggerProperty.format === 'date') { %>
|
|
51
|
-
<kendo-grid-column [field]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" [width]="100" format="{0:MM/dd/yy}" title="<%= swaggerProperty.startCaseName %>" filter="<%= swaggerProperty.filterExpression %>">
|
|
51
|
+
<kendo-grid-column [field]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" [width]="100" format="{0:MM/dd/yy}" title="<%= swaggerProperty.startCaseName %>" filter="<%= swaggerProperty.filterExpression %>" [hidden]="<%= swaggerProperty.hidden %>">
|
|
52
52
|
<%} else if (swaggerProperty.type === 'boolean') { %>
|
|
53
|
-
<kendo-grid-column [field]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" [width]="100" title="<%= swaggerProperty.startCaseName %>" filter="<%= swaggerProperty.filterExpression %>">
|
|
53
|
+
<kendo-grid-column [field]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" [width]="100" title="<%= swaggerProperty.startCaseName %>" filter="<%= swaggerProperty.filterExpression %>" [hidden]="<%= swaggerProperty.hidden %>">
|
|
54
54
|
<ng-template kendoGridCellTemplate let-dataItem>
|
|
55
55
|
<div *ngIf="dataItem[props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>]">
|
|
56
56
|
<span class="text-success font-weight-bolder h2" tooltip="<%= swaggerProperty.startCaseName %>">
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
</div>
|
|
60
60
|
</ng-template>
|
|
61
61
|
<%} else if (swaggerProperty.format === 'uuid') { %>
|
|
62
|
-
<kendo-grid-column [field]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" [width]="100" title="<%= swaggerProperty.startCaseName %>" filter="<%= swaggerProperty.filterExpression %>">
|
|
62
|
+
<kendo-grid-column [field]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" [width]="100" title="<%= swaggerProperty.startCaseName %>" filter="<%= swaggerProperty.filterExpression %>" [hidden]="<%= swaggerProperty.hidden %>">
|
|
63
63
|
<ng-template kendoGridCellTemplate let-dataItem>
|
|
64
64
|
<imng-kendo-copy
|
|
65
65
|
[displayValue]="dataItem[props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>] | slice:0:5"
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
[field]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>"
|
|
75
75
|
[width]="100"
|
|
76
76
|
title="<%= swaggerProperty.startCaseName %>"
|
|
77
|
-
filter="<%= swaggerProperty.filterExpression %>">
|
|
77
|
+
filter="<%= swaggerProperty.filterExpression %>" [hidden]="<%= swaggerProperty.hidden %>">
|
|
78
78
|
<ng-template kendoGridFilterMenuTemplate let-column="column">
|
|
79
79
|
<imng-multi-select-filter
|
|
80
80
|
[isPrimitive]="false"
|
|
@@ -90,9 +90,9 @@
|
|
|
90
90
|
<%} else if (swaggerProperty.htmlInputType === 'object') { %>
|
|
91
91
|
<kendo-grid-column
|
|
92
92
|
[field]="getRelatedField(props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>, <%= camelize(swaggerProperty.name) %>Props.<%= swaggerProperty.firstProperty?.snakeCaseName.toUpperCase() %>)"
|
|
93
|
-
[width]="100" title="<%= swaggerProperty.startCaseName %>" filter="<%= swaggerProperty.filterExpression %>">
|
|
93
|
+
[width]="100" title="<%= swaggerProperty.startCaseName %>" filter="<%= swaggerProperty.filterExpression %>" [hidden]="<%= swaggerProperty.hidden %>">
|
|
94
94
|
<%} else { %>
|
|
95
|
-
<kendo-grid-column [field]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" [width]="100" title="<%= swaggerProperty.startCaseName %>" filter="<%= swaggerProperty.filterExpression %>">
|
|
95
|
+
<kendo-grid-column [field]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" [width]="100" title="<%= swaggerProperty.startCaseName %>" filter="<%= swaggerProperty.filterExpression %>" [hidden]="<%= swaggerProperty.hidden %>">
|
|
96
96
|
<%} %> <ng-template class="header" kendoGridHeaderTemplate let-column>
|
|
97
97
|
<span class="h6" title="<%= swaggerProperty.startCaseName %>"><%= swaggerProperty.startCaseName %></span>
|
|
98
98
|
</ng-template>
|
|
@@ -4,17 +4,17 @@
|
|
|
4
4
|
<h4><%= startCasedPluralName %></h4>
|
|
5
5
|
<imng-kendo-odata-grid-header
|
|
6
6
|
(reloadEntitiesClicked)="reloadEntities()"
|
|
7
|
-
[
|
|
7
|
+
[hideResetFilters]="true"
|
|
8
8
|
[hasHiddenColumns$]="hasHiddenColumns$">
|
|
9
9
|
</imng-kendo-odata-grid-header>
|
|
10
10
|
</div>
|
|
11
11
|
</ng-template>
|
|
12
12
|
<% swaggerProperties.forEach(function(swaggerProperty) {%><% if ((swaggerProperty.format === 'date-time' || swaggerProperty.format === 'date') && swaggerProperty.name.toLowerCase().endsWith('utc') ) { %>
|
|
13
|
-
<kendo-grid-column [field]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" [width]="100" format="{0:MM/dd/yy
|
|
13
|
+
<kendo-grid-column [field]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" [width]="100" format="{0:MM/dd/yy HH:mm}" title="<%= swaggerProperty.startCaseName %>" filter="<%= swaggerProperty.filterExpression %>" [hidden]="<%= swaggerProperty.hidden %>>
|
|
14
14
|
<%} else if (swaggerProperty.format === 'date-time' || swaggerProperty.format === 'date') { %>
|
|
15
|
-
<kendo-grid-column [field]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" [width]="100" format="{0:MM/dd/yy}" title="<%= swaggerProperty.startCaseName %>" filter="<%= swaggerProperty.filterExpression %>"
|
|
15
|
+
<kendo-grid-column [field]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" [width]="100" format="{0:MM/dd/yy}" title="<%= swaggerProperty.startCaseName %>" filter="<%= swaggerProperty.filterExpression %>" [hidden]="<%= swaggerProperty.hidden %>>
|
|
16
16
|
<%} else if (swaggerProperty.type === 'boolean') { %>
|
|
17
|
-
<kendo-grid-column [field]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" [width]="100" title="<%= swaggerProperty.startCaseName %>" filter="<%= swaggerProperty.filterExpression %>"
|
|
17
|
+
<kendo-grid-column [field]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" [width]="100" title="<%= swaggerProperty.startCaseName %>" filter="<%= swaggerProperty.filterExpression %>" [hidden]="<%= swaggerProperty.hidden %>>
|
|
18
18
|
<ng-template kendoGridCellTemplate let-dataItem>
|
|
19
19
|
<div *ngIf="dataItem.<%= underscore(swaggerProperty.name) %>">
|
|
20
20
|
<span class="text-success font-weight-bolder h2" placement="left" tooltip="Active">
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
</div>
|
|
24
24
|
</ng-template>
|
|
25
25
|
<%} else if (swaggerProperty.format === 'uuid') { %>
|
|
26
|
-
<kendo-grid-column [field]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" [width]="100" title="<%= swaggerProperty.startCaseName %>" filter="<%= swaggerProperty.filterExpression %>"
|
|
26
|
+
<kendo-grid-column [field]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" [width]="100" title="<%= swaggerProperty.startCaseName %>" filter="<%= swaggerProperty.filterExpression %>" [hidden]="<%= swaggerProperty.hidden %>>
|
|
27
27
|
<ng-template kendoGridCellTemplate let-dataItem>
|
|
28
28
|
<imng-kendo-copy
|
|
29
29
|
[displayValue]="dataItem[props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>] | slice:0:5"
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
[field]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>"
|
|
39
39
|
[width]="100"
|
|
40
40
|
title="<%= swaggerProperty.startCaseName %>"
|
|
41
|
-
filter="<%= swaggerProperty.filterExpression %>"
|
|
41
|
+
filter="<%= swaggerProperty.filterExpression %>" [hidden]="<%= swaggerProperty.hidden %>>
|
|
42
42
|
<ng-template kendoGridFilterMenuTemplate let-column="column">
|
|
43
43
|
<imng-multi-select-filter
|
|
44
44
|
[isPrimitive]="false"
|
|
@@ -54,12 +54,12 @@
|
|
|
54
54
|
<%} else if (swaggerProperty.htmlInputType === 'object') { %>
|
|
55
55
|
<kendo-grid-column
|
|
56
56
|
[field]="getRelatedField(props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>, <%= camelize(swaggerProperty.name) %>Props.<%= swaggerProperty.firstProperty?.snakeCaseName.toUpperCase() %>)"
|
|
57
|
-
[width]="100" title="<%= swaggerProperty.startCaseName %>" filter="<%= swaggerProperty.filterExpression %>"
|
|
57
|
+
[width]="100" title="<%= swaggerProperty.startCaseName %>" filter="<%= swaggerProperty.filterExpression %>" [hidden]="<%= swaggerProperty.hidden %>>
|
|
58
58
|
<ng-template kendoGridCellTemplate let-dataItem>
|
|
59
59
|
{{ getRelatedValue(dataItem, props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>, <%= camelize(swaggerProperty.name) %>Props.<%= swaggerProperty.firstProperty?.snakeCaseName.toUpperCase() %>) }}
|
|
60
60
|
</ng-template>
|
|
61
61
|
<%} else { %>
|
|
62
|
-
<kendo-grid-column [field]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" [width]="100" title="<%= swaggerProperty.startCaseName %>" filter="<%= swaggerProperty.filterExpression %>"
|
|
62
|
+
<kendo-grid-column [field]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" [width]="100" title="<%= swaggerProperty.startCaseName %>" filter="<%= swaggerProperty.filterExpression %>" [hidden]="<%= swaggerProperty.hidden %>>
|
|
63
63
|
<%} %> <ng-template class="header" kendoGridHeaderTemplate let-column>
|
|
64
64
|
<span class="h6"><%= swaggerProperty.startCaseName %></span>
|
|
65
65
|
</ng-template>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { PropertyInfo, OpenApiComponent, OpenApiDocument } from './open-api-component';
|
|
2
2
|
import { IOptions } from './options';
|
|
3
|
+
export declare const excludedFields: string[];
|
|
3
4
|
export declare function mapProperties(properties: {
|
|
4
5
|
[key: string]: PropertyInfo;
|
|
5
6
|
}, options: IOptions, openApiComponent: OpenApiComponent, openApiDoc: OpenApiDocument): {
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.excludedFields = void 0;
|
|
3
4
|
exports.mapProperties = mapProperties;
|
|
4
5
|
const pluralize = require("pluralize");
|
|
5
6
|
const rules_1 = require("./rules");
|
|
6
|
-
|
|
7
|
+
exports.excludedFields = ['createdBy', 'createdOnUtc', 'updateCount', 'tenantId', 'updatedBy', 'updatedOnUtc',];
|
|
7
8
|
function mapProperties(properties, options, openApiComponent, openApiDoc) {
|
|
8
9
|
var _a;
|
|
9
10
|
let firstProperty;
|
|
10
11
|
const filteredProperties = [];
|
|
11
12
|
for (const propertyKey in properties) {
|
|
12
13
|
const originalProperty = properties[propertyKey];
|
|
13
|
-
|
|
14
|
+
originalProperty.hidden = exports.excludedFields.indexOf(propertyKey) >= 0;
|
|
15
|
+
if (originalProperty.type !== 'array') {
|
|
14
16
|
const property = (0, rules_1.mapPropertyAttributes)(options, originalProperty, Object.assign(Object.assign({}, properties[propertyKey]), { name: propertyKey, required: ((_a = openApiComponent.required) !== null && _a !== void 0 ? _a : []).indexOf(propertyKey) > -1 }));
|
|
15
17
|
mapReferencedProperties(property, propertyKey, openApiComponent, openApiDoc);
|
|
16
18
|
if (!firstProperty && propertyKey !== 'id') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-properties.js","sourceRoot":"","sources":["../../../src/shared/map-properties.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"map-properties.js","sourceRoot":"","sources":["../../../src/shared/map-properties.ts"],"names":[],"mappings":";;;AAOA,sCAqBC;AA5BD,uCAAuC;AAGvC,mCAAgD;AAEnC,QAAA,cAAc,GAAG,CAAC,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;AAErH,SAAgB,aAAa,CAAC,UAA4C,EAAE,OAAiB,EAAE,gBAAkC,EAAE,UAA2B;;IAC5J,IAAI,aAAuC,CAAC;IAC5C,MAAM,kBAAkB,GAAmB,EAAE,CAAC;IAC9C,KAAK,MAAM,WAAW,IAAI,UAAU,EAAE,CAAC;QACrC,MAAM,gBAAgB,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QACjD,gBAAgB,CAAC,MAAM,GAAG,sBAAc,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,gBAAgB,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,IAAA,6BAAqB,EAAC,OAAO,EAAE,gBAAgB,kCAC3D,UAAU,CAAC,WAAW,CAAC,KAC1B,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,CAAC,MAAA,gBAAgB,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IACrE,CAAC;YAEH,uBAAuB,CAAC,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;YAC7E,IAAI,CAAC,aAAa,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC3C,aAAa,GAAG,QAAQ,CAAC;YAC3B,CAAC;YACD,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC;AAC/C,CAAC;AACD,SAAS,uBAAuB,CAAC,QAAsB,EAAE,WAAmB,EAAE,gBAAkC,EAAE,UAA2B;;IAC3I,MAAM,IAAI,GAAG,gBAAgB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,0CAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAW,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QACnD,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACrC,QAAQ,CAAC,0BAA0B,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjE,QAAQ,CAAC,4BAA4B,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7D,QAAQ,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAClC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YAC3D,QAAQ,CAAC,gBAAgB,GAAG,GAAG,QAAQ,CAAC,0BAA0B,IAAI,KAAK,EAAE,CAAA;QAC/E,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -93,7 +93,7 @@ function mapPropertyAttributes(options, source, dest) {
|
|
|
93
93
|
dest.htmlInputType = 'date';
|
|
94
94
|
dest.filterExpression = 'date';
|
|
95
95
|
dest.testFactoryValue = 'new Date()';
|
|
96
|
-
options.hasDates =
|
|
96
|
+
options.hasDates = options.hasDates || !source.hidden;
|
|
97
97
|
}
|
|
98
98
|
else if (source.$ref) {
|
|
99
99
|
dest.htmlInputType = 'object';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../src/shared/rules.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../src/shared/rules.ts"],"names":[],"mappings":"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"}
|