@lukfel/ng-scaffold 21.1.42 → 21.1.43

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/README.md CHANGED
@@ -67,12 +67,14 @@ import { ScaffoldService } from '@lukfel/ng-scaffold';
67
67
 
68
68
  export class AppComponent {
69
69
 
70
- public scaffoldConfig: ScaffoldConfig = {
70
+ private scaffoldService = inject(ScaffoldService);
71
+
72
+ private scaffoldConfig: ScaffoldConfig = {
71
73
  // Create your own config or generate it at https://lukfel.github.io/ng-scaffold
72
74
  headerConfig: { enable: true, title: 'Scaffold works!' }
73
75
  };
74
76
 
75
- constructor(private scaffoldService: ScaffoldService) {
77
+ constructor() {
76
78
  this.scaffoldService.scaffoldConfig = this.scaffoldConfig;
77
79
  }
78
80
  }
@@ -212,7 +214,10 @@ There are two ways to listen to scaffold user events (button clicks, input chang
212
214
  ### (Recommended) Option 1 – Subscribe to Event Observables
213
215
  Subscribe to the event Observables and listen to changes
214
216
  ```ts
215
- constructor(private scaffoldService: ScaffoldService, private router: Router) {
217
+ private scaffoldService = inject(ScaffoldService);
218
+ private router = inject(Router);
219
+
220
+ constructor() {
216
221
  // Listen to click events (header menu and navbar buttons - click)
217
222
  this.scaffoldService.buttonClickEventValue$.subscribe((id: string) => {
218
223
  this.router.navigate([id]);
@@ -284,7 +289,7 @@ import { Logger } from '@lukfel/ng-scaffold';
284
289
 
285
290
  export class AppComponent {
286
291
 
287
- constructor(private logger: Logger) {}
292
+ private logger = inject(Logger);
288
293
 
289
294
  // Generic api call with logging
290
295
  public apiCallWithLogging(): void {
@@ -305,7 +310,7 @@ import { SnackbarService } from '@lukfel/ng-scaffold';
305
310
 
306
311
  export class AppComponent {
307
312
 
308
- constructor(private snackbarService: SnackbarService) {}
313
+ private snackbarService = inject(SnackbarService);
309
314
 
310
315
  // Generic api call with snackbar response
311
316
  public apiCallWithSnackbarResponse(): void {
@@ -326,7 +331,7 @@ import { DialogService } from '@lukfel/ng-scaffold';
326
331
 
327
332
  export class AppComponent {
328
333
 
329
- constructor(private dialogService: DialogService) {}
334
+ private dialogService = inject(DialogService);
330
335
 
331
336
  // Generic api call with a subsequent confirmation dialog
332
337
  public apiCallWithDialogConfirmation(): void {
@@ -352,7 +357,9 @@ import { BreakpointService } from '@lukfel/ng-scaffold';
352
357
 
353
358
  export class AppComponent {
354
359
 
355
- constructor(private breakpointService: BreakpointService) {
360
+ private breakpointService = inject(BreakpointService);
361
+
362
+ constructor() {
356
363
  this.breakpointService.breakpoint$.subscribe((result: BreakpointState) => {
357
364
  // Check which breakpoint is active
358
365
  if (result.breakpoints[Breakpoints.XSmall]) {
@@ -379,8 +386,10 @@ import { ThemeService } from '@lukfel/ng-scaffold';
379
386
 
380
387
  export class AppComponent {
381
388
 
389
+ private themeService = inject(ThemeService);
390
+
382
391
  constructor(private themeService: ThemeService) {
383
- this.themeService.setTheme('my-theme2', true); // the second parameter allows to persists the theme in the LocalStorage (using the built in LocalStorageService)
392
+ this.themeService.setTheme('my-theme2', true); // set theme and store in local storage (using the built in LocalStorageService)
384
393
  }
385
394
  }
386
395
  ```
@@ -403,31 +412,31 @@ import { ListComponent } from '@lukfel/ng-scaffold';
403
412
  ```ts
404
413
  import { Button, ListConfig, ListHeader, ListItem } from '@lukfel/ng-scaffold';
405
414
 
406
- public listConfig: ListConfig = { // (Optional) list config
415
+ public listConfig = signal<ListConfig>({ // (Optional) list config
407
416
  enableSelection: true,
408
417
  enableDragging: true,
409
418
  initialSortToken: 'title',
410
419
  initialSortAsc: true,
411
420
  showDividers: true
412
- }
421
+ });
413
422
 
414
- public listHeader: ListHeader = { // (Optional) list header
423
+ public listHeader = signal<ListHeader>({ // (Optional) list header
415
424
  matIcon: 'sort',
416
425
  items: [
417
426
  { title: 'Items', sortToken: 'title' }
418
427
  ]
419
- };
428
+ });
420
429
 
421
- public listItems: ListItem[] = [
430
+ public listItems = signal<ListItem[]>([
422
431
  { id: 1, svgIcon: 'logo', title: 'Item 2', subtitle: 'I am disabled', disabled: true },
423
432
  { id: 0, avatar: 'assets/img/logos/ic_launcher-web.png', title: 'Item 1', subtitle: 'I am clickable', clickable: true },
424
433
  { id: 2, matIcon: 'person', title: 'Item 3', subtitle: 'I have no edit buton', hiddenButtonIds: ['edit'] },
425
- ];
434
+ ]);
426
435
 
427
- public buttons: Button[] = [ // (Optional) list buttons
436
+ public buttons = signal<Button[]>([ // (Optional) list buttons
428
437
  { id: 'edit', matIcon: 'edit' },
429
438
  { id: 'delete', matIcon: 'delete', cssClass: 'warn' }
430
- ];
439
+ ]);
431
440
 
432
441
  // (Optional) Handle sort events
433
442
  public onListSortChange(event: { sortToken: string, sortAsc: boolean }): void {
@@ -455,10 +464,10 @@ public onListItemClick(item: ListItem): void {
455
464
 
456
465
  ```html
457
466
  <lf-list
458
- [config]="listConfig"
459
- [header]="listHeader"
460
- [items]="listItems"
461
- [buttons]="listButtons"
467
+ [config]="listConfig()"
468
+ [header]="listHeader()"
469
+ [items]="listItems()"
470
+ [buttons]="listButtons()"
462
471
  (sortChangeEvent)="onListSortChange($event)"
463
472
  (selectionChangeEvent)="onListSelectionChange()"
464
473
  (buttonClickEvent)="onListButtonClick($event)"
@@ -518,7 +527,7 @@ import { PlaceholderComponent } from '@lukfel/ng-scaffold';
518
527
  ```ts
519
528
  import { PlaceholderConfig } from '@lukfel/ng-scaffold';
520
529
 
521
- public placeholderConfig: PlaceholderConfig = {
530
+ public placeholderConfig = signal<PlaceholderConfig>({
522
531
  matIcon: 'widgets',
523
532
  title: 'Title',
524
533
  message: 'This is a placeholder message.',
@@ -526,7 +535,7 @@ public placeholderConfig: PlaceholderConfig = {
526
535
  id: 'placeholder',
527
536
  label: 'ACTION'
528
537
  }
529
- }
538
+ });
530
539
 
531
540
  public onPlaceholderButtonClick(): void {
532
541
  // handle placeholder click
@@ -535,7 +544,7 @@ public onPlaceholderButtonClick(): void {
535
544
 
536
545
  ```html
537
546
  <lf-placeholder
538
- [placeholderConfig]="placeholderConfig"
547
+ [placeholderConfig]="placeholderConfig()"
539
548
  (buttonClickEvent)="onPlaceholderButtonClick()"></lf-placeholder>
540
549
  ```
541
550
 
@@ -548,8 +557,7 @@ Intercept HTTP Calls and automatically show a loading spinner.
548
557
  * **Note:** The loading spinner can also be manually shown by udpating the value for `scaffoldConfig.loading` in the `ScaffoldService`
549
558
 
550
559
  ```ts
551
- import { ScaffoldLoadingInterceptor, ScaffoldComponent } from '@lukfel/ng-scaffold';
552
- import { isDevMode } from '@angular/core';
560
+ import { ScaffoldLoadingInterceptor } from '@lukfel/ng-scaffold';
553
561
 
554
562
  ...
555
563
  providers: [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lukfel/ng-scaffold",
3
- "version": "21.1.42",
3
+ "version": "21.1.43",
4
4
  "description": "This Angular library provides a basic UI scaffold and services for modern web and mobile apps",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -29,17 +29,17 @@ function addComponent() {
29
29
  };
30
30
  }
31
31
  /** Add ScaffoldComponent to NgModule app */
32
- function addToNgModule(tree, context, path) {
32
+ function addToNgModule(tree, context, filePath) {
33
33
  var _a, _b;
34
- const text = tree.read(path).toString('utf-8');
35
- if (text.includes('ScaffoldComponent')) {
34
+ const content = tree.read(filePath).toString('utf-8');
35
+ if (content.includes('from \'@lukfel/ng-scaffold\'') && content.includes('ScaffoldComponent')) {
36
36
  context.logger.info('[Component] ScaffoldComponent already imported. Skip.');
37
37
  return tree;
38
38
  }
39
- const isModule = path.includes('module');
40
- const recorder = tree.beginUpdate(path);
39
+ const isModule = filePath.includes('module');
40
+ const recorder = tree.beginUpdate(filePath);
41
41
  recorder.insertLeft(0, 'import { ScaffoldComponent } from \'@lukfel/ng-scaffold\';\n');
42
- const sourceFile = ts.createSourceFile(path, text, ts.ScriptTarget.Latest, true);
42
+ const sourceFile = ts.createSourceFile(filePath, content, ts.ScriptTarget.Latest, true);
43
43
  const ngModuleDecoratorCall = findDecorator(sourceFile, isModule ? 'NgModule' : 'Component');
44
44
  if (!ngModuleDecoratorCall) {
45
45
  context.logger.warn(`[Component] No ${isModule ? '@NgModule' : '@Component'} decorator found. Skip.`);
@@ -1 +1 @@
1
- {"version":3,"file":"add-component.js","sourceRoot":"","sources":["../../../../projects/ng-scaffold/schematics/ng-add/add-component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-component.js","sourceRoot":"","sources":["../../../../projects/ng-scaffold/schematics/ng-add/add-component.ts"],"names":[],"mappings":"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"}
@@ -18,14 +18,14 @@ function addConfig() {
18
18
  return tree;
19
19
  }
20
20
  const content = tree.read(filePath).toString('utf-8');
21
- if (content.includes('from \'@lukfel/ng-scaffold\'')) {
21
+ if (content.includes('from \'@lukfel/ng-scaffold\'') && content.includes('ScaffoldConfig')) {
22
22
  context.logger.info('[Config] Config already added. Skip.');
23
23
  return tree;
24
24
  }
25
25
  const sourceFile = ts.createSourceFile(filePath, content, ts.ScriptTarget.Latest, true);
26
26
  const recorder = tree.beginUpdate(filePath);
27
27
  // Add imports if missing
28
- if (!content.includes('from \'@lukfel/ng-scaffold\'')) {
28
+ if (!content.includes('from \'@lukfel/ng-scaffold\'') || !content.includes('ScaffoldConfig')) {
29
29
  context.logger.info('[Config] Adding config import ...');
30
30
  recorder.insertLeft(0, 'import { ScaffoldConfig, ScaffoldService } from \'@lukfel/ng-scaffold\';\n');
31
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"add-config.js","sourceRoot":"","sources":["../../../../projects/ng-scaffold/schematics/ng-add/add-config.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAKH,8BAwEC;AA1ED,iCAAiC;AAEjC,SAAgB,SAAS;IACrB,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC7C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAEjE,MAAM,aAAa,GAAG;YAClB,0BAA0B;YAC1B,gBAAgB;SACnB,CAAC;QAEF,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,CAAC;YACnD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACxF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE5C,yBAAyB;QACzB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,CAAC;YACpD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACzD,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,4EAA4E,CAAC,CAAC;QACzG,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACzD,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,6CAA6C,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,SAAS,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;YAC1F,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAE,CAAC;QAC9E,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC;QAC/E,QAAQ,CAAC,UAAU,CAAC,SAAS,EAAE;;;;;;CAMtC,CAAC,CAAC;QAEK,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC;QAC5E,IAAI,eAAe,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC/D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,qCAAqC,CAAC,EAAE,CAAC;gBAC5D,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,IAAK,CAAC,MAAM,EAAE,GAAG,CAAC,EAClD;CACnB,CAAC,CAAC;YACS,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,4CAA4C;YACzF,QAAQ,CAAC,UAAU,CAAC,SAAS,EACzB;;;CAGf,CAAC,CAAC;QACK,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;QAElF,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;AACN,CAAC;AAED,2CAA2C;AAC3C,SAAS,cAAc,CAAC,UAAyB;IAC7C,IAAI,SAA0C,CAAC;IAC/C,SAAS,KAAK,CAAC,IAAa;QACxB,IAAI,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,SAAS,GAAG,IAAI,CAAC;QACrB,CAAC;;YAAM,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,CAAC;IAClB,OAAO,SAAS,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"add-config.js","sourceRoot":"","sources":["../../../../projects/ng-scaffold/schematics/ng-add/add-config.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ function addStyles() {
19
19
  }
20
20
  ;
21
21
  const content = tree.read(path).toString('utf-8');
22
- if (content.includes('@lukfel/ng-scaffold/styles') || content.includes('lf.scaffold-theme')) {
22
+ if (content.includes('@lukfel/ng-scaffold/styles') && content.includes('lf.scaffold-theme')) {
23
23
  context.logger.info('[Styles] Styles already added. Skip.');
24
24
  return tree;
25
25
  }