Skip to content

Commit b69fe29

Browse files
IlyaKhDAnber
andauthored
Move metadata mutations in bulk into the monorepo (#31295)
Co-authored-by: Anton Evzhakov <[email protected]>
1 parent 16bf8d7 commit b69fe29

File tree

12 files changed

+436
-121
lines changed

12 files changed

+436
-121
lines changed

.tool-versions

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
dotnet 8
2+
nodejs 20.19.4
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
*-log.jsonl
2+
*-log.txt
3+
*-log-archive_??.jsonl
4+
*-log-archive_??.txt

packages/devextreme-metadata/aspnet/enums.ts

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
export const enums = {
22
AnimationEasing: {
3-
items: [
3+
Items: [
44
'ease',
55
'ease-in',
66
'ease-in-out',
@@ -12,10 +12,10 @@ export const enums = {
1212
],
1313
},
1414
EdmType: {
15-
items: ['Guid', 'Int32', 'Int64', 'String', 'Boolean', 'Single', 'Decimal'],
15+
Items: ['Guid', 'Int32', 'Int64', 'String', 'Boolean', 'Single', 'Decimal'],
1616
},
1717
FilterOperations: {
18-
items: [
18+
Items: [
1919
'=',
2020
'<>',
2121
'<',
@@ -30,7 +30,7 @@ export const enums = {
3030
],
3131
},
3232
GaugeIndicatorType: {
33-
items: [
33+
Items: [
3434
'circle',
3535
'rangeBar',
3636
'rectangle',
@@ -41,13 +41,13 @@ export const enums = {
4141
'triangleNeedle',
4242
'twoColorNeedle',
4343
],
44-
options: ['GaugeIndicator.type'],
44+
Options: ['GaugeIndicator.type'],
4545
},
4646
GeoMapProvider: {
47-
items: ['bing', 'google', 'googleStatic', 'azure'],
47+
Items: ['bing', 'google', 'googleStatic', 'azure'],
4848
},
4949
SchedulerViewType: {
50-
items: [
50+
Items: [
5151
'agenda',
5252
'day',
5353
'month',
@@ -58,53 +58,53 @@ export const enums = {
5858
'week',
5959
'workWeek',
6060
],
61-
options: ['dxScheduler.views'],
61+
Options: ['dxScheduler.views'],
6262
},
6363
ShowScrollbarMode: {
64-
items: ['always', 'never', 'onHover', 'onScroll'],
65-
options: ['dxScrollView.showScrollbar'],
64+
Items: ['always', 'never', 'onHover', 'onScroll'],
65+
Options: ['dxScrollView.showScrollbar'],
6666
},
6767
TextEditorButtonWidget: {
68-
items: ['dxButton'],
68+
Items: ['dxButton'],
6969
},
7070
DiagramDataLayoutOrientation: {
71-
items: ['vertical', 'horizontal'],
71+
Items: ['vertical', 'horizontal'],
7272
},
7373
GanttSortingMode: {
74-
items: ['multiple', 'none', 'single'],
74+
Items: ['multiple', 'none', 'single'],
7575
},
7676
GridSortingMode: {
77-
items: ['multiple', 'none', 'single'],
77+
Items: ['multiple', 'none', 'single'],
7878
},
7979
PieChartLegendHoverMode: {
80-
items: ['none', 'allArgumentPoints'],
80+
Items: ['none', 'allArgumentPoints'],
8181
},
8282
PolarChartOverlappingBehavior: {
83-
items: ['none', 'hide'],
83+
Items: ['none', 'hide'],
8484
},
8585
SelectionMode: {
86-
items: ['multiple', 'none', 'single'],
86+
Items: ['multiple', 'none', 'single'],
8787
},
8888
PolarChartResolveLabelOverlapping: {
89-
items: ['hide', 'none'],
89+
Items: ['hide', 'none'],
9090
},
9191
ButtonGroupSelectionMode: {
92-
items: ['multiple', 'single', 'none'],
92+
Items: ['multiple', 'single', 'none'],
9393
},
9494
ChartElementSelectionMode: {
95-
items: ['multiple', 'single'],
95+
Items: ['multiple', 'single'],
9696
},
9797
FileManagerSelectionMode: {
98-
items: ['multiple', 'single'],
98+
Items: ['multiple', 'single'],
9999
},
100100
ListSelectionMode: {
101-
items: ['all', 'multiple', 'none', 'single'],
101+
Items: ['all', 'multiple', 'none', 'single'],
102102
},
103103
MenuSelectionMode: {
104-
items: ['none', 'single'],
104+
Items: ['none', 'single'],
105105
},
106106
NavSelectionMode: {
107-
items: ['multiple', 'single'],
107+
Items: ['multiple', 'single'],
108108
},
109109
};
110110

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import { replaceTypes, ReplaceTypesMutation } from 'devextreme-internal-tools/ts/config/metadata';
2+
3+
const commonSeriesOptions = [
4+
'area',
5+
'bar',
6+
'bubble',
7+
'candlestick',
8+
'fullStackedArea',
9+
'fullStackedBar',
10+
'fullStackedLine',
11+
'fullStackedSplineArea',
12+
'fullStackedSpline',
13+
'line',
14+
'rangeArea',
15+
'rangeBar',
16+
'scatter',
17+
'splineArea',
18+
'spline',
19+
'stackedArea',
20+
'stackedBar',
21+
'stackedLine',
22+
'stackedSplineArea',
23+
'stackedSpline',
24+
'stepArea',
25+
'stepLine',
26+
'stock',
27+
].map((i) => i.toLowerCase());
28+
29+
export const replaceTypesMutations: ReplaceTypesMutation[] = [
30+
replaceTypes(
31+
commonSeriesOptions.map((p) => `viz/chart:CommonSeriesSettings.${p}`),
32+
['any'],
33+
[{ kind: 'unknown', customName: 'ChartCommonSeriesSettings' }],
34+
),
35+
36+
replaceTypes(
37+
commonSeriesOptions.map((p) => `viz/polar_chart:CommonSeriesSettings.${p}`),
38+
['any'],
39+
[{ kind: 'unknown', customName: 'PolarChartCommonSeriesSettings' }],
40+
),
41+
42+
replaceTypes(
43+
['viz/range_selector:dxRangeSelectorOptions.chart.commonSeriesSettings'],
44+
['*'],
45+
[{ kind: 'unknown', customName: 'ChartCommonSeriesSettings' }],
46+
),
47+
];

packages/devextreme-metadata/common/index.ts

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,4 @@
1-
import {
2-
AddMutation,
3-
DataType,
4-
DataTypes,
5-
Mutation,
6-
RemoveMutation,
7-
} from 'devextreme-internal-tools/metadata';
1+
import { DataTypes } from 'devextreme-internal-tools/metadata';
82
import { existsSync, unlinkSync } from 'fs';
93
import { join } from 'path';
104
import { PATHS } from './paths';
@@ -20,28 +14,13 @@ export function cleanArtifacts(...files: string[]) {
2014
}
2115
}
2216

23-
export function removeMembers(uidPattern: RegExp): RemoveMutation {
24-
return { kind: 'remove', uid: uidPattern };
25-
}
26-
27-
export function addMember({ uid, name, parent, types }: Omit<AddMutation, 'kind'>): AddMutation {
28-
return { kind: 'add', uid, name, parent, types };
29-
}
30-
31-
export function replaceTypes({ uid, types }: { uid: string; types: DataType[] }): Mutation[] {
32-
return [
33-
{ kind: 'remove', uid: new RegExp(uid) },
34-
{ kind: 'add', uid, types },
35-
];
36-
}
37-
3817
export const types = {
3918
array(...itemTypes: DataTypes.Array['itemTypes']): DataTypes.Array {
4019
return { kind: 'array', itemTypes };
4120
},
4221

43-
uidRef(uid: string): DataTypes.UidRef {
44-
return { kind: 'uidRef', uid };
22+
uidRef(uid: string, ambient: boolean = false): DataTypes.UidRef {
23+
return { kind: 'uidRef', uid, ambient };
4524
},
4625

4726
object: { kind: 'object' } as DataTypes.Object,

packages/devextreme-metadata/discover-declarations.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,13 @@ Declarations.discover({
2020
typeRoots: [],
2121
},
2222
},
23+
24+
variables: {
25+
oldNamespaces: {
26+
ComponentOptions: 'DevExpress',
27+
DOMComponentOptions: 'DevExpress',
28+
PivotGridDataSourceOptions: 'DevExpress.data',
29+
XmlaStoreOptions: 'DevExpress.data',
30+
},
31+
},
2332
});

packages/devextreme-metadata/make-angular-metadata.ts

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
import { Ng } from 'devextreme-internal-tools/metadata';
2-
import { cleanArtifacts, removeMembers } from './common';
1+
import { Ng, removeMembers, replaceTypes } from 'devextreme-internal-tools/metadata';
2+
import { cleanArtifacts, types } from './common';
33
import { commonSmdCollectionItems } from './common/smd';
44
import { NG_SMD_FILE, PATHS } from './common/paths';
5+
import { replaceTypesMutations } from './common-smd-mutations';
56

67
cleanArtifacts(NG_SMD_FILE, 'NgSmdGenerator.cfg.json');
78

@@ -10,6 +11,41 @@ Ng.makeMetadata({
1011
artifacts: PATHS.artifactsDir,
1112
},
1213
mutations: [
14+
[
15+
['ui/box:dxBoxOptions', 'ui/box:dxBoxItem.box'],
16+
['ui/button:dxButtonOptions', 'common:TextEditorButton.options'],
17+
['ui/button:dxButtonOptions', 'ui/form:dxFormButtonItem.buttonOptions'],
18+
['ui/calendar:dxCalendarOptions', 'ui/date_box:DateBoxBaseOptions.calendarOptions'],
19+
['ui/filter_builder:dxFilterBuilderOptions', 'common/grids:GridBaseOptions.filterBuilder'],
20+
['ui/filter_builder:dxFilterBuilderOptions', 'ui/card_view:dxCardViewOptions.filterBuilder'],
21+
['ui/popover:dxPopoverOptions', 'ui/lookup:dxLookupOptions.dropDownOptions'],
22+
['ui/popup:dxPopupOptions', 'common/grids:EditingBase.popup'],
23+
['ui/popup:dxPopupOptions', 'common/grids:GridBaseOptions.filterBuilderPopup'],
24+
['ui/popup:dxPopupOptions', 'ui/autocomplete:dxAutocompleteOptions.dropDownOptions'],
25+
['ui/popup:dxPopupOptions', 'ui/card_view:dxCardViewOptions.filterBuilderPopup'],
26+
['ui/popup:dxPopupOptions', 'ui/color_box:dxColorBoxOptions.dropDownOptions'],
27+
['ui/popup:dxPopupOptions', 'ui/date_box:DateBoxBaseOptions.dropDownOptions'],
28+
['ui/popup:dxPopupOptions', 'ui/drop_down_box:dxDropDownBoxOptions.dropDownOptions'],
29+
['ui/popup:dxPopupOptions', 'ui/drop_down_button:dxDropDownButtonOptions.dropDownOptions'],
30+
['ui/popup:dxPopupOptions', 'ui/select_box:dxSelectBoxOptions.dropDownOptions'],
31+
['ui/sortable:dxSortableOptions', 'ui/list:dxListOptions.itemDragging'],
32+
['ui/splitter:dxSplitterOptions', 'ui/splitter:dxSplitterItem.splitter'],
33+
['ui/tab_panel:dxTabPanelOptions', 'ui/form:dxFormTabbedItem.tabPanelOptions'],
34+
[
35+
'ui/text_box:dxTextBoxOptions',
36+
'ui/widget/ui.search_box_mixin:SearchBoxMixinOptions.searchEditorOptions',
37+
],
38+
].map((pair) => replaceTypes(pair[1], ['*'], [types.uidRef(pair[0], true), 'undefined'])),
39+
40+
[
41+
['ui/form:dxFormOptions', 'common/grids:EditingBase.form'],
42+
['ui/form:dxFormOptions', 'ui/card_view:Editing.form'],
43+
['ui/popup:dxPopupOptions', 'common/grids:EditingBase.popup'],
44+
['ui/popup:dxPopupOptions', 'ui/card_view:Editing.popup'],
45+
].map((pair) => replaceTypes(pair[1], ['*'], [types.uidRef(pair[0], true)])),
46+
47+
...replaceTypesMutations,
48+
1349
removeMembers(/\/grids:ColumnBase.ai/),
1450
removeMembers(/\/calendar:dxCalendarOptions.todayButtonText/),
1551
removeMembers(/\/card_view:/),
@@ -28,6 +64,6 @@ Ng.makeMetadata({
2864
removeMembers(/\/speech_to_text:/),
2965
],
3066
variables: {
31-
collectionItems: [...commonSmdCollectionItems],
67+
CollectionItems: [...commonSmdCollectionItems],
3268
},
3369
});

0 commit comments

Comments
 (0)