Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
684 changes: 684 additions & 0 deletions angular.json

Large diffs are not rendered by default.

75 changes: 40 additions & 35 deletions azure-pipelines/igniteui-angular-grid-examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,41 +43,46 @@ stages:
inputs:
targetType: 'inline'
script: |
# Define the root path where projects are located
rootPath="$(Build.SourcesDirectory)/projects"

# Get all first-level subdirectories in the specified root path
subdirectories=$(find "$rootPath" -mindepth 1 -maxdepth 1 -type d)

for subdirectory in $subdirectories; do
# Extract the directory name from the path
dirName=$(basename "$subdirectory")

# Give each sample a version in its package.json file - for traceability
cd "$subdirectory"
echo "Calling npm version command"
npm version $(Build.BuildNumber) --no-git-tag-version

# Check if the directory name is already camel-case
if [[ "$dirName" =~ ^[A-Z]+[a-z]+([A-Z][a-z]*)*$ ]]; then
# If already camel-case, print it as is
echo "$dirName"
else
# Convert to camel-case (capitalize first letters and remove hyphens)
dirName=$(echo "$dirName" | sed -E 's/(^|-)([a-z])/\U\2/g')

fi

echo "Processing directory: $dirName"

# Define the name for the zip file
zipName="$(Build.ArtifactStagingDirectory)/IgniteUI_Angular_ApplicationSample_${dirName}_Source.zip"
echo "Creating ZIP: $zipName"

# Compress the directory into a ZIP file
(cd "$subdirectory" && zip -r "$zipName" .)
done

create_zips() {
local rootPath="$1"
if [ -d "$rootPath" ]; then
# Get all first-level subdirectories in the specified root path
subdirectories=$(find "$rootPath" -mindepth 1 -maxdepth 1 -type d)
for subdirectory in $subdirectories; do
# Extract the directory name from the path
dirName=$(basename "$subdirectory")

# Give each sample a version in its package.json file - for traceability
cd "$subdirectory"
echo "Setting project version in package.json to $(Build.BuildNumber) for $dirName"
npm version $(Build.BuildNumber) --no-git-tag-version

# Check if the directory name is already camel-case
if [[ "$dirName" =~ ^[A-Z]+[a-z]+([A-Z][a-z]*)*$ ]]; then
# If already camel-case, print it as is
echo "$dirName"
else
# Convert to camel-case (capitalize first letters and remove hyphens)
dirName=$(echo "$dirName" | sed -E 's/(^|-)([a-z])/\U\2/g')
fi

echo "Processing directory: $dirName"
# Define the name for the zip file
zipName="$(Build.ArtifactStagingDirectory)/IgniteUI_Angular_ApplicationSample_${dirName}_Source.zip"
echo "Creating ZIP: $zipName"

# Compress the directory into a ZIP file
(cd "$subdirectory" && zip -r "$zipName" .)
done
fi
}

# Pass 1: All first-level directories in projects/
create_zips "$(Build.SourcesDirectory)/projects"

# Pass 2: All first-level directories in projects/charts/
create_zips "$(Build.SourcesDirectory)/projects/charts"

echo "All sample projects have been compressed and saved to the artifacts directory."

- task: PublishPipelineArtifact@1
Expand Down
12 changes: 12 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,12 @@
"start:hr": "ng serve --project=hr-portal -o",
"start:sales": "ng serve --project=sales-grid -o",
"start:fleet": "ng serve --project=fleet-management -o",
"start:column-chart": "ng serve --project=column-chart -o",
"start:bar-chart": "ng serve --project=bar-chart -o",
"start:line-chart": "ng serve --project=line-chart -o",
"start:pie-chart": "ng serve --project=pie-chart -o",
"start:step-chart": "ng serve --project=step-chart -o",
"start:polar-chart": "ng serve --project=polar-chart -o",
"test": "ng test",
"_": "",
"ISS Deploy Scripts": "For use only with deployment on IIS. Make sure `base-href` matches the alias of you app",
Expand All @@ -23,6 +29,12 @@
"build:fin": "ng build finance-grid",
"build:hr": "ng build hr-portal",
"build:sales": "ng build sales-grid",
"build:column-chart": "ng build column-chart",
"build:bar-chart": "ng build bar-chart",
"build:line-chart": "ng build line-chart",
"build:pie-chart": "ng build pie-chart",
"build:step-chart": "ng build step-chart",
"build:polar-chart": "ng build polar-chart",
"ssr:erp": "node dist/erp-hgrid/server/server.mjs",
"ssr:fin": "node dist/finance-grid/server/server.mjs",
"ssr:hr": "node dist/hr-portal/server/server.mjs",
Expand Down
50 changes: 50 additions & 0 deletions projects/charts/bar-chart/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
{
"root": true,
"ignorePatterns": [
"projects/**/*"
],
"overrides": [
{
"files": [
"*.ts"
],
"parserOptions": {
"project": [
"tsconfig.json"
],
"createDefaultProgram": true
},
"extends": [
"plugin:@angular-eslint/recommended",
"plugin:@angular-eslint/template/process-inline-templates"
],
"rules": {
"@angular-eslint/directive-selector": [
"error",
{
"type": "attribute",
"prefix": "app",
"style": "camelCase"
}
],
"@angular-eslint/component-selector": [
"error",
{
"type": "element",
"prefix": "app",
"style": "kebab-case"
}
]
}
},
{
"files": [
"*.html"
],
"extends": [
"plugin:@angular-eslint/template/recommended"
],
"rules": {}
}
]
}
1 change: 1 addition & 0 deletions projects/charts/bar-chart/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
legacy-peer-deps=true
46 changes: 46 additions & 0 deletions projects/charts/bar-chart/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# bar-chart

