Skip to content

Commit 67e4cc6

Browse files
Integrated latest changes at 07-10-2024 10:30:11 PM
1 parent cb4951a commit 67e4cc6

File tree

16 files changed

+773
-0
lines changed

16 files changed

+773
-0
lines changed
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
{
2+
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
3+
"version": 1,
4+
"newProjectRoot": "projects",
5+
"projects": {
6+
"syncfusion-component": {
7+
"projectType": "application",
8+
"schematics": {},
9+
"root": "",
10+
"sourceRoot": "src",
11+
"prefix": "app",
12+
"architect": {
13+
"build": {
14+
"builder": "@angular-devkit/build-angular:browser",
15+
"options": {
16+
"outputPath": "dist",
17+
"index": "index.html",
18+
"main": "src/main.ts",
19+
"tsConfig": "tsconfig.json",
20+
"styles": [
21+
"src/styles.css"
22+
],
23+
"assets": []
24+
},
25+
"configurations": {
26+
"production": {
27+
"budgets": [
28+
{
29+
"type": "initial",
30+
"maximumWarning": "500kb",
31+
"maximumError": "10mb"
32+
},
33+
{
34+
"type": "anyComponentStyle",
35+
"maximumWarning": "2kb",
36+
"maximumError": "4kb"
37+
}
38+
],
39+
"outputHashing": "all"
40+
},
41+
"development": {
42+
"buildOptimizer": false,
43+
"optimization": false,
44+
"vendorChunk": true,
45+
"extractLicenses": false,
46+
"sourceMap": true,
47+
"namedChunks": true
48+
}
49+
},
50+
"defaultConfiguration": "production"
51+
},
52+
"serve": {
53+
"builder": "@angular-devkit/build-angular:dev-server",
54+
"configurations": {
55+
"production": {
56+
"buildTarget": "syncfusion-component:build:production"
57+
},
58+
"development": {
59+
"buildTarget": "syncfusion-component:build:development"
60+
}
61+
},
62+
"defaultConfiguration": "development"
63+
}
64+
}
65+
}
66+
},
67+
"cli": {
68+
"analytics": false
69+
}
70+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<title>Syncfusion Angular Spreadsheet</title>
5+
<meta charset="utf-8" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+
<meta name="description" content="Angular Spreadsheet Control" />
8+
9+
<meta name="author" content="Syncfusion" />
10+
<style>
11+
#loader {
12+
color: #008cff;
13+
font-family: 'Helvetica Neue', 'calibiri';
14+
font-size: 16px;
15+
height: 40px;
16+
left: 45%;
17+
position: absolute;
18+
top: 45%;
19+
width: 30%;
20+
}
21+
.customClass.e-cell {
22+
background-color: red;
23+
}
24+
</style>
25+
</head>
26+
<body>
27+
<app-container>
28+
<div id='loader'>LOADING....</div>
29+
</app-container>
30+
</body>
31+
</html>
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
{
2+
"name": "syncfusion-component",
3+
"version": "0.0.0",
4+
"scripts": {
5+
"ng": "ng",
6+
"start": "ng serve",
7+
"build": "ng build",
8+
"watch": "ng build --watch --configuration development",
9+
"test": "ng test"
10+
},
11+
"private": true,
12+
"dependencies": {
13+
"@angular/core": "17.1.2",
14+
"@angular/platform-browser": "17.1.2",
15+
"@angular/platform-browser-dynamic": "17.1.2",
16+
"@syncfusion/ej2-angular-spreadsheet": "*",
17+
"@syncfusion/ej2-base": "*",
18+
"@syncfusion/ej2-inputs": "*",
19+
"@syncfusion/ej2-buttons": "*",
20+
"@syncfusion/ej2-splitbuttons": "*",
21+
"@syncfusion/ej2-lists": "*",
22+
"@syncfusion/ej2-navigations": "*",
23+
"@syncfusion/ej2-popups": "*",
24+
"@syncfusion/ej2-dropdowns": "*",
25+
"@syncfusion/ej2-spreadsheet": "*",
26+
"@syncfusion/ej2-grids": "*",
27+
"@syncfusion/ej2-angular-base": "*",
28+
"@syncfusion/ej2-angular-buttons": "*",
29+
"@syncfusion/ej2-angular-splitbuttons": "*",
30+
"@angular/animations": "17.1.2",
31+
"@angular/common": "17.1.2",
32+
"@angular/compiler": "17.1.2",
33+
"@angular/forms": "17.1.2",
34+
"@angular/router": "17.1.2",
35+
"moment": "2.29.4",
36+
"rxjs": "7.8.0",
37+
"tslib": "2.3.0",
38+
"zone.js": "0.14.3"
39+
},
40+
"devDependencies": {
41+
"@angular-devkit/build-angular": "17.1.2",
42+
"@angular/cli": "17.1.2",
43+
"@angular/compiler-cli": "17.1.2",
44+
"@types/jasmine": "4.3.0",
45+
"jasmine-core": "4.5.0",
46+
"karma": "6.4.0",
47+
"karma-chrome-launcher": "3.1.0",
48+
"karma-coverage": "2.2.0",
49+
"karma-jasmine": "5.1.0",
50+
"karma-jasmine-html-reporter": "2.0.0",
51+
"typescript": "5.3.3"
52+
}
53+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import { NgModule, ViewChild } from '@angular/core'
2+
import { BrowserModule } from '@angular/platform-browser'
3+
import { SpreadsheetAllModule, SpreadsheetComponent } from '@syncfusion/ej2-angular-spreadsheet'
4+
import { Component } from '@angular/core';
5+
6+
@Component({
7+
imports: [
8+
9+
SpreadsheetAllModule
10+
],
11+
standalone: true,
12+
selector: 'app-container',
13+
template: `<div class="control-section">
14+
<ejs-spreadsheet #spreadsheet openUrl="https://services.syncfusion.com/angular/production/api/spreadsheet/open" saveUrl = 'https://services.syncfusion.com/angular/production/api/spreadsheet/save' (created)="created()">
15+
</ejs-spreadsheet>
16+
</div>`
17+
})
18+
export class AppComponent {
19+
constructor() {
20+
21+
}
22+
@ViewChild('spreadsheet')
23+
public spreadsheetObj!: SpreadsheetComponent;
24+
25+
// Specifies the base64 string.
26+
public base64String: string | ArrayBuffer = "data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,UEsDBBQAAAAIAP1o41i4AvtcvQIAAHISAAANAAAAeGwvc3R5bGVzLnhtbOxYW2vbMBT+K0LvreM0ydoQp2yFQGGUsm4wGHuQZdkR1cXIcrH363ckO3bSJOvW9iEDv0RHx/q+c9ElOlpcV1KgJ2YKrlWEw/MRRkxRnXCVRbi06dklRoUlKiFCKxbhmhX4erkobC3Yw5oxi4BAFXNJI7y2Np8HQUHXTJLiXOdMwcdUG0ksdE0WSGIey/yMapkTy2MuuK2D8Wg0w0jS+W2mtCGxADNVOCEUt9y+s0cvOTW60Kk9B7pApymnLChyw0hSOMekcMxXwVXQMf2Ni3sMM/CaK7xcpFrZAlFdKhvhaauAVPxCT0RA7kKMguVCEckaxQ0RPDbca+mamAKS5T+MvCpo4APJfk58U0BuuBBdxse4USwXsHYsM2oFHdTKX+scVo2CJepGZTdaaIO4SljFkgjPJp493tNPG6tbhM64b14wlRlSh+Ppe1nzDUQca5PAZtzEHOKNarkQLLUOb3i29oLVubejrdXSSQknmVZEeCsbWCsAN2VCPLh9+z3tk+oiqFKkSrmS9jbxE+GyvxHBrVZseNpOcBwVHkeRPBf1R8EzJZmzvlF98oP6/l0pY2ZWflf2WpewvndvtGXU+mPrP3NoPDj0QoZGpzZlg0NDhoY1NOyy4Rxyp+Hk4l3/XVdA9cojeuLMn4YncOs7EU/Gp+LJ1ak48uZL7XEU1AidbSQ0fXRX/baaqVL42b52N5dwL7zCvyp9i6MtfHwAH07+keDADaupfn20XaA+7K7WuMRbWuTq5AjfObTYCi0uubBc9YE+R9xoKckGEE53EBfHEejH6GeHmu2gZodRpTHwElJ3oA87oMkfQTvWLneAQHMAeM8MhcXfYWDnbGGawnHPGDHogbgEf2G5NvazX3xQdJZS+XHPpvwl/Dd1nGFrdptJhWqz6svIxoB1bze7c95uhP65aPkbAAD//wMAUEsDBBQAAAAIAP1o41iHwWa9AgMAALMIAAAUAAAAeGwvc2hhcmVkU3RyaW5ncy54bWx0Vl1vGksM/SsW7y1JVN1GFaEKNJCm5ENASe+jYR3Wysx4Mx9ptr++XlVXV1pvn4A5Mx77+PgMk89v3sErxcQSLkan709GQOEgFYfjxajkp3fno8/TSUoZSuCXQnMpIV+Mzk9HcPjz9fTsbAQaJaSLUZ1z82k8ToeaPKb30lBQ5Emix6w/43GcmkhYpZooezc+Ozn5Z+yRw0jv4OkkT+clZfEU4Q49TcZ5Ohl3wB/wVipy/cW5OIn9xQdsPYUM3Yk+9oUca8UtfMFswEvfVdVfXYuXgHBNmBw3fXSLJZZkIr0U9Bg5DCSw5wxzjJWpxWEkmGHOFLOEPrxpMEb5aYrl8GwiYarhPsB/xfbxK9SKYBuRk8lvGTFUMK8pyjMZdOaKWbujrFmHZ1VNH7opjkuCpcRApk3L7b1JPFL1F3ZuKGgTNodaxD0xObNh9aO/8i85Zwm7xdi6NgSCayV0IOm5KiOi5YXI9GTHribnWTNbETfkjHg+woYikxHIUlxFIYopY4Zx36rYODlL2VziK6k+jETJxPmmZQaYCRt1rOmIZpC+hoqPYknH0N0HD+gbx1aTH/ori5IObMibR06Z4So1HMRwsV2ZbFJSDor3dkbKHh7xaMdjWyhV2MICS3ZG8btz2GHIeKSB1Hyy4daS1MUiI2xr8RjMBtUovuKAIsSRUcGqVSnCoqgr0S/T8S5QZThbYxu6U6vuc9D3sJKBQwSPtfqOYfnDuqjojaR2HI+dfi9rjBLY0LoxY/VAGTuDSDUPWG+unzhU9h61AoLvUV8aU4vefLQHVvQTluxa9UPDmGglr+yc4eVG9qQakJiLuWf2bngUZ05U/ATzWLyx9520OJDctsSXIgP2udC+aJdVNzMOIQ2760Pktz5yr4hV5w3qs6uDB0t0+iYYfFPCnq1ZXqN6t4crTIn2ZhhuOQ4Mwh0fnsVhZ9dcqeL7+I9vA5asQoOvR0fJzvzl4SA2swW+wSNnfV5SIwNj15EAa9FXCzaNtvH/DWP9HzL9DQAA//8DAFBLAwQUAAAACAD9aONYKH0NfPcGAAAGJAAAGAAAAHhsL3dvcmtzaGVldHMvc2hlZXQxLnhtbKSabY+jNhDHvwri/QEGzMNqd09NsqiVrmrVSr3XbOJs0JGQAvtw377GBg5mhgbr3qyy5Jc/nmE8/hu4//xxLq03UTdFdXmwmePZlrjsq0NxeXmwX9vjp8S2mja/HPKyuogH+7to7M+P9+9V/a05CdFa8veX5q5+sE9te71z3WZ/Eue8caqruMjvjlV9zlv5b/3iVsdjsRe7av96FpfW9T0vcmtR5q08d3Mqro3dq32wEOmdi31dNdWxdfbVuZdym2st8oMayLnsBFM3dc95cRmUzvs1Azvn9bfX6ycpfJWDeS7Kov2uhjcO6LAqwEOdv8vE6aFE09Ht9De93hotFFqkA3u8V8f+rC338f5QyEx2l86qxfHB/oXdZYG8gm4P/VOI92by2Wqr6xdxbLeiLDvatt7k0Qf70p23tK02f/5blGLfioOsBdvqrvJzVX3rfvubPOR1Z1dAd8pr3hVEL2lbuTz6Jn5IN//2Y1LjccdBTD8Pg8tU4DKm/WvTVudfRfFyaqV2/Sps6yCO+WvZ/lW9D8dZ6Phcye6rUmrIv9a56OrXts75hx57cWhPD7bPnZh5aRBLvmm/l0J9qU/zVSN6gKOG32sEowZLHB57AfNXa4S9RvgT4+C9Bv+JcUS9RvRDI3ZY6EU3JVydWV28eZs/3tfVuyVnQXdl5ZWXNczupKy6HFJsfuGYLJR9R6tCUD+SRxt59O3Ru3ffOv2e2GCCzYktJvw5scNEMCeeMBHOiQwTfCRcGfyYAd8sAz7SjUAGMBGDDGAiARnARAoyoAlfx+6zFIwiGxSUOvdTx/fp+AOz+AN8fWEJEAisAQKBRUAgsAqCWQ54BGtgkFA/jpMoclhKJyE0S0KIxwbOvSEQDpJAIOAq7ggEFNNTOEuCz0Gqs0FCZzDhgeMtJIGbJYHjsYEy3hAIqOMtvzkXMOGDinvi0xwEXgILYZBQPw6CxIlDOgWRWQoiPDSQ/g2BgErfEgio9F10OwfRNAcshd9ng4RqJjxOnHChIcZmOYjx0OBcIBA4FwgEzoX4dkOIZ3MhhXMlGyR0JbKQOdFCV0zMkpDg4YNzbwgEVPqWQMB02SW3CyGZJSHg4CzZIKHWLh4GTkCnIDVLQYoXbbgwEAhcGAgELgzp7RSk87kQwToYJHQReQF3vIhOAvMMDZKHAwBVuqEYMGW2FAPmzI5goEvokSETcQxXh1FD9+8wSZxkIROmVpFwcdAqUQw0SxQDlwiCQetkzwzzwvPAZclGEW1HAumtvYVlghmaRsWDGMCl2hBMCOp6SzAoFf7t6dEzQ1VEsNVmo4jqEX7gOZNWO8+EoX1UPIgSLpkUA9dMtsJBUgzaSMw9pAfLLxtF1PSKvdQJF+wTMzSRigdholZBMKhVEAxqFeHtVhGCpgnSmY0aOhOdm15IhKGRVDwIAHUKgkGdgmDQ9OArOsXMTrIohivoKKI2d1HCl2vC0FAqHoSAGgVmOGoU0YpURLdrYmYqfZ6g2TF1lSzxmL9oK5mhr1Q8CBN1CoJBnSJe0SniFU1zbi45MtijiLZ//1cVhu5S8SBM1CkIBnWK5La7IhhUFXOHGcO9bzZqqF9L+7W432KGJlPxIErQ6zYUA9rJlmBwUaQrlg/gNKFHy0YRPdQkdCZ2cH4fytBpKh6ECfccFAM3HQSDioJgUNfsmXHfgdaPUURP0yRy+FIqDK2m4kGYsGsSTAS7JsGgrkkw6NbczGkynsL1Y9TQNcUZc9KFtdQ3vT1J3J+EXZNiYNckGGQqCAZ1zZ75kQu4gowiahhhmizeo/MNrabiQZiwa1IM7JoEg+7TUQyaIDOryVLoabNRRN9VDXjqTHau81wYek3Fgzhh36QY2DcpBsS5IxhcFjOzGRC3r6dmM2HyWclkwzRPhaHbVDwIAd63pBh445JgYhDmjmDQEtIzQ9+M4FqVjSK6LHxPriFLZWFoNxUPYkDdgmBQt4hWrCHRiikyv4nJYdKzUURXsJ8s3rjxDe2m4kGYqFsQDOoW8YrGGd9eQ2ZukyUp9FijhvY3TD7gWXrAZeg2FQ+iRL2CYFCvSFZMkNtus0dG3+2htjl1m9xLmTPZRs8zYeg2FQ8iQBaLYJDFSldkIr2diZnZDAK4Sc5GDTW5Qi636N7C3bzuvQKjx37YAcbQYhFMAi0WpQNTQTBoAemZcQGB+yH14sTUbYbOZPOqU6FfXNCPw6/5i/g9r1+KS2OV8gUI+XaEI2dYrfOgPstXI9QnmaXnqpVZGv47yTc7hDyn58gF/FhV7fiPfPKuv8zUUavZ56X4WrQn+daMCjAvi5dLd6A/d/dShnUojkdRy3dqsqJuurNPDv1xODy9CfkugH4vRHy0X5pWPeEf3+F5/A8AAP//AwBQSwMEFAAAAAgA/WjjWEIio45GAQAAQgIAAA8AAAB4bC93b3JrYm9vay54bWyMkctOwzAQRX/F8p46iUiAqmklHotuUAVVWRtn3Fj1S7ZD+/lM0kQFumEVj69z5ni8WJ2MJl8QonK2pvksowSscI2y+5p2Sd7c09VycXTh8OncgeBpG+ehpm1Kfs5YFC0YHmfOg8VMumB4wjLsmZNSCXh2ojNgEyuyrGIBNE/YKbbKRzrSTnl5xTNKBBedTDPhzIhi0QfgTWwBktEIzDOW58xwZUfUf7T+QtBqICwXUmnYnSdBuPev3EBNT5oSzWN6aVSCpqa3WLoj/NoInX/slO6LMqsoYZeBbQLBYcKZtW1V/BgDShqQvNNpi6ZTW3yAqnooygHRn9opOMYLrS/7iP3IhptMX2KHRk88kHeuIZI38C4kSoZ0jYY56s4VLsK6wXUPmwiCa4G+stN6E0Co0YiSPhj+Lcq7UY5NSstvAAAA//8DAFBLAwQUAAAACAD9aONYjtrdGNsAAAA3AgAAGgAAAHhsL19yZWxzL3dvcmtib29rLnhtbC5yZWxzrJHBasMwDIZfxei+OOlglFK3l1563fYCxlbi0MQ2ktoubz+zQkihlB16EpLR939Y2/3POKgLEvcpGmiqGhRGl3wfOwNnad/WoFhs9HZIEQ1MyLDfbT9xsFJWOPSZVWFENhBE8kZrdgFHy1XKGMtLm2i0UlrqdLbuZDvUq7r+0LRkwD1THb0BOvoG1PeU8T/s1La9w0Ny5xGjPIjQ10QnDohSoJY6FAPziPVfaapCBaUf26xeacMyDeUzZ5Vb/zT//aX5wRL6L6Fy6qXGcjzb6LuD734BAAD//wMAUEsDBBQAAAAIAP1o41gb/8y3sQAAAOwAAAAQAAAAZG9jUHJvcHMvYXBwLnhtbEyOTwsCIRBHv4p4b7WCiHCNoA6d6hRdxZ0twR3FmaK+fVb05zjzHj+eWd6GKK5QKCRs5bjRUgD61AU8tfLC/WguBbHDzsWE0Mo7kFxasy8pQ+EAJOoAUivPzHmhFPkzDI6airGSPpXBcT3LSaW+Dx7WyV8GQFYTrWcKbgzYQTfK30FpzSrnGLzj2mQ3RNUOLopjpO3OqH/4NA/veDueNXqq9Uv4/Iz6hdoHAAAA//8DAFBLAwQUAAAACAD9aONYpj2ahycBAAA2AgAAEQAAAGRvY1Byb3BzL2NvcmUueG1spJHNasMwEIRfxYhebcl22gRhO4eUnlooNNDSm5DWiYj1g6TUydtXdrDbktx63flm2Nmt1ifVJV/gvDS6RnlGUAKaGyH1rkbH0KYrlPjAtGCd0VCjM3i0bipuKTcOXp2x4IIEn8Qc7angNdqHYCnG9ui6zLgdFhxDBwp08DjPcoxmNoBT/qZhVH6RSoazhZvoJM70ycsZ7Ps+68sRLQjJ8cfL8xvfg2Kp1EMtDpOL29nkR8JnsZuOYmucYsGPIZbxA9vBEPaAFQQmWGB4OEVq51ugphKccgcsGNdYQZToD4QUm3JxV8V9ZyliY9HLAEQSV6eXopPyXm4et0+oKUixSMkyJeU2LylZ0vvV55D1x/8TqOIHW/mPxCmgqfDVr5tvAAAA//8DAFBLAwQUAAAACAD9aONYT1g2JpgAAADlAAAAEwAAAGRvY1Byb3BzL2N1c3RvbS54bWyczkEKgzAQBdCrhNlrbBeliNFND9BF6T7EiQomEzKj1Ns3pdADdPn5n8fvhldY1Y6ZF4oGTnUDCqOjcYmTgU18dQXFYuNoV4po4ECGoe/umRJmWZBVASK3uxiYRVKrNbsZg+W6LGIpPeVgpcQ8afJ+cXgjtwWMos9Nc9EjuY/Gz8eRCv71/sXcxkKhSr97oHT/BgAA//8DAFBLAwQUAAAACAD9aONYylePDEoBAACjBAAAEwAAAFtDb250ZW50X1R5cGVzXS54bWyslE1OwzAQha8SeYsStywQQk27ALZQCS5g7Elj1X/yTEp7eyYJrRCqWiq6GiUz773Pziizxda7YgMZbQy1mFYTUUDQ0diwqkVHTXkvCiQVjHIxQC12gGIxn73vEmDB2oC1aInSg5SoW/AKq5ggcKeJ2Svix7ySSem1WoG8nUzupI6BIFBJvYeYz56gUZ2j4nnLr0cOlovicZzro2qhUnJWK+K2HLryqDCDwxPKTTC/8MpvtIqVwwy2NuHNPuKVryZbA8VSZXpRnv3k1kmknQOsTmMeCYtNYzWYqDvPkgpTBmWwBSDvqtH0bHSrMpg3yvyFrk7w0/scyGfM648Y11dn4Fp5ZcNfAIZplEOZXpnk4H8ShMXLHBNKjvo3APSbbMCUiS0hkz2zD4dwHTNcnr7f/V59eWSHFP2/jzzaHEuXw09m/gUAAP//AwBQSwMEFAAAAAgA/WjjWLgS9sP5AAAA4QIAAAsAAABfcmVscy8ucmVsc6ySQU7DMBBFr2LNvnFaEEKobjfddIcQFxjsSRol9lj2BNLbY1hUFJXQRZe2/zw/fc16O/lBvVPKHQcDy6oGRcGy60JrYJRm8QgqCwaHAwcycKQM2836hQaUMpIPXcyqMEI2cBCJT1pneyCPueJIobw0nDxKOaZWR7Q9tqRXdf2g008GnDPV3hlIe7cE9XqMdA2bm6aztGM7egpy4YtfiULG1JIYmAb9wal/Y+6rAgWlL8usbilDk1Bw5BYxlfkkXSn2ZOTYPpfrrDHGWaW765X+7l57EnQoqC0nmhf6Sswa3d+yJDtmYf+P0Xfm5KTPVnPzCQAA//8DAFBLAQItABQAAAAIAP1o41i4AvtcvQIAAHISAAANAAAAAAAAAAAAIAAAAAAAAAB4bC9zdHlsZXMueG1sUEsBAi0AFAAAAAgA/WjjWIfBZr0CAwAAswgAABQAAAAAAAAAAAAgAAAA6AIAAHhsL3NoYXJlZFN0cmluZ3MueG1sUEsBAi0AFAAAAAgA/WjjWCh9DXz3BgAABiQAABgAAAAAAAAAAAAgAAAAHAYAAHhsL3dvcmtzaGVldHMvc2hlZXQxLnhtbFBLAQItABQAAAAIAP1o41hCIqOORgEAAEICAAAPAAAAAAAAAAAAIAAAAEkNAAB4bC93b3JrYm9vay54bWxQSwECLQAUAAAACAD9aONYjtrdGNsAAAA3AgAAGgAAAAAAAAAAACAAAAC8DgAAeGwvX3JlbHMvd29ya2Jvb2sueG1sLnJlbHNQSwECLQAUAAAACAD9aONYG//Mt7EAAADsAAAAEAAAAAAAAAAAACAAAADPDwAAZG9jUHJvcHMvYXBwLnhtbFBLAQItABQAAAAIAP1o41imPZqHJwEAADYCAAARAAAAAAAAAAAAIAAAAK4QAABkb2NQcm9wcy9jb3JlLnhtbFBLAQItABQAAAAIAP1o41hPWDYmmAAAAOUAAAATAAAAAAAAAAAAIAAAAAQSAABkb2NQcm9wcy9jdXN0b20ueG1sUEsBAi0AFAAAAAgA/WjjWMpXjwxKAQAAowQAABMAAAAAAAAAAAAgAAAAzRIAAFtDb250ZW50X1R5cGVzXS54bWxQSwECLQAUAAAACAD9aONYuBL2w/kAAADhAgAACwAAAAAAAAAAACAAAABIFAAAX3JlbHMvLnJlbHNQSwUGAAAAAAoACgCAAgAAahUAAAAA";
27+
28+
created() {
29+
// To obtain blob data from base64 string.
30+
fetch(this.base64String as string)
31+
.then((response) => response.blob())
32+
.then((fileBlob) => {
33+
// To convert obtained blob data as a file.
34+
let file: File = new File([fileBlob], 'Sample.xlsx');
35+
this.spreadsheetObj.open({ file: file });
36+
});
37+
}
38+
39+
}
40+
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { bootstrapApplication } from '@angular/platform-browser';
2+
import { AppComponent } from './app.component';
3+
import 'zone.js'
4+
bootstrapApplication(AppComponent)
5+
.catch((err) => console.error(err));
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/* You can add global styles to this file, and also import other style files */
2+
@import 'node_modules/@syncfusion/ej2-base/styles/material.css';
3+
@import 'node_modules/@syncfusion/ej2-inputs/styles/material.css';
4+
@import 'node_modules/@syncfusion/ej2-buttons/styles/material.css';
5+
@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/material.css';
6+
@import 'node_modules/@syncfusion/ej2-lists/styles/material.css';
7+
@import 'node_modules/@syncfusion/ej2-navigations/styles/material.css';
8+
@import 'node_modules/@syncfusion/ej2-popups/styles/material.css';
9+
@import 'node_modules/@syncfusion/ej2-dropdowns/styles/material.css';
10+
@import 'node_modules/@syncfusion/ej2-spreadsheet/styles/material.css';
11+
@import 'node_modules/@syncfusion/ej2-grids/styles/material.css';
12+
.custom-btn {
13+
margin-bottom: 10px;
14+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
{
2+
"compileOnSave": false,
3+
"compilerOptions": {
4+
"baseUrl": "./",
5+
"outDir": "./dist/out-tsc",
6+
"forceConsistentCasingInFileNames": true,
7+
"strict": true,
8+
"noImplicitOverride": true,
9+
"noPropertyAccessFromIndexSignature": true,
10+
"noImplicitReturns": true,
11+
"noFallthroughCasesInSwitch": true,
12+
"sourceMap": true,
13+
"declaration": false,
14+
"downlevelIteration": true,
15+
"experimentalDecorators": true,
16+
"moduleResolution": "node",
17+
"importHelpers": true,
18+
"target": "ES2022",
19+
"module": "ES2022",
20+
"useDefineForClassFields": false,
21+
"lib": [
22+
"ES2022",
23+
"dom"
24+
]
25+
},
26+
"angularCompilerOptions": {
27+
"enableI18nLegacyMessageIdFormat": false,
28+
"strictInjectionParameters": true,
29+
"strictInputAccessModifiers": true,
30+
"strictTemplates": true
31+
}
32+
}
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
{
2+
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
3+
"version": 1,
4+
"newProjectRoot": "projects",
5+
"projects": {
6+
"syncfusion-component": {
7+
"projectType": "application",
8+
"schematics": {},
9+
"root": "",
10+
"sourceRoot": "src",
11+
"prefix": "app",
12+
"architect": {
13+
"build": {
14+
"builder": "@angular-devkit/build-angular:browser",
15+
"options": {
16+
"outputPath": "dist",
17+
"index": "index.html",
18+
"main": "src/main.ts",
19+
"tsConfig": "tsconfig.json",
20+
"styles": [
21+
"src/styles.css"
22+
],
23+
"assets": []
24+
},
25+
"configurations": {
26+
"production": {
27+
"budgets": [
28+
{
29+
"type": "initial",
30+
"maximumWarning": "500kb",
31+
"maximumError": "10mb"
32+
},
33+
{
34+
"type": "anyComponentStyle",
35+
"maximumWarning": "2kb",
36+
"maximumError": "4kb"
37+
}
38+
],
39+
"outputHashing": "all"
40+
},
41+
"development": {
42+
"buildOptimizer": false,
43+
"optimization": false,
44+
"vendorChunk": true,
45+
"extractLicenses": false,
46+
"sourceMap": true,
47+
"namedChunks": true
48+
}
49+
},
50+
"defaultConfiguration": "production"
51+
},
52+
"serve": {
53+
"builder": "@angular-devkit/build-angular:dev-server",
54+
"configurations": {
55+
"production": {
56+
"buildTarget": "syncfusion-component:build:production"
57+
},
58+
"development": {
59+
"buildTarget": "syncfusion-component:build:development"
60+
}
61+
},
62+
"defaultConfiguration": "development"
63+
}
64+
}
65+
}
66+
},
67+
"cli": {
68+
"analytics": false
69+
}
70+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<title>Syncfusion Angular Spreadsheet</title>
5+
<meta charset="utf-8" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+
<meta name="description" content="Angular Spreadsheet Control" />
8+
9+
<meta name="author" content="Syncfusion" />
10+
<style>
11+
#loader {
12+
color: #008cff;
13+
font-family: 'Helvetica Neue', 'calibiri';
14+
font-size: 16px;
15+
height: 40px;
16+
left: 45%;
17+
position: absolute;
18+
top: 45%;
19+
width: 30%;
20+
}
21+
.customClass.e-cell {
22+
background-color: red;
23+
}
24+
</style>
25+
</head>
26+
<body>
27+
<app-container>
28+
<div id='loader'>LOADING....</div>
29+
</app-container>
30+
</body>
31+
</html>

0 commit comments

Comments
 (0)