ngx-techlify-core 18.80.0 → 18.82.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 (27) hide show
  1. package/esm2022/lib/audit-log/audit-log-for-model/audit-log-for-model.component.mjs +2 -2
  2. package/esm2022/lib/audit-log/audit-log-list/audit-log-list.component.mjs +2 -1
  3. package/esm2022/lib/core/app-update.service.mjs +64 -0
  4. package/esm2022/lib/core/index.mjs +2 -1
  5. package/esm2022/lib/export-excel/export-excel-button/export-excel-button.component.mjs +2 -2
  6. package/esm2022/lib/number-selector/number-selector.component.mjs +118 -0
  7. package/esm2022/lib/timeline-activity/timeline-activity-button/timeline-activity-button.component.mjs +2 -2
  8. package/esm2022/lib/timeline-filter/timeline-filter.component.mjs +43 -14
  9. package/esm2022/lib/user/app-admin-user-list/app-admin-user-list.component.mjs +5 -4
  10. package/esm2022/lib/user/user-enable-button-component/user-enable-button.component.mjs +5 -5
  11. package/esm2022/lib/user/user-list/user-list.component.mjs +3 -3
  12. package/esm2022/lib/utility/index.mjs +1 -2
  13. package/esm2022/lib/utility/utility.module.mjs +5 -7
  14. package/esm2022/public-api.mjs +2 -1
  15. package/fesm2022/ngx-techlify-core.mjs +233 -72
  16. package/fesm2022/ngx-techlify-core.mjs.map +1 -1
  17. package/lib/core/app-update.service.d.ts +25 -0
  18. package/lib/core/index.d.ts +1 -0
  19. package/lib/number-selector/number-selector.component.d.ts +44 -0
  20. package/lib/timeline-filter/timeline-filter.component.d.ts +13 -2
  21. package/lib/utility/index.d.ts +0 -1
  22. package/lib/utility/utility.module.d.ts +3 -4
  23. package/package.json +2 -1
  24. package/public-api.d.ts +1 -0
  25. package/styles/style.scss +3 -3
  26. package/esm2022/lib/utility/number-selector.component.mjs +0 -42
  27. package/lib/utility/number-selector.component.d.ts +0 -23
@@ -0,0 +1,25 @@
1
+ import { SwUpdate } from '@angular/service-worker';
2
+ import { MatSnackBar } from '@angular/material/snack-bar';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Watches for new app deployments via the Angular service worker and prompts
6
+ * the user to reload. Checks are event-driven only (VERSION_READY push, tab
7
+ * becoming visible again) - a periodic polling interval was reviewed and
8
+ * rejected, so don't reintroduce one.
9
+ *
10
+ * Consuming apps must register the service worker themselves
11
+ * (ServiceWorkerModule.register('ngsw-worker.js', ...)) and call init() once,
12
+ * e.g. from AppComponent.ngOnInit().
13
+ */
14
+ export declare class AppUpdateService {
15
+ private swUpdate;
16
+ private snackBar;
17
+ constructor(swUpdate: SwUpdate, snackBar: MatSnackBar);
18
+ init(): void;
19
+ private promptOnVersionReady;
20
+ private reloadOnUnrecoverableState;
21
+ private checkForUpdatesWhenTabBecomesVisible;
22
+ private promptReload;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppUpdateService, never>;
24
+ static ɵprov: i0.ɵɵInjectableDeclaration<AppUpdateService>;
25
+ }
@@ -1,6 +1,7 @@
1
1
  export * from './snack/snack.component';
2
2
  export * from './snack/snack.module';
3
3
  export * from './alert.service';
4
+ export * from './app-update.service';
4
5
  export * from './api-prefix.interceptor';
5
6
  export * from './authentication.guard';
6
7
  export * from './authentication.service';
