@wavemaker/angular-codegen 11.6.1-next.26319 → 11.7.0-next.139413
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.
- angular-codegen/angular-app/angular.json +1 -11
- angular-codegen/angular-app/build-scripts/post-build.js +11 -15
- angular-codegen/angular-app/package-lock.json +4 -4
- angular-codegen/angular-app/package.json +4 -4
- angular-codegen/build-angular-app.js +1 -1
- angular-codegen/dependencies/transpilation-mobile.cjs.js +24 -26
- angular-codegen/dependencies/transpilation-web.cjs.js +24 -26
- angular-codegen/download-packages.js +1 -8
- angular-codegen/package.json +1 -1
- angular-codegen/src/codegen.js +1 -1
- angular-codegen/angular-app/build-scripts/build.js +0 -30
- angular-codegen/angular-app/src/assets/print.css +0 -32
|
@@ -29,11 +29,6 @@
|
|
|
29
29
|
"assets": [
|
|
30
30
|
"src/favicon.ico",
|
|
31
31
|
"src/assets",
|
|
32
|
-
{
|
|
33
|
-
"glob": "print.css",
|
|
34
|
-
"input": "src/assets/",
|
|
35
|
-
"output": "."
|
|
36
|
-
},
|
|
37
32
|
{
|
|
38
33
|
"glob": "**/*",
|
|
39
34
|
"input": "libraries/locales/",
|
|
@@ -192,12 +187,7 @@
|
|
|
192
187
|
"tsConfig": "src/tsconfig.app.json",
|
|
193
188
|
"assets": [
|
|
194
189
|
"src/favicon.ico",
|
|
195
|
-
"src/assets"
|
|
196
|
-
{
|
|
197
|
-
"glob": "print.css",
|
|
198
|
-
"input": "src/assets/",
|
|
199
|
-
"output": "."
|
|
200
|
-
}
|
|
190
|
+
"src/assets"
|
|
201
191
|
],
|
|
202
192
|
"styles": [
|
|
203
193
|
"src/styles.css",
|
|
@@ -76,7 +76,7 @@ const setMobileProjectType = (angularJson) => {
|
|
|
76
76
|
const addMobileSpecificStyles = async (deployUrl) => {
|
|
77
77
|
if (isDevBuild) {
|
|
78
78
|
$("body").append(
|
|
79
|
-
`<script type="text/javascript" defer="true" src="${deployUrl}wm-android-styles.js"></script>`
|
|
79
|
+
`<script type="text/javascript" defer="true" src="${deployUrl}/wm-android-styles.js"></script>`
|
|
80
80
|
);
|
|
81
81
|
}
|
|
82
82
|
|
|
@@ -84,12 +84,12 @@ const addMobileSpecificStyles = async (deployUrl) => {
|
|
|
84
84
|
let hash = await generateHash(`${opPath}/wm-android-styles.css`);
|
|
85
85
|
copyMobileCssFiles(hash, 'wm-android-styles');
|
|
86
86
|
$("head").append(
|
|
87
|
-
`<link rel="stylesheet" theme="wmtheme" href="${deployUrl}wm-android-styles.${hash}.css" >`
|
|
87
|
+
`<link rel="stylesheet" theme="wmtheme" href="${deployUrl}/wm-android-styles.${hash}.css" >`
|
|
88
88
|
);
|
|
89
89
|
hash = await generateHash(`${opPath}/wm-ios-styles.css`);
|
|
90
90
|
copyMobileCssFiles(hash, 'wm-ios-styles');
|
|
91
91
|
$("head").append(
|
|
92
|
-
`<link rel="stylesheet" theme="wmtheme" href="${deployUrl}wm-ios-styles.${hash}.css" >`
|
|
92
|
+
`<link rel="stylesheet" theme="wmtheme" href="${deployUrl}/wm-ios-styles.${hash}.css" >`
|
|
93
93
|
);
|
|
94
94
|
}
|
|
95
95
|
}
|
|
@@ -108,10 +108,8 @@ const addScriptForWMStylesPath = (wm_styles_path) => {
|
|
|
108
108
|
);
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
|
-
}
|
|
112
|
-
const addPrintStylesPath = (print_styles_path) => {
|
|
113
111
|
$("head").append(
|
|
114
|
-
`<link rel="stylesheet" type="text/css" media="print" href="
|
|
112
|
+
`<link rel="stylesheet" type="text/css" media="print" href="print.css"/>`
|
|
115
113
|
);
|
|
116
114
|
}
|
|
117
115
|
|
|
@@ -155,7 +153,7 @@ const getUpdatedFileName = (deployUrl, url, updatedFileNames) => {
|
|
|
155
153
|
}
|
|
156
154
|
|
|
157
155
|
if (absUrl in updatedFileNames) {
|
|
158
|
-
return `${deployUrl}
|
|
156
|
+
return `${deployUrl}/${updatedFileNames[absUrl]}` // add the leading '/' back
|
|
159
157
|
}
|
|
160
158
|
return `${deployUrl}${url}`;
|
|
161
159
|
}
|
|
@@ -208,7 +206,7 @@ const updatePwaAssets = (deployUrl, updatedFileNames, updatedFileHashes) => {
|
|
|
208
206
|
const manifest = JSON.parse(fs.readFileSync(manifestPath).toString());
|
|
209
207
|
const updatedManifest = {
|
|
210
208
|
...manifest,
|
|
211
|
-
icons: manifest.icons.map(icon => ({ ...icon, src: `${deployUrl}
|
|
209
|
+
icons: manifest.icons.map(icon => ({ ...icon, src: `${deployUrl}/${getIconPath(icon.src)}` })),
|
|
212
210
|
}
|
|
213
211
|
const manifestContent = JSON.stringify(updatedManifest, null, 4);
|
|
214
212
|
fs.writeFileSync(manifestPath, manifestContent);
|
|
@@ -246,6 +244,9 @@ const generateSha1 = (content) => {
|
|
|
246
244
|
const angularJson = require(`${process.cwd()}/angular.json`);
|
|
247
245
|
const build = angularJson['projects']['angular-app']['architect']['build'];
|
|
248
246
|
let deployUrl = args['deploy-url'] || build['options']['deployUrl'];
|
|
247
|
+
if (deployUrl.endsWith('/')) {
|
|
248
|
+
deployUrl = deployUrl.slice(0, deployUrl.length - 1);
|
|
249
|
+
}
|
|
249
250
|
|
|
250
251
|
const contents = await readFile(`./dist/index.html`, `utf8`);
|
|
251
252
|
$ = cheerio.load(contents);
|
|
@@ -277,22 +278,17 @@ const generateSha1 = (content) => {
|
|
|
277
278
|
await addMobileSpecificStyles(deployUrl);
|
|
278
279
|
} else {
|
|
279
280
|
if (isDevBuild) {
|
|
280
|
-
wm_styles_path = `${deployUrl}wm-styles.js`;
|
|
281
|
+
wm_styles_path = `${deployUrl}/wm-styles.js`;
|
|
281
282
|
} else {
|
|
282
283
|
const fileName = 'wm-styles';
|
|
283
284
|
const hash = await generateHash(`${opPath}/${fileName}.css`);
|
|
284
285
|
copyCssFiles(hash, updatedFilenames);
|
|
285
286
|
const updatedFileName = `${fileName}.${hash}.css`
|
|
286
|
-
wm_styles_path = `${deployUrl}
|
|
287
|
+
wm_styles_path = `${deployUrl}/${updatedFileName}`;
|
|
287
288
|
}
|
|
288
289
|
}
|
|
289
290
|
|
|
290
291
|
addScriptForWMStylesPath(wm_styles_path);
|
|
291
|
-
addPrintStylesPath(`${deployUrl}print.css`);
|
|
292
|
-
|
|
293
|
-
//this is required to download all the assets
|
|
294
|
-
$('head').append(`<meta name="deployUrl" content=${deployUrl} />`);
|
|
295
|
-
|
|
296
292
|
const htmlContent = $.html();
|
|
297
293
|
await writeFile(`./dist/index.html`, htmlContent);
|
|
298
294
|
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"@metrichor/jmespath": "^0.3.1",
|
|
37
37
|
"@wavemaker/focus-trap": "^1.0.0",
|
|
38
38
|
"@wavemaker/nvd3": "1.8.9",
|
|
39
|
-
"@wavemaker/variables": "11.
|
|
39
|
+
"@wavemaker/variables": "11.7.0-next.139413",
|
|
40
40
|
"@ztree/ztree_v3": "^3.5.48",
|
|
41
41
|
"angular-imask": "6.3.0",
|
|
42
42
|
"angular2-websocket": "0.9.7",
|
|
@@ -5947,9 +5947,9 @@
|
|
|
5947
5947
|
}
|
|
5948
5948
|
},
|
|
5949
5949
|
"node_modules/@wavemaker/variables": {
|
|
5950
|
-
"version": "11.
|
|
5951
|
-
"resolved": "https://registry.npmjs.org/@wavemaker/variables/-/variables-11.
|
|
5952
|
-
"integrity": "sha512-
|
|
5950
|
+
"version": "11.7.0-next.139413",
|
|
5951
|
+
"resolved": "https://registry.npmjs.org/@wavemaker/variables/-/variables-11.7.0-next.139413.tgz",
|
|
5952
|
+
"integrity": "sha512-SMM0WUaP9aBOK06zBjGAFyQw8DJscHtEW2lxmita8Jc7RIFs41UBQqr0jh+Cwg//DStpLzr0/wmm4UhZ6b+d5A==",
|
|
5953
5953
|
"dependencies": {
|
|
5954
5954
|
"@metrichor/jmespath": "^0.3.1",
|
|
5955
5955
|
"he": "^1.2.0",
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
"scripts": {
|
|
5
5
|
"ng": "ng",
|
|
6
6
|
"start": "./node_modules/.bin/ng serve",
|
|
7
|
-
"build": "
|
|
8
|
-
"
|
|
7
|
+
"build": "./node_modules/.bin/ng build",
|
|
8
|
+
"postbuild": "node build-scripts/post-build.js",
|
|
9
9
|
"test": "./node_modules/.bin/ng test",
|
|
10
10
|
"test_components": "./node_modules/.bin/ng t @wm/components/base",
|
|
11
11
|
"test_mobile": "./node_modules/.bin/ng t @wm/mobile/components/basic",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"@metrichor/jmespath": "^0.3.1",
|
|
48
48
|
"@wavemaker/focus-trap": "^1.0.0",
|
|
49
49
|
"@wavemaker/nvd3": "1.8.9",
|
|
50
|
-
"@wavemaker/variables": "11.
|
|
50
|
+
"@wavemaker/variables": "11.7.0-next.139413",
|
|
51
51
|
"@ztree/ztree_v3": "^3.5.48",
|
|
52
52
|
"angular-imask": "6.3.0",
|
|
53
53
|
"angular2-websocket": "0.9.7",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"tslib": "2.4.1",
|
|
73
73
|
"x2js": "^3.4.4",
|
|
74
74
|
"zone.js": "~0.11.4",
|
|
75
|
-
"@wavemaker/app-ng-runtime": "11.
|
|
75
|
+
"@wavemaker/app-ng-runtime": "11.7.0-next.139413"
|
|
76
76
|
},
|
|
77
77
|
"devDependencies": {
|
|
78
78
|
"@ampproject/rollup-plugin-closure-compiler": "^0.27.0",
|
|
@@ -62,7 +62,7 @@ const buildAngularApp = (args) => {
|
|
|
62
62
|
let ngBuildParams = updateDeployUrl(args.ngBuildParams);
|
|
63
63
|
const NG_BUILD_MSG = 'NG BUILD MIGHT HAVE FAILED WITH HEAP OUT OF MEMORY, RE-EXECUTE THE BUILD BY INCREASING THE MAX-OLD-SPACE-SIZE ARGUMENT VALUE FOR BUILD.UI.NODE.ARGS PROPERTY IN DEPLOYMENT PROFILE';
|
|
64
64
|
// Generating the angular build and post build process.
|
|
65
|
-
executeSyncCmd('cd ' + args.appTarget + ' && node ' + args.nodeVMArgs
|
|
65
|
+
executeSyncCmd('cd ' + args.appTarget + ' && node ' + args.nodeVMArgs + ' ./node_modules/@angular/cli/bin/ng build ' + ngBuildParams + ' && node build-scripts/post-build.js', null, MSG_NG_RUNTIME_LOG, false, NG_BUILD_MSG);
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
|
|
@@ -56711,73 +56711,71 @@ const getFormWidgetTemplate = (widgetType, innerTmpl, attrs, options = {}) => {
|
|
|
56711
56711
|
let tmpl;
|
|
56712
56712
|
const updateOn = attrs.get('updateon');
|
|
56713
56713
|
const updateOnTmpl = updateOn ? `updateon="${updateOn}"` : '';
|
|
56714
|
-
const showineditmode = attrs.get('showineditmode') || attrs.get('showineditmode.bind') || true;
|
|
56715
|
-
const showTmpl = showineditmode == 'false' ? `show="${showineditmode}"` : `show.bind="${showineditmode}"`;
|
|
56716
56714
|
switch (widgetType) {
|
|
56717
56715
|
case FormWidgetType.AUTOCOMPLETE:
|
|
56718
56716
|
case FormWidgetType.TYPEAHEAD:
|
|
56719
|
-
tmpl = `<div wmSearch type="autocomplete" debouncetime="${attrs.get('debouncetime')}" ${innerTmpl}
|
|
56717
|
+
tmpl = `<div wmSearch type="autocomplete" debouncetime="${attrs.get('debouncetime')}" ${innerTmpl}></div>`;
|
|
56720
56718
|
break;
|
|
56721
56719
|
case FormWidgetType.CHECKBOX:
|
|
56722
|
-
tmpl = `<div wmCheckbox ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''}
|
|
56720
|
+
tmpl = `<div wmCheckbox ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''}></div>`;
|
|
56723
56721
|
break;
|
|
56724
56722
|
case FormWidgetType.CHECKBOXSET:
|
|
56725
|
-
tmpl = `<ul role="group" wmCheckboxset ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''}
|
|
56723
|
+
tmpl = `<ul role="group" wmCheckboxset ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''}></ul>`;
|
|
56726
56724
|
break;
|
|
56727
56725
|
case FormWidgetType.CHIPS:
|
|
56728
|
-
tmpl = `<ul wmChips role="input" debouncetime="${attrs.get('debouncetime')}" ${innerTmpl}
|
|
56726
|
+
tmpl = `<ul wmChips role="input" debouncetime="${attrs.get('debouncetime')}" ${innerTmpl}></ul>`;
|
|
56729
56727
|
break;
|
|
56730
56728
|
case FormWidgetType.COLORPICKER:
|
|
56731
|
-
tmpl = `<div wmColorPicker ${attrs.get('required') === 'true' ? 'required=true' : ''} ${innerTmpl}
|
|
56729
|
+
tmpl = `<div wmColorPicker ${attrs.get('required') === 'true' ? 'required=true' : ''} ${innerTmpl}></div>`;
|
|
56732
56730
|
break;
|
|
56733
56731
|
case FormWidgetType.CURRENCY:
|
|
56734
|
-
tmpl = `<div wmCurrency ${attrs.get('required') === 'true' ? 'required=true' : ''} ${updateOnTmpl} ${innerTmpl}
|
|
56732
|
+
tmpl = `<div wmCurrency ${attrs.get('required') === 'true' ? 'required=true' : ''} ${updateOnTmpl} ${innerTmpl}></div>`;
|
|
56735
56733
|
break;
|
|
56736
56734
|
case FormWidgetType.DATE:
|
|
56737
|
-
tmpl = `<div wmDate ${attrs.get('required') === 'true' ? 'required=true' : ''} dataentrymode="${attrs.get('dataentrymode')}" ${innerTmpl}
|
|
56735
|
+
tmpl = `<div wmDate ${attrs.get('required') === 'true' ? 'required=true' : ''} dataentrymode="${attrs.get('dataentrymode')}" ${innerTmpl}></div>`;
|
|
56738
56736
|
break;
|
|
56739
56737
|
case FormWidgetType.DATETIME:
|
|
56740
|
-
tmpl = `<div wmDateTime ${attrs.get('required') === 'true' ? 'required=true' : ''} dataentrymode="${attrs.get('dataentrymode')}" ${innerTmpl}
|
|
56738
|
+
tmpl = `<div wmDateTime ${attrs.get('required') === 'true' ? 'required=true' : ''} dataentrymode="${attrs.get('dataentrymode')}" ${innerTmpl}></div>`;
|
|
56741
56739
|
break;
|
|
56742
56740
|
case FormWidgetType.NUMBER:
|
|
56743
|
-
tmpl = `<div wmNumber ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="number" aria-label="Only numbers" ${updateOnTmpl}
|
|
56741
|
+
tmpl = `<div wmNumber ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="number" aria-label="Only numbers" ${updateOnTmpl}></div>`;
|
|
56744
56742
|
break;
|
|
56745
56743
|
case FormWidgetType.PASSWORD:
|
|
56746
|
-
tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="password" aria-label="Enter password" ${updateOnTmpl}
|
|
56744
|
+
tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="password" aria-label="Enter password" ${updateOnTmpl}></wm-input>`;
|
|
56747
56745
|
break;
|
|
56748
56746
|
case FormWidgetType.RADIOSET:
|
|
56749
|
-
tmpl = `<ul role="radiogroup" wmRadioset ${innerTmpl}
|
|
56747
|
+
tmpl = `<ul role="radiogroup" wmRadioset ${innerTmpl}></ul>`;
|
|
56750
56748
|
break;
|
|
56751
56749
|
case FormWidgetType.RATING:
|
|
56752
|
-
tmpl = `<div wmRating ${innerTmpl}
|
|
56750
|
+
tmpl = `<div wmRating ${innerTmpl}></div>`;
|
|
56753
56751
|
break;
|
|
56754
56752
|
case FormWidgetType.RICHTEXT:
|
|
56755
|
-
tmpl = `<div wmRichTextEditor role="textbox" ${innerTmpl}
|
|
56753
|
+
tmpl = `<div wmRichTextEditor role="textbox" ${innerTmpl}></div>`;
|
|
56756
56754
|
break;
|
|
56757
56755
|
case FormWidgetType.SELECT:
|
|
56758
|
-
tmpl = `<wm-select ${attrs.get('required') === 'true' ? 'required=true' : ''} ${innerTmpl}
|
|
56756
|
+
tmpl = `<wm-select ${attrs.get('required') === 'true' ? 'required=true' : ''} ${innerTmpl}></wm-select>`;
|
|
56759
56757
|
break;
|
|
56760
56758
|
case FormWidgetType.TOGGLE:
|
|
56761
|
-
tmpl = `<div wmCheckbox ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="toggle" role="checkbox" aria-label="Toggle button"
|
|
56759
|
+
tmpl = `<div wmCheckbox ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="toggle" role="checkbox" aria-label="Toggle button"></div>`;
|
|
56762
56760
|
break;
|
|
56763
56761
|
case FormWidgetType.SLIDER:
|
|
56764
|
-
tmpl = `<div wmSlider ${innerTmpl}
|
|
56762
|
+
tmpl = `<div wmSlider ${innerTmpl}></div>`;
|
|
56765
56763
|
break;
|
|
56766
56764
|
case FormWidgetType.SWITCH:
|
|
56767
|
-
tmpl = `<div wmSwitch ${innerTmpl}
|
|
56765
|
+
tmpl = `<div wmSwitch ${innerTmpl}></div>`;
|
|
56768
56766
|
break;
|
|
56769
56767
|
case FormWidgetType.TEXT:
|
|
56770
56768
|
const inputType = options.inputType || 'inputtype';
|
|
56771
|
-
tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="${attrs.get(inputType) || 'text'}" ${updateOnTmpl}
|
|
56769
|
+
tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="${attrs.get(inputType) || 'text'}" ${updateOnTmpl}></wm-input>`;
|
|
56772
56770
|
break;
|
|
56773
56771
|
case FormWidgetType.TEXTAREA:
|
|
56774
|
-
tmpl = `<wm-textarea ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} role="textbox" ${updateOnTmpl}
|
|
56772
|
+
tmpl = `<wm-textarea ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} role="textbox" ${updateOnTmpl}></wm-textarea>`;
|
|
56775
56773
|
break;
|
|
56776
56774
|
case FormWidgetType.TIME:
|
|
56777
|
-
tmpl = `<div wmTime ${attrs.get('required') === 'true' ? 'required=true' : ''} dataentrymode="${attrs.get('dataentrymode')}" ${innerTmpl}
|
|
56775
|
+
tmpl = `<div wmTime ${attrs.get('required') === 'true' ? 'required=true' : ''} dataentrymode="${attrs.get('dataentrymode')}" ${innerTmpl}></div>`;
|
|
56778
56776
|
break;
|
|
56779
56777
|
case FormWidgetType.TIMESTAMP:
|
|
56780
|
-
tmpl = `<div wmDateTime ${attrs.get('required') === 'true' ? 'required=true' : ''} dataentrymode="${attrs.get('dataentrymode')}" ${innerTmpl} role="input"
|
|
56778
|
+
tmpl = `<div wmDateTime ${attrs.get('required') === 'true' ? 'required=true' : ''} dataentrymode="${attrs.get('dataentrymode')}" ${innerTmpl} role="input"></div>`;
|
|
56781
56779
|
break;
|
|
56782
56780
|
case FormWidgetType.UPLOAD:
|
|
56783
56781
|
const counter = options.counter;
|
|
@@ -56786,7 +56784,7 @@ const getFormWidgetTemplate = (widgetType, innerTmpl, attrs, options = {}) => {
|
|
|
56786
56784
|
const eventTmpl = getUploadEventTmpl(attrs, counter, uploadProps && uploadProps.name);
|
|
56787
56785
|
if (uploadProps) {
|
|
56788
56786
|
tmpl = `<form name="${uploadProps.formName}" ${innerTmpl}>
|
|
56789
|
-
<input focus-target class="file-upload" type="file" name="${uploadProps.name}" ${eventTmpl}
|
|
56787
|
+
<input focus-target class="file-upload" type="file" name="${uploadProps.name}" ${eventTmpl}/>
|
|
56790
56788
|
</form>`;
|
|
56791
56789
|
}
|
|
56792
56790
|
else {
|
|
@@ -56796,11 +56794,11 @@ const getFormWidgetTemplate = (widgetType, innerTmpl, attrs, options = {}) => {
|
|
|
56796
56794
|
<i class="wi wi-file"></i></a>
|
|
56797
56795
|
<input ${innerTmpl} class="app-blob-upload" [ngClass]="{'file-readonly': ${counter}.readonly}" ${eventTmpl}
|
|
56798
56796
|
[required]="${counter}.required" type="file" name="${attrs.get('key') || attrs.get('name')}_formWidget" [readonly]="${counter}.readonly"
|
|
56799
|
-
[class.hidden]="!${pCounter}.isUpdateMode" [accept]="${counter}.permitted"
|
|
56797
|
+
[class.hidden]="!${pCounter}.isUpdateMode" [accept]="${counter}.permitted">`;
|
|
56800
56798
|
}
|
|
56801
56799
|
break;
|
|
56802
56800
|
default:
|
|
56803
|
-
tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="text" ${updateOnTmpl}
|
|
56801
|
+
tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="text" ${updateOnTmpl}></wm-input>`;
|
|
56804
56802
|
break;
|
|
56805
56803
|
}
|
|
56806
56804
|
return tmpl;
|
|
@@ -56711,73 +56711,71 @@ const getFormWidgetTemplate = (widgetType, innerTmpl, attrs, options = {}) => {
|
|
|
56711
56711
|
let tmpl;
|
|
56712
56712
|
const updateOn = attrs.get('updateon');
|
|
56713
56713
|
const updateOnTmpl = updateOn ? `updateon="${updateOn}"` : '';
|
|
56714
|
-
const showineditmode = attrs.get('showineditmode') || attrs.get('showineditmode.bind') || true;
|
|
56715
|
-
const showTmpl = showineditmode == 'false' ? `show="${showineditmode}"` : `show.bind="${showineditmode}"`;
|
|
56716
56714
|
switch (widgetType) {
|
|
56717
56715
|
case FormWidgetType.AUTOCOMPLETE:
|
|
56718
56716
|
case FormWidgetType.TYPEAHEAD:
|
|
56719
|
-
tmpl = `<div wmSearch type="autocomplete" debouncetime="${attrs.get('debouncetime')}" ${innerTmpl}
|
|
56717
|
+
tmpl = `<div wmSearch type="autocomplete" debouncetime="${attrs.get('debouncetime')}" ${innerTmpl}></div>`;
|
|
56720
56718
|
break;
|
|
56721
56719
|
case FormWidgetType.CHECKBOX:
|
|
56722
|
-
tmpl = `<div wmCheckbox ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''}
|
|
56720
|
+
tmpl = `<div wmCheckbox ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''}></div>`;
|
|
56723
56721
|
break;
|
|
56724
56722
|
case FormWidgetType.CHECKBOXSET:
|
|
56725
|
-
tmpl = `<ul role="group" wmCheckboxset ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''}
|
|
56723
|
+
tmpl = `<ul role="group" wmCheckboxset ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''}></ul>`;
|
|
56726
56724
|
break;
|
|
56727
56725
|
case FormWidgetType.CHIPS:
|
|
56728
|
-
tmpl = `<ul wmChips role="input" debouncetime="${attrs.get('debouncetime')}" ${innerTmpl}
|
|
56726
|
+
tmpl = `<ul wmChips role="input" debouncetime="${attrs.get('debouncetime')}" ${innerTmpl}></ul>`;
|
|
56729
56727
|
break;
|
|
56730
56728
|
case FormWidgetType.COLORPICKER:
|
|
56731
|
-
tmpl = `<div wmColorPicker ${attrs.get('required') === 'true' ? 'required=true' : ''} ${innerTmpl}
|
|
56729
|
+
tmpl = `<div wmColorPicker ${attrs.get('required') === 'true' ? 'required=true' : ''} ${innerTmpl}></div>`;
|
|
56732
56730
|
break;
|
|
56733
56731
|
case FormWidgetType.CURRENCY:
|
|
56734
|
-
tmpl = `<div wmCurrency ${attrs.get('required') === 'true' ? 'required=true' : ''} ${updateOnTmpl} ${innerTmpl}
|
|
56732
|
+
tmpl = `<div wmCurrency ${attrs.get('required') === 'true' ? 'required=true' : ''} ${updateOnTmpl} ${innerTmpl}></div>`;
|
|
56735
56733
|
break;
|
|
56736
56734
|
case FormWidgetType.DATE:
|
|
56737
|
-
tmpl = `<div wmDate ${attrs.get('required') === 'true' ? 'required=true' : ''} dataentrymode="${attrs.get('dataentrymode')}" ${innerTmpl}
|
|
56735
|
+
tmpl = `<div wmDate ${attrs.get('required') === 'true' ? 'required=true' : ''} dataentrymode="${attrs.get('dataentrymode')}" ${innerTmpl}></div>`;
|
|
56738
56736
|
break;
|
|
56739
56737
|
case FormWidgetType.DATETIME:
|
|
56740
|
-
tmpl = `<div wmDateTime ${attrs.get('required') === 'true' ? 'required=true' : ''} dataentrymode="${attrs.get('dataentrymode')}" ${innerTmpl}
|
|
56738
|
+
tmpl = `<div wmDateTime ${attrs.get('required') === 'true' ? 'required=true' : ''} dataentrymode="${attrs.get('dataentrymode')}" ${innerTmpl}></div>`;
|
|
56741
56739
|
break;
|
|
56742
56740
|
case FormWidgetType.NUMBER:
|
|
56743
|
-
tmpl = `<div wmNumber ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="number" aria-label="Only numbers" ${updateOnTmpl}
|
|
56741
|
+
tmpl = `<div wmNumber ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="number" aria-label="Only numbers" ${updateOnTmpl}></div>`;
|
|
56744
56742
|
break;
|
|
56745
56743
|
case FormWidgetType.PASSWORD:
|
|
56746
|
-
tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="password" aria-label="Enter password" ${updateOnTmpl}
|
|
56744
|
+
tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="password" aria-label="Enter password" ${updateOnTmpl}></wm-input>`;
|
|
56747
56745
|
break;
|
|
56748
56746
|
case FormWidgetType.RADIOSET:
|
|
56749
|
-
tmpl = `<ul role="radiogroup" wmRadioset ${innerTmpl}
|
|
56747
|
+
tmpl = `<ul role="radiogroup" wmRadioset ${innerTmpl}></ul>`;
|
|
56750
56748
|
break;
|
|
56751
56749
|
case FormWidgetType.RATING:
|
|
56752
|
-
tmpl = `<div wmRating ${innerTmpl}
|
|
56750
|
+
tmpl = `<div wmRating ${innerTmpl}></div>`;
|
|
56753
56751
|
break;
|
|
56754
56752
|
case FormWidgetType.RICHTEXT:
|
|
56755
|
-
tmpl = `<div wmRichTextEditor role="textbox" ${innerTmpl}
|
|
56753
|
+
tmpl = `<div wmRichTextEditor role="textbox" ${innerTmpl}></div>`;
|
|
56756
56754
|
break;
|
|
56757
56755
|
case FormWidgetType.SELECT:
|
|
56758
|
-
tmpl = `<wm-select ${attrs.get('required') === 'true' ? 'required=true' : ''} ${innerTmpl}
|
|
56756
|
+
tmpl = `<wm-select ${attrs.get('required') === 'true' ? 'required=true' : ''} ${innerTmpl}></wm-select>`;
|
|
56759
56757
|
break;
|
|
56760
56758
|
case FormWidgetType.TOGGLE:
|
|
56761
|
-
tmpl = `<div wmCheckbox ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="toggle" role="checkbox" aria-label="Toggle button"
|
|
56759
|
+
tmpl = `<div wmCheckbox ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="toggle" role="checkbox" aria-label="Toggle button"></div>`;
|
|
56762
56760
|
break;
|
|
56763
56761
|
case FormWidgetType.SLIDER:
|
|
56764
|
-
tmpl = `<div wmSlider ${innerTmpl}
|
|
56762
|
+
tmpl = `<div wmSlider ${innerTmpl}></div>`;
|
|
56765
56763
|
break;
|
|
56766
56764
|
case FormWidgetType.SWITCH:
|
|
56767
|
-
tmpl = `<div wmSwitch ${innerTmpl}
|
|
56765
|
+
tmpl = `<div wmSwitch ${innerTmpl}></div>`;
|
|
56768
56766
|
break;
|
|
56769
56767
|
case FormWidgetType.TEXT:
|
|
56770
56768
|
const inputType = options.inputType || 'inputtype';
|
|
56771
|
-
tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="${attrs.get(inputType) || 'text'}" ${updateOnTmpl}
|
|
56769
|
+
tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="${attrs.get(inputType) || 'text'}" ${updateOnTmpl}></wm-input>`;
|
|
56772
56770
|
break;
|
|
56773
56771
|
case FormWidgetType.TEXTAREA:
|
|
56774
|
-
tmpl = `<wm-textarea ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} role="textbox" ${updateOnTmpl}
|
|
56772
|
+
tmpl = `<wm-textarea ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} role="textbox" ${updateOnTmpl}></wm-textarea>`;
|
|
56775
56773
|
break;
|
|
56776
56774
|
case FormWidgetType.TIME:
|
|
56777
|
-
tmpl = `<div wmTime ${attrs.get('required') === 'true' ? 'required=true' : ''} dataentrymode="${attrs.get('dataentrymode')}" ${innerTmpl}
|
|
56775
|
+
tmpl = `<div wmTime ${attrs.get('required') === 'true' ? 'required=true' : ''} dataentrymode="${attrs.get('dataentrymode')}" ${innerTmpl}></div>`;
|
|
56778
56776
|
break;
|
|
56779
56777
|
case FormWidgetType.TIMESTAMP:
|
|
56780
|
-
tmpl = `<div wmDateTime ${attrs.get('required') === 'true' ? 'required=true' : ''} dataentrymode="${attrs.get('dataentrymode')}" ${innerTmpl} role="input"
|
|
56778
|
+
tmpl = `<div wmDateTime ${attrs.get('required') === 'true' ? 'required=true' : ''} dataentrymode="${attrs.get('dataentrymode')}" ${innerTmpl} role="input"></div>`;
|
|
56781
56779
|
break;
|
|
56782
56780
|
case FormWidgetType.UPLOAD:
|
|
56783
56781
|
const counter = options.counter;
|
|
@@ -56786,7 +56784,7 @@ const getFormWidgetTemplate = (widgetType, innerTmpl, attrs, options = {}) => {
|
|
|
56786
56784
|
const eventTmpl = getUploadEventTmpl(attrs, counter, uploadProps && uploadProps.name);
|
|
56787
56785
|
if (uploadProps) {
|
|
56788
56786
|
tmpl = `<form name="${uploadProps.formName}" ${innerTmpl}>
|
|
56789
|
-
<input focus-target class="file-upload" type="file" name="${uploadProps.name}" ${eventTmpl}
|
|
56787
|
+
<input focus-target class="file-upload" type="file" name="${uploadProps.name}" ${eventTmpl}/>
|
|
56790
56788
|
</form>`;
|
|
56791
56789
|
}
|
|
56792
56790
|
else {
|
|
@@ -56796,11 +56794,11 @@ const getFormWidgetTemplate = (widgetType, innerTmpl, attrs, options = {}) => {
|
|
|
56796
56794
|
<i class="wi wi-file"></i></a>
|
|
56797
56795
|
<input ${innerTmpl} class="app-blob-upload" [ngClass]="{'file-readonly': ${counter}.readonly}" ${eventTmpl}
|
|
56798
56796
|
[required]="${counter}.required" type="file" name="${attrs.get('key') || attrs.get('name')}_formWidget" [readonly]="${counter}.readonly"
|
|
56799
|
-
[class.hidden]="!${pCounter}.isUpdateMode" [accept]="${counter}.permitted"
|
|
56797
|
+
[class.hidden]="!${pCounter}.isUpdateMode" [accept]="${counter}.permitted">`;
|
|
56800
56798
|
}
|
|
56801
56799
|
break;
|
|
56802
56800
|
default:
|
|
56803
|
-
tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="text" ${updateOnTmpl}
|
|
56801
|
+
tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="text" ${updateOnTmpl}></wm-input>`;
|
|
56804
56802
|
break;
|
|
56805
56803
|
}
|
|
56806
56804
|
return tmpl;
|
|
@@ -32,7 +32,6 @@ const downloadNPMPackage = (packageInfo) => {
|
|
|
32
32
|
const HOME_DIR = os.homedir();
|
|
33
33
|
const PATH_NPM_PACKAGE = (packageInfo.baseDir || HOME_DIR + '/.wm/node_modules/') + packageInfo.name + '/' + packageInfo.version;
|
|
34
34
|
const PATH_NPM_PACKAGE_SUCCESS = PATH_NPM_PACKAGE + '/.SUCCESS';
|
|
35
|
-
let isError = false;
|
|
36
35
|
|
|
37
36
|
// To check global app runtime node modules.
|
|
38
37
|
if (!isNPMPackageExist(PATH_NPM_PACKAGE_SUCCESS, packageInfo.successMsg)) {
|
|
@@ -45,16 +44,10 @@ const downloadNPMPackage = (packageInfo) => {
|
|
|
45
44
|
}
|
|
46
45
|
|
|
47
46
|
executeSyncCmd('cd ' + PATH_NPM_PACKAGE + ' && ' + npmInstallCMD, (errMsg) => {
|
|
48
|
-
isError = true;
|
|
49
47
|
console.log(packageInfo.infoMsg + ' Something wrong with npm installation ', errMsg);
|
|
50
48
|
}, packageInfo.infoMsg);
|
|
51
49
|
|
|
52
|
-
|
|
53
|
-
if(!isError) {
|
|
54
|
-
isError = false;
|
|
55
|
-
fs.writeFileSync(PATH_NPM_PACKAGE_SUCCESS, packageInfo.successMsg);
|
|
56
|
-
}
|
|
57
|
-
|
|
50
|
+
fs.writeFileSync(PATH_NPM_PACKAGE_SUCCESS, packageInfo.successMsg);
|
|
58
51
|
} else {
|
|
59
52
|
console.log(packageInfo.infoMsg + ' Node packages already installed!');
|
|
60
53
|
}
|
angular-codegen/package.json
CHANGED
angular-codegen/src/codegen.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
global._WM_APP_PROPERTIES={},global._WM_PACKAGE_PATH="./libraries",global.$=require("jquery"),global._=require("lodash");const cheerio=require("cheerio"),{deleteResource:deleteResource,getIndexHtmlPath:getIndexHtmlPath,getPagesDirPath:getPagesDirPath,readFile:readFile,searchFileByName:searchFileByName,writeFile:writeFile,readFileSync:readFileSync}=require("./wm-utils"),{createAppSkeleton:createApp}=require("./gen-app-skeleton"),{generateAppModule:generateAppModule,generateCodeGenModule:generateCodeGenModule}=require("./gen-app-codegen-module"),{generatePrefabConfigFile:generatePrefabConfigFile}=require("./gen-prefabs"),{generateAppRoutes:generateAppRoutes}=require("./gen-app-routes"),{generateAppJS:generateAppJS}=require("./gen-app-js"),{generateAppVariables:generateAppVariables}=require("./gen-app-variables"),{getWmProjectProperties:getWmProjectProperties,getThemesConfigProperties:getThemesConfigProperties,getSecurityConfig:getSecurityConfig,getLayoutsConfig:getLayoutsConfig,getPagesConfig:getPagesConfig,getPrefabConfigsUsedInApp:getPrefabConfigsUsedInApp,getPrefabPartialsConfig:getPrefabPartialsConfig}=require("./project-meta"),{generateTSConfig:generateTSConfig}=require("./gen-tsconfig"),{generateComponents:generateComponents,generatePagePartialComponent:generatePagePartialComponent}=require("./gen-components"),{generateWmProjectProperties:generateWmProjectProperties}=require("./gen-wm-project-properties"),{generateIndexHtml:generateIndexHtml}=require("./gen-index-html"),{updateAngularJSON:updateAngularJSON}=require("./update-angular-json"),{generatePwaFiles:generatePwaFiles}=require("./gen-pwa-files"),{generateLazyModuleRoutes:generateLazyModuleRoutes}=require("./gen-lazy-module-routes"),{createIntermediateAppSkeleton:createIntermediateAppSkeleton,generateLayoutsAndPages:generateLayoutsAndPages}=require("./gen-layouts"),getMarkupFiles=async e=>{const a=[];return searchFileByName(e+"/src/app",/\.html$/,e=>{a.push(e)}),a},isDynamicComponentUsedInMarkup=async e=>{const a=await readFile(e,"utf8");return cheerio.load(a)("form[wmForm][metadata],form[wmForm][metadata\\.bind],div[wmTable]:not(:has(*))").length>0},isDynamicComponentUsedInApp=async e=>{const a=await getMarkupFiles(e);return(await Promise.all(a.map(e=>isDynamicComponentUsedInMarkup(e)))).find(e=>e)},cleanPackageJSON=async(e,a)=>{const t=`${e}/package.json`;let r=readFileSync(t,!0);["@ampproject/rollup-plugin-closure-compiler","rollup","rollup-plugin-alias","rollup-plugin-commonjs","rollup-plugin-includepaths","rollup-plugin-multi-entry","rollup-plugin-node-resolve"].forEach(e=>{delete r.devDependencies[e]}),a||delete r.dependencies["@angular/service-worker"],await writeFile(t,JSON.stringify(r,null,4))},generateIntermediateApp=async(e,a)=>{console.time("create-intermediate-app"),await createIntermediateAppSkeleton(e,a),await generateLayoutsAndPages(a),console.timeEnd("create-intermediate-app")},generateSources=async(e,a,t,r,n,o)=>{console.time("generate app-sources"),await Promise.all([deleteResource(`${a}/src/app/layouts`),deleteResource(`${a}/src/app/pages`),deleteResource(`${a}/src/app/partials`),deleteResource(`${a}/src/app/prefabs`)]);const i=readFileSync(`${a}/angular.json`);global._WM_PACKAGE_PATH=i.includes("./node_modules/@wavemaker/app-ng-runtime/")?"./node_modules/@wavemaker/app-ng-runtime":"./libraries";const g=await getWmProjectProperties(e),p=await getThemesConfigProperties(e),s=await getSecurityConfig(e);let l;o&&(l=await getLayoutsConfig(e));const u=await getPagesConfig(e),c=await getPrefabConfigsUsedInApp(g,e);let d={};for(const a of c.keys())d[a]=await getPrefabPartialsConfig(e,a);await Promise.all([generateIndexHtml(e,a,g,t,r),generateWmProjectProperties(g,a),generateAppRoutes(e,g,l,u,s,a,o),generateLazyModuleRoutes(u,c,d,a),generatePrefabConfigFile(c,a),generateCodeGenModule(g,u,c,s,a),generateTSConfig(g,a),generateAppJS(e,a),generateAppVariables(e,a,n),generateComponents(e,g,l,u,s,c,a,d,n,o)]);const m=await isDynamicComponentUsedInApp(a),P={aot:!m,buildOptimizer:!m};await generateAppModule(g,a,m,r),await updateAngularJSON(e,a,g,p,u,c,t,P,d,r),await cleanPackageJSON(a,r),r&&await generatePwaFiles(e,a,g),console.timeEnd("generate app-sources")},createAppSkeleton=async(e,a,t)=>{console.time("create-angular-app"),await createApp(e,a,t),console.timeEnd("create-angular-app")},generatePage=async(e,a,t,r)=>{console.time("generate page",t);const n=getPagesDirPath(e),o=await getWmProjectProperties(e),i=await getPagesConfig(e),g=_.find(i,{name:t}),p="PAGE"===g.type?"pages":"partials";await deleteResource(`${a}/src/app/${p}/${t}`),await generatePagePartialComponent(n,o,g.name,g.type,a,void 0,void 0,r),console.timeEnd("generate page",t)};module.exports={generateIntermediateApp:generateIntermediateApp,generateSources:generateSources,createAppSkeleton:createAppSkeleton,generatePage:generatePage};
|
|
1
|
+
global._WM_APP_PROPERTIES={},global._WM_PACKAGE_PATH="./libraries",global.$=require("jquery"),global._=require("lodash");const cheerio=require("cheerio"),{deleteResource:deleteResource,getIndexHtmlPath:getIndexHtmlPath,getPagesDirPath:getPagesDirPath,readFile:readFile,searchFileByName:searchFileByName,writeFile:writeFile,readFileSync:readFileSync}=require("./wm-utils"),{createAppSkeleton:createApp}=require("./gen-app-skeleton"),{generateAppModule:generateAppModule,generateCodeGenModule:generateCodeGenModule}=require("./gen-app-codegen-module"),{generatePrefabConfigFile:generatePrefabConfigFile}=require("./gen-prefabs"),{generateAppRoutes:generateAppRoutes}=require("./gen-app-routes"),{generateAppJS:generateAppJS}=require("./gen-app-js"),{generateAppVariables:generateAppVariables}=require("./gen-app-variables"),{getWmProjectProperties:getWmProjectProperties,getThemesConfigProperties:getThemesConfigProperties,getSecurityConfig:getSecurityConfig,getLayoutsConfig:getLayoutsConfig,getPagesConfig:getPagesConfig,getPrefabConfigsUsedInApp:getPrefabConfigsUsedInApp,getPrefabPartialsConfig:getPrefabPartialsConfig}=require("./project-meta"),{generateTSConfig:generateTSConfig}=require("./gen-tsconfig"),{generateComponents:generateComponents,generatePagePartialComponent:generatePagePartialComponent}=require("./gen-components"),{generateWmProjectProperties:generateWmProjectProperties}=require("./gen-wm-project-properties"),{generateIndexHtml:generateIndexHtml}=require("./gen-index-html"),{updateAngularJSON:updateAngularJSON}=require("./update-angular-json"),{generatePwaFiles:generatePwaFiles}=require("./gen-pwa-files"),{generateLazyModuleRoutes:generateLazyModuleRoutes}=require("./gen-lazy-module-routes"),{createIntermediateAppSkeleton:createIntermediateAppSkeleton,generateLayoutsAndPages:generateLayoutsAndPages}=require("./gen-layouts"),getMarkupFiles=async e=>{const a=[];return searchFileByName(e+"/src/app",/\.html$/,e=>{a.push(e)}),a},isDynamicComponentUsedInMarkup=async e=>{const a=await readFile(e,"utf8");return cheerio.load(a)("form[wmForm][metadata],form[wmForm][metadata\\.bind],div[wmTable]:not(:has(*))").length>0},isDynamicComponentUsedInApp=async e=>{const a=await getMarkupFiles(e);return(await Promise.all(a.map(e=>isDynamicComponentUsedInMarkup(e)))).find(e=>e)},cleanPackageJSON=async(e,a)=>{const t=`${e}/package.json`;let r=readFileSync(t,!0);["@ampproject/rollup-plugin-closure-compiler","rollup","rollup-plugin-alias","rollup-plugin-commonjs","rollup-plugin-includepaths","rollup-plugin-multi-entry","rollup-plugin-node-resolve"].forEach(e=>{delete r.devDependencies[e]}),a||delete r.dependencies["@angular/service-worker"],await writeFile(t,JSON.stringify(r,null,4))},generateIntermediateApp=async(e,a)=>{console.time("create-intermediate-app"),await createIntermediateAppSkeleton(e,a),await generateLayoutsAndPages(a),console.timeEnd("create-intermediate-app")},generateSources=async(e,a,t,r,n,o)=>{console.time("generate app-sources"),await Promise.all([deleteResource(`${a}/src/app/layouts`),deleteResource(`${a}/src/app/pages`),deleteResource(`${a}/src/app/partials`),deleteResource(`${a}/src/app/prefabs`)]);const i=readFileSync(`${a}/angular.json`);global._WM_PACKAGE_PATH=i.includes("./node_modules/@wavemaker/app-ng-runtime/")?"./node_modules/@wavemaker/app-ng-runtime":"./libraries";const g=await getWmProjectProperties(e),p=await getThemesConfigProperties(e),s=await getSecurityConfig(e);let l;o&&(l=await getLayoutsConfig(e));const u=await getPagesConfig(e),c=await getPrefabConfigsUsedInApp(g,e);let d={};for(const a of c.keys())d[a]=await getPrefabPartialsConfig(e,a);t&&!t.endsWith("/")&&(t+="/"),await Promise.all([generateIndexHtml(e,a,g,t,r),generateWmProjectProperties(g,a),generateAppRoutes(e,g,l,u,s,a,o),generateLazyModuleRoutes(u,c,d,a),generatePrefabConfigFile(c,a),generateCodeGenModule(g,u,c,s,a),generateTSConfig(g,a),generateAppJS(e,a),generateAppVariables(e,a,n),generateComponents(e,g,l,u,s,c,a,d,n,o)]);const m=await isDynamicComponentUsedInApp(a),P={aot:!m,buildOptimizer:!m};await generateAppModule(g,a,m,r),await updateAngularJSON(e,a,g,p,u,c,t,P,d,r),await cleanPackageJSON(a,r),r&&await generatePwaFiles(e,a,g),console.timeEnd("generate app-sources")},createAppSkeleton=async(e,a,t)=>{console.time("create-angular-app"),await createApp(e,a,t),console.timeEnd("create-angular-app")},generatePage=async(e,a,t,r)=>{console.time("generate page",t);const n=getPagesDirPath(e),o=await getWmProjectProperties(e),i=await getPagesConfig(e),g=_.find(i,{name:t}),p="PAGE"===g.type?"pages":"partials";await deleteResource(`${a}/src/app/${p}/${t}`),await generatePagePartialComponent(n,o,g.name,g.type,a,void 0,void 0,r),console.timeEnd("generate page",t)};module.exports={generateIntermediateApp:generateIntermediateApp,generateSources:generateSources,createAppSkeleton:createAppSkeleton,generatePage:generatePage};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
const { spawnSync } = require('child_process');
|
|
2
|
-
const path = require('path');
|
|
3
|
-
|
|
4
|
-
const args = process.argv.slice(2);
|
|
5
|
-
|
|
6
|
-
const ngBuildArgs = ['build', ...args];
|
|
7
|
-
console.log("Build params - ", ngBuildArgs);
|
|
8
|
-
|
|
9
|
-
//Trigger angular build with the passed params
|
|
10
|
-
const ngPath = path.resolve(process.cwd(), 'node_modules', '.bin', "ng");
|
|
11
|
-
const ngBuildProcess = spawnSync(ngPath, ngBuildArgs, { stdio: 'inherit', shell: true });
|
|
12
|
-
|
|
13
|
-
if (ngBuildProcess.status === 0) {
|
|
14
|
-
console.log('ng build completed successfully!');
|
|
15
|
-
} else {
|
|
16
|
-
console.error('Error during ng build:', ngBuildProcess.error || ngBuildProcess.stderr);
|
|
17
|
-
process.exit(1);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const ngPostBuildArgs = ['build-scripts/post-build.js', ...args];
|
|
21
|
-
console.log("Post build params - ", ngPostBuildArgs);
|
|
22
|
-
|
|
23
|
-
const ngPostBuildProcess = spawnSync('node', ngPostBuildArgs, { stdio: 'inherit' });
|
|
24
|
-
|
|
25
|
-
if (ngPostBuildProcess.status === 0) {
|
|
26
|
-
console.log('ng post build completed successfully!');
|
|
27
|
-
} else {
|
|
28
|
-
console.error('Error during ng build:', ngPostBuildProcess.error || ngPostBuildProcess.stderr);
|
|
29
|
-
process.exit(1);
|
|
30
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
body {margin:0; padding:0; line-height: 1.4em; word-spacing:1px; letter-spacing:0.2px; font: 13px Arial, Helvetica,"Lucida Grande", serif; color: #000;}
|
|
2
|
-
|
|
3
|
-
/*Header*/
|
|
4
|
-
h2 {color:#000; font-size:25px;}
|
|
5
|
-
|
|
6
|
-
/* Links */
|
|
7
|
-
a:link, a:visited {background: transparent; color:#333; text-decoration:none;}
|
|
8
|
-
a:link[href^="http://"]:after, a[href^="http://"]:visited:after {content: " (" attr(href) ") "; font-size: 11px;}
|
|
9
|
-
a[href^="http://"] {color:#000;}
|
|
10
|
-
|
|
11
|
-
/*Image*/
|
|
12
|
-
img, img a, .more-link a {border:none;}
|
|
13
|
-
|
|
14
|
-
/*Remove Element*/
|
|
15
|
-
.app-header, .app-top-nav, .app-footer, .app-left-panel, .app-right-panel {display: none !important;}
|
|
16
|
-
|
|
17
|
-
/*Remove Form Controls*/
|
|
18
|
-
.app-checkboxset, .app-button, .app-button-group, .app-menu, .app-composite-widget,
|
|
19
|
-
.form-group, .form-control,
|
|
20
|
-
.app-fileupload, .app-grid .table-footer
|
|
21
|
-
{display: none !important;}
|
|
22
|
-
|
|
23
|
-
/*Show all of the grid data*/
|
|
24
|
-
.app-grid .app-datagrid .app-datagrid-cell {
|
|
25
|
-
overflow: visible;
|
|
26
|
-
word-wrap: break-word;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/*Show Grid record data*/
|
|
30
|
-
.app-grid-layout .form-group {
|
|
31
|
-
display: block !important;
|
|
32
|
-
}
|