Skip to content

Commit e0d513a

Browse files
authored
Merge pull request #3233 from IgniteUI/vNext
Mass Merge vNext to master
2 parents a617e0d + 0ab43d6 commit e0d513a

86 files changed

Lines changed: 2791 additions & 1367 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.browserslistrc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ Firefox ESR
99
not > 0.5%
1010
not last 2 versions
1111
not dead
12-
not IE 9-11
12+
not IE 9-11
13+
Safari >=15

.github/workflows/build-app-crm.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
cache: 'npm'
4444

4545
- name: Install dependencies
46-
run: npm ci --force
46+
run: npm ci
4747

4848
- name: Run lint
4949
run: npm run lint

.github/workflows/build-app-lob.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ jobs:
4848
cache: 'npm'
4949

5050
- name: Install dependencies
51-
run: npm ci --force
51+
run: npm ci
5252

5353
- name: Run lint
5454
run: npm run lint

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
# samples assets
1212
/src/assets/samples
1313
/projects/app-lob/src/assets/samples
14+
/projects/app-crm/src/assets/samples
1415

1516
# IDEs and editors
1617
/.idea

.vscode/launch.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,19 @@
2727
],
2828
"console": "internalConsole",
2929
},
30+
{
31+
"name": "Launch App CRM Live-editing",
32+
"type": "node",
33+
"request": "launch",
34+
"program": "${workspaceRoot}/node_modules/gulp/bin/gulp.js",
35+
"stopOnEntry": false,
36+
"args": ["generate-live-editing", "--appCrm=true"],
37+
"cwd": "${workspaceRoot}",
38+
"runtimeArgs": [
39+
"--nolazy"
40+
],
41+
"console": "internalConsole",
42+
},
3043
{
3144
"name": "Launch Repositoryfy",
3245
"type": "node",

angular.json

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
"buildOptimizer": false,
3030
"optimization": false,
3131
"namedChunks": true,
32-
"sourceMap": false,
32+
"sourceMap": true,
3333
"progress": true,
3434
"stylePreprocessorOptions": {
3535
"includePaths": ["node_modules"]
@@ -91,7 +91,12 @@
9191
"assets": [
9292
"src/assets",
9393
"src/favicon.ico"
94-
]
94+
],
95+
"stylePreprocessorOptions": {
96+
"includePaths": [
97+
"node_modules"
98+
]
99+
}
95100
}
96101
},
97102
"lint": {
@@ -209,7 +214,12 @@
209214
"styles": [
210215
"projects/app-lob/src/styles.scss"
211216
],
212-
"scripts": []
217+
"scripts": [],
218+
"stylePreprocessorOptions": {
219+
"includePaths": [
220+
"node_modules"
221+
]
222+
}
213223
}
214224
},
215225
"lint": {
@@ -339,7 +349,12 @@
339349
"styles": [
340350
"projects/app-crm/src/styles.scss"
341351
],
342-
"scripts": []
352+
"scripts": [],
353+
"stylePreprocessorOptions": {
354+
"includePaths": [
355+
"node_modules"
356+
]
357+
}
343358
}
344359
},
345360
"lint": {

azure-pipelines.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ steps:
1212
- script: npm config set $(igScope):_auth=$(token)
1313
displayName: 'Npm config auth'
1414

15-
- script: npm ci --force
15+
- script: npm ci
1616
displayName: 'Install dependencies'
1717
env:
1818
AZURE_PIPELINES: "true"

gulpfile.js

Lines changed: 110 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -19,25 +19,36 @@ const submodule = "igniteui-live-editing-samples";
1919
gulp.task("generate-live-editing", async () => {
2020
var appDv = argv.appDv !== undefined && argv.appDv.toLowerCase().trim() === "true";
2121
const liveEditingOptions = appDv ?
22-
{
23-
platform: 'angular',
24-
projectDir: "./projects/app-lob",
25-
samplesDir: "./projects/app-lob/src/assets",
26-
configGeneratorPath: "./live-editing/generators/AppDVConfigGenerators.ts",
27-
module: {
28-
moduleName: "DV_MODULE_ROUTES", routerPath: './live-editing/Routes.ts',
22+
{
23+
platform: 'angular',
24+
projectDir: "./projects/app-lob",
25+
samplesDir: "./projects/app-lob/src/assets",
26+
configGeneratorPath: "./live-editing/generators/AppDVConfigGenerators.ts",
27+
module: {
28+
moduleName: "DV_MODULE_ROUTES", routerPath: './live-editing/Routes.ts',
29+
}
2930
}
30-
}
3131
:
32-
{
33-
platform: 'angular',
34-
samplesDir: "./src/assets",
35-
configGeneratorPath: "./live-editing/generators/ConfigGenerators.ts",
36-
module: {
37-
moduleName: "MODULE_ROUTES", routerPath: './live-editing/Routes.ts',
38-
},
39-
additionalSharedStyles: ["_variables.scss", "_app-layout.scss"]
40-
}
32+
(argv.appCrm ?
33+
{
34+
platform: 'angular',
35+
projectDir: "./projects/app-crm",
36+
samplesDir: "./projects/app-crm/src/assets",
37+
configGeneratorPath: "./live-editing/generators/AppCRMConfigGenerators.ts",
38+
module: {
39+
moduleName: "CRM_MODULE_ROUTES", routerPath: './live-editing/Routes.ts',
40+
}
41+
}
42+
:
43+
{
44+
platform: 'angular',
45+
samplesDir: "./src/assets",
46+
configGeneratorPath: "./live-editing/generators/ConfigGenerators.ts",
47+
module: {
48+
moduleName: "MODULE_ROUTES", routerPath: './live-editing/Routes.ts',
49+
},
50+
additionalSharedStyles: ["_variables.scss", "_app-layout.scss"]
51+
})
4152
await generateLiveEditing(liveEditingOptions);
4253
});
4354

@@ -128,96 +139,101 @@ const getSampleNameFromFileName = (fileName, sampleBaseDir) => fileName.replace(
128139
var assetsRegex = new RegExp(/([\.]{0,2}\/)*assets\//g);
129140

130141
const processApp = (projectPath, dest, directoriesToExclude) => {
131-
if(!fs.existsSync(submodule)) {
142+
if (!fs.existsSync(submodule)) {
132143
return console.error("No submodule found");
133144
}
134145
const directories = [];
135146
const appExcludedDirectories = excludedDirectories.concat(directoriesToExclude);
136147
const appDir = fs.readdirSync(projectPath + "/app", "utf-8");
137-
appDir.filter(dir => appExcludedDirectories.indexOf(dir) === -1 )
138-
.forEach(child => {
139-
if(fs.lstatSync(`${projectPath + "/app"}/${child}`).isDirectory()) {
148+
appDir.filter(dir => appExcludedDirectories.indexOf(dir) === -1)
149+
.forEach(child => {
150+
if (fs.lstatSync(`${projectPath + "/app"}/${child}`).isDirectory()) {
140151
directories.push(child);
141152
}
142-
});
153+
});
154+
143155
const jsonSamplesPath = path.join(__dirname, `${projectPath}/assets/samples`);
144156
const sharedJson = JSON.parse(fs.readFileSync(path.join(jsonSamplesPath, "/shared.json")));
145157
const submoduleAppDest = submodule + `/${dest}/`;
146-
if(!fs.existsSync(submoduleAppDest)) {
158+
if (!fs.existsSync(submoduleAppDest)) {
147159
fs.mkdirSync(submoduleAppDest);
148160
}
149161

150162
let i = 0;
151-
return gulp.src([`${jsonSamplesPath}/*.json`,`!${jsonSamplesPath}/shared.json`, `!${jsonSamplesPath}/meta.json`])
152-
.pipe(es.map((file, cb) => {
153-
fs.readFile(file.path, 'utf-8', (err, content) => {
154-
// Adjust sample application bundle files
155-
const jsonObj = JSON.parse(content);
156-
const additionals = [];
157-
const packageJson =
158-
{
159-
"path": "package.json",
160-
"hasRelativeAssetsUrls": false,
161-
"content": JSON.stringify({
162-
"dependencies": JSON.parse(jsonObj.sampleDependencies),
163-
"devDependencies": sharedJson.devDependencies }, null, 2)
164-
}
165-
additionals.push(packageJson);
166-
167-
if(jsonObj.addTsConfig) {
168-
additionals.push(sharedJson.tsConfig);
169-
}
170-
171-
jsonObj.sampleFiles = jsonObj.sampleFiles.concat(sharedJson.files).concat(additionals);
172-
173-
// Configure sample application file structure
174-
const fileName = file.path.substring(file.base.length + 1).replace(".json", "");
175-
let sampleBaseDir = fileName.indexOf("--") !== -1 ? fileName.substring(0, fileName.indexOf("--")) : "";
176-
if(sampleBaseDir && !fs.existsSync(submoduleAppDest + sampleBaseDir)) {
177-
fs.mkdirSync(submoduleAppDest + sampleBaseDir);
178-
}
179-
const sampleName = sampleBaseDir ? getSampleNameFromFileName(fileName, sampleBaseDir) : fileName;
180-
const sampleAppPath = submoduleAppDest + sampleBaseDir + "/" + sampleName;
181-
if(!fs.existsSync(sampleAppPath)) {
182-
fs.mkdirSync(sampleAppPath);
183-
}
184-
185-
// Distribute Sample Files
186-
jsonObj.sampleFiles.forEach(sampleFile => {
187-
let sampleContent;
188-
const isProduction = argv.prod !== undefined && argv.prod.toLowerCase().trim() === "true";
189-
const assetsUrl = `https://${isProduction ? "www." : "staging."}infragistics.com/${dest}/assets/`;
190-
if(sampleFile.hasRelativeAssetsUrls) {
191-
sampleContent = sampleFile.content.replace(assetsRegex, assetsUrl);
192-
} else {
193-
sampleContent = sampleFile.content;
163+
return gulp.src([`${jsonSamplesPath}/*.json`, `!${jsonSamplesPath}/shared.json`, `!${jsonSamplesPath}/meta.json`])
164+
.pipe(es.map((file, cb) => {
165+
fs.readFile(file.path, 'utf-8', (err, content) => {
166+
// Adjust sample application bundle files
167+
const jsonObj = JSON.parse(content);
168+
const additionals = [];
169+
const packageJson =
170+
{
171+
"path": "package.json",
172+
"hasRelativeAssetsUrls": false,
173+
"content": JSON.stringify({
174+
"dependencies": JSON.parse(jsonObj.sampleDependencies),
175+
"devDependencies": sharedJson.devDependencies
176+
}, null, 2)
177+
}
178+
additionals.push(packageJson);
179+
180+
if (jsonObj.addTsConfig) {
181+
additionals.push(sharedJson.tsConfig);
182+
}
183+
184+
jsonObj.sampleFiles = jsonObj.sampleFiles.concat(sharedJson.files).concat(additionals);
185+
186+
// Configure sample application file structure
187+
const fileName = file.path.substring(file.base.length + 1).replace(".json", "");
188+
let sampleBaseDir = fileName.indexOf("--") !== -1 ? fileName.substring(0, fileName.indexOf("--")) : "";
189+
if (sampleBaseDir && !fs.existsSync(submoduleAppDest + sampleBaseDir)) {
190+
fs.mkdirSync(submoduleAppDest + sampleBaseDir);
191+
}
192+
const sampleName = sampleBaseDir ? getSampleNameFromFileName(fileName, sampleBaseDir) : fileName;
193+
const sampleAppPath = submoduleAppDest + sampleBaseDir + "/" + sampleName;
194+
195+
if (!fs.existsSync(sampleAppPath)) {
196+
fs.mkdirSync(sampleAppPath);
197+
}
198+
199+
// Distribute Sample Files
200+
jsonObj.sampleFiles.forEach(sampleFile => {
201+
let sampleContent;
202+
const isProduction = argv.prod !== undefined && argv.prod.toLowerCase().trim() === "true";
203+
const assetsUrl = `https://${isProduction ? "www." : "staging."}infragistics.com/${dest}/assets/`;
204+
if (sampleFile.hasRelativeAssetsUrls) {
205+
sampleContent = sampleFile.content.replace(assetsRegex, assetsUrl);
206+
} else {
207+
sampleContent = sampleFile.content;
208+
}
209+
const paths = sampleFile.path.replace("./", "").split("/");
210+
let tempPath = "";
211+
paths.forEach(p => {
212+
tempPath += p + "/";
213+
if (p.indexOf(".") !== -1) {
214+
fs.writeFileSync(sampleAppPath + "/" + tempPath, sampleContent);
215+
} else
216+
if (!fs.existsSync(sampleAppPath + "/" + tempPath)) {
217+
fs.mkdirSync(sampleAppPath + "/" + tempPath)
194218
}
195-
const paths = sampleFile.path.replace("./", "").split("/");
196-
let tempPath = "";
197-
paths.forEach(p => {
198-
tempPath += p + "/";
199-
if(p.indexOf(".") !== -1) {
200-
fs.writeFileSync(sampleAppPath + "/" + tempPath, sampleContent);
201-
} else
202-
if(!fs.existsSync(sampleAppPath + "/" + tempPath)) {
203-
fs.mkdirSync(sampleAppPath + "/" + tempPath)
204-
}
205-
})
206-
});
207-
i++;
208-
console.log(`Processing ${fileName}.json with SCSS styling`);
209-
cb(null, file);
210219
})
211-
}))
212-
.on("error", () => console.log(err))
213-
.on("end", () => console.log(`Geneared ${i} applications with SCSS in ${dest.toUpperCase()} project.`));
220+
});
221+
i++;
222+
console.log(`Processing ${fileName}.json with SCSS styling`);
223+
cb(null, file);
224+
})
225+
}))
226+
.on("error", () => console.log(err))
227+
.on("end", () => console.log(`Generated ${i} applications with SCSS in ${dest.toUpperCase()} project.`));
214228
}
215229

216-
const processDemosWithScss = () => processApp("src", "angular-demos", "data");
230+
const processDemosWithScss = () => processApp("src", "angular-demos", "data");
217231
const processDemosLobWithScss = () => processApp("projects/app-lob/src", "angular-demos-lob", "services");
232+
const processDemosCrmWithScss = () => processApp("projects/app-crm/src", "angular-demos-grid-crm");
218233

219234
let repositoryfyAngularDemos;
220235
let repositoryfyAngularDemosLob;
236+
let repositoryfyAngularDemosCrm;
221237

222238
const cleanupAngularDemos = (cb) => {
223239
fsExtra.removeSync(submodule + "/angular-demos");
@@ -230,5 +246,13 @@ const cleanupAngularDemosLob = (cb) => {
230246
fsExtra.mkdirSync(submodule + "/angular-demos-lob");
231247
cb();
232248
}
249+
250+
const cleanupAngularDemosCrm = (cb) => {
251+
fsExtra.removeSync(submodule + "/angular-demos-grid-crm");
252+
fsExtra.mkdirSync(submodule + "/angular-demos-grid-crm");
253+
cb();
254+
}
255+
233256
exports.repositoryfyAngularDemos = repositoryfyAngularDemos = gulp.series(cleanupAngularDemos, processDemosWithScss);
234-
exports.repositoryfyAngularDemosLob = repositoryfyAngularDemosLob = gulp.series(cleanupAngularDemosLob, processDemosLobWithScss);
257+
exports.repositoryfyAngularDemosLob = repositoryfyAngularDemosLob = gulp.series(cleanupAngularDemosLob, processDemosLobWithScss);
258+
exports.repositoryfyAngularDemosCrm = repositoryfyAngularDemosCrm = gulp.series(cleanupAngularDemosCrm, processDemosCrmWithScss);

live-editing/Routes.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import * as GridFinjsRouting from '../projects/app-lob/src/app/grid-finjs/grid-f
33
import { GridFinjsModule } from '../projects/app-lob/src/app/grid-finjs/grid-finjs.module';
44
import * as TreeGridFinjsRouting from '../projects/app-lob/src/app/treegrid-finjs/treegrid-finjs-routing.module';
55
import { TreeGridFinjsModule } from '../projects/app-lob/src/app/treegrid-finjs/treegrid-finjs.module';
6+
import * as GridCRMRouting from '../projects/app-crm/src/app/app-routing.module';
67

78
import * as GridsDVRouting from '../projects/app-lob/src/app/grid/grids-routing.module';
89
import { GridsDVModule } from '../projects/app-lob/src/app/grid/grids.module';
@@ -46,6 +47,7 @@ import { PaginationModule } from '../src/app/pagination/pagination.module';
4647
import * as PaginatorRouting from '../src/app/pagination/pagination-routing.module';
4748
import { PivotGridsModule } from '../src/app/pivot-grid/pivot-grids.module';
4849
import { PivotGridsRoutingModule } from '../src/app/pivot-grid/pivot-grids-routing.module';
50+
import { AppModule } from '../projects/app-crm/src/app/app.module';
4951

5052
export const MODULE_ROUTES = [
5153
{
@@ -157,3 +159,11 @@ export const DV_MODULE_ROUTES = [
157159
routes: GridFinJSDockManagerRoutingModule.gridFinJsDockManagerGridRoutes
158160
}
159161
];
162+
163+
export const CRM_MODULE_ROUTES = [
164+
{
165+
module: AppModule,
166+
path: 'grid-crm',
167+
routes: GridCRMRouting.gridCrmRoutes
168+
}
169+
];

0 commit comments

Comments
 (0)