@codetectonics/mantle 0.0.7 → 1.0.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 (128) hide show
  1. package/bundles/codetectonics-mantle.umd.js +7870 -6899
  2. package/bundles/codetectonics-mantle.umd.js.map +1 -1
  3. package/esm2015/lib/components/dashboard/containers/plain-dashboard-container/plain-dashboard-container.component.js +1 -1
  4. package/esm2015/lib/components/dashboard/dashboard-card/dashboard-card.component.js +3 -2
  5. package/esm2015/lib/components/dashboard/widgets/dashboard-info-card/dashboard-info-card.component.js +1 -1
  6. package/esm2015/lib/components/dashboard/widgets/dashboard-table/dashboard-table.component.js +6 -2
  7. package/esm2015/lib/components/dashboard/widgets/dynamic-chart/dynamic-chart.component.js +9 -2
  8. package/esm2015/lib/components/dashboard/widgets/dynamic-widget-display/dynamic-widget-display.component.js +2 -2
  9. package/esm2015/lib/components/details/dialog-details/dialog-details.component.js +11 -4
  10. package/esm2015/lib/components/details/dialog-nested-details/dialog-nested-details.component.js +3 -2
  11. package/esm2015/lib/components/details/fields/dynamic-attribute-display/dynamic-attribute-display.component.js +5 -4
  12. package/esm2015/lib/components/details/fields/icon-attribute-display/icon-attribute-display.component.js +22 -0
  13. package/esm2015/lib/components/details/sections/dynamic-details-section/dynamic-details-section.component.js +7 -3
  14. package/esm2015/lib/components/details/sections/grid-details-section/grid-details-section.component.js +17 -5
  15. package/esm2015/lib/components/details/sections/roster-shift-list-details-section/roster-shift-list-details-section.component.js +21 -0
  16. package/esm2015/lib/components/details/sections/table-details-section/table-details-section.component.js +7 -2
  17. package/esm2015/lib/components/form/dialog-form/dialog-form.component.js +18 -5
  18. package/esm2015/lib/components/form/dialog-nested-form/dialog-nested-form.component.js +13 -3
  19. package/esm2015/lib/components/form/dynamic-form/dynamic-form.component.js +6 -2
  20. package/esm2015/lib/components/form/fields/autocomplete-input/autocomplete-input.component.js +3 -2
  21. package/esm2015/lib/components/form/fields/chip-input/chip-input.component.js +3 -2
  22. package/esm2015/lib/components/form/fields/datepicker/datepicker.component.js +3 -2
  23. package/esm2015/lib/components/form/fields/datetimepicker/datetimepicker.component.js +3 -2
  24. package/esm2015/lib/components/form/fields/dropdown/dropdown.component.js +3 -2
  25. package/esm2015/lib/components/form/fields/dynamic-form-field/dynamic-form-field.component.js +15 -11
  26. package/esm2015/lib/components/form/fields/filepicker/filepicker.component.js +3 -2
  27. package/esm2015/lib/components/form/fields/image-cropper/image-cropper.component.js +3 -2
  28. package/esm2015/lib/components/form/fields/imagepicker/imagepicker.component.js +3 -2
  29. package/esm2015/lib/components/form/fields/markdown-input/markdown-input.component.js +3 -2
  30. package/esm2015/lib/components/form/fields/number-input/number-input.component.js +3 -2
  31. package/esm2015/lib/components/form/fields/password-input/password-input.component.js +3 -2
  32. package/esm2015/lib/components/form/fields/text-input/text-input.component.js +3 -2
  33. package/esm2015/lib/components/form/fields/textarea/textarea.component.js +3 -2
  34. package/esm2015/lib/components/form/fields/time-input/time-input.component.js +80 -0
  35. package/esm2015/lib/components/form/sections/dynamic-form-section/dynamic-form-section.component.js +15 -7
  36. package/esm2015/lib/components/form/sections/grid-form-section/grid-form-section.component.js +11 -2
  37. package/esm2015/lib/components/form/sections/roster-shift-list-form-section/roster-shift-list-form-section.component.js +69 -0
  38. package/esm2015/lib/components/form/sections/table-form-section/table-form-section.component.js +13 -3
  39. package/esm2015/lib/components/navigation/nav-tree/nav-tree.component.js +5 -4
  40. package/esm2015/lib/components/navigation/paginator/custom-paginator-intl.js +33 -0
  41. package/esm2015/lib/components/pages/dashboard-page/dashboard-page.component.js +4 -3
  42. package/esm2015/lib/components/pages/detail-page/detail-page.component.js +25 -19
  43. package/esm2015/lib/components/pages/documents-page/documents-page.component.js +4 -3
  44. package/esm2015/lib/components/pages/export-page/export-page.component.js +4 -3
  45. package/esm2015/lib/components/pages/form-page/form-page.component.js +7 -6
  46. package/esm2015/lib/components/pages/layout-editor-page/layout-editor-page.component.js +12 -8
  47. package/esm2015/lib/components/pages/list-page/list-page-datasource.js +2 -2
  48. package/esm2015/lib/components/pages/list-page/list-page.component.js +22 -11
  49. package/esm2015/lib/components/pages/roster-page/roster-gantt.data.js +50 -0
  50. package/esm2015/lib/components/pages/roster-page/roster-page.component.js +134 -0
  51. package/esm2015/lib/components/pages/tabbed-page/tabbed-page.component.js +3 -2
  52. package/esm2015/lib/components/titles/page-title/page-title.component.js +11 -9
  53. package/esm2015/lib/components/titles/section-title/section-title.component.js +3 -2
  54. package/esm2015/lib/components/widgets/delete-confirmation-dialog/delete-confirmation-dialog.component.js +3 -2
  55. package/esm2015/lib/components/widgets/draggable-table/draggable-table-datasource.js +31 -0
  56. package/esm2015/lib/components/widgets/draggable-table/draggable-table.component.js +79 -0
  57. package/esm2015/lib/components/widgets/dynamic-table/dynamic-table.component.js +4 -5
  58. package/esm2015/lib/components/widgets/file-preview-dialog/file-preview-dialog.component.js +3 -2
  59. package/esm2015/lib/components/widgets/qr-code-dialog/qr-code-dialog.component.js +37 -0
  60. package/esm2015/lib/components/widgets/save-confirmation-dialog/save-confirmation-dialog.component.js +4 -3
  61. package/esm2015/lib/components/widgets/search-panel/search-panel.component.js +3 -2
  62. package/esm2015/lib/components/widgets/snackbar/snackbar.component.js +3 -2
  63. package/esm2015/lib/data-structures/dynamic-layout.structure.js +1 -1
  64. package/esm2015/lib/guards/feature.guard.js +2 -2
  65. package/esm2015/lib/language-packs/en.data.js +62 -0
  66. package/esm2015/lib/language-packs/ms.data.js +62 -0
  67. package/esm2015/lib/mantle.module.js +49 -4
  68. package/esm2015/lib/material.module.js +12 -2
  69. package/esm2015/lib/services/confirmation.service.js +2 -2
  70. package/esm2015/lib/services/current-user.service.js +55 -21
  71. package/esm2015/lib/services/data-broadcast.service.js +18 -0
  72. package/esm2015/lib/services/dynamic-form.service.js +2 -1
  73. package/esm2015/lib/services/feature-config.service.js +34 -12
  74. package/esm2015/lib/services/interfaces/detail-page.service.js +1 -1
  75. package/esm2015/lib/services/interfaces/form-page.service.js +1 -1
  76. package/esm2015/lib/services/interfaces/list-page.service.js +1 -1
  77. package/esm2015/lib/services/interfaces/roster-page.service.js +2 -0
  78. package/esm2015/lib/services/interfaces/roster-schedule.service.js +2 -0
  79. package/esm2015/lib/services/locale.service.js +75 -0
  80. package/esm2015/lib/services/object.service.js +9 -1
  81. package/esm2015/lib/services/password-check.service.js +10 -8
  82. package/esm2015/public-api.js +15 -1
  83. package/fesm2015/codetectonics-mantle.js +1158 -255
  84. package/fesm2015/codetectonics-mantle.js.map +1 -1
  85. package/lib/components/dashboard/widgets/dashboard-table/dashboard-table.component.d.ts +2 -1
  86. package/lib/components/details/dialog-details/dialog-details.component.d.ts +1 -0
  87. package/lib/components/details/fields/icon-attribute-display/icon-attribute-display.component.d.ts +6 -0
  88. package/lib/components/details/sections/dynamic-details-section/dynamic-details-section.component.d.ts +2 -1
  89. package/lib/components/details/sections/roster-shift-list-details-section/roster-shift-list-details-section.component.d.ts +9 -0
  90. package/lib/components/details/sections/table-details-section/table-details-section.component.d.ts +3 -1
  91. package/lib/components/form/dialog-form/dialog-form.component.d.ts +5 -1
  92. package/lib/components/form/dialog-nested-form/dialog-nested-form.component.d.ts +3 -0
  93. package/lib/components/form/fields/time-input/time-input.component.d.ts +22 -0
  94. package/lib/components/form/sections/dynamic-form-section/dynamic-form-section.component.d.ts +4 -1
  95. package/lib/components/form/sections/roster-shift-list-form-section/roster-shift-list-form-section.component.d.ts +23 -0
  96. package/lib/components/form/sections/table-form-section/table-form-section.component.d.ts +3 -1
  97. package/lib/components/navigation/nav-tree/nav-tree.component.d.ts +2 -2
  98. package/lib/components/navigation/paginator/custom-paginator-intl.d.ts +12 -0
  99. package/lib/components/pages/detail-page/detail-page.component.d.ts +4 -3
  100. package/lib/components/pages/layout-editor-page/layout-editor-page.component.d.ts +2 -1
  101. package/lib/components/pages/list-page/list-page.component.d.ts +4 -1
  102. package/lib/components/pages/roster-page/roster-gantt.data.d.ts +1 -0
  103. package/lib/components/pages/roster-page/roster-page.component.d.ts +40 -0
  104. package/lib/components/titles/page-title/page-title.component.d.ts +3 -1
  105. package/lib/components/widgets/delete-confirmation-dialog/delete-confirmation-dialog.component.d.ts +1 -1
  106. package/lib/components/widgets/draggable-table/draggable-table-datasource.d.ts +23 -0
  107. package/lib/components/widgets/draggable-table/draggable-table.component.d.ts +24 -0
  108. package/lib/components/widgets/qr-code-dialog/qr-code-dialog.component.d.ts +18 -0
  109. package/lib/components/widgets/save-confirmation-dialog/save-confirmation-dialog.component.d.ts +0 -2
  110. package/lib/data-structures/dynamic-layout.structure.d.ts +13 -0
  111. package/lib/language-packs/en.data.d.ts +61 -0
  112. package/lib/language-packs/ms.data.d.ts +61 -0
  113. package/lib/mantle.module.d.ts +104 -94
  114. package/lib/material.module.d.ts +12 -11
  115. package/lib/services/current-user.service.d.ts +14 -7
  116. package/lib/services/data-broadcast.service.d.ts +8 -0
  117. package/lib/services/dynamic-form.service.d.ts +2 -0
  118. package/lib/services/feature-config.service.d.ts +15 -3
  119. package/lib/services/interfaces/detail-page.service.d.ts +4 -2
  120. package/lib/services/interfaces/form-page.service.d.ts +11 -3
  121. package/lib/services/interfaces/list-page.service.d.ts +14 -1
  122. package/lib/services/interfaces/roster-page.service.d.ts +20 -0
  123. package/lib/services/interfaces/roster-schedule.service.d.ts +22 -0
  124. package/lib/services/locale.service.d.ts +21 -0
  125. package/lib/services/object.service.d.ts +2 -0
  126. package/lib/services/password-check.service.d.ts +3 -1
  127. package/package.json +3 -1
  128. package/public-api.d.ts +14 -0