@@ -0,0 +1,44 @@
1
+ import { FocusMonitor } from '@angular/cdk/a11y';
2
+ import { ElementRef, OnDestroy } from '@angular/core';
3
+ import { ControlValueAccessor, NgControl } from '@angular/forms';
4
+ import { MatFormFieldControl } from '@angular/material/form-field';
5
+ import { Subject } from 'rxjs';
6
+ import * as i0 from "@angular/core";
7
+ export declare class NumberSelectorComponent implements ControlValueAccessor, MatFormFieldControl<number>, OnDestroy {
8
+ private _focusMonitor;
9
+ private _elementRef;
10
+ ngControl: NgControl;
11
+ static nextId: number;
12
+ readonly min: import("@angular/core").InputSignalWithTransform<number, unknown>;
13
+ readonly max: import("@angular/core").InputSignalWithTransform<number, unknown>;
14
+ placeholder: string;
15
+ required: boolean;
16
+ readonly selected: import("@angular/core").WritableSignal<number>;
17
+ readonly items: import("@angular/core").Signal<number[]>;
18
+ stateChanges: Subject<void>;
19
+ controlType: string;
20
+ id: string;
21
+ describedBy: string;
22
+ focused: boolean;
23
+ disabled: boolean;
24
+ onChange: any;
25
+ onTouched: any;
26
+ private subscriptions;
27
+ get empty(): boolean;
28
+ get shouldLabelFloat(): boolean;
29
+ get errorState(): boolean;
30
+ get value(): number | null;
31
+ set value(data: number | null);
32
+ constructor(_focusMonitor: FocusMonitor, _elementRef: ElementRef<HTMLElement>, ngControl: NgControl);
33
+ setDescribedByIds(ids: string[]): void;
34
+ onContainerClick(event: MouseEvent): void;
35
+ writeValue(data: number | null): void;
36
+ registerOnChange(fn: any): void;
37
+ registerOnTouched(fn: any): void;
38
+ setDisabledState(isDisabled: boolean): void;
39
+ handleChange(data: number | null): void;
40
+ ngOnDestroy(): void;
41
+ static ɵfac: i0.ɵɵFactoryDeclaration<NumberSelectorComponent, [null, null, { optional: true; self: true; }]>;
42
+ static ɵcmp: i0.ɵɵComponentDeclaration<NumberSelectorComponent, "app-number-selector", never, { "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, {}, never, never, true, never>;
43
+ static ngAcceptInputType_required: unknown;
44
+ }
@@ -48,12 +48,23 @@ export declare class TimelineFilterComponent implements OnInit, ControlValueAcce
48
48
  resetFieldValue(field: string): void;
49
49
  getFieldValue(field: string): any;
50
50
  setFieldValue(field: string, value: any, emitEvent?: boolean): void;
51
- changeTimeline(value: any): void;
51
+ /**
52
+ * @param emitEvent Whether to notify the bound form/CVA of the change (default true, a genuine
53
+ * selection). Pass false for a silent, display-only recompute - see writeValue.
54
+ */
55
+ changeTimeline(value: any, emitEvent?: boolean): void;
52
56
  openCalendar(): void;
53
- applyRange(defaultFrom?: any, defaultTo?: any): void;
57
+ /**
58
+ * @param emitEvent Whether to notify the change (default true, a genuine
59
+ * selection). Pass false for a silent recompute
60
+ */
61
+ applyRange(defaultFrom?: any, defaultTo?: any, emitEvent?: boolean): void;
54
62
  setCustomDates(from: any, to: any): void;
55
63
  setDescribedByIds(ids: string[]): void;
56
64
  onContainerClick(event: MouseEvent): void;
65
+ /**
66
+ * Computes the change cycle only when there is a change in selection
67
+ */
57
68
  writeValue(data: any): void;
58
69
  registerOnChange(fn: any): void;
59
70
  registerOnTouched(fn: any): void;
@@ -1,3 +1,2 @@
1
1
  export * from './num-items-selector.component';
2
2
  export * from './date-utils.service';
3
- export * from './number-selector.component';
@@ -1,10 +1,9 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./num-items-selector.component";
3
- import * as i2 from "./number-selector.component";
4
- import * as i3 from "@angular/common";
5
- import * as i4 from "@angular/forms";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@angular/forms";
6
5
  export declare class UtilityModule {
7
6
  static ɵfac: i0.ɵɵFactoryDeclaration<UtilityModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<UtilityModule, [typeof i1.NumItemsSelector, typeof i2.NumberSelector], [typeof i3.CommonModule, typeof i4.FormsModule], [typeof i1.NumItemsSelector, typeof i2.NumberSelector]>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<UtilityModule, [typeof i1.NumItemsSelector], [typeof i2.CommonModule, typeof i3.FormsModule], [typeof i1.NumItemsSelector]>;
9
8
  static ɵinj: i0.ɵɵInjectorDeclaration<UtilityModule>;
10
9
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-techlify-core",
3
- "version": "18.80.0",
3
+ "version": "18.82.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=18",
6
6
  "@angular/core": ">=18",
@@ -10,6 +10,7 @@
10
10
  "@angular/platform-browser": ">=18",
11
11
  "@angular/platform-browser-dynamic": ">=18",
12
12
  "@angular/router": ">=18",
13
+ "@angular/service-worker": ">=18",
13
14
  "@angular/material": ">=18",
14
15
  "@angular/cdk": ">=18",
15
16
  "rxjs": ">=7.8.1",
package/public-api.d.ts CHANGED
@@ -137,6 +137,7 @@ export * from './lib/techlify-company-switcher';
137
137
  export * from './lib/file-dragdrop-uploader/file-dragdrop-uploader/file-dragdrop-uploader.component';
138
138
  export * from './lib/file-dragdrop-uploader/file-dragdrop-uploader.module';
139
139
  export * from './lib/number-input-button';
140
+ export * from './lib/number-selector/number-selector.component';
140
141
  export * from './lib/column-selector';
141
142
  export * from './lib/reset-password';
142
143
  export * from './lib/reset-password/reset-password.module';
package/styles/style.scss CHANGED
@@ -98,11 +98,11 @@
98
98
  //Set the disabled color
99
99
  .mat-mdc-form-field.mat-form-field-disabled {
100
100
  .mat-mdc-input-element {
101
- color: #f0f0f0 !important;
102
- -webkit-text-fill-color: #f0f0f0 !important;
101
+ color: #555555 !important;
102
+ -webkit-text-fill-color: #555555 !important;
103
103
  }
104
104
 
105
105
  .mat-mdc-select-value {
106
- color: #f0f0f0 !important;
106
+ color: #555555 !important;
107
107
  }
108
108
  }
@@ -1,42 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/forms";
5
- /**
6
- * Component to generate a number selector
7
- *
8
- * @author Floyd Kissoon
9
- * @since 20180628
10
- */
11
- export class NumberSelector {
12
- constructor() {
13
- this.items = new Array();
14
- this.selectedValueChange = new EventEmitter();
15
- }
16
- /**
17
- * Called when an item has been selected
18
- */
19
- numChanged() {
20
- this.selectedValueChange.emit(this.selectedValue);
21
- }
22
- ngOnInit() {
23
- for (var i = this.start_value; i < this.end_value + 1; i++) {
24
- this.items.push(i);
25
- }
26
- }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumberSelector, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: NumberSelector, selector: "number-selector", inputs: { start_value: "start_value", end_value: "end_value", selectedValue: "selectedValue" }, outputs: { selectedValueChange: "selectedValueChange" }, ngImport: i0, template: "<div class=\"number-selector-wrapper\">\n <select name=\"selectedValue\" [(ngModel)]=\"selectedValue\" class=\"form-control\" (change)=\"numChanged()\">\n <option value=\"\">-- Student Status --</option>\n <option *ngFor=\"let start_value of items;\" value=\"{{start_value}}\">{{start_value}}</option>\n </select>\n</div>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumberSelector, decorators: [{
31
- type: Component,
32
- args: [{ selector: "number-selector", template: "<div class=\"number-selector-wrapper\">\n <select name=\"selectedValue\" [(ngModel)]=\"selectedValue\" class=\"form-control\" (change)=\"numChanged()\">\n <option value=\"\">-- Student Status --</option>\n <option *ngFor=\"let start_value of items;\" value=\"{{start_value}}\">{{start_value}}</option>\n </select>\n</div>" }]
33
- }], ctorParameters: () => [], propDecorators: { start_value: [{
34
- type: Input
35
- }], end_value: [{
36
- type: Input
37
- }], selectedValueChange: [{
38
- type: Output
39
- }], selectedValue: [{
40
- type: Input
41
- }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvdXRpbGl0eS9udW1iZXItc2VsZWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi91dGlsaXR5L251bWJlci1zZWxlY3Rvci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7QUFFL0U7Ozs7O0dBS0c7QUFLSCxNQUFNLE9BQU8sY0FBYztJQVF2QjtRQUZBLFVBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBR2hCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBQzFELENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVU7UUFDTixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBR0QsUUFBUTtRQUNKLEtBQUssSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN6RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QixDQUFDO0lBQ0wsQ0FBQzsrR0F4QlEsY0FBYzttR0FBZCxjQUFjLGdOQ1ozQix1VkFLTTs7NEZET08sY0FBYztrQkFKMUIsU0FBUzsrQkFDSSxpQkFBaUI7d0RBSWxCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDSSxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0UsYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG4vKipcbiAqIENvbXBvbmVudCB0byBnZW5lcmF0ZSBhIG51bWJlciBzZWxlY3RvclxuICogXG4gKiBAYXV0aG9yIEZsb3lkIEtpc3Nvb25cbiAqIEBzaW5jZSAyMDE4MDYyOFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJudW1iZXItc2VsZWN0b3JcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL251bWJlci1zZWxlY3Rvci5odG1sXCJcbn0pXG5leHBvcnQgY2xhc3MgTnVtYmVyU2VsZWN0b3IgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIHN0YXJ0X3ZhbHVlOiBudW1iZXI7XG4gICAgQElucHV0KCkgZW5kX3ZhbHVlOiBudW1iZXJcbiAgICBAT3V0cHV0KCkgc2VsZWN0ZWRWYWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj47XG4gICAgQElucHV0KCkgc2VsZWN0ZWRWYWx1ZTogbnVtYmVyO1xuXG4gICAgaXRlbXMgPSBuZXcgQXJyYXkoKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxsZWQgd2hlbiBhbiBpdGVtIGhhcyBiZWVuIHNlbGVjdGVkXG4gICAgICovXG4gICAgbnVtQ2hhbmdlZCgpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZFZhbHVlKTtcbiAgICB9XG5cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBmb3IgKHZhciBpID0gdGhpcy5zdGFydF92YWx1ZTsgaSA8IHRoaXMuZW5kX3ZhbHVlICsgMTsgaSsrKSB7XG4gICAgICAgICAgICB0aGlzLml0ZW1zLnB1c2goaSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibnVtYmVyLXNlbGVjdG9yLXdyYXBwZXJcIj5cbiAgICA8c2VsZWN0IG5hbWU9XCJzZWxlY3RlZFZhbHVlXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFZhbHVlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiAoY2hhbmdlKT1cIm51bUNoYW5nZWQoKVwiPlxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwiXCI+LS0gU3R1ZGVudCBTdGF0dXMgLS08L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgc3RhcnRfdmFsdWUgb2YgaXRlbXM7XCIgdmFsdWU9XCJ7e3N0YXJ0X3ZhbHVlfX1cIj57e3N0YXJ0X3ZhbHVlfX08L29wdGlvbj5cbiAgICA8L3NlbGVjdD5cbjwvZGl2PiJdfQ==
@@ -1,23 +0,0 @@
1
- import { EventEmitter, OnInit } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Component to generate a number selector
5
- *
6
- * @author Floyd Kissoon
7
- * @since 20180628
8
- */
9
- export declare class NumberSelector implements OnInit {
10
- start_value: number;
11
- end_value: number;
12
- selectedValueChange: EventEmitter<number>;
13
- selectedValue: number;
14
- items: any[];
15
- constructor();
16
- /**
17
- * Called when an item has been selected
18
- */
19
- numChanged(): void;
20
- ngOnInit(): void;
21
- static ɵfac: i0.ɵɵFactoryDeclaration<NumberSelector, never>;
22
- static ɵcmp: i0.ɵɵComponentDeclaration<NumberSelector, "number-selector", never, { "start_value": { "alias": "start_value"; "required": false; }; "end_value": { "alias": "end_value"; "required": false; }; "selectedValue": { "alias": "selectedValue"; "required": false; }; }, { "selectedValueChange": "selectedValueChange"; }, never, never, false, never>;
23
- }