@pridheep16/ng-fb 1.0.1 → 1.0.2
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/fesm2022/pridheep16-ng-fb.mjs +58 -15
- package/fesm2022/pridheep16-ng-fb.mjs.map +1 -1
- package/index.d.ts +16 -4
- package/package.json +3 -2
|
@@ -1,38 +1,81 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { EventEmitter, Output, Input, Component } from '@angular/core';
|
|
3
|
+
import * as i2 from '@angular/common';
|
|
3
4
|
import { CommonModule } from '@angular/common';
|
|
5
|
+
import * as i3 from '@angular/forms';
|
|
4
6
|
import { FormsModule } from '@angular/forms';
|
|
7
|
+
import { Observable } from 'rxjs';
|
|
8
|
+
import * as i1 from '@angular/common/http';
|
|
5
9
|
|
|
6
10
|
class Fb {
|
|
11
|
+
http;
|
|
7
12
|
name = 'Pridheep';
|
|
13
|
+
apiUrl = '';
|
|
8
14
|
nameChange = new EventEmitter();
|
|
9
|
-
|
|
15
|
+
dataLoaded = new EventEmitter();
|
|
16
|
+
apiData = null;
|
|
17
|
+
isLoading = false;
|
|
18
|
+
error = null;
|
|
19
|
+
constructor(http) {
|
|
20
|
+
this.http = http;
|
|
10
21
|
this.nameChange.emit(this.name);
|
|
11
22
|
}
|
|
23
|
+
ngOnInit() {
|
|
24
|
+
if (this.apiUrl) {
|
|
25
|
+
this.fetchData();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
12
28
|
changeName(name) {
|
|
13
29
|
this.name = name;
|
|
14
30
|
this.nameChange.emit(name);
|
|
15
31
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
32
|
+
fetchData() {
|
|
33
|
+
if (!this.apiUrl) {
|
|
34
|
+
console.warn('API URL is not provided');
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
this.isLoading = true;
|
|
38
|
+
this.error = null;
|
|
39
|
+
this.apiData = null;
|
|
40
|
+
this.http.get(this.apiUrl).subscribe({
|
|
41
|
+
next: (data) => {
|
|
42
|
+
this.apiData = data;
|
|
43
|
+
this.isLoading = false;
|
|
44
|
+
this.dataLoaded.emit(data);
|
|
45
|
+
},
|
|
46
|
+
error: (error) => {
|
|
47
|
+
this.isLoading = false;
|
|
48
|
+
this.error = error.message || 'Failed to fetch data from API';
|
|
49
|
+
console.error('Error fetching data from API:', error);
|
|
50
|
+
this.dataLoaded.emit(null);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
getData(apiUrl) {
|
|
55
|
+
const url = apiUrl || this.apiUrl;
|
|
56
|
+
if (!url) {
|
|
57
|
+
console.warn('API URL is not provided');
|
|
58
|
+
return new Observable(observer => observer.complete());
|
|
59
|
+
}
|
|
60
|
+
return this.http.get(url);
|
|
61
|
+
}
|
|
62
|
+
refreshData() {
|
|
63
|
+
this.fetchData();
|
|
64
|
+
}
|
|
65
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: Fb, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Component });
|
|
66
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: Fb, isStandalone: true, selector: "lib-fb", inputs: { name: "name", apiUrl: "apiUrl" }, outputs: { nameChange: "nameChange", dataLoaded: "dataLoaded" }, ngImport: i0, template: "<div class=\"fb-container\">\n <div class=\"fb-header\">\n <h2>Welcome, {{ name }}!</h2>\n <div class=\"name-input-section\">\n <input \n type=\"text\" \n [(ngModel)]=\"name\" \n (ngModelChange)=\"changeName(name)\"\n placeholder=\"Enter your name\"\n class=\"name-input\"\n />\n </div>\n </div>\n\n <div class=\"api-section\" *ngIf=\"apiUrl\">\n <div class=\"api-controls\">\n <button (click)=\"refreshData()\" [disabled]=\"isLoading\" class=\"refresh-btn\">\n {{ isLoading ? 'Loading...' : 'Refresh Data' }}\n </button>\n </div>\n\n <div class=\"loading\" *ngIf=\"isLoading\">\n <p>Loading data from API...</p>\n </div>\n\n <div class=\"error\" *ngIf=\"error && !isLoading\">\n <p><strong>Error:</strong> {{ error }}</p>\n </div>\n\n <div class=\"api-data\" *ngIf=\"apiData && !isLoading && !error\">\n <h3>API Response Data:</h3>\n <div class=\"data-display\">\n <pre>{{ apiData | json }}</pre>\n </div>\n </div>\n </div>\n\n <div class=\"no-api-url\" *ngIf=\"!apiUrl\">\n <p>No API URL provided. Please set the apiUrl input to fetch data.</p>\n </div>\n</div>\n\n", styles: [".fb-container{padding:20px;max-width:800px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.fb-header{margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e0e0e0}.fb-header h2{margin:0 0 15px;color:#333;font-size:24px}.name-input-section{margin-top:15px}.name-input{width:100%;max-width:300px;padding:10px 15px;font-size:16px;border:2px solid #ddd;border-radius:4px;transition:border-color .3s ease}.name-input:focus{outline:none;border-color:#007bff}.api-section{margin-top:30px}.api-controls{margin-bottom:20px}.refresh-btn{padding:10px 20px;font-size:16px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.refresh-btn:hover:not(:disabled){background-color:#0056b3}.refresh-btn:disabled{background-color:#ccc;cursor:not-allowed}.loading{padding:20px;text-align:center;color:#666;background-color:#f8f9fa;border-radius:4px;margin:20px 0}.error{padding:15px;background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:4px;margin:20px 0}.error p{margin:0}.api-data{margin-top:20px}.api-data h3{margin:0 0 15px;color:#333;font-size:20px}.data-display{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;padding:15px;overflow-x:auto}.data-display pre{margin:0;font-family:Courier New,Courier,monospace;font-size:14px;line-height:1.5;color:#333;white-space:pre-wrap;word-wrap:break-word}.no-api-url{padding:20px;text-align:center;color:#666;background-color:#fff3cd;border:1px solid #ffc107;border-radius:4px;margin-top:20px}.no-api-url p{margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i2.JsonPipe, name: "json" }] });
|
|
23
67
|
}
|
|
24
68
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: Fb, decorators: [{
|
|
25
69
|
type: Component,
|
|
26
|
-
args: [{ selector: 'lib-fb', imports: [CommonModule, FormsModule], template:
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
<input type="text" [value]="name" (input)="changeName($event.target.value)" />
|
|
31
|
-
` }]
|
|
32
|
-
}], ctorParameters: () => [], propDecorators: { name: [{
|
|
70
|
+
args: [{ selector: 'lib-fb', imports: [CommonModule, FormsModule], template: "<div class=\"fb-container\">\n <div class=\"fb-header\">\n <h2>Welcome, {{ name }}!</h2>\n <div class=\"name-input-section\">\n <input \n type=\"text\" \n [(ngModel)]=\"name\" \n (ngModelChange)=\"changeName(name)\"\n placeholder=\"Enter your name\"\n class=\"name-input\"\n />\n </div>\n </div>\n\n <div class=\"api-section\" *ngIf=\"apiUrl\">\n <div class=\"api-controls\">\n <button (click)=\"refreshData()\" [disabled]=\"isLoading\" class=\"refresh-btn\">\n {{ isLoading ? 'Loading...' : 'Refresh Data' }}\n </button>\n </div>\n\n <div class=\"loading\" *ngIf=\"isLoading\">\n <p>Loading data from API...</p>\n </div>\n\n <div class=\"error\" *ngIf=\"error && !isLoading\">\n <p><strong>Error:</strong> {{ error }}</p>\n </div>\n\n <div class=\"api-data\" *ngIf=\"apiData && !isLoading && !error\">\n <h3>API Response Data:</h3>\n <div class=\"data-display\">\n <pre>{{ apiData | json }}</pre>\n </div>\n </div>\n </div>\n\n <div class=\"no-api-url\" *ngIf=\"!apiUrl\">\n <p>No API URL provided. Please set the apiUrl input to fetch data.</p>\n </div>\n</div>\n\n", styles: [".fb-container{padding:20px;max-width:800px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.fb-header{margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e0e0e0}.fb-header h2{margin:0 0 15px;color:#333;font-size:24px}.name-input-section{margin-top:15px}.name-input{width:100%;max-width:300px;padding:10px 15px;font-size:16px;border:2px solid #ddd;border-radius:4px;transition:border-color .3s ease}.name-input:focus{outline:none;border-color:#007bff}.api-section{margin-top:30px}.api-controls{margin-bottom:20px}.refresh-btn{padding:10px 20px;font-size:16px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.refresh-btn:hover:not(:disabled){background-color:#0056b3}.refresh-btn:disabled{background-color:#ccc;cursor:not-allowed}.loading{padding:20px;text-align:center;color:#666;background-color:#f8f9fa;border-radius:4px;margin:20px 0}.error{padding:15px;background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:4px;margin:20px 0}.error p{margin:0}.api-data{margin-top:20px}.api-data h3{margin:0 0 15px;color:#333;font-size:20px}.data-display{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;padding:15px;overflow-x:auto}.data-display pre{margin:0;font-family:Courier New,Courier,monospace;font-size:14px;line-height:1.5;color:#333;white-space:pre-wrap;word-wrap:break-word}.no-api-url{padding:20px;text-align:center;color:#666;background-color:#fff3cd;border:1px solid #ffc107;border-radius:4px;margin-top:20px}.no-api-url p{margin:0}\n"] }]
|
|
71
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }], propDecorators: { name: [{
|
|
72
|
+
type: Input
|
|
73
|
+
}], apiUrl: [{
|
|
33
74
|
type: Input
|
|
34
75
|
}], nameChange: [{
|
|
35
76
|
type: Output
|
|
77
|
+
}], dataLoaded: [{
|
|
78
|
+
type: Output
|
|
36
79
|
}] } });
|
|
37
80
|
|
|
38
81
|
/*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pridheep16-ng-fb.mjs","sources":["../../../projects/fb/src/lib/fb.ts","../../../projects/fb/src/public-api.ts","../../../projects/fb/src/pridheep16-ng-fb.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n@Component({\n selector: 'lib-fb',\n imports: [CommonModule, FormsModule],\n
|
|
1
|
+
{"version":3,"file":"pridheep16-ng-fb.mjs","sources":["../../../projects/fb/src/lib/fb.ts","../../../projects/fb/src/lib/fb.html","../../../projects/fb/src/public-api.ts","../../../projects/fb/src/pridheep16-ng-fb.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'lib-fb',\n imports: [CommonModule, FormsModule],\n templateUrl: './fb.html',\n styleUrls: ['./fb.scss'],\n})\nexport class Fb implements OnInit {\n @Input() name: string = 'Pridheep';\n @Input() apiUrl: string = '';\n @Output() nameChange = new EventEmitter<string>();\n @Output() dataLoaded = new EventEmitter<any>();\n\n apiData: any = null;\n isLoading: boolean = false;\n error: string | null = null;\n\n constructor(private http: HttpClient) {\n this.nameChange.emit(this.name);\n }\n\n ngOnInit() {\n if (this.apiUrl) {\n this.fetchData();\n }\n }\n\n changeName(name: string) {\n this.name = name;\n this.nameChange.emit(name);\n }\n\n fetchData(): void {\n if (!this.apiUrl) {\n console.warn('API URL is not provided');\n return;\n }\n \n this.isLoading = true;\n this.error = null;\n this.apiData = null;\n \n this.http.get<any>(this.apiUrl).subscribe({\n next: (data) => {\n this.apiData = data;\n this.isLoading = false;\n this.dataLoaded.emit(data);\n },\n error: (error) => {\n this.isLoading = false;\n this.error = error.message || 'Failed to fetch data from API';\n console.error('Error fetching data from API:', error);\n this.dataLoaded.emit(null);\n }\n });\n }\n\n getData(apiUrl?: string): Observable<any> {\n const url = apiUrl || this.apiUrl;\n if (!url) {\n console.warn('API URL is not provided');\n return new Observable(observer => observer.complete());\n }\n return this.http.get<any>(url);\n }\n\n refreshData(): void {\n this.fetchData();\n }\n}\n","<div class=\"fb-container\">\n <div class=\"fb-header\">\n <h2>Welcome, {{ name }}!</h2>\n <div class=\"name-input-section\">\n <input \n type=\"text\" \n [(ngModel)]=\"name\" \n (ngModelChange)=\"changeName(name)\"\n placeholder=\"Enter your name\"\n class=\"name-input\"\n />\n </div>\n </div>\n\n <div class=\"api-section\" *ngIf=\"apiUrl\">\n <div class=\"api-controls\">\n <button (click)=\"refreshData()\" [disabled]=\"isLoading\" class=\"refresh-btn\">\n {{ isLoading ? 'Loading...' : 'Refresh Data' }}\n </button>\n </div>\n\n <div class=\"loading\" *ngIf=\"isLoading\">\n <p>Loading data from API...</p>\n </div>\n\n <div class=\"error\" *ngIf=\"error && !isLoading\">\n <p><strong>Error:</strong> {{ error }}</p>\n </div>\n\n <div class=\"api-data\" *ngIf=\"apiData && !isLoading && !error\">\n <h3>API Response Data:</h3>\n <div class=\"data-display\">\n <pre>{{ apiData | json }}</pre>\n </div>\n </div>\n </div>\n\n <div class=\"no-api-url\" *ngIf=\"!apiUrl\">\n <p>No API URL provided. Please set the apiUrl input to fetch data.</p>\n </div>\n</div>\n\n","/*\n * Public API Surface of fb\n */\n\nexport * from './lib/fb';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { OnInit, EventEmitter } from '@angular/core';
|
|
3
|
+
import { HttpClient } from '@angular/common/http';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
3
5
|
|
|
4
|
-
declare class Fb {
|
|
6
|
+
declare class Fb implements OnInit {
|
|
7
|
+
private http;
|
|
5
8
|
name: string;
|
|
9
|
+
apiUrl: string;
|
|
6
10
|
nameChange: EventEmitter<string>;
|
|
7
|
-
|
|
11
|
+
dataLoaded: EventEmitter<any>;
|
|
12
|
+
apiData: any;
|
|
13
|
+
isLoading: boolean;
|
|
14
|
+
error: string | null;
|
|
15
|
+
constructor(http: HttpClient);
|
|
16
|
+
ngOnInit(): void;
|
|
8
17
|
changeName(name: string): void;
|
|
18
|
+
fetchData(): void;
|
|
19
|
+
getData(apiUrl?: string): Observable<any>;
|
|
20
|
+
refreshData(): void;
|
|
9
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<Fb, never>;
|
|
10
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<Fb, "lib-fb", never, { "name": { "alias": "name"; "required": false; }; }, { "nameChange": "nameChange"; }, never, never, true, never>;
|
|
22
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<Fb, "lib-fb", never, { "name": { "alias": "name"; "required": false; }; "apiUrl": { "alias": "apiUrl"; "required": false; }; }, { "nameChange": "nameChange"; "dataLoaded": "dataLoaded"; }, never, never, true, never>;
|
|
11
23
|
}
|
|
12
24
|
|
|
13
25
|
export { Fb };
|
package/package.json
CHANGED