vk-typescript-cli 1.0.0
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/Jenkinsfile +48 -0
- package/README.md +300 -0
- package/bin/sf.js +438 -0
- package/eslint.config.js +90 -0
- package/gulpfile.js +157 -0
- package/lib/commander.js +3370 -0
- package/lib/inquirer-prompts.js +2038 -0
- package/license +13 -0
- package/package.json +43 -0
- package/smoke-test.mjs +38 -0
- package/src/commands/add.js +276 -0
- package/src/commands/info.js +82 -0
- package/src/commands/interactive.js +493 -0
- package/src/commands/mcp.js +135 -0
- package/src/commands/new.js +264 -0
- package/src/commands/skills.js +42 -0
- package/src/commands/theme.js +200 -0
- package/src/commands/upgrade.js +219 -0
- package/src/constants.js +161 -0
- package/src/generators/angular.js +878 -0
- package/src/generators/nextjs.js +817 -0
- package/src/generators/react.js +769 -0
- package/src/generators/typescript.js +258 -0
- package/src/generators/vue.js +800 -0
- package/src/templates/angular/chart.component.html +23 -0
- package/src/templates/angular/chart.component.ts +172 -0
- package/src/templates/angular/diagram.component.html +13 -0
- package/src/templates/angular/diagram.component.ts +224 -0
- package/src/templates/angular/docx-editor.component.html +18 -0
- package/src/templates/angular/docx-editor.component.ts +37 -0
- package/src/templates/angular/filemanager.component.html +4 -0
- package/src/templates/angular/filemanager.component.ts +47 -0
- package/src/templates/angular/gantt.component.html +32 -0
- package/src/templates/angular/gantt.component.ts +95 -0
- package/src/templates/angular/grid.component.html +12 -0
- package/src/templates/angular/grid.component.ts +58 -0
- package/src/templates/angular/pdf-viewer.component.html +9 -0
- package/src/templates/angular/pdf-viewer.component.ts +48 -0
- package/src/templates/angular/rte.component.html +7 -0
- package/src/templates/angular/rte.component.ts +13 -0
- package/src/templates/angular/scheduler.component.html +17 -0
- package/src/templates/angular/scheduler.component.ts +75 -0
- package/src/templates/angular/spreadsheet-editor.component.html +42 -0
- package/src/templates/angular/spreadsheet-editor.component.ts +61 -0
- package/src/templates/chart-template.js +20 -0
- package/src/templates/diagram-template.js +26 -0
- package/src/templates/docx-template.js +20 -0
- package/src/templates/filemanager-template.js +20 -0
- package/src/templates/gantt-template.js +20 -0
- package/src/templates/grid-template.js +20 -0
- package/src/templates/pdfviewer-template.js +20 -0
- package/src/templates/react/Chart.jsx +81 -0
- package/src/templates/react/Chart.tsx +81 -0
- package/src/templates/react/DOCXEditor.jsx +37 -0
- package/src/templates/react/DOCXEditor.tsx +37 -0
- package/src/templates/react/Diagram.jsx +192 -0
- package/src/templates/react/Diagram.tsx +195 -0
- package/src/templates/react/FileManager.jsx +13 -0
- package/src/templates/react/FileManager.tsx +13 -0
- package/src/templates/react/Gantt.jsx +89 -0
- package/src/templates/react/Gantt.tsx +89 -0
- package/src/templates/react/Grid.jsx +45 -0
- package/src/templates/react/Grid.tsx +45 -0
- package/src/templates/react/PDFViewer.jsx +16 -0
- package/src/templates/react/PDFViewer.tsx +16 -0
- package/src/templates/react/RTE.jsx +14 -0
- package/src/templates/react/RTE.tsx +14 -0
- package/src/templates/react/Scheduler.jsx +55 -0
- package/src/templates/react/Scheduler.tsx +55 -0
- package/src/templates/react/SpreadsheetEditor.jsx +96 -0
- package/src/templates/react/SpreadsheetEditor.tsx +98 -0
- package/src/templates/rte-template.js +26 -0
- package/src/templates/scheduler-template.js +20 -0
- package/src/templates/spreadheet-template.js +20 -0
- package/src/templates/typescript/RTE.ts +33 -0
- package/src/templates/typescript/SpreadsheetEditor.ts +39 -0
- package/src/templates/typescript/chart.ts +37 -0
- package/src/templates/typescript/diagram.ts +30 -0
- package/src/templates/typescript/docxeditor.ts +30 -0
- package/src/templates/typescript/filemanager.ts +41 -0
- package/src/templates/typescript/gantt.ts +88 -0
- package/src/templates/typescript/grid.ts +30 -0
- package/src/templates/typescript/pdfviewer.ts +8 -0
- package/src/templates/typescript/scheduler.ts +39 -0
- package/src/templates/vue/Chart.vue +257 -0
- package/src/templates/vue/ChartView.vue +7 -0
- package/src/templates/vue/DOCXEditor.vue +61 -0
- package/src/templates/vue/DOCXEditorView.vue +7 -0
- package/src/templates/vue/Diagram.vue +245 -0
- package/src/templates/vue/DiagramView.vue +7 -0
- package/src/templates/vue/FileManager.vue +58 -0
- package/src/templates/vue/FileManagerView.vue +7 -0
- package/src/templates/vue/Gantt.vue +129 -0
- package/src/templates/vue/GanttView.vue +7 -0
- package/src/templates/vue/Grid.vue +141 -0
- package/src/templates/vue/GridView.vue +7 -0
- package/src/templates/vue/PDFViewer.vue +58 -0
- package/src/templates/vue/PDFViewerView.vue +7 -0
- package/src/templates/vue/RTE.vue +27 -0
- package/src/templates/vue/RTEView.vue +7 -0
- package/src/templates/vue/Scheduler.vue +94 -0
- package/src/templates/vue/SchedulerView.vue +7 -0
- package/src/templates/vue/SpreadsheetEditor.vue +115 -0
- package/src/templates/vue/SpreadsheetEditorView.vue +7 -0
- package/src/utils/ansi-colors.js +38 -0
- package/src/utils/banner.js +179 -0
- package/src/utils/common.js +64 -0
- package/src/utils/config-generator.js +73 -0
- package/src/utils/folder-structure.js +26 -0
- package/src/utils/logger.js +19 -0
- package/src/utils/mcp-generator.js +122 -0
- package/src/utils/package-manager.js +128 -0
- package/src/utils/project-bootstrap.js +98 -0
- package/src/utils/project-detector.js +195 -0
- package/src/utils/prompt-utils.js +29 -0
- package/src/utils/run-command.js +110 -0
- package/src/utils/skills-installer.js +69 -0
- package/src/utils/template-file.js +35 -0
- package/src/utils/theme-loader.js +47 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<div class="chart-container" style="padding: 70px; margin: 0 auto;">
|
|
2
|
+
<ejs-chart id="chart-container" [primaryXAxis]="primaryXAxis" [primaryYAxis]="primaryYAxis" [chartArea]="chartArea"
|
|
3
|
+
[width]="width" [title]="title" [subTitle]="subTitle" [tooltip]="tooltip" [legendSettings]="legendSettings"
|
|
4
|
+
[annotations]="annotations" (load)="load($event)">
|
|
5
|
+
<e-series-collection>
|
|
6
|
+
<e-series [dataSource]="vietnamData" type="Line" xName="x" yName="y" name="Vietnam" width="2"
|
|
7
|
+
[marker]="circleMarker" [labelSettings]="labelSettings"></e-series>
|
|
8
|
+
|
|
9
|
+
<e-series [dataSource]="indonesiaData" type="Line" xName="x" yName="y" name="Indonesia" width="2"
|
|
10
|
+
[marker]="triangleMarker" [labelSettings]="labelSettings"></e-series>
|
|
11
|
+
|
|
12
|
+
<e-series [dataSource]="franceData" type="Line" xName="x" yName="y" name="France" width="2"
|
|
13
|
+
[marker]="diamondMarker" [labelSettings]="labelSettings"></e-series>
|
|
14
|
+
|
|
15
|
+
<e-series [dataSource]="polandData" type="Line" xName="x" yName="y" name="Poland" width="2"
|
|
16
|
+
[marker]="rectangleMarker" [labelSettings]="labelSettings"></e-series>
|
|
17
|
+
|
|
18
|
+
<e-series [dataSource]="mexicoData" type="Line" xName="x" yName="y" name="Mexico" width="2"
|
|
19
|
+
[marker]="pentagonMarker" [labelSettings]="labelSettings"></e-series>
|
|
20
|
+
</e-series-collection>
|
|
21
|
+
</ejs-chart>
|
|
22
|
+
|
|
23
|
+
</div>
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { Browser } from '@syncfusion/ej2-base';
|
|
3
|
+
import {
|
|
4
|
+
ChartAllModule,
|
|
5
|
+
ILoadedEventArgs,
|
|
6
|
+
ChartTheme
|
|
7
|
+
} from '@syncfusion/ej2-angular-charts';
|
|
8
|
+
|
|
9
|
+
interface ChartPoint {
|
|
10
|
+
x: number;
|
|
11
|
+
y: number;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@Component({
|
|
15
|
+
selector: 'app-chart',
|
|
16
|
+
standalone: true,
|
|
17
|
+
imports: [ChartAllModule],
|
|
18
|
+
templateUrl: './chart.component.html'
|
|
19
|
+
})
|
|
20
|
+
export class ChartComponent {
|
|
21
|
+
public vietnamData: ChartPoint[] = [
|
|
22
|
+
{ x: 2016, y: 7.8 },
|
|
23
|
+
{ x: 2017, y: 10.3 },
|
|
24
|
+
{ x: 2018, y: 15.5 },
|
|
25
|
+
{ x: 2019, y: 17.5 },
|
|
26
|
+
{ x: 2020, y: 19.5 },
|
|
27
|
+
{ x: 2021, y: 23.0 },
|
|
28
|
+
{ x: 2022, y: 20.0 },
|
|
29
|
+
{ x: 2023, y: 19.0 },
|
|
30
|
+
{ x: 2024, y: 22.1 }
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
public indonesiaData: ChartPoint[] = [
|
|
34
|
+
{ x: 2016, y: 4.8 },
|
|
35
|
+
{ x: 2017, y: 5.2 },
|
|
36
|
+
{ x: 2018, y: 6.2 },
|
|
37
|
+
{ x: 2019, y: 7.8 },
|
|
38
|
+
{ x: 2020, y: 9.3 },
|
|
39
|
+
{ x: 2021, y: 14.3 },
|
|
40
|
+
{ x: 2022, y: 15.6 },
|
|
41
|
+
{ x: 2023, y: 16.0 },
|
|
42
|
+
{ x: 2024, y: 17.0 }
|
|
43
|
+
];
|
|
44
|
+
|
|
45
|
+
public franceData: ChartPoint[] = [
|
|
46
|
+
{ x: 2016, y: 14.6 },
|
|
47
|
+
{ x: 2017, y: 15.5 },
|
|
48
|
+
{ x: 2018, y: 15.4 },
|
|
49
|
+
{ x: 2019, y: 14.4 },
|
|
50
|
+
{ x: 2020, y: 11.6 },
|
|
51
|
+
{ x: 2021, y: 13.9 },
|
|
52
|
+
{ x: 2022, y: 12.1 },
|
|
53
|
+
{ x: 2023, y: 10.0 },
|
|
54
|
+
{ x: 2024, y: 10.8 }
|
|
55
|
+
];
|
|
56
|
+
|
|
57
|
+
public polandData: ChartPoint[] = [
|
|
58
|
+
{ x: 2016, y: 8.9 },
|
|
59
|
+
{ x: 2017, y: 10.3 },
|
|
60
|
+
{ x: 2018, y: 10.8 },
|
|
61
|
+
{ x: 2019, y: 9.0 },
|
|
62
|
+
{ x: 2020, y: 7.9 },
|
|
63
|
+
{ x: 2021, y: 8.5 },
|
|
64
|
+
{ x: 2022, y: 7.4 },
|
|
65
|
+
{ x: 2023, y: 6.4 },
|
|
66
|
+
{ x: 2024, y: 7.1 }
|
|
67
|
+
];
|
|
68
|
+
|
|
69
|
+
public mexicoData: ChartPoint[] = [
|
|
70
|
+
{ x: 2016, y: 19.0 },
|
|
71
|
+
{ x: 2017, y: 20.0 },
|
|
72
|
+
{ x: 2018, y: 20.2 },
|
|
73
|
+
{ x: 2019, y: 18.4 },
|
|
74
|
+
{ x: 2020, y: 16.8 },
|
|
75
|
+
{ x: 2021, y: 18.5 },
|
|
76
|
+
{ x: 2022, y: 18.4 },
|
|
77
|
+
{ x: 2023, y: 16.3 },
|
|
78
|
+
{ x: 2024, y: 13.7 }
|
|
79
|
+
];
|
|
80
|
+
|
|
81
|
+
public primaryXAxis: Object = {
|
|
82
|
+
valueType: 'Double',
|
|
83
|
+
interval: 1,
|
|
84
|
+
minimum: 2016,
|
|
85
|
+
maximum: 2024,
|
|
86
|
+
majorGridLines: { width: 0 },
|
|
87
|
+
edgeLabelPlacement: 'Shift'
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
public primaryYAxis: Object = {
|
|
91
|
+
title: 'Volume in million metric tons',
|
|
92
|
+
minimum: 0,
|
|
93
|
+
maximum: 25,
|
|
94
|
+
interval: 5,
|
|
95
|
+
labelFormat: '{value}%',
|
|
96
|
+
lineStyle: { width: 0 },
|
|
97
|
+
majorTickLines: { width: 0 }
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
public chartArea: Object = {
|
|
101
|
+
border: { width: 0 }
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
public circleMarker: Object = {
|
|
105
|
+
visible: true,
|
|
106
|
+
width: 7,
|
|
107
|
+
height: 7,
|
|
108
|
+
isFilled: true,
|
|
109
|
+
shape: 'Circle'
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
public triangleMarker: Object = {
|
|
113
|
+
visible: true,
|
|
114
|
+
width: 6,
|
|
115
|
+
height: 6,
|
|
116
|
+
isFilled: true,
|
|
117
|
+
shape: 'Triangle'
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
public diamondMarker: Object = {
|
|
121
|
+
visible: true,
|
|
122
|
+
width: 7,
|
|
123
|
+
height: 7,
|
|
124
|
+
isFilled: true,
|
|
125
|
+
shape: 'Diamond'
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
public rectangleMarker: Object = {
|
|
129
|
+
visible: true,
|
|
130
|
+
width: 5,
|
|
131
|
+
height: 5,
|
|
132
|
+
isFilled: true,
|
|
133
|
+
shape: 'Rectangle'
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
public pentagonMarker: Object = {
|
|
137
|
+
visible: true,
|
|
138
|
+
width: 7,
|
|
139
|
+
height: 7,
|
|
140
|
+
isFilled: true,
|
|
141
|
+
shape: 'Pentagon'
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
public tooltip: Object = {
|
|
145
|
+
enable: true,
|
|
146
|
+
shared: true,
|
|
147
|
+
format: '${series.name}: <b>${point.y}%</b>'
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
public legendSettings: Object = {
|
|
151
|
+
visible: true,
|
|
152
|
+
enableHighlight: true
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
public labelSettings: Object = {
|
|
156
|
+
visible: true
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
public annotations: Object[] = [];
|
|
160
|
+
|
|
161
|
+
public title = 'Annual Crude Steel Production by Country (2016–2024)';
|
|
162
|
+
public subTitle = 'Source: wikipedia.org"';
|
|
163
|
+
public width = Browser.isDevice ? '100%' : '75%';
|
|
164
|
+
|
|
165
|
+
public load(args: ILoadedEventArgs): void {
|
|
166
|
+
const selectedTheme = location.hash.split('/')[1];
|
|
167
|
+
const theme = selectedTheme ? selectedTheme : 'Material';
|
|
168
|
+
args.chart.theme = (theme.charAt(0).toUpperCase() + theme.slice(1))
|
|
169
|
+
.replace(/-dark/i, 'Dark')
|
|
170
|
+
.replace(/contrast/i, 'Contrast') as ChartTheme;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<div class="diagram-control-pane" style="padding: 30px; margin: 0 auto;">
|
|
2
|
+
<ejs-diagram
|
|
3
|
+
#diagram
|
|
4
|
+
id="diagram"
|
|
5
|
+
width="100%"
|
|
6
|
+
height="700px"
|
|
7
|
+
[nodes]="nodes"
|
|
8
|
+
[connectors]="connectors"
|
|
9
|
+
[constraints]="constraints"
|
|
10
|
+
[rulerSettings]="rulerSettings"
|
|
11
|
+
(created)="onCreated()">
|
|
12
|
+
</ejs-diagram>
|
|
13
|
+
</div>
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
import { Component, ViewChild } from '@angular/core';
|
|
2
|
+
import {
|
|
3
|
+
DiagramModule,
|
|
4
|
+
DiagramComponent as SfDiagramComponent,
|
|
5
|
+
NodeModel,
|
|
6
|
+
ConnectorModel,
|
|
7
|
+
PointPortModel,
|
|
8
|
+
DiagramConstraints,
|
|
9
|
+
RulerSettingsModel,
|
|
10
|
+
UndoRedoService,
|
|
11
|
+
SnappingService,
|
|
12
|
+
ConnectorBridgingService
|
|
13
|
+
} from '@syncfusion/ej2-angular-diagrams';
|
|
14
|
+
|
|
15
|
+
@Component({
|
|
16
|
+
selector: 'app-diagram',
|
|
17
|
+
standalone: true,
|
|
18
|
+
imports: [DiagramModule],
|
|
19
|
+
providers: [UndoRedoService, SnappingService, ConnectorBridgingService],
|
|
20
|
+
templateUrl: './diagram.component.html'
|
|
21
|
+
})
|
|
22
|
+
export class DiagramComponent {
|
|
23
|
+
@ViewChild('diagram')
|
|
24
|
+
public diagramObj?: SfDiagramComponent;
|
|
25
|
+
|
|
26
|
+
public constraints: DiagramConstraints =
|
|
27
|
+
DiagramConstraints.Default | DiagramConstraints.Bridging;
|
|
28
|
+
|
|
29
|
+
public rulerSettings: RulerSettingsModel = {
|
|
30
|
+
showRulers: true,
|
|
31
|
+
dynamicGrid: true
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
public nodes: NodeModel[] = this.createNodes();
|
|
35
|
+
public connectors: ConnectorModel[] = this.createConnectors();
|
|
36
|
+
|
|
37
|
+
public onCreated(): void {
|
|
38
|
+
this.diagramObj?.fitToPage();
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
private createNode(
|
|
42
|
+
id: string,
|
|
43
|
+
offsetX: number,
|
|
44
|
+
offsetY: number,
|
|
45
|
+
height: number,
|
|
46
|
+
width: number,
|
|
47
|
+
content: string,
|
|
48
|
+
marginX: number = 0,
|
|
49
|
+
marginY: number = 0
|
|
50
|
+
): NodeModel {
|
|
51
|
+
let ports: PointPortModel[] = [];
|
|
52
|
+
|
|
53
|
+
if (id === 'node5' || id === 'node6') {
|
|
54
|
+
ports = [{ id: 'port1', offset: { x: 0.9, y: 0 } }];
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
if (id === 'node13' || id === 'node15') {
|
|
58
|
+
ports = [{ id: 'port2', offset: { x: 1, y: 0.5 } }];
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
if (id === 'node3') {
|
|
62
|
+
ports = [
|
|
63
|
+
{ id: 'port3', offset: { x: 0.25, y: 1 } },
|
|
64
|
+
{ id: 'port4', offset: { x: 0.5, y: 1 } },
|
|
65
|
+
{ id: 'port5', offset: { x: 0.75, y: 1 } }
|
|
66
|
+
];
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
if (id === 'node7') {
|
|
70
|
+
ports = [
|
|
71
|
+
{ id: 'port1', offset: { x: 0, y: 0.5 } },
|
|
72
|
+
{ id: 'port2', offset: { x: 1, y: 0.5 } }
|
|
73
|
+
];
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
if (id === 'node8') {
|
|
77
|
+
ports = [
|
|
78
|
+
{ id: 'port3', offset: { x: 0.25, y: 1 } },
|
|
79
|
+
{ id: 'port5', offset: { x: 0.75, y: 1 } }
|
|
80
|
+
];
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
return {
|
|
84
|
+
id,
|
|
85
|
+
offsetX,
|
|
86
|
+
offsetY,
|
|
87
|
+
margin: { left: marginX, top: marginY },
|
|
88
|
+
width,
|
|
89
|
+
height,
|
|
90
|
+
style: {
|
|
91
|
+
fill: 'white',
|
|
92
|
+
strokeColor: '#2546BB',
|
|
93
|
+
strokeWidth: 1
|
|
94
|
+
},
|
|
95
|
+
shape: {
|
|
96
|
+
type: 'Basic',
|
|
97
|
+
shape: 'Rectangle',
|
|
98
|
+
cornerRadius: 4
|
|
99
|
+
},
|
|
100
|
+
annotations: [
|
|
101
|
+
{
|
|
102
|
+
content,
|
|
103
|
+
style: { color: '#343434' },
|
|
104
|
+
horizontalAlignment: 'Center'
|
|
105
|
+
}
|
|
106
|
+
],
|
|
107
|
+
ports
|
|
108
|
+
} as NodeModel;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
private createNodes(): NodeModel[] {
|
|
112
|
+
return [
|
|
113
|
+
this.createNode('node1', 300, 300, 60, 100, 'HTTP Traffic'),
|
|
114
|
+
this.createNode('node2', 500, 300, 60, 100, 'Ingestion service', 50, 30),
|
|
115
|
+
this.createNode('node3', 650, 300, 60, 100, 'Workflow service', 200, 30),
|
|
116
|
+
this.createNode('node4', 500, 415, 60, 100, 'Package service', 50, 150),
|
|
117
|
+
this.createNode('node5', 650, 415, 60, 150, 'Drone Scheduler service', 175, 150),
|
|
118
|
+
this.createNode('node6', 800, 415, 60, 100, 'Delivery service', 350, 150),
|
|
119
|
+
this.createNode('node7', 580, 130, 60, 90, 'Azure Service Bus'),
|
|
120
|
+
this.createNode('node8', 815, 130, 60, 100, 'Managed Identities'),
|
|
121
|
+
this.createNode('node9', 1000, 130, 60, 100, 'Azure Key Vault'),
|
|
122
|
+
this.createNode('node10', 500, 550, 60, 100, 'Azure Cosmos DB for MongoDB API'),
|
|
123
|
+
this.createNode('node11', 650, 550, 60, 100, 'Azure Cosmos DB'),
|
|
124
|
+
this.createNode('node12', 800, 550, 60, 100, 'Azure Cache for Redis'),
|
|
125
|
+
this.createNode('node13', 1040, 255, 60, 100, 'Azure Application Insights'),
|
|
126
|
+
this.createNode('node14', 1140, 350, 60, 100, 'Azure Monitor'),
|
|
127
|
+
this.createNode('node15', 1040, 445, 60, 100, 'Azure Log Analytics workspace'),
|
|
128
|
+
|
|
129
|
+
{
|
|
130
|
+
id: 'container',
|
|
131
|
+
width: 520,
|
|
132
|
+
height: 300,
|
|
133
|
+
offsetX: 660,
|
|
134
|
+
offsetY: 350,
|
|
135
|
+
shape: {
|
|
136
|
+
type: 'Container',
|
|
137
|
+
header: {
|
|
138
|
+
annotation: {
|
|
139
|
+
content: 'Azure Container Apps Environment',
|
|
140
|
+
style: {
|
|
141
|
+
fontSize: 18,
|
|
142
|
+
bold: true,
|
|
143
|
+
fill: 'transparent',
|
|
144
|
+
strokeColor: 'transparent'
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
height: 40,
|
|
148
|
+
style: {
|
|
149
|
+
fontSize: 18,
|
|
150
|
+
bold: true,
|
|
151
|
+
fill: 'transparent',
|
|
152
|
+
strokeColor: 'transparent'
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
children: ['node2', 'node3', 'node4', 'node5', 'node6']
|
|
156
|
+
},
|
|
157
|
+
style: {
|
|
158
|
+
fill: '#E9EEFF',
|
|
159
|
+
strokeColor: '#2546BB',
|
|
160
|
+
strokeWidth: 1
|
|
161
|
+
}
|
|
162
|
+
} as NodeModel
|
|
163
|
+
];
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
private createConnector(
|
|
167
|
+
id: string,
|
|
168
|
+
sourceID: string,
|
|
169
|
+
targetID: string,
|
|
170
|
+
sourcePortID: string = '',
|
|
171
|
+
targetPortID: string = '',
|
|
172
|
+
sourceDecorator: any = undefined
|
|
173
|
+
): ConnectorModel {
|
|
174
|
+
return {
|
|
175
|
+
id,
|
|
176
|
+
type: 'Orthogonal',
|
|
177
|
+
sourceID,
|
|
178
|
+
targetID,
|
|
179
|
+
sourcePortID,
|
|
180
|
+
targetPortID,
|
|
181
|
+
style: {
|
|
182
|
+
strokeColor: '#5E5E5E',
|
|
183
|
+
strokeWidth: 1
|
|
184
|
+
},
|
|
185
|
+
sourceDecorator,
|
|
186
|
+
targetDecorator: {
|
|
187
|
+
style: {
|
|
188
|
+
fill: '#5E5E5E',
|
|
189
|
+
strokeColor: '#5E5E5E',
|
|
190
|
+
strokeWidth: 1
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
} as ConnectorModel;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
private createConnectors(): ConnectorModel[] {
|
|
197
|
+
const filledSourceDecorator = {
|
|
198
|
+
style: {
|
|
199
|
+
fill: '#5E5E5E',
|
|
200
|
+
strokeColor: '#5E5E5E',
|
|
201
|
+
strokeWidth: 1
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
return [
|
|
206
|
+
this.createConnector('connector1', 'node1', 'node2'),
|
|
207
|
+
this.createConnector('connector2', 'node4', 'node10'),
|
|
208
|
+
this.createConnector('connector3', 'node5', 'node11'),
|
|
209
|
+
this.createConnector('connector4', 'node6', 'node12'),
|
|
210
|
+
this.createConnector('connector5', 'node8', 'node9'),
|
|
211
|
+
this.createConnector('connector6', 'container', 'node13'),
|
|
212
|
+
this.createConnector('connector7', 'container', 'node15'),
|
|
213
|
+
this.createConnector('connector8', 'node3', 'node4', 'port3'),
|
|
214
|
+
this.createConnector('connector9', 'node3', 'node5', 'port4'),
|
|
215
|
+
this.createConnector('connector10', 'node3', 'node6', 'port5'),
|
|
216
|
+
this.createConnector('connector11', 'node2', 'node7', '', 'port1'),
|
|
217
|
+
this.createConnector('connector12', 'node7', 'node3', 'port2'),
|
|
218
|
+
this.createConnector('connector13', 'node13', 'node14', 'port2'),
|
|
219
|
+
this.createConnector('connector14', 'node15', 'node14', 'port2'),
|
|
220
|
+
this.createConnector('connector16', 'node8', 'node5', 'port3', 'port1', filledSourceDecorator),
|
|
221
|
+
this.createConnector('connector17', 'node8', 'node6', 'port5', 'port1', filledSourceDecorator)
|
|
222
|
+
];
|
|
223
|
+
}
|
|
224
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<div class="control-pane" style="padding: 50px; margin: 0 auto">
|
|
2
|
+
<div id="documenteditor_titlebar" class="e-de-ctn-title" style="height: 30px; padding: 13px 0px 0 10px">
|
|
3
|
+
Getting Started
|
|
4
|
+
</div>
|
|
5
|
+
|
|
6
|
+
<div id="documenteditor_container_body">
|
|
7
|
+
<ejs-documenteditorcontainer
|
|
8
|
+
#documentEditorContainer
|
|
9
|
+
id="container"
|
|
10
|
+
style="display: block"
|
|
11
|
+
height="590px"
|
|
12
|
+
[toolbarMode]="toolbarMode"
|
|
13
|
+
[serviceUrl]="hostUrl"
|
|
14
|
+
[enableToolbar]="true"
|
|
15
|
+
locale="en-US">
|
|
16
|
+
</ejs-documenteditorcontainer>
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|