ngx-techlify-core 18.83.0 → 18.85.0

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.
Files changed (26) hide show
  1. package/esm2022/lib/entity-files/entity-file-list/entity-file-list.component.mjs +8 -3
  2. package/esm2022/lib/entity-files/entity-file-list-widget/entity-file-list-widget.component.mjs +35 -0
  3. package/esm2022/lib/entity-files/entity-file-list.module.mjs +10 -4
  4. package/esm2022/lib/entity-files/index.mjs +2 -1
  5. package/esm2022/lib/import-csv/field-mapping/field-mapping.component.mjs +8 -8
  6. package/esm2022/lib/note/comment-form/comment-form.component.mjs +12 -9
  7. package/esm2022/lib/note/index.mjs +2 -1
  8. package/esm2022/lib/note/note-comment-list/note-comment-list.component.mjs +103 -0
  9. package/esm2022/lib/note/note-form/note-form.component.mjs +50 -66
  10. package/esm2022/lib/note/note-list/note-list.component.mjs +39 -106
  11. package/esm2022/lib/note/note.module.mjs +14 -45
  12. package/esm2022/lib/note/note.service.mjs +4 -15
  13. package/fesm2022/ngx-techlify-core.mjs +835 -828
  14. package/fesm2022/ngx-techlify-core.mjs.map +1 -1
  15. package/lib/entity-files/entity-file-list/entity-file-list.component.d.ts +2 -1
  16. package/lib/entity-files/entity-file-list-widget/entity-file-list-widget.component.d.ts +9 -0
  17. package/lib/entity-files/entity-file-list.module.d.ts +2 -1
  18. package/lib/entity-files/index.d.ts +1 -0
  19. package/lib/note/comment-form/comment-form.component.d.ts +1 -1
  20. package/lib/note/index.d.ts +1 -0
  21. package/lib/note/note-comment-list/note-comment-list.component.d.ts +33 -0
  22. package/lib/note/note-form/note-form.component.d.ts +24 -25
  23. package/lib/note/note-list/note-list.component.d.ts +7 -11
  24. package/lib/note/note.module.d.ts +4 -12
  25. package/lib/note/note.service.d.ts +2 -6
  26. package/package.json +1 -1
@@ -32,6 +32,7 @@ export declare class EntityFileListComponent extends TechlifyListComponent imple
32
32
  viewMode: 'list' | 'timeline';
33
33
  fileDropperHeight: string;
34
34
  isShowDragDropSection: boolean;
35
+ defaultFilters: import("@angular/core").InputSignal<Record<string, any>>;
35
36
  set isFilterPatchFromRoute(value: boolean);
36
37
  get isFilterPatchFromRoute(): boolean;