@@ -11,6 +11,7 @@ export interface DashboardTableColumn {
11
11
  export declare class DashboardTableComponent implements AfterViewInit, OnChanges {
12
12
  private dialog;
13
13
  table: MatTable<any>;
14
+ label: string;
14
15
  columns: DashboardTableColumn[];
15
16
  items: any[];
16
17
  hideHeaders: boolean;
@@ -24,5 +25,5 @@ export declare class DashboardTableComponent implements AfterViewInit, OnChanges
24
25
  listColumnAttrs(): string[];
25
26
  onRowClicked(row: any): void;
26
27
  static ɵfac: i0.ɵɵFactoryDeclaration<DashboardTableComponent, never>;
27
- static ɵcmp: i0.ɵɵComponentDeclaration<DashboardTableComponent, "mantle-dashboard-table", never, { "columns": "columns"; "items": "items"; "hideHeaders": "hideHeaders"; "withStripedRows": "withStripedRows"; "withClickableRows": "withClickableRows"; "onRecordClicked": "onRecordClicked"; }, {}, never, never>;
28
+ static ɵcmp: i0.ɵɵComponentDeclaration<DashboardTableComponent, "mantle-dashboard-table", never, { "label": "label"; "columns": "columns"; "items": "items"; "hideHeaders": "hideHeaders"; "withStripedRows": "withStripedRows"; "withClickableRows": "withClickableRows"; "onRecordClicked": "onRecordClicked"; }, {}, never, never>;
28
29
  }
@@ -25,6 +25,7 @@ export declare class DialogDetailsComponent implements OnInit {
25
25
  constructor(router: Router, dialogRef: MatDialogRef<DialogDetailsComponent>, dialogDetailParams: DialogDetailParams, announcementService: AnnouncementService);
26
26
  ngOnInit(): void;
27
27
  onCancelClicked(): void;
28
+ onCloneClicked(): void;
28
29
  onEditClicked(): void;
29
30
  onDeleteClicked(): void;
30
31
  onDeleteSuccess(res: WebApiDeleteResponse): void;
@@ -0,0 +1,6 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class IconAttributeDisplayComponent {
3
+ value: any;
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<IconAttributeDisplayComponent, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<IconAttributeDisplayComponent, "mantle-icon-attribute-display", never, { "value": "value"; }, {}, never, never>;
6
+ }
@@ -1,4 +1,4 @@
1
- import { DynamicDetailsContent, DynamicLayoutDashboardSection, DynamicLayoutGridSection, DynamicLayoutMarkdownSection, DynamicLayoutSection, DynamicLayoutTableSection } from '../../../../data-structures/dynamic-layout.structure';
1
+ import { DynamicDetailsContent, DynamicLayoutDashboardSection, DynamicLayoutGridSection, DynamicLayoutMarkdownSection, DynamicLayoutRosterShiftListSection, DynamicLayoutSection, DynamicLayoutTableSection } from '../../../../data-structures/dynamic-layout.structure';
2
2
  import { DashboardPageService } from '../../../../services/interfaces/dashboard-page.service';
3
3
  import { DetailPageService } from '../../../../services/interfaces/detail-page.service';
4
4
  import * as i0 from "@angular/core";
@@ -11,6 +11,7 @@ export declare class DynamicDetailsSectionComponent {
11
11
  asDynamicLayoutTableSection(section: any): DynamicLayoutTableSection;
12
12
  asDynamicLayoutMarkdownSection(section: any): DynamicLayoutMarkdownSection;
13
13
  asDynamicLayoutDashboardSection(section: any): DynamicLayoutDashboardSection;
14
+ asDynamicLayoutRosterShiftListSection(section: any): DynamicLayoutRosterShiftListSection;
14
15
  asDashboardPageService(detailPageService: DetailPageService): DashboardPageService;
15
16
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicDetailsSectionComponent, never>;
16
17
  static ɵcmp: i0.ɵɵComponentDeclaration<DynamicDetailsSectionComponent, "mantle-dynamic-details-section", never, { "detailPageService": "detailPageService"; "content": "content"; "section": "section"; }, {}, never, never>;
@@ -0,0 +1,9 @@
1
+ import { DynamicLayoutRosterShiftListSection } from '../../../../data-structures/dynamic-layout.structure';
2
+ import * as i0 from "@angular/core";
3
+ export declare class RosterShiftListDetailsSectionComponent {
4
+ data: any;
5
+ section: DynamicLayoutRosterShiftListSection;
6
+ constructor();
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<RosterShiftListDetailsSectionComponent, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<RosterShiftListDetailsSectionComponent, "mantle-roster-shift-list-details-section", never, { "data": "data"; "section": "section"; }, {}, never, never>;
9
+ }
@@ -1,12 +1,14 @@
1
1
  import { MatDialog } from "@angular/material/dialog";
2
2
  import { DynamicLayoutTableSection } from '../../../../data-structures/dynamic-layout.structure';
3
+ import { DetailPageService } from '../../../../services/interfaces/detail-page.service';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class TableDetailsSectionComponent {
5
6
  private dialog;
6
7
  data: any;
7
8
  section: DynamicLayoutTableSection;
9
+ detailPageService: DetailPageService;
8
10
  constructor(dialog: MatDialog);
9
11
  openDetailsDialog(record: any): void;
10
12
  static ɵfac: i0.ɵɵFactoryDeclaration<TableDetailsSectionComponent, never>;
11
- static ɵcmp: i0.ɵɵComponentDeclaration<TableDetailsSectionComponent, "mantle-table-details-section", never, { "data": "data"; "section": "section"; }, {}, never, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<TableDetailsSectionComponent, "mantle-table-details-section", never, { "data": "data"; "section": "section"; "detailPageService": "detailPageService"; }, {}, never, never>;
12
14
  }
@@ -1,7 +1,7 @@
1
1
  import { AfterViewChecked, ChangeDetectorRef } from '@angular/core';
2
2
  import { MatDialogRef } from "@angular/material/dialog";
3
3
  import { Observable } from 'rxjs';
4
- import { WebApiSaveResponse } from '../../../services/adapters/web-api-crud.adapter';
4
+ import { WebApiDeleteResponse, WebApiSaveResponse } from '../../../services/adapters/web-api-crud.adapter';
5
5
  import { DynamicFormComponent } from '../../../components/form/dynamic-form/dynamic-form.component';
6
6
  import { AnnouncementService } from '../../../services/announcement.service';
7
7
  import { ObjectService } from '../../../services/object.service';
@@ -25,6 +25,7 @@ export declare class DialogFormComponent implements AfterViewChecked {
25
25
  title: string;
26
26
  content$: Observable<any>;
27
27
  isSaveInProgress: boolean;
28
+ isDeleteInProgress: boolean;
28
29
  constructor(dialogRef: MatDialogRef<DialogFormComponent>, dialogFormParams: DialogFormParams, changeDetectorRef: ChangeDetectorRef, announcementService: AnnouncementService, objectService: ObjectService);
29
30
  ngAfterViewChecked(): void;
30
31
  onCancelClicked(): void;
@@ -33,6 +34,9 @@ export declare class DialogFormComponent implements AfterViewChecked {
33
34
  onSaveFailure(res: {
34
35
  error: WebApiSaveResponse;
35
36
  }): void;
37
+ onDeleteClicked(): void;
38
+ onDeleteSuccess(res: WebApiDeleteResponse): void;
39
+ onDeleteFailure(res: WebApiDeleteResponse): void;
36
40
  close(result?: any): void;
37
41
  static ɵfac: i0.ɵɵFactoryDeclaration<DialogFormComponent, never>;
38
42
  static ɵcmp: i0.ɵɵComponentDeclaration<DialogFormComponent, "mantle-dialog-form", never, {}, {}, never, never>;
@@ -3,6 +3,7 @@ import { FormGroup } from '@angular/forms';
3
3
  import { MatDialogRef } from "@angular/material/dialog";
4
4
  import { DynamicLayoutGridSection } from '../../../data-structures/dynamic-layout.structure';
5
5
  import { DynamicFormService } from '../../../services/dynamic-form.service';
6
+ import { FormPageService } from '../../../services/interfaces/form-page.service';
6
7
  import * as i0 from "@angular/core";
7
8
  export interface DialogNestedFormParams {
8
9
  title: string;
@@ -10,6 +11,7 @@ export interface DialogNestedFormParams {
10
11
  data: any;
11
12
  showDeleteButton: boolean;
12
13
  saveButtonText: string;
14
+ formPageService: FormPageService;
13
15
  }
14
16
  export declare class DialogNestedFormComponent implements AfterViewChecked {
15
17
  private changeDetectorRef;
@@ -20,6 +22,7 @@ export declare class DialogNestedFormComponent implements AfterViewChecked {
20
22
  section: DynamicLayoutGridSection;
21
23
  showDeleteButton: boolean;
22
24
  saveButtonText: string;
25
+ formPageService: FormPageService;
23
26
  form: FormGroup;
24
27
  constructor(changeDetectorRef: ChangeDetectorRef, dialogRef: MatDialogRef<DialogNestedFormComponent>, dialogNestedFormParams: DialogNestedFormParams, dynamicFormService: DynamicFormService);
25
28
  ngAfterViewChecked(): void;
@@ -0,0 +1,22 @@
1
+ import { OnChanges } from '@angular/core';
2
+ import { ControlValueAccessor, AbstractControl, Validator, ValidationErrors } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ export declare class TimeInputComponent implements ControlValueAccessor, Validator, OnChanges {
5
+ label: string;
6
+ disable: boolean;
7
+ required: boolean;
8
+ error: string | undefined;
9
+ value: any;
10
+ errorMessage: string | undefined;
11
+ constructor();
12
+ onChange: (newValue: string) => void;
13
+ registerOnChange(fn: (newValue: string) => void): void;
14
+ onTouched: () => void;
15
+ registerOnTouched(fn: () => void): void;
16
+ ngOnChanges(): void;
17
+ writeValue(newValue: any): void;
18
+ onValueChanged(event: any): void;
19
+ validate(control: AbstractControl): ValidationErrors | null;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<TimeInputComponent, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<TimeInputComponent, "mantle-time-input", never, { "label": "label"; "disable": "disable"; "required": "required"; "error": "error"; }, {}, never, never>;
22
+ }
@@ -1,6 +1,7 @@
1
1
  import { FormGroup } from '@angular/forms';
2
- import { DynamicFormContent, DynamicLayoutDashboardSection, DynamicLayoutGridSection, DynamicLayoutMarkdownSection, DynamicLayoutSection, DynamicLayoutTableSection } from '../../../../data-structures/dynamic-layout.structure';
2
+ import { DynamicFormContent, DynamicLayoutDashboardSection, DynamicLayoutGridSection, DynamicLayoutMarkdownSection, DynamicLayoutRosterShiftListSection, DynamicLayoutSection, DynamicLayoutTableSection } from '../../../../data-structures/dynamic-layout.structure';
3
3
  import { DashboardPageService } from '../../../../services/interfaces/dashboard-page.service';
4
+ import { DetailPageService } from '../../../../services/interfaces/detail-page.service';
4
5
  import { FormPageService } from '../../../../services/interfaces/form-page.service';
5
6
  import * as i0 from "@angular/core";
6
7
  export declare class DynamicFormSectionComponent {
@@ -13,7 +14,9 @@ export declare class DynamicFormSectionComponent {
13
14
  asDynamicLayoutTableSection(section: any): DynamicLayoutTableSection;
14
15
  asDynamicLayoutMarkdownSection(section: any): DynamicLayoutMarkdownSection;
15
16
  asDynamicLayoutDashboardSection(section: any): DynamicLayoutDashboardSection;
17
+ asDynamicLayoutRosterShiftListSection(section: any): DynamicLayoutRosterShiftListSection;
16
18
  asDashboardPageService(formPageService: FormPageService): DashboardPageService;
19
+ asDetailPageService(formPageService: FormPageService): DetailPageService;
17
20
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicFormSectionComponent, never>;
18
21
  static ɵcmp: i0.ɵɵComponentDeclaration<DynamicFormSectionComponent, "mantle-dynamic-form-section", never, { "formPageService": "formPageService"; "section": "section"; "content": "content"; "form": "form"; }, {}, never, never>;
19
22
  }
@@ -0,0 +1,23 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { FormGroup } from '@angular/forms';
3
+ import { DynamicLayoutRosterShiftListSection } from '../../../../data-structures/dynamic-layout.structure';
4
+ import * as i0 from "@angular/core";
5
+ export declare class RosterShiftListFormSectionComponent implements OnInit {
6
+ title?: string;
7
+ section: DynamicLayoutRosterShiftListSection;
8
+ form: FormGroup;
9
+ dropdownValues: {
10
+ label: string;
11
+ value: string;
12
+ }[];
13
+ constructor();
14
+ ngOnInit(): void;
15
+ canAddRecord(): boolean;
16
+ setDropdownValues(): void;
17
+ onAddClicked(value: string): void;
18
+ get valid(): boolean;
19
+ get value(): any;
20
+ reset(): void;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<RosterShiftListFormSectionComponent, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<RosterShiftListFormSectionComponent, "mantle-roster-shift-list-form-section", never, { "title": "title"; "section": "section"; "form": "form"; }, {}, never, never>;
23
+ }
@@ -2,6 +2,7 @@ import { FormGroup } from '@angular/forms';
2
2
  import { MatDialog } from "@angular/material/dialog";
3
3
  import { DynamicLayoutTableSection } from '../../../../data-structures/dynamic-layout.structure';
4
4
  import { ArrayService } from '../../../../services/array.service';
5
+ import { FormPageService } from '../../../../services/interfaces/form-page.service';
5
6
  import * as i0 from "@angular/core";
6
7
  export declare class TableFormSectionComponent {
7
8
  private dialog;
@@ -9,6 +10,7 @@ export declare class TableFormSectionComponent {
9
10
  title?: string;
10
11
  section: DynamicLayoutTableSection;
11
12
  form: FormGroup;
13
+ formPageService: FormPageService;
12
14
  constructor(dialog: MatDialog, arrayService: ArrayService);
13
15
  canAddRecord(): boolean;
14
16
  openDetailsDialog(record: any): void;
@@ -18,5 +20,5 @@ export declare class TableFormSectionComponent {
18
20
  get value(): any;
19
21
  reset(): void;
20
22
  static ɵfac: i0.ɵɵFactoryDeclaration<TableFormSectionComponent, never>;
21
- static ɵcmp: i0.ɵɵComponentDeclaration<TableFormSectionComponent, "mantle-table-form-section", never, { "title": "title"; "section": "section"; "form": "form"; }, {}, never, never>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<TableFormSectionComponent, "mantle-table-form-section", never, { "title": "title"; "section": "section"; "form": "form"; "formPageService": "formPageService"; }, {}, never, never>;
22
24
  }
@@ -27,7 +27,7 @@ export declare class NavTreeComponent implements OnChanges {
27
27
  treeFlattener: MatTreeFlattener<NavigationNode, FlatTreeNode>;
28
28
  /** The MatTreeFlatDataSource connects the control and flattener to provide data. */
29
29
  dataSource: MatTreeFlatDataSource<NavigationNode, FlatTreeNode>;
30
- reminderCount: number;
30
+ notificationCount: number;
31
31
  navTreeFeatures: any[];
32
32
  constructor();
33
33
  ngOnChanges(): void;
@@ -42,5 +42,5 @@ export declare class NavTreeComponent implements OnChanges {
42
42
  /** Get the children for the node. */
43
43
  getChildren(node: NavigationNode): NavigationNode[] | null | undefined;
44
44
  static ɵfac: i0.ɵɵFactoryDeclaration<NavTreeComponent, never>;
45
- static ɵcmp: i0.ɵɵComponentDeclaration<NavTreeComponent, "mantle-nav-tree", never, { "reminderCount": "reminderCount"; "navTreeFeatures": "navTreeFeatures"; }, {}, never, never>;
45
+ static ɵcmp: i0.ɵɵComponentDeclaration<NavTreeComponent, "mantle-nav-tree", never, { "notificationCount": "notificationCount"; "navTreeFeatures": "navTreeFeatures"; }, {}, never, never>;
46
46
  }
@@ -0,0 +1,12 @@
1
+ import { MatPaginatorIntl } from '@angular/material/paginator';
2
+ import { DataBroadcastService } from '../../../services/data-broadcast.service';
3
+ import { LocaleService } from '../../../services/locale.service';
4
+ import * as i0 from "@angular/core";
5
+ export declare class CustomPaginatorIntl extends MatPaginatorIntl {
6
+ private dataBroadcastService;
7
+ private localeService;
8
+ constructor(dataBroadcastService: DataBroadcastService, localeService: LocaleService);
9
+ getRangeLabel: (page: number, pageSize: number, length: number) => string;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<CustomPaginatorIntl, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<CustomPaginatorIntl>;
12
+ }
@@ -1,6 +1,5 @@
1
1
  import { Injector, OnInit } from '@angular/core';
2
2
  import { ActivatedRoute } from '@angular/router';
3
- import { Observable } from 'rxjs';
4
3
  import { DynamicLayoutSection } from '../../../data-structures/dynamic-layout.structure';
5
4
  import { AnnouncementService } from '../../../services/announcement.service';
6
5
  import { DetailPageButton, DetailPageExportOption, DetailPageService } from '../../../services/interfaces/detail-page.service';
@@ -13,7 +12,7 @@ export declare class DetailPageComponent implements OnInit {
13
12
  detailPageService: DetailPageService;
14
13
  id: string;
15
14
  header: any;
16
- content$: Observable<any>;
15
+ content: any;
17
16
  exportOptions: DetailPageExportOption[];
18
17
  bottomLeftButtons: DetailPageButton[];
19
18
  bottomRightButtons: DetailPageButton[];
@@ -21,10 +20,12 @@ export declare class DetailPageComponent implements OnInit {
21
20
  isDeleteInProgress: boolean;
22
21
  constructor(route: ActivatedRoute, injector: Injector, announcementService: AnnouncementService);
23
22
  ngOnInit(): void;
24
- loadData(): void;
23
+ pullContent(): void;
24
+ loadContent(response: any): void;
25
25
  loadSectionActions(section: DynamicLayoutSection): void;
26
26
  loadAdditionalButtons(record: any): void;
27
27
  onEditClicked(): void;
28
+ onCloneClicked(): void;
28
29
  onBackClicked(): void;
29
30
  onDeleteClicked(): void;
30
31
  onDeleteSuccess(res: WebApiDeleteResponse): void;
@@ -16,7 +16,8 @@ export declare class LayoutEditorPageComponent implements OnInit {
16
16
  isSaveInProgress: boolean;
17
17
  constructor(route: ActivatedRoute, injector: Injector, announcementService: AnnouncementService);
18
18
  ngOnInit(): void;
19
- loadData(): void;
19
+ pullContent(): void;
20
+ loadContent(response: any): void;
20
21
  onSaveClicked(): void;
21
22
  onSaveSuccess(res: WebApiSaveResponse): void;
22
23
  onSaveFailure(res: WebApiSaveResponse): void;
@@ -3,7 +3,7 @@ import { ActivatedRoute } from '@angular/router';
3
3
  import { MatPaginator } from '@angular/material/paginator';
4
4
  import { MatSort } from '@angular/material/sort';
5
5
  import { MatTable } from '@angular/material/table';
6
- import { ListPageService, ListPageColumn, ListPageExportOption, ListPageBulkExportOption } from '../../../services/interfaces/list-page.service';
6
+ import { ListPageService, ListPageColumn, ListPageExportOption, ListPageBulkExportOption, ListPageButton } from '../../../services/interfaces/list-page.service';
7
7
  import { ListPageDataSource } from './list-page-datasource';
8
8
  import { SearchPanelComponent } from '../../../components/widgets/search-panel/search-panel.component';
9
9
  import { ArrayService } from '../../../services/array.service';
@@ -30,16 +30,19 @@ export declare class ListPageComponent implements AfterViewInit {
30
30
  pageTitle: string;
31
31
  withCollapsibleColumns: boolean;
32
32
  expandCollapsibleColumns: boolean;
33
+ additionalButtons: ListPageButton[];
33
34
  isActionPanelOpen: boolean;
34
35
  isSmallScreen: boolean;
35
36
  constructor(route: ActivatedRoute, injector: Injector, changeDetectorRef: ChangeDetectorRef, arrayService: ArrayService, screenSizeService: ScreenSizeService);
36
37
  ngAfterViewInit(): void;
37
38
  onRecordClicked(record: any): void;
38
39
  onAddClicked(): void;
40
+ onBackToParentClicked(): void;
39
41
  isRecordChecked(record: any): boolean;
40
42
  onRecordChecked(record: any, checked: boolean): void;
41
43
  onCheckAll(checked: boolean): void;
42
44
  onBulkExportClicked(exportOption: ListPageBulkExportOption): void;
45
+ loadAdditionalButtons(): void;
43
46
  toggleCollapsibleColumns(): void;
44
47
  static ɵfac: i0.ɵɵFactoryDeclaration<ListPageComponent, never>;
45
48
  static ɵcmp: i0.ɵɵComponentDeclaration<ListPageComponent, "mantle-list-page", never, {}, {}, never, never>;
@@ -0,0 +1 @@
1
+ export declare const ROSTER_GANTT_CHART: Highcharts.Options;
@@ -0,0 +1,40 @@
1
+ import { Injector, OnInit } from '@angular/core';
2
+ import { ActivatedRoute } from '@angular/router';
3
+ import { MatDialog } from '@angular/material/dialog';
4
+ import { Observable } from 'rxjs';
5
+ import { LocaleService } from '../../../services/locale.service';
6
+ import { RosterPageService } from '../../../services/interfaces/roster-page.service';
7
+ import { RosterScheduleService } from '../../../services/interfaces/roster-schedule.service';
8
+ import { ObjectService } from '../../../services/object.service';
9
+ import { ScreenSizeService } from '../../../services/screen-size.service';
10
+ import * as i0 from "@angular/core";
11
+ export declare class RosterPageComponent implements OnInit {
12
+ private route;
13
+ private injector;
14
+ private localeService;
15
+ private dialog;
16
+ private objectService;
17
+ private screenSizeService;
18
+ rosterPageService: RosterPageService;
19
+ rosterScheduleService: RosterScheduleService;
20
+ id: string;
21
+ pageTitle: string;
22
+ rosterData: any;
23
+ startDate: string;
24
+ endDate: string;
25
+ month: string;
26
+ isSmallScreen: boolean;
27
+ constructor(route: ActivatedRoute, injector: Injector, localeService: LocaleService, dialog: MatDialog, objectService: ObjectService, screenSizeService: ScreenSizeService);
28
+ ngOnInit(): void;
29
+ showPrevMonth(): void;
30
+ showNextMonth(): void;
31
+ pullContent(): void;
32
+ loadRoster(data: any): void;
33
+ exportCsv(): Observable<any>;
34
+ onBackClicked(): void;
35
+ onEditClicked(): void;
36
+ openScheduleRecord(scheduleId: string): void;
37
+ openScheduleForm(scheduleId?: string): void;
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<RosterPageComponent, never>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<RosterPageComponent, "mantle-roster-page", never, {}, {}, never, never>;
40
+ }
@@ -1,10 +1,12 @@
1
+ import { LocaleService } from '../../../services/locale.service';
1
2
  import { ScreenSizeService } from '../../../services/screen-size.service';
2
3
  import * as i0 from "@angular/core";
3
4
  export declare class PageTitleComponent {
5
+ private localeService;
4
6
  private screenSizeService;
5
7
  today: string;
6
8
  isSmallScreen: boolean;
7
- constructor(screenSizeService: ScreenSizeService);
9
+ constructor(localeService: LocaleService, screenSizeService: ScreenSizeService);
8
10
  static ɵfac: i0.ɵɵFactoryDeclaration<PageTitleComponent, never>;
9
11
  static ɵcmp: i0.ɵɵComponentDeclaration<PageTitleComponent, "mantle-page-title", never, {}, {}, never, ["*"]>;
10
12
  }
@@ -11,7 +11,7 @@ export interface DeleteConfirmationDialogParams {
11
11
  export declare class DeleteConfirmationDialogComponent {
12
12
  private dialogRef;
13
13
  private params;
14
- message?: string;
14
+ message: string;
15
15
  buttons: DeleteConfirmationDialogButton[];
16
16
  constructor(dialogRef: MatDialogRef<DeleteConfirmationDialogComponent>, params: DeleteConfirmationDialogParams);
17
17
  onDeleteClicked(deletionAction: (id: string) => void): void;
@@ -0,0 +1,23 @@
1
+ import { DataSource } from '@angular/cdk/collections';
2
+ import { BehaviorSubject, Observable } from 'rxjs';
3
+ /**
4
+ * Data source for the List Page view. This class should
5
+ * encapsulate all logic for fetching and manipulating the displayed data
6
+ * (including sorting, pagination, and searching).
7
+ */
8
+ export declare class DraggableTableDataSource extends DataSource<any> {
9
+ columns: string[];
10
+ listSubject: BehaviorSubject<any[]>;
11
+ constructor();
12
+ /**
13
+ * Connect this data source to the table. The table will only update when
14
+ * the returned stream emits new items.
15
+ * @returns A stream of the items to be rendered.
16
+ */
17
+ connect(): Observable<any[]>;
18
+ /**
19
+ * Called when the table is being destroyed. Use this function, to clean up
20
+ * any open connections or free any held resources that were set up during connect.
21
+ */
22
+ disconnect(): void;
23
+ }
@@ -0,0 +1,24 @@
1
+ import { OnChanges } from '@angular/core';
2
+ import { CdkDragDrop } from '@angular/cdk/drag-drop';
3
+ import { MatTable } from '@angular/material/table';
4
+ import { ArrayService } from '../../../services/array.service';
5
+ import { DraggableTableDataSource } from './draggable-table-datasource';
6
+ import { DynamicTableColumn } from '../../../data-structures/dynamic-layout.structure';
7
+ import * as i0 from "@angular/core";
8
+ export declare class DraggableTableComponent implements OnChanges {
9
+ private arrayService;
10
+ table: MatTable<any>;
11
+ columns: DynamicTableColumn[];
12
+ items: any[];
13
+ sortAttr: string;
14
+ writable: boolean;
15
+ dataSource: DraggableTableDataSource;
16
+ constructor(arrayService: ArrayService);
17
+ ngOnChanges(): void;
18
+ listColumnAttrs(): string[];
19
+ onDropped(event: CdkDragDrop<string>): void;
20
+ onDeleteClicked(row: any): void;
21
+ refreshOrdinals(): void;
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<DraggableTableComponent, never>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<DraggableTableComponent, "mantle-draggable-table", never, { "columns": "columns"; "items": "items"; "sortAttr": "sortAttr"; "writable": "writable"; }, {}, never, never>;
24
+ }
@@ -0,0 +1,18 @@
1
+ import { MatDialogRef } from "@angular/material/dialog";
2
+ import * as i0 from "@angular/core";
3
+ export declare class QrCodeDialogComponent {
4
+ private dialogRef;
5
+ private params;
6
+ value: string;
7
+ instructions: string;
8
+ constructor(dialogRef: MatDialogRef<{
9
+ value: string;
10
+ instructions: string;
11
+ }>, params: {
12
+ value: string;
13
+ instructions: string;
14
+ });
15
+ onClose(): void;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<QrCodeDialogComponent, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<QrCodeDialogComponent, "mantle-qr-code-dialog", never, {}, {}, never, never>;
18
+ }
@@ -1,13 +1,11 @@
1
1
  import { MatDialogRef } from "@angular/material/dialog";
2
2
  import * as i0 from "@angular/core";
3
3
  export interface SaveConfirmationDialogParams {
4
- noun: string;
5
4
  message?: string;
6
5
  }
7
6
  export declare class SaveConfirmationDialogComponent {
8
7
  private dialogRef;
9
8
  private params;
10
- noun: string;
11
9
  message?: string;
12
10
  constructor(dialogRef: MatDialogRef<SaveConfirmationDialogComponent>, params: SaveConfirmationDialogParams);
13
11
  onSaveClicked(): void;
@@ -7,6 +7,7 @@ export interface DynamicFormContent {
7
7
  data: any;
8
8
  errors?: any;
9
9
  containers: DynamicLayoutContainer[];
10
+ settings?: any;
10
11
  }
11
12
  export interface DynamicDashboardContent {
12
13
  data: any;
@@ -50,6 +51,17 @@ export interface DynamicLayoutTableSection {
50
51
  collapsed: boolean;
51
52
  options: any;
52
53
  }
54
+ export interface DynamicLayoutRosterShiftListSection {
55
+ title?: string;
56
+ slug?: string;
57
+ layout: 'roster-shift-list';
58
+ config: TableSectionConfig;
59
+ elements: DynamicTableColumn[];
60
+ writable: boolean;
61
+ hidden: boolean;
62
+ collapsed: boolean;
63
+ options: any;
64
+ }
53
65
  export interface DynamicLayoutDashboardSection {
54
66
  title?: string;
55
67
  slug?: string;
@@ -159,6 +171,7 @@ export interface DynamicTableColumn {
159
171
  attr: string;
160
172
  type: string;
161
173
  options: any;
174
+ hidden?: boolean;
162
175
  }
163
176
  export interface DashboardCardSearchMenuContent {
164
177
  data: any;
@@ -0,0 +1,61 @@
1
+ export declare const MANTLE_LANG_EN: {
2
+ core: {
3
+ auth: {
4
+ incorrect_password: string;
5
+ page_access_denied: string;
6
+ };
7
+ buttons: {
8
+ add: string;
9
+ add_item: string;
10
+ cancel: string;
11
+ clone: string;
12
+ close_actions: string;
13
+ collapse_table: string;
14
+ confirm: string;
15
+ delete: string;
16
+ deleting: string;
17
+ download: string;
18
+ edit: string;
19
+ expand_table: string;
20
+ export: string;
21
+ exporting: string;
22
+ open_actions: string;
23
+ reset: string;
24
+ save: string;
25
+ saving: string;
26
+ search: string;
27
+ };
28
+ file_preview: {
29
+ unable_to_preview_file: string;
30
+ };
31
+ image_cropper: {
32
+ crop_image: string;
33
+ original: string;
34
+ preview: string;
35
+ };
36
+ messages: {
37
+ are_you_sure: string;
38
+ confirm_deletion: string;
39
+ could_not_update_locale: string;
40
+ delete_failed: string;
41
+ delete_successful: string;
42
+ export_failed: string;
43
+ save_failed: string;
44
+ save_successful: string;
45
+ unable_to_upload_file: string;
46
+ unknown_error: string;
47
+ };
48
+ paginator: {
49
+ items_per_page: string;
50
+ first_page: string;
51
+ previous_page: string;
52
+ next_page: string;
53
+ last_page: string;
54
+ of: string;
55
+ };
56
+ search_panel: {
57
+ search: string;
58
+ filter_by: string;
59
+ };
60
+ };
61
+ };
@@ -0,0 +1,61 @@
1
+ export declare const MANTLE_LANG_MS: {
2
+ core: {
3
+ auth: {
4
+ incorrect_password: string;
5
+ page_access_denied: string;
6
+ };
7
+ buttons: {
8
+ add: string;
9
+ add_item: string;
10
+ cancel: string;
11
+ clone: string;
12
+ close_actions: string;
13
+ collapse_table: string;
14
+ confirm: string;
15
+ delete: string;
16
+ deleting: string;
17
+ download: string;
18
+ edit: string;
19
+ expand_table: string;
20
+ export: string;
21
+ exporting: string;
22
+ open_actions: string;
23
+ reset: string;
24
+ save: string;
25
+ saving: string;
26
+ search: string;
27
+ };
28
+ file_preview: {
29
+ unable_to_preview_file: string;
30
+ };
31
+ image_cropper: {
32
+ crop_image: string;
33
+ original: string;
34
+ preview: string;
35
+ };
36
+ messages: {
37
+ are_you_sure: string;
38
+ confirm_deletion: string;
39
+ could_not_update_locale: string;
40
+ delete_failed: string;
41
+ delete_successful: string;
42
+ export_failed: string;
43
+ save_failed: string;
44
+ save_successful: string;
45
+ unable_to_upload_file: string;
46
+ unknown_error: string;
47
+ };
48
+ paginator: {
49
+ items_per_page: string;
50
+ first_page: string;
51
+ previous_page: string;
52
+ next_page: string;
53
+ last_page: string;
54
+ of: string;
55
+ };
56
+ search_panel: {
57
+ search: string;
58
+ filter_by: string;
59
+ };
60
+ };
61
+ };