This project was generated with [Ignite UI CLI](https://github.com/IgniteUI/igniteui-cli) version 14.2.3.

## Development server

Run `ig start` to build the application, start a web server and open the application in the default browser. Then navigate to `http://localhost:4200/`. Default serving port can be configured in `ignite-ui-cli.json` via `defaultPort` property.

## Build

Run `ig build` to build the application into an output directory.

## Step by step mode

If you want to get a guided experience through the available options, you can initialize the step by step mode that will help you to create and setup your new application, as well as update project previously created with the Ignite UI CLI. To start the guide, simply run the `ig` command.

## List templates

The `ig list` lists all available templates. When you run the command within a project folder it will list all available templates, even if you have provided different ones.

## Adding components

Add a new component or template to the project passing component ID and choosing a name.

`ig add <component/template> <component_name>`

The ID matches either a component ("grid", "combo", etc) or a predefined template. Predefined templates can provide either multiple components or fulfilling a specific use case like "form-validation", "master-detail" and so on.

## Running unit tests

Run `ig test` to execute the unit tests via [Karma](https://karma-runner.github.io). Runs all `.spec.ts` files under `./src` folder.

## Running end-to-end tests

Run `ig test --e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.

## Help

`ig help` lists the available commands and provides a brief description of what they do.

### Further help

To get more help on the IgniteUI CLI go check out the [IgniteUI CLI Wiki](https://github.com/IgniteUI/igniteui-cli/wiki).

## Angular CLI compatibility
You can run all of the supported Angular CLI commands. More details at [Angular CLI](https://github.com/angular/angular-cli).
144 changes: 144 additions & 0 deletions projects/charts/bar-chart/angular.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"bar-chart": {
"projectType": "application",
"schematics": {
"@schematics/angular:component": {
"style": "scss"
}
},
"root": "",
"sourceRoot": "src",
"prefix": "app",
"architect": {
"build": {
"builder": "@angular/build:application",
"options": {
"outputPath": "dist/bar-chart-app",
"index": "src/index.html",
"browser": "src/main.ts",
"polyfills": ["zone.js"],
"tsConfig": "tsconfig.app.json",
"inlineStyleLanguage": "scss",
"assets": [
{
"glob": "**/*",
"input": "public"
}
],
"styles": ["src/styles.scss"],
"scripts": ["./node_modules/hammerjs/hammer.min.js"],
"stylePreprocessorOptions": {
"includePaths": ["node_modules"]
},
"server": "src/main.server.ts",
"prerender": true,
"ssr": {
"entry": "src/server.ts"
},
"outputMode": "static"
},
"configurations": {
"production": {
"budgets": [
{
"type": "initial",
"maximumWarning": "5mb",
"maximumError": "10mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "6kb",
"maximumError": "2mb"
}
],
"outputHashing": "all"
},
"development": {
"optimization": false,
"extractLicenses": false,
"sourceMap": true
}
},
"defaultConfiguration": "production"
},
"serve": {
"builder": "@angular/build:dev-server",
"configurations": {
"production": {
"buildTarget": "bar-chart:build:production"
},
"development": {
"buildTarget": "bar-chart:build:development"
}
},
"defaultConfiguration": "development"
},
"extract-i18n": {
"builder": "@angular/build:extract-i18n",
"options": {
"buildTarget": "bar-chart:build"
}
},
"test": {
"builder": "@angular/build:karma",
"options": {
"polyfills": ["zone.js", "zone.js/testing"],
"tsConfig": "tsconfig.spec.json",
"inlineStyleLanguage": "scss",
"assets": [
{
"glob": "**/*",
"input": "public"
}
],
"styles": ["src/styles.scss"],
"scripts": [],
"stylePreprocessorOptions": {
"includePaths": ["node_modules"]
}
}
},
"lint": {
"builder": "@angular-eslint/builder:lint",
"options": {
"lintFilePatterns": ["src/**/*.ts", "src/**/*.html"]
}
}
}
}
},
"cli": {
"schematicCollections": ["@angular-eslint/schematics"],
"analytics": false
},
"schematics": {
"@schematics/angular:component": {
"type": "component"
},
"@schematics/angular:directive": {
"type": "directive"
},
"@schematics/angular:service": {
"type": "service"
},
"@schematics/angular:guard": {
"typeSeparator": "."
},
"@schematics/angular:interceptor": {
"typeSeparator": "."
},
"@schematics/angular:module": {
"typeSeparator": "."
},
"@schematics/angular:pipe": {
"typeSeparator": "."
},
"@schematics/angular:resolver": {
"typeSeparator": "."
}
}
}
Loading