37
38
  /**
@@ -63,5 +64,5 @@ export declare class EntityFileListComponent extends TechlifyListComponent imple
63
64
  fileChanged(event: any): Promise<void>;
64
65
  bulkUpdate(fieldName: any): Promise<void>;
65
66
  static ɵfac: i0.ɵɵFactoryDeclaration<EntityFileListComponent, never>;
66
- static ɵcmp: i0.ɵɵComponentDeclaration<EntityFileListComponent, "app-entity-file-list, app-entity-files-view-all", never, { "entityId": { "alias": "entityId"; "required": false; }; "entityType": { "alias": "entityType"; "required": false; }; "viewOnly": { "alias": "viewOnly"; "required": false; }; "removeSearch": { "alias": "removeSearch"; "required": false; }; "hideTitleAndDetails": { "alias": "hideTitleAndDetails"; "required": false; }; "displayMode": { "alias": "displayMode"; "required": false; }; "allowMultipleFiles": { "alias": "allowMultipleFiles"; "required": false; }; "allowBulkUpdate": { "alias": "allowBulkUpdate"; "required": false; }; "viewMode": { "alias": "viewMode"; "required": false; }; "fileDropperHeight": { "alias": "fileDropperHeight"; "required": false; }; "isShowDragDropSection": { "alias": "isShowDragDropSection"; "required": false; }; "isFilterPatchFromRoute": { "alias": "isFilterPatchFromRoute"; "required": false; }; "useTechlifyTags": { "alias": "useTechlifyTags"; "required": false; }; "techlifyTagCategories": { "alias": "techlifyTagCategories"; "required": false; }; "techlifyTagConfig": { "alias": "techlifyTagConfig"; "required": false; }; "title": { "alias": "title"; "required": false; }; "permission": { "alias": "permission"; "required": false; }; }, {}, never, never, false, never>;
67
+ static ɵcmp: i0.ɵɵComponentDeclaration<EntityFileListComponent, "app-entity-file-list, app-entity-files-view-all", never, { "entityId": { "alias": "entityId"; "required": false; }; "entityType": { "alias": "entityType"; "required": false; }; "viewOnly": { "alias": "viewOnly"; "required": false; }; "removeSearch": { "alias": "removeSearch"; "required": false; }; "hideTitleAndDetails": { "alias": "hideTitleAndDetails"; "required": false; }; "displayMode": { "alias": "displayMode"; "required": false; }; "allowMultipleFiles": { "alias": "allowMultipleFiles"; "required": false; }; "allowBulkUpdate": { "alias": "allowBulkUpdate"; "required": false; }; "viewMode": { "alias": "viewMode"; "required": false; }; "fileDropperHeight": { "alias": "fileDropperHeight"; "required": false; }; "isShowDragDropSection": { "alias": "isShowDragDropSection"; "required": false; }; "defaultFilters": { "alias": "defaultFilters"; "required": false; "isSignal": true; }; "isFilterPatchFromRoute": { "alias": "isFilterPatchFromRoute"; "required": false; }; "useTechlifyTags": { "alias": "useTechlifyTags"; "required": false; }; "techlifyTagCategories": { "alias": "techlifyTagCategories"; "required": false; }; "techlifyTagConfig": { "alias": "techlifyTagConfig"; "required": false; }; "title": { "alias": "title"; "required": false; }; "permission": { "alias": "permission"; "required": false; }; }, {}, never, never, false, never>;
67
68
  }
@@ -0,0 +1,9 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { EntityFileListComponent } from '../entity-file-list/entity-file-list.component';
3
+ import * as i0 from "@angular/core";
4
+ export declare class EntityFileListWidgetComponent extends EntityFileListComponent implements OnInit {
5
+ displayedColumns: string[];
6
+ ngOnInit(): Promise<void>;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<EntityFileListWidgetComponent, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<EntityFileListWidgetComponent, "app-entity-file-list-widget", never, {}, {}, never, never, true, never>;
9
+ }
@@ -8,8 +8,9 @@ import * as i6 from "../tag/techlify-tagger-tag-form-field/techlify-tagger-tag-f
8
8
  import * as i7 from "../read-more/read-more.module";
9
9
  import * as i8 from "../pipes/wrap.pipe";
10
10
  import * as i9 from "../pipes/file-size.pipe";
11
+ import * as i10 from "./entity-file-list-widget/entity-file-list-widget.component";
11
12
  export declare class EntityFileListModule {
12
13
  static ɵfac: i0.ɵɵFactoryDeclaration<EntityFileListModule, never>;
13
- static ɵmod: i0.ɵɵNgModuleDeclaration<EntityFileListModule, [typeof i1.EntityFileFormComponent, typeof i2.EntityFileListComponent], [typeof i3.SharedModule, typeof i4.FileDropperModule, typeof i5.DocumentViewerModule, typeof i6.TechlifyTaggerTagFormFieldModule, typeof i7.ReadMoreModule, typeof i8.WrapPipe, typeof i9.FileSizePipe], [typeof i2.EntityFileListComponent]>;
14
+ static ɵmod: i0.ɵɵNgModuleDeclaration<EntityFileListModule, [typeof i1.EntityFileFormComponent, typeof i2.EntityFileListComponent], [typeof i3.SharedModule, typeof i4.FileDropperModule, typeof i5.DocumentViewerModule, typeof i6.TechlifyTaggerTagFormFieldModule, typeof i7.ReadMoreModule, typeof i8.WrapPipe, typeof i9.FileSizePipe, typeof i10.EntityFileListWidgetComponent], [typeof i2.EntityFileListComponent, typeof i10.EntityFileListWidgetComponent]>;
14
15
  static ɵinj: i0.ɵɵInjectorDeclaration<EntityFileListModule>;
15
16
  }
@@ -1,3 +1,4 @@
1
1
  export * from './entity-file-list/entity-file-list.component';
2
+ export * from './entity-file-list-widget/entity-file-list-widget.component';
2
3
  export * from './entity-file-form/entity-file-form.component';
3
4
  export * from './entity-file.service';
@@ -21,5 +21,5 @@ export declare class CommentFormComponent implements OnInit, OnDestroy {
21
21
  deleteComment(): void;
22
22
  ngOnDestroy(): void;
23
23
  static ɵfac: i0.ɵɵFactoryDeclaration<CommentFormComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<CommentFormComponent, "app-comment-form", never, { "commentData": { "alias": "commentData"; "required": false; }; }, { "action": "action"; }, never, never, false, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<CommentFormComponent, "app-comment-form", never, { "commentData": { "alias": "commentData"; "required": false; }; }, { "action": "action"; }, never, never, true, never>;
25
25
  }
@@ -1,3 +1,4 @@
1
1
  export * from './note-list/note-list.component';
2
+ export * from './note-comment-list/note-comment-list.component';
2
3
  export * from './note-form/note-form.component';
3
4
  export * from './comment-form/comment-form.component';
@@ -0,0 +1,33 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { MatDialog } from '@angular/material/dialog';
3
+ import { TechlifyListComponent } from '../../base-model';
4
+ import { NoteService } from '../note.service';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Notes rendered as a comment thread, where each comment is edited in place
8
+ * through app-comment-form. Use app-note-list for the table/timeline views.
9
+ */
10
+ export declare class NoteCommentListComponent extends TechlifyListComponent implements OnInit {
11
+ protected service: NoteService;
12
+ private dialog;
13
+ relatedModelId: any;
14
+ modelType: any;
15
+ labelText: string;
16
+ constructor(service: NoteService, dialog: MatDialog);
17
+ ngOnInit(): void;
18
+ /**
19
+ * Comments are not filtered from the route, so the filters are held
20
+ * on the component rather than in a filter form
21
+ */
22
+ loadData(): void;
23
+ commentAction(event: any): void;
24
+ addComment(comment: any): void;
25
+ editComment(comment: any): void;
26
+ /**
27
+ * app-comment-form has its own delete link rather than
28
+ * app-techlify-delete-button, so the confirmation is opened here
29
+ */
30
+ deleteComment(comment: any): void;
31
+ static ɵfac: i0.ɵɵFactoryDeclaration<NoteCommentListComponent, never>;
32
+ static ɵcmp: i0.ɵɵComponentDeclaration<NoteCommentListComponent, "app-note-comment-list", never, { "relatedModelId": { "alias": "relatedModelId"; "required": false; }; "modelType": { "alias": "modelType"; "required": false; }; "labelText": { "alias": "labelText"; "required": false; }; }, {}, never, never, true, never>;
33
+ }
@@ -1,30 +1,29 @@
1
- import { OnInit } from "@angular/core";
2
- import { UntypedFormGroup, UntypedFormBuilder } from "@angular/forms";
3
- import { MatDialogRef } from "@angular/material/dialog";
4
- import { NoteService } from "../note.service";
1
+ import { OnInit } from '@angular/core';
2
+ import { UntypedFormBuilder } from '@angular/forms';
3
+ import { MatDialogRef } from '@angular/material/dialog';
4
+ import { TechlifyFormComponent } from '../../base-model';
5
5
  import { FormValidatorService } from '../../core/form-validator.service';
6
- import { AlertService } from "../../core/alert.service";
6
+ import { NoteService } from '../note.service';
7
7
  import * as i0 from "@angular/core";
8
- export declare class NoteFormComponent implements OnInit {
9
- dialogRef: MatDialogRef<NoteFormComponent>;
10
- data: any;
8
+ export declare class NoteFormComponent extends TechlifyFormComponent implements OnInit {
9
+ protected formValidatorService: FormValidatorService;
10
+ protected service: NoteService;
11
11
  private fb;
12
- private formValidatorService;
13
- private alertService;
14
- private noteService;
15
- updateMode: boolean;
16
- noteFormGroup: UntypedFormGroup;
17
- noteFormFirstAttempt: boolean;
18
- constructor(dialogRef: MatDialogRef<NoteFormComponent>, data: any, fb: UntypedFormBuilder, formValidatorService: FormValidatorService, alertService: AlertService, noteService: NoteService);
19
- /** Method to create a form **/
20
- private createForm;
12
+ dialogRef: MatDialogRef<NoteFormComponent>;
13
+ data?: {
14
+ model?: any;
15
+ model_type?: string;
16
+ related_model_id?: any;
17
+ labelText?: string;
18
+ };
19
+ labelText: string;
20
+ constructor(formValidatorService: FormValidatorService, service: NoteService, fb: UntypedFormBuilder, dialogRef: MatDialogRef<NoteFormComponent>, data?: {
21
+ model?: any;
22
+ model_type?: string;
23
+ related_model_id?: any;
24
+ labelText?: string;
25
+ });
21
26
  ngOnInit(): void;
22
- submit(): Promise<void>;
23
- cancel(): void;
24
- /**Method to evaluate form fields*/
25
- isFieldValid(field: string): any;
26
- /**Method to find error in form fields*/
27
- getErrorMessage(field: string): any;
28
- static ɵfac: i0.ɵɵFactoryDeclaration<NoteFormComponent, never>;
29
- static ɵcmp: i0.ɵɵComponentDeclaration<NoteFormComponent, "app-note-form", never, {}, {}, never, never, false, never>;
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<NoteFormComponent, [null, null, null, { optional: true; }, { optional: true; }]>;
28
+ static ɵcmp: i0.ɵɵComponentDeclaration<NoteFormComponent, "app-note-form", never, {}, {}, never, never, true, never>;
30
29
  }
@@ -1,12 +1,11 @@
1
1
  import { OnInit } from '@angular/core';
2
2
  import { NoteService } from '../note.service';
3
- import { MatDialog } from '@angular/material/dialog';
3
+ import { NoteFormComponent } from '../note-form/note-form.component';
4
4
  import { TechlifyListComponent } from '../../base-model';
5
5
  import { AlertService } from "../../core";
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class NoteListComponent extends TechlifyListComponent implements OnInit {
8
- private noteService;
9
- private dialog;
8
+ protected noteService: NoteService;
10
9
  private alertService;
11
10
  relatedModelId: any;
12
11
  modelType: any;
@@ -14,20 +13,17 @@ export declare class NoteListComponent extends TechlifyListComponent implements
14
13
  labelText: string;
15
14
  commentsView: boolean;
16
15
  viewMode: 'list' | 'timeline';
17
- filters: any;
18
16
  displayedColumns: string[];
17
+ noteForm: import("@angular/core").WritableSignal<typeof NoteFormComponent>;
19
18
  note: any;
20
19
  isSaving: boolean;
21
20
  total: number;
22
- constructor(noteService: NoteService, dialog: MatDialog, alertService: AlertService);
21
+ constructor(noteService: NoteService, alertService: AlertService);
23
22
  ngOnInit(): void;
24
23
  loadData(): void;
25
- addNote(): void;
26
- editNote(note: any): void;
27
- deleteNote(note: any): Promise<void>;
28
- commentAction(event: any): void;
29
- editComment(comment: any): Promise<void>;
30
- addComment(comment: any): Promise<void>;
24
+ /**
25
+ * This is needed here for the timeline view
26
+ */
31
27
  saveNote(): void;
32
28
  static ɵfac: i0.ɵɵFactoryDeclaration<NoteListComponent, never>;
33
29
  static ɵcmp: i0.ɵɵComponentDeclaration<NoteListComponent, "app-note-list", never, { "relatedModelId": { "alias": "relatedModelId"; "required": false; }; "modelType": { "alias": "modelType"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "labelText": { "alias": "labelText"; "required": false; }; "commentsView": { "alias": "commentsView"; "required": false; }; "viewMode": { "alias": "viewMode"; "required": false; }; }, {}, never, never, false, never>;
@@ -1,18 +1,10 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./note-list/note-list.component";
3
- import * as i2 from "./note-form/note-form.component";
4
- import * as i3 from "./comment-form/comment-form.component";
5
- import * as i4 from "@angular/common";
6
- import * as i5 from "@angular/forms";
7
- import * as i6 from "ngx-infinite-scroll";
8
- import * as i7 from "@angular/flex-layout";
9
- import * as i8 from "../action-popup/action-popup.module";
10
- import * as i9 from "../material.module";
11
- import * as i10 from "../read-more/read-more.module";
12
- import * as i11 from "@angular/material/progress-bar";
13
- import * as i12 from "../techlify-icon/techlify-icon.module";
3
+ import * as i2 from "@angular/flex-layout";
4
+ import * as i3 from "../shared.module";
5
+ import * as i4 from "./note-comment-list/note-comment-list.component";
14
6
  export declare class NoteModule {
15
7
  static ɵfac: i0.ɵɵFactoryDeclaration<NoteModule, never>;
16
- static ɵmod: i0.ɵɵNgModuleDeclaration<NoteModule, [typeof i1.NoteListComponent, typeof i2.NoteFormComponent, typeof i3.CommentFormComponent], [typeof i4.CommonModule, typeof i5.ReactiveFormsModule, typeof i6.InfiniteScrollModule, typeof i7.FlexLayoutModule, typeof i8.ActionPopupModule, typeof i9.MaterialModule, typeof i10.ReadMoreModule, typeof i11.MatProgressBarModule, typeof i5.FormsModule, typeof i12.TechlifyIconModule], [typeof i1.NoteListComponent]>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NoteModule, [typeof i1.NoteListComponent], [typeof i2.FlexLayoutModule, typeof i3.SharedModule, typeof i4.NoteCommentListComponent], [typeof i1.NoteListComponent, typeof i4.NoteCommentListComponent]>;
17
9
  static ɵinj: i0.ɵɵInjectorDeclaration<NoteModule>;
18
10
  }
@@ -1,12 +1,8 @@
1
1
  import { HttpService } from '../core/http.service';
2
+ import { TechlifyService } from '../base-model/techlify-service';
2
3
  import * as i0 from "@angular/core";
3
- export declare class NoteService {
4
- private http;
4
+ export declare class NoteService extends TechlifyService {
5
5
  constructor(http: HttpService);
6
- getNotes(filterModel: any): Promise<Object>;
7
- addNote(note: any): Promise<Object>;
8
- editNote(note: any): Promise<Object>;
9
- deleteNote(note: any): Promise<Object>;
10
6
  static ɵfac: i0.ɵɵFactoryDeclaration<NoteService, never>;
11
7
  static ɵprov: i0.ɵɵInjectableDeclaration<NoteService>;
12
8
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-techlify-core",
3
- "version": "18.83.0",
3
+ "version": "18.85.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=18",
6
6
  "@angular/core": ">=18",