@bootkit/ng0 0.0.0-alpha.14 → 0.0.0-alpha.16
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/common/index.d.ts +2 -2
- package/components/modal/index.d.ts +21 -3
- package/components/table/index.d.ts +24 -18
- package/data/index.d.ts +5 -44
- package/fesm2022/bootkit-ng0-common.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-accordion.mjs +13 -13
- package/fesm2022/bootkit-ng0-components-accordion.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-backdrop.mjs +4 -4
- package/fesm2022/bootkit-ng0-components-backdrop.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-button.mjs +11 -11
- package/fesm2022/bootkit-ng0-components-button.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-card.mjs +11 -11
- package/fesm2022/bootkit-ng0-components-card.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-code.mjs +9 -9
- package/fesm2022/bootkit-ng0-components-code.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-collapse.mjs +14 -14
- package/fesm2022/bootkit-ng0-components-collapse.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-confirmation.mjs +13 -13
- package/fesm2022/bootkit-ng0-components-confirmation.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-form-field.mjs +13 -13
- package/fesm2022/bootkit-ng0-components-form-field.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-modal.mjs +40 -23
- package/fesm2022/bootkit-ng0-components-modal.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-nav.mjs +26 -26
- package/fesm2022/bootkit-ng0-components-nav.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-offcanvas.mjs +9 -9
- package/fesm2022/bootkit-ng0-components-offcanvas.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-overlay.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-pagination.mjs +14 -14
- package/fesm2022/bootkit-ng0-components-pagination.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-popover.mjs +10 -10
- package/fesm2022/bootkit-ng0-components-popover.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-sidenav.mjs +20 -20
- package/fesm2022/bootkit-ng0-components-sidenav.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-stepper.mjs +12 -12
- package/fesm2022/bootkit-ng0-components-stepper.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-table.mjs +114 -109
- package/fesm2022/bootkit-ng0-components-table.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-toast.mjs +6 -6
- package/fesm2022/bootkit-ng0-components-toast.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-tooltip.mjs +8 -8
- package/fesm2022/bootkit-ng0-components-tooltip.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-vertical-menu.mjs +24 -24
- package/fesm2022/bootkit-ng0-components-vertical-menu.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-data.mjs +72 -102
- package/fesm2022/bootkit-ng0-data.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-date.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-file.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-form.mjs +24 -24
- package/fesm2022/bootkit-ng0-form.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-http.mjs +3 -3
- package/fesm2022/bootkit-ng0-http.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-localization-locales.mjs +13 -0
- package/fesm2022/bootkit-ng0-localization-locales.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-localization.mjs +39 -42
- package/fesm2022/bootkit-ng0-localization.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-platform-browser.mjs +7 -7
- package/fesm2022/bootkit-ng0-platform-browser.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-script.mjs +3 -3
- package/fesm2022/bootkit-ng0-script.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-security.mjs +15 -15
- package/fesm2022/bootkit-ng0-security.mjs.map +1 -1
- package/localization/index.d.ts +8 -3
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootkit-ng0-components-vertical-menu.mjs","sources":["../../../projects/ng0/components/vertical-menu/item-arrow.directive.ts","../../../projects/ng0/components/vertical-menu/vertical-menu.component.ts","../../../projects/ng0/components/vertical-menu/vertical-menu.component.html","../../../projects/ng0/components/vertical-menu/item-children.component.ts","../../../projects/ng0/components/vertical-menu/item-children.component.html","../../../projects/ng0/components/vertical-menu/item.component.ts","../../../projects/ng0/components/vertical-menu/item.component.html","../../../projects/ng0/components/vertical-menu/item-content.component.ts","../../../projects/ng0/components/vertical-menu/item-content.component.html","../../../projects/ng0/components/vertical-menu/vertical-menu.module.ts","../../../projects/ng0/components/vertical-menu/bootkit-ng0-components-vertical-menu.ts"],"sourcesContent":["import { Directive, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[ng0VerticalMenuArrow], [ng0VmenuArrow]',\n exportAs: 'ng0VerticalMenuArrow',\n standalone: true,\n})\nexport class VerticalMenuArrowDirective {\n constructor(public readonly templateRef: TemplateRef<any>) { }\n}\n","import { Component, ContentChild, input } from '@angular/core';\nimport { VerticalMenuArrowDirective } from './item-arrow.directive';\n\n@Component({\n selector: 'ng0-vertical-menu, ng0-vmenu',\n templateUrl: './vertical-menu.component.html',\n standalone: true,\n styles: `:host {display: block}`,\n imports: [],\n})\nexport class VerticalMenuComponent {\n public toggleByItemClick = input(true);\n \n public collapseTimings = input<string | number>('0.15s');\n\n @ContentChild(VerticalMenuArrowDirective, { descendants: false }) public readonly arrowDirective?: VerticalMenuArrowDirective;\n\n constructor() {\n }\n}\n\n","<ng-content></ng-content>","import { Component, ContentChild, model } from '@angular/core';\nimport { VerticalMenuItemComponent } from './item.component';\nimport { CommonModule } from '@angular/common';\nimport { VerticalMenuComponent } from './vertical-menu.component';\nimport { CollapseDirective } from '@bootkit/ng0/components/collapse';\n\n@Component({\n selector: 'ng0-vertical-menu-item-children, ng0-vmenu-item-children, ng0-vmenu-children',\n templateUrl: './item-children.component.html',\n exportAs: 'ng0VmenuItemChildren',\n standalone: true,\n styles: `:host {display: block}`,\n imports: [CommonModule, CollapseDirective],\n host: {\n '[class.isc-expanded]': 'expanded()'\n }\n})\nexport class VerticalMenuItemChildrenComponent {\n public expanded = model(false);\n\n @ContentChild(VerticalMenuItemComponent, { descendants: false }) protected _items?: VerticalMenuItemComponent;\n\n constructor(public menuItem: VerticalMenuItemComponent, protected _menu: VerticalMenuComponent,) { }\n}\n","<div ng0Collapse\n [collapsed]=\"!expanded()\"\n [timings]=\"_menu.collapseTimings()\">\n <ng-content></ng-content>\n</div>\n","import { Component, ContentChild, ElementRef, HostBinding, input, model, Renderer2 } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VerticalMenuItemChildrenComponent } from './item-children.component';\nimport { VerticalMenuComponent } from './vertical-menu.component';\n\n@Component({\n selector: 'ng0-vertical-menu-item, ng0-vmenu-item',\n templateUrl: './item.component.html',\n standalone: true,\n styles: `:host {display: block}`,\n imports: [CommonModule],\n host: {\n }\n})\nexport class VerticalMenuItemComponent {\n public toggleByClick = input(true);\n public active = model(false);\n\n @ContentChild(VerticalMenuItemChildrenComponent, { descendants: false }) public readonly children?: VerticalMenuItemChildrenComponent;\n\n constructor(private _renderer: Renderer2, private _el: ElementRef, protected _menu: VerticalMenuComponent) {\n }\n\n @HostBinding('class.ng0-has-children')\n public get hasChildren(): boolean {\n return this.children != null;\n }\n\n @HostBinding('class.ng0-expanded')\n public get isExpanded(): boolean {\n return this.children != null && this.children.expanded();\n }\n}\n\n","<ng-content></ng-content>","import { Component, ElementRef, HostListener, Renderer2 } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VerticalMenuComponent } from './vertical-menu.component';\nimport { VerticalMenuItemComponent } from './item.component';\n\n@Component({\n selector: 'ng0-vertical-menu-item-content, ng0-vmenu-item-content, ng0-vmenu-content',\n templateUrl: './item-content.component.html',\n standalone: true,\n styles: `:host {display: flex; align-items: center; }`,\n imports: [CommonModule]\n})\nexport class VerticalMenuItemContentComponent {\n constructor(\n public menuItem: VerticalMenuItemComponent,\n private _renderer: Renderer2,\n private _el: ElementRef,\n protected _menu: VerticalMenuComponent,\n ) {\n // _renderer.addClass(_el.nativeElement, '')\n }\n\n @HostListener('click', ['$event'])\n private _onClick() {\n if (this._menu.toggleByItemClick() && this.menuItem.hasChildren) {\n this.menuItem.children?.expanded.update(x => !x);\n }\n }\n}\n","<ng-content></ng-content>\n\n@defer {\n@if(_menu.arrowDirective && menuItem.hasChildren) {\n<ng-container *ngTemplateOutlet=\"_menu.arrowDirective?.templateRef!; context: {$implicit: menuItem}\"></ng-container>\n}\n}","import { NgModule } from '@angular/core';\nimport { VerticalMenuItemComponent } from './item.component';\nimport { VerticalMenuComponent } from './vertical-menu.component';\nimport { VerticalMenuItemChildrenComponent } from './item-children.component';\nimport { VerticalMenuArrowDirective } from './item-arrow.directive';\nimport { VerticalMenuItemContentComponent } from './item-content.component';\n\nconst items = [\n VerticalMenuComponent,\n VerticalMenuItemComponent,\n VerticalMenuItemChildrenComponent,\n VerticalMenuItemContentComponent,\n VerticalMenuArrowDirective,\n];\n\n@NgModule({\n imports: items,\n exports: items\n})\nexport class VerticalMenuModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.VerticalMenuItemComponent","i2.VerticalMenuComponent","i1.VerticalMenuComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bootkit-ng0-components-vertical-menu.mjs","sources":["../../../projects/ng0/components/vertical-menu/item-arrow.directive.ts","../../../projects/ng0/components/vertical-menu/vertical-menu.component.ts","../../../projects/ng0/components/vertical-menu/vertical-menu.component.html","../../../projects/ng0/components/vertical-menu/item-children.component.ts","../../../projects/ng0/components/vertical-menu/item-children.component.html","../../../projects/ng0/components/vertical-menu/item.component.ts","../../../projects/ng0/components/vertical-menu/item.component.html","../../../projects/ng0/components/vertical-menu/item-content.component.ts","../../../projects/ng0/components/vertical-menu/item-content.component.html","../../../projects/ng0/components/vertical-menu/vertical-menu.module.ts","../../../projects/ng0/components/vertical-menu/bootkit-ng0-components-vertical-menu.ts"],"sourcesContent":["import { Directive, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[ng0VerticalMenuArrow], [ng0VmenuArrow]',\n exportAs: 'ng0VerticalMenuArrow',\n standalone: true,\n})\nexport class VerticalMenuArrowDirective {\n constructor(public readonly templateRef: TemplateRef<any>) { }\n}\n","import { Component, ContentChild, input } from '@angular/core';\nimport { VerticalMenuArrowDirective } from './item-arrow.directive';\n\n@Component({\n selector: 'ng0-vertical-menu, ng0-vmenu',\n templateUrl: './vertical-menu.component.html',\n standalone: true,\n styles: `:host {display: block}`,\n imports: [],\n})\nexport class VerticalMenuComponent {\n public toggleByItemClick = input(true);\n \n public collapseTimings = input<string | number>('0.15s');\n\n @ContentChild(VerticalMenuArrowDirective, { descendants: false }) public readonly arrowDirective?: VerticalMenuArrowDirective;\n\n constructor() {\n }\n}\n\n","<ng-content></ng-content>","import { Component, ContentChild, model } from '@angular/core';\nimport { VerticalMenuItemComponent } from './item.component';\nimport { CommonModule } from '@angular/common';\nimport { VerticalMenuComponent } from './vertical-menu.component';\nimport { CollapseDirective } from '@bootkit/ng0/components/collapse';\n\n@Component({\n selector: 'ng0-vertical-menu-item-children, ng0-vmenu-item-children, ng0-vmenu-children',\n templateUrl: './item-children.component.html',\n exportAs: 'ng0VmenuItemChildren',\n standalone: true,\n styles: `:host {display: block}`,\n imports: [CommonModule, CollapseDirective],\n host: {\n '[class.isc-expanded]': 'expanded()'\n }\n})\nexport class VerticalMenuItemChildrenComponent {\n public expanded = model(false);\n\n @ContentChild(VerticalMenuItemComponent, { descendants: false }) protected _items?: VerticalMenuItemComponent;\n\n constructor(public menuItem: VerticalMenuItemComponent, protected _menu: VerticalMenuComponent,) { }\n}\n","<div ng0Collapse\n [collapsed]=\"!expanded()\"\n [timings]=\"_menu.collapseTimings()\">\n <ng-content></ng-content>\n</div>\n","import { Component, ContentChild, ElementRef, HostBinding, input, model, Renderer2 } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VerticalMenuItemChildrenComponent } from './item-children.component';\nimport { VerticalMenuComponent } from './vertical-menu.component';\n\n@Component({\n selector: 'ng0-vertical-menu-item, ng0-vmenu-item',\n templateUrl: './item.component.html',\n standalone: true,\n styles: `:host {display: block}`,\n imports: [CommonModule],\n host: {\n }\n})\nexport class VerticalMenuItemComponent {\n public toggleByClick = input(true);\n public active = model(false);\n\n @ContentChild(VerticalMenuItemChildrenComponent, { descendants: false }) public readonly children?: VerticalMenuItemChildrenComponent;\n\n constructor(private _renderer: Renderer2, private _el: ElementRef, protected _menu: VerticalMenuComponent) {\n }\n\n @HostBinding('class.ng0-has-children')\n public get hasChildren(): boolean {\n return this.children != null;\n }\n\n @HostBinding('class.ng0-expanded')\n public get isExpanded(): boolean {\n return this.children != null && this.children.expanded();\n }\n}\n\n","<ng-content></ng-content>","import { Component, ElementRef, HostListener, Renderer2 } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { VerticalMenuComponent } from './vertical-menu.component';\nimport { VerticalMenuItemComponent } from './item.component';\n\n@Component({\n selector: 'ng0-vertical-menu-item-content, ng0-vmenu-item-content, ng0-vmenu-content',\n templateUrl: './item-content.component.html',\n standalone: true,\n styles: `:host {display: flex; align-items: center; }`,\n imports: [CommonModule]\n})\nexport class VerticalMenuItemContentComponent {\n constructor(\n public menuItem: VerticalMenuItemComponent,\n private _renderer: Renderer2,\n private _el: ElementRef,\n protected _menu: VerticalMenuComponent,\n ) {\n // _renderer.addClass(_el.nativeElement, '')\n }\n\n @HostListener('click', ['$event'])\n private _onClick() {\n if (this._menu.toggleByItemClick() && this.menuItem.hasChildren) {\n this.menuItem.children?.expanded.update(x => !x);\n }\n }\n}\n","<ng-content></ng-content>\n\n@defer {\n@if(_menu.arrowDirective && menuItem.hasChildren) {\n<ng-container *ngTemplateOutlet=\"_menu.arrowDirective?.templateRef!; context: {$implicit: menuItem}\"></ng-container>\n}\n}","import { NgModule } from '@angular/core';\nimport { VerticalMenuItemComponent } from './item.component';\nimport { VerticalMenuComponent } from './vertical-menu.component';\nimport { VerticalMenuItemChildrenComponent } from './item-children.component';\nimport { VerticalMenuArrowDirective } from './item-arrow.directive';\nimport { VerticalMenuItemContentComponent } from './item-content.component';\n\nconst items = [\n VerticalMenuComponent,\n VerticalMenuItemComponent,\n VerticalMenuItemChildrenComponent,\n VerticalMenuItemContentComponent,\n VerticalMenuArrowDirective,\n];\n\n@NgModule({\n imports: items,\n exports: items\n})\nexport class VerticalMenuModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.VerticalMenuItemComponent","i2.VerticalMenuComponent","i1.VerticalMenuComponent"],"mappings":"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"}
|
|
@@ -46,7 +46,7 @@ class DataResult {
|
|
|
46
46
|
* This class provides a common interface for loading data from various sources.
|
|
47
47
|
*/
|
|
48
48
|
class DataSource {
|
|
49
|
-
loading = signal(false
|
|
49
|
+
loading = signal(false);
|
|
50
50
|
constructor() {
|
|
51
51
|
}
|
|
52
52
|
/**
|
|
@@ -79,73 +79,6 @@ class AsyncDataSource extends DataSource {
|
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
/**
|
|
83
|
-
* Converts a data source like an array, function, or DataSource into a DataSource instance.
|
|
84
|
-
* @param source The data source to convert.
|
|
85
|
-
* @returns A DataSource instance.
|
|
86
|
-
*/
|
|
87
|
-
function convertToDataSource(source) {
|
|
88
|
-
if (Array.isArray(source)) {
|
|
89
|
-
return new ArrayDataSource(source);
|
|
90
|
-
}
|
|
91
|
-
else if (typeof source == 'function') {
|
|
92
|
-
return new AsyncDataSource(source);
|
|
93
|
-
}
|
|
94
|
-
else if (source instanceof DataSource) {
|
|
95
|
-
return source;
|
|
96
|
-
}
|
|
97
|
-
else if (source === undefined || source === null) {
|
|
98
|
-
return new ArrayDataSource([]);
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
throw new Error('Invalid source parameter.');
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* StandardFilterOperators is an enumeration of standard filter operators
|
|
106
|
-
* that can be used in data requests to filter data.
|
|
107
|
-
* It includes operators like Contains, StartsWith, EndsWith, and Equals.
|
|
108
|
-
*/
|
|
109
|
-
var StandardFilterOperators;
|
|
110
|
-
(function (StandardFilterOperators) {
|
|
111
|
-
/**
|
|
112
|
-
* A filter that matches items that contain the specified value.
|
|
113
|
-
*/
|
|
114
|
-
StandardFilterOperators["Contains"] = "contains";
|
|
115
|
-
/**
|
|
116
|
-
* A filter that matches items that start with the specified value.
|
|
117
|
-
*/
|
|
118
|
-
StandardFilterOperators["StartsWith"] = "startsWith";
|
|
119
|
-
/**
|
|
120
|
-
* A filter that matches items that end with the specified value.
|
|
121
|
-
*/
|
|
122
|
-
StandardFilterOperators["EndsWith"] = "endsWith";
|
|
123
|
-
/**
|
|
124
|
-
* A filter that matches items that are equal to the specified value.
|
|
125
|
-
*/
|
|
126
|
-
StandardFilterOperators["Equals"] = "equals";
|
|
127
|
-
/**
|
|
128
|
-
* A filter that matches items that are not equal to the specified value.
|
|
129
|
-
*/
|
|
130
|
-
StandardFilterOperators["NotEquals"] = "notEquals";
|
|
131
|
-
/**
|
|
132
|
-
* A filter that matches items that are greater than the specified value.
|
|
133
|
-
*/
|
|
134
|
-
StandardFilterOperators["GreaterThan"] = "greaterThan";
|
|
135
|
-
/**
|
|
136
|
-
* A filter that matches items that are greater than or equal to the specified value.
|
|
137
|
-
*/
|
|
138
|
-
StandardFilterOperators["GreaterThanOrEqual"] = "greaterThanOrEqual";
|
|
139
|
-
/**
|
|
140
|
-
* A filter that matches items that are less than the specified value.
|
|
141
|
-
*/
|
|
142
|
-
StandardFilterOperators["LessThan"] = "lessThan";
|
|
143
|
-
/**
|
|
144
|
-
* A filter that matches items that are less than or equal to the specified value.
|
|
145
|
-
*/
|
|
146
|
-
StandardFilterOperators["LessThanOrEqual"] = "lessThanOrEqual";
|
|
147
|
-
})(StandardFilterOperators || (StandardFilterOperators = {}));
|
|
148
|
-
|
|
149
82
|
/**
|
|
150
83
|
* An implementation of DataSource that uses an array as the data source.
|
|
151
84
|
* This is useful for static data or when you want to manage the data manually.
|
|
@@ -163,38 +96,42 @@ class ArrayDataSource extends DataSource {
|
|
|
163
96
|
this.items = items;
|
|
164
97
|
}
|
|
165
98
|
load(request) {
|
|
166
|
-
let items;
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
items = this.items.slice(startItemIndex, startItemIndex + request.page.size);
|
|
170
|
-
}
|
|
171
|
-
else {
|
|
172
|
-
items = [...this.items];
|
|
173
|
-
}
|
|
99
|
+
let filteredValues = [...this.items];
|
|
100
|
+
let result;
|
|
101
|
+
// Filtering
|
|
174
102
|
if (Array.isArray(request.filters) && request.filters.length > 0) {
|
|
175
|
-
// Apply filters
|
|
176
103
|
request.filters.forEach(filter => {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
104
|
+
if (!filter.field) {
|
|
105
|
+
throw Error('DataRequestFilter "field" cannot be null.');
|
|
106
|
+
}
|
|
107
|
+
let isPassedByFilter = getFilterFunction(filter);
|
|
108
|
+
for (let i = 0; i < filteredValues.length; i++) {
|
|
109
|
+
let row = filteredValues[i];
|
|
110
|
+
if (!isPassedByFilter(row[filter.field], filter.value)) {
|
|
111
|
+
filteredValues.splice(i, 1);
|
|
183
112
|
i--; // Adjust index after removal
|
|
184
113
|
}
|
|
185
114
|
}
|
|
186
115
|
});
|
|
187
116
|
}
|
|
117
|
+
// Pagination
|
|
118
|
+
if (request.page) {
|
|
119
|
+
let startItemIndex = (request.page.zeroBased ? request.page.index : request.page.index - 1) * request.page.size;
|
|
120
|
+
result = filteredValues.slice(startItemIndex, startItemIndex + request.page.size);
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
result = filteredValues;
|
|
124
|
+
}
|
|
125
|
+
// Sorting
|
|
188
126
|
if (request.sort) {
|
|
189
|
-
// Apply sorting
|
|
190
127
|
}
|
|
191
|
-
let
|
|
128
|
+
let dataResult = new DataResult(result, filteredValues.length);
|
|
192
129
|
// this._loading = true;
|
|
193
130
|
// return of(result).pipe(
|
|
194
131
|
// delay(5000),
|
|
195
132
|
// tap(x => this._loading = false)
|
|
196
133
|
// );
|
|
197
|
-
return of(
|
|
134
|
+
return of(dataResult);
|
|
198
135
|
}
|
|
199
136
|
remove(item) {
|
|
200
137
|
let index = this.items.findIndex(x => x === item);
|
|
@@ -208,34 +145,44 @@ class ArrayDataSource extends DataSource {
|
|
|
208
145
|
this._insertSubject.next({ items });
|
|
209
146
|
}
|
|
210
147
|
}
|
|
211
|
-
function getFilterFunction(
|
|
212
|
-
let operator =
|
|
213
|
-
let caseSensitive =
|
|
214
|
-
if (
|
|
215
|
-
|
|
216
|
-
}
|
|
217
|
-
switch (
|
|
218
|
-
case
|
|
148
|
+
function getFilterFunction(requestfilter) {
|
|
149
|
+
let operator = requestfilter.operator || 'contains';
|
|
150
|
+
let caseSensitive = requestfilter.caseSensitive || false;
|
|
151
|
+
// if (requestfilter.value === undefined || requestfilter.value === null) {
|
|
152
|
+
// return (item: any) => true; // No filter applied
|
|
153
|
+
// }
|
|
154
|
+
switch (requestfilter.operator) {
|
|
155
|
+
case 'contains':
|
|
219
156
|
return caseSensitive ?
|
|
220
157
|
(item, filter) => item.includes(filter) :
|
|
221
158
|
(item, filter) => item.toLowerCase().includes(filter.toLowerCase());
|
|
222
|
-
case
|
|
159
|
+
case 'startsWith':
|
|
223
160
|
return caseSensitive ?
|
|
224
161
|
(item, filter) => item.startsWith(filter) :
|
|
225
162
|
(item, filter) => item.toLowerCase().startsWith(filter.toLowerCase());
|
|
226
|
-
case
|
|
163
|
+
case 'endsWith':
|
|
227
164
|
return caseSensitive ?
|
|
228
165
|
(item, filter) => item.endsWith(filter) :
|
|
229
166
|
(item, filter) => item.toLowerCase().endsWith(filter.toLowerCase());
|
|
230
|
-
case
|
|
231
|
-
if (typeof
|
|
167
|
+
case 'eq':
|
|
168
|
+
if (typeof requestfilter.value === 'string') {
|
|
232
169
|
return caseSensitive ?
|
|
233
|
-
(item, filter) => item
|
|
234
|
-
(item, filter) => item.toLowerCase() === filter.toLowerCase();
|
|
170
|
+
(item, filter) => item == filter :
|
|
171
|
+
(item, filter) => item.toString().toLowerCase() === filter.toLowerCase();
|
|
235
172
|
}
|
|
236
173
|
else {
|
|
237
|
-
return (item, filter) => item === filter
|
|
174
|
+
return (item, filter) => item === filter;
|
|
238
175
|
}
|
|
176
|
+
case 'lt':
|
|
177
|
+
return (item, filter) => item < filter;
|
|
178
|
+
case 'lte':
|
|
179
|
+
return (item, filter) => item <= filter;
|
|
180
|
+
case 'gt':
|
|
181
|
+
return (item, filter) => item > filter;
|
|
182
|
+
case 'gte':
|
|
183
|
+
return (item, filter) => item >= filter;
|
|
184
|
+
case 'ne':
|
|
185
|
+
return (item, filter) => item !== filter;
|
|
239
186
|
default:
|
|
240
187
|
throw new Error(`filter operator: ${operator} is not implemented in ArrayDataSource.`);
|
|
241
188
|
}
|
|
@@ -259,9 +206,32 @@ function toDataResult(dr) {
|
|
|
259
206
|
};
|
|
260
207
|
}
|
|
261
208
|
|
|
209
|
+
/**
|
|
210
|
+
* Converts a data source like an array, function, or DataSource into a DataSource instance.
|
|
211
|
+
* @param source The data source to convert.
|
|
212
|
+
* @returns A DataSource instance.
|
|
213
|
+
*/
|
|
214
|
+
function convertToDataSource(source) {
|
|
215
|
+
if (Array.isArray(source)) {
|
|
216
|
+
return new ArrayDataSource(source);
|
|
217
|
+
}
|
|
218
|
+
else if (typeof source == 'function') {
|
|
219
|
+
return new AsyncDataSource(source);
|
|
220
|
+
}
|
|
221
|
+
else if (source instanceof DataSource) {
|
|
222
|
+
return source;
|
|
223
|
+
}
|
|
224
|
+
else if (source === undefined || source === null) {
|
|
225
|
+
return new ArrayDataSource([]);
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
throw new Error('Invalid source parameter.');
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
|
|
262
232
|
/**
|
|
263
233
|
* Generated bundle index. Do not edit.
|
|
264
234
|
*/
|
|
265
235
|
|
|
266
|
-
export { ArrayDataSource, AsyncDataSource, DataRequest, DataResult, DataSource,
|
|
236
|
+
export { ArrayDataSource, AsyncDataSource, DataRequest, DataResult, DataSource, convertToDataSource, toDataResult };
|
|
267
237
|
//# sourceMappingURL=bootkit-ng0-data.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootkit-ng0-data.mjs","sources":["../../../projects/ng0/data/data-request.ts","../../../projects/ng0/data/data-result.ts","../../../projects/ng0/data/data-source.ts","../../../projects/ng0/data/async-data-source.ts","../../../projects/ng0/data/types.ts","../../../projects/ng0/data/array-data-source.ts","../../../projects/ng0/data/data-result-operator.ts","../../../projects/ng0/data/bootkit-ng0-data.ts"],"sourcesContent":["/**\n * DataRequest class represents a request for data with pagination, filtering, sorting, and field selection.\n * It is used to encapsulate the parameters needed to fetch data from a data source.\n * It can be used with various data sources such as HTTP services, in-memory arrays, etc.\n * \n */\nexport class DataRequest {\n public page?: DataRequestPage;\n public filters?: DataRequestFilter[];\n public sort?: DataRequestSort;\n public select?: string[];\n public computeTotal?: boolean;\n\n constructor(options?: {\n page?: DataRequestPage,\n filters?: DataRequestFilter[],\n sort?: DataRequestSort,\n select?: string[],\n computeTotal?: boolean,\n }) {\n this.page = options?.page;\n this.filters = options?.filters;\n this.sort = options?.sort;\n this.select = options?.select;\n this.computeTotal = options?.computeTotal;\n }\n}\n\n/**\n * Represents a data request page.\n */\nexport interface DataRequestPage {\n /**\n * Index of the page.\n * If zeroBased is true, the index starts from 0.\n */\n index: number;\n\n /**\n * Size of the page, i.e., number of items in each page.\n */\n size: number;\n\n /**\n * Indicates if the index is zero-based.\n */\n zeroBased: boolean;\n}\n\n/**\n * Represents a sorting option in a DataRequest.\n * @property field The field to sort by.\n * @property asc Whether to sort in ascending order.\n */\nexport interface DataRequestSort {\n field: string;\n asc?: boolean\n}\n\n/**\n * Represents a filter in a DataRequest.\n */\nexport interface DataRequestFilter {\n /**\n * The field to filter by.\n * It can be a string representing the property name of the data items.\n */\n field?: string;\n\n /**\n * The value to filter by.\n * It can be a string, number, or any other type depending on the field.\n */\n value?: string;\n\n /**\n * The operator to use for filtering.\n * It can be one of the standard filter operators like Contains, StartsWith, EndsWith, Equals, etc.\n */\n operator?: string;\n\n /**\n * Indicates if the filter is case-sensitive.\n * Default is false.\n */\n caseSensitive?: boolean;\n}\n\n// export enum DataRequestFilterOperator {\n// EQ = 0,\n// NEQ = 1,\n// LT = 2,\n// LTE = 3,\n// GT = 4,\n// GTE = 5,\n// LI = 6,\n// SW = 7,\n// }\n","export class DataResult<T = any> {\n constructor(\n public readonly data: T[],\n public readonly total?: number) {\n }\n}\n","import { Observable, Subject } from \"rxjs\";\nimport { DataRequest } from \"./data-request\";\nimport { DataResult } from \"./data-result\";\nimport { signal } from \"@angular/core\";\n\n/**\n * Abstract base class for data sources.\n * This class provides a common interface for loading data from various sources.\n */\nexport abstract class DataSource<T=any> {\n protected loading = signal(false);\n\n constructor() {\n }\n\n /**\n * Indicates whether the data source is currently loading data.\n */\n public isLoading = this.loading.asReadonly();\n\n /**\n * Loads data from the data source.\n * @param request The data request object containing pagination, sorting, and filtering information.\n */\n abstract load(request: DataRequest): Observable<DataResult>;\n}\n\n","import { catchError, Observable, tap } from \"rxjs\";\nimport { DataRequest } from \"./data-request\";\nimport { DataResult } from \"./data-result\";\nimport { DataSource } from \"./data-source\";\n\n/**\n * DataLoader is a function that takes a DataRequest and returns an Observable of DataResult.\n * It is used by AsyncDataSource to load data asynchronously.\n */\nexport type DataLoader<T=any> = (request: DataRequest) => Observable<DataResult<T>>;\n\n\n/**\n * AsyncDataSource is a DataSource that loads data asynchronously using a DataLoader function.\n * It is used to fetch data from a remote source, such as an API.\n */\nexport class AsyncDataSource extends DataSource {\n constructor(private readonly loader: DataLoader) {\n super();\n\n if (typeof loader !== 'function') {\n throw 'Invalid data loader';\n }\n }\n\n load(request: DataRequest) {\n this.loading.set(true);\n\n return this.loader(request).pipe(\n catchError(err => {\n this.loading.set(false);\n throw err;\n }),\n tap(res => {\n this.loading.set(false);\n })\n )\n }\n}\n","import { ArrayDataSource } from \"./array-data-source\";\nimport { AsyncDataSource, DataLoader } from \"./async-data-source\";\nimport { DataSource } from \"./data-source\";\n\n/**\n * DataSourceLike is a type that can be used to represent any data source\n * that can be used with the table, autocomplete, dropdown and any component that requires data.\n * It can be an array of data, a function that returns an observable of data,\n * or an instance of DataSource.\n */\nexport type DataSourceLike<T = any> = Array<any> | DataLoader<T> | DataSource<T> | undefined | null;\n\n\n/**\n * Converts a data source like an array, function, or DataSource into a DataSource instance.\n * @param source The data source to convert.\n * @returns A DataSource instance.\n */\nexport function convertToDataSource<T>(source: DataSourceLike): DataSource<T> {\n if (Array.isArray(source)) {\n return new ArrayDataSource(source);\n } else if (typeof source == 'function') {\n return new AsyncDataSource(source);\n } else if (source instanceof DataSource) {\n return source;\n } else if (source === undefined || source === null) {\n return new ArrayDataSource([]);\n } else {\n throw new Error('Invalid source parameter.');\n }\n}\n\n/**\n * StandardFilterOperators is an enumeration of standard filter operators\n * that can be used in data requests to filter data.\n * It includes operators like Contains, StartsWith, EndsWith, and Equals.\n */\nexport enum StandardFilterOperators {\n /**\n * A filter that matches items that contain the specified value.\n */\n Contains = 'contains',\n\n /**\n * A filter that matches items that start with the specified value.\n */\n StartsWith = 'startsWith',\n\n /**\n * A filter that matches items that end with the specified value.\n */\n EndsWith = 'endsWith',\n\n /**\n * A filter that matches items that are equal to the specified value.\n */\n Equals = 'equals',\n\n /**\n * A filter that matches items that are not equal to the specified value.\n */\n NotEquals = 'notEquals',\n\n /**\n * A filter that matches items that are greater than the specified value.\n */\n GreaterThan = 'greaterThan',\n\n /**\n * A filter that matches items that are greater than or equal to the specified value.\n */\n GreaterThanOrEqual = 'greaterThanOrEqual',\n\n /**\n * A filter that matches items that are less than the specified value.\n */\n LessThan = 'lessThan',\n\n /**\n * A filter that matches items that are less than or equal to the specified value.\n */\n LessThanOrEqual = 'lessThanOrEqual',\n\n \n}","import { delay, of, Subject, tap } from \"rxjs\";\nimport { DataRequest, DataRequestFilter } from \"./data-request\";\nimport { DataResult } from \"./data-result\";\nimport { DataSource } from \"./data-source\";\nimport { StandardFilterOperators } from \"./types\";\n\n/**\n * An implementation of DataSource that uses an array as the data source.\n * This is useful for static data or when you want to manage the data manually.\n */\nexport class ArrayDataSource extends DataSource {\n private _insertSubject = new Subject<{ items: any[] }>();\n private _updateSubject = new Subject<{ item: any, index: number }>();\n private _removeSubject = new Subject<{ item: any, index: number }>();\n\n public readonly inserted = this._insertSubject.asObservable();\n public readonly removed = this._removeSubject.asObservable();\n public readonly updated = this._updateSubject.asObservable();\n\n constructor(private items: any[]) {\n super();\n }\n\n load(request: DataRequest) {\n let items: Array<any>;\n\n if (request.page) {\n let startItemIndex = (request.page.zeroBased ? request.page.index : request.page.index - 1) * request.page.size;\n items = this.items.slice(startItemIndex, startItemIndex + request.page.size);\n } else {\n items = [...this.items];\n }\n\n if (Array.isArray(request.filters) && request.filters.length > 0) {\n // Apply filters\n\n request.filters.forEach(filter => {\n let filterFunction = getFilterFunction(filter);\n\n for (let i = 0; i < items.length; i++) {\n let item = items[i];\n let value = filter.field ? item[filter.field] : item;\n if (!filterFunction(value, filter.value)) {\n items.splice(i, 1);\n i--; // Adjust index after removal\n }\n }\n });\n }\n\n if (request.sort) {\n // Apply sorting\n }\n\n let result = new DataResult(items, this.items.length);\n\n // this._loading = true;\n // return of(result).pipe(\n // delay(5000),\n // tap(x => this._loading = false)\n // );\n return of(result);\n }\n\n public remove(item: any) {\n let index = this.items!.findIndex(x => x === item);\n if (index > -1) {\n this.items.splice(index, 1);\n this._removeSubject.next({ item, index });\n }\n }\n\n public insert(...items: any[]) {\n this.items.push(items);\n this._insertSubject.next({ items });\n }\n\n // public set(items: any[]) {\n // this.items = items;\n // // this._removeSubject.next(0);\n // }\n}\n\nfunction getFilterFunction(filter: DataRequestFilter): (item: any, filter: any) => boolean {\n let operator = filter.operator || StandardFilterOperators.Contains;\n let caseSensitive = filter.caseSensitive || false;\n\n if(filter.value === undefined || filter.value === null) {\n return (item: any) => true; // No filter applied\n }\n\n switch (filter.operator) {\n case StandardFilterOperators.Contains:\n return caseSensitive ?\n (item: string, filter: string) => item.includes(filter) :\n (item: string, filter: string) => item.toLowerCase().includes(filter.toLowerCase());\n\n case StandardFilterOperators.StartsWith:\n return caseSensitive ?\n (item: string, filter: string) => item.startsWith(filter) :\n (item: string, filter: string) => item.toLowerCase().startsWith(filter.toLowerCase());\n\n case StandardFilterOperators.EndsWith:\n return caseSensitive ?\n (item: string, filter: string) => item.endsWith(filter) :\n (item: string, filter: string) => item.toLowerCase().endsWith(filter.toLowerCase());\n\n case StandardFilterOperators.Equals:\n if (typeof filter.value === 'string') {\n return caseSensitive ?\n (item: string, filter: string) => item === filter :\n (item: string, filter: string) => item.toLowerCase() === filter.toLowerCase();\n } else {\n return (item: any, filter: any) => item === filter.value;\n }\n\n default:\n throw new Error(`filter operator: ${operator} is not implemented in ArrayDataSource.`);\n }\n}","import { Observable } from \"rxjs\";\nimport { DataResult } from \"./data-result\";\nimport { DataRequest } from \"./data-request\";\n\nexport function toDataResult<T=any>(dr: DataRequest) {\n return function (source: Observable<any>): Observable<DataResult<T>> {\n return new Observable(subscriber => {\n source.subscribe({\n next(event) {\n subscriber.next(new DataResult(event));\n },\n error(error) {\n subscriber.error(error);\n },\n complete() {\n subscriber.complete();\n }\n });\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bootkit-ng0-data.mjs","sources":["../../../projects/ng0/data/data-request.ts","../../../projects/ng0/data/data-result.ts","../../../projects/ng0/data/data-source.ts","../../../projects/ng0/data/async-data-source.ts","../../../projects/ng0/data/array-data-source.ts","../../../projects/ng0/data/data-result-operator.ts","../../../projects/ng0/data/types.ts","../../../projects/ng0/data/bootkit-ng0-data.ts"],"sourcesContent":["/**\n * DataRequest class represents a request for data with pagination, filtering, sorting, and field selection.\n * It is used to encapsulate the parameters needed to fetch data from a data source.\n * It can be used with various data sources such as HTTP services, in-memory arrays, etc.\n * \n */\nexport class DataRequest {\n public page?: DataRequestPage;\n public filters?: DataRequestFilter[];\n public sort?: DataRequestSort;\n public select?: string[];\n public computeTotal?: boolean;\n\n constructor(options?: {\n page?: DataRequestPage,\n filters?: DataRequestFilter[],\n sort?: DataRequestSort,\n select?: string[],\n computeTotal?: boolean,\n }) {\n this.page = options?.page;\n this.filters = options?.filters;\n this.sort = options?.sort;\n this.select = options?.select;\n this.computeTotal = options?.computeTotal;\n }\n}\n\n/**\n * Represents a data request page.\n */\nexport interface DataRequestPage {\n /**\n * Index of the page.\n * If zeroBased is true, the index starts from 0.\n */\n index: number;\n\n /**\n * Size of the page, i.e., number of items in each page.\n */\n size: number;\n\n /**\n * Indicates if the index is zero-based.\n */\n zeroBased: boolean;\n}\n\n/**\n * Represents a sorting option in a DataRequest.\n * @property field The field to sort by.\n * @property asc Whether to sort in ascending order.\n */\nexport interface DataRequestSort {\n field: string;\n asc?: boolean\n}\n\n/**\n * Represents a filter in a DataRequest.\n */\nexport interface DataRequestFilter {\n /**\n * The field to filter by.\n * It can be a string representing the property name of the data items.\n */\n field?: string;\n\n /**\n * The value to filter by.\n * It can be a string, number, or any other type depending on the field.\n */\n value?: string;\n\n /**\n * The operator to use for filtering.\n * It can be one of the standard filter operators like Contains, StartsWith, EndsWith, Equals, etc.\n */\n operator?: string;\n\n /**\n * Indicates if the filter is case-sensitive. only for text columns.\n * Default is false.\n */\n caseSensitive?: boolean;\n}\n\n// export enum DataRequestFilterOperator {\n// EQ = 0,\n// NEQ = 1,\n// LT = 2,\n// LTE = 3,\n// GT = 4,\n// GTE = 5,\n// LI = 6,\n// SW = 7,\n// }\n","export class DataResult<T = any> {\n constructor(\n public readonly data: T[],\n public readonly total?: number) {\n }\n}\n","import { Observable, Subject } from \"rxjs\";\nimport { DataRequest } from \"./data-request\";\nimport { DataResult } from \"./data-result\";\nimport { signal } from \"@angular/core\";\n\n/**\n * Abstract base class for data sources.\n * This class provides a common interface for loading data from various sources.\n */\nexport abstract class DataSource<T=any> {\n protected loading = signal(false);\n\n constructor() {\n }\n\n /**\n * Indicates whether the data source is currently loading data.\n */\n public isLoading = this.loading.asReadonly();\n\n /**\n * Loads data from the data source.\n * @param request The data request object containing pagination, sorting, and filtering information.\n */\n abstract load(request: DataRequest): Observable<DataResult>;\n}\n\n","import { catchError, Observable, tap } from \"rxjs\";\nimport { DataRequest } from \"./data-request\";\nimport { DataResult } from \"./data-result\";\nimport { DataSource } from \"./data-source\";\n\n/**\n * DataLoader is a function that takes a DataRequest and returns an Observable of DataResult.\n * It is used by AsyncDataSource to load data asynchronously.\n */\nexport type DataLoader<T=any> = (request: DataRequest) => Observable<DataResult<T>>;\n\n\n/**\n * AsyncDataSource is a DataSource that loads data asynchronously using a DataLoader function.\n * It is used to fetch data from a remote source, such as an API.\n */\nexport class AsyncDataSource extends DataSource {\n constructor(private readonly loader: DataLoader) {\n super();\n\n if (typeof loader !== 'function') {\n throw 'Invalid data loader';\n }\n }\n\n load(request: DataRequest) {\n this.loading.set(true);\n\n return this.loader(request).pipe(\n catchError(err => {\n this.loading.set(false);\n throw err;\n }),\n tap(res => {\n this.loading.set(false);\n })\n )\n }\n}\n","import { delay, of, Subject, tap } from \"rxjs\";\nimport { DataRequest, DataRequestFilter } from \"./data-request\";\nimport { DataResult } from \"./data-result\";\nimport { DataSource } from \"./data-source\";\n\n/**\n * An implementation of DataSource that uses an array as the data source.\n * This is useful for static data or when you want to manage the data manually.\n */\nexport class ArrayDataSource extends DataSource {\n private _insertSubject = new Subject<{ items: any[] }>();\n private _updateSubject = new Subject<{ item: any, index: number }>();\n private _removeSubject = new Subject<{ item: any, index: number }>();\n\n public readonly inserted = this._insertSubject.asObservable();\n public readonly removed = this._removeSubject.asObservable();\n public readonly updated = this._updateSubject.asObservable();\n\n constructor(private items: any[]) {\n super();\n }\n\n load(request: DataRequest) {\n let filteredValues = [...this.items];\n let result: any[];\n\n // Filtering\n if (Array.isArray(request.filters) && request.filters.length > 0) {\n request.filters.forEach(filter => {\n if (!filter.field) {\n throw Error('DataRequestFilter \"field\" cannot be null.');\n }\n\n let isPassedByFilter = getFilterFunction(filter);\n\n for (let i = 0; i < filteredValues.length; i++) {\n let row = filteredValues[i];\n if (!isPassedByFilter(row[filter.field], filter.value)) {\n filteredValues.splice(i, 1);\n i--; // Adjust index after removal\n }\n }\n });\n }\n\n // Pagination\n if (request.page) {\n let startItemIndex = (request.page.zeroBased ? request.page.index : request.page.index - 1) * request.page.size;\n result = filteredValues.slice(startItemIndex, startItemIndex + request.page.size);\n } else {\n result = filteredValues;\n }\n\n // Sorting\n if (request.sort) {\n\n }\n\n let dataResult = new DataResult(result, filteredValues.length);\n\n // this._loading = true;\n // return of(result).pipe(\n // delay(5000),\n // tap(x => this._loading = false)\n // );\n return of(dataResult);\n }\n\n public remove(item: any) {\n let index = this.items!.findIndex(x => x === item);\n if (index > -1) {\n this.items.splice(index, 1);\n this._removeSubject.next({ item, index });\n }\n }\n\n public insert(...items: any[]) {\n this.items.push(items);\n this._insertSubject.next({ items });\n }\n\n // public set(items: any[]) {\n // this.items = items;\n // // this._removeSubject.next(0);\n // }\n}\n\nfunction getFilterFunction(requestfilter: DataRequestFilter): (cellValue: any, filterValue: any) => boolean {\n let operator = requestfilter.operator || 'contains';\n let caseSensitive = requestfilter.caseSensitive || false;\n\n // if (requestfilter.value === undefined || requestfilter.value === null) {\n // return (item: any) => true; // No filter applied\n // }\n\n switch (requestfilter.operator) {\n case 'contains':\n return caseSensitive ?\n (item: string, filter: string) => item.includes(filter) :\n (item: string, filter: string) => item.toLowerCase().includes(filter.toLowerCase());\n\n case 'startsWith':\n return caseSensitive ?\n (item: string, filter: string) => item.startsWith(filter) :\n (item: string, filter: string) => item.toLowerCase().startsWith(filter.toLowerCase());\n\n case 'endsWith':\n return caseSensitive ?\n (item: string, filter: string) => item.endsWith(filter) :\n (item: string, filter: string) => item.toLowerCase().endsWith(filter.toLowerCase());\n\n case 'eq':\n if (typeof requestfilter.value === 'string') {\n return caseSensitive ?\n (item: string, filter: string) => item == filter :\n (item: string, filter: string) => item.toString().toLowerCase() === filter.toLowerCase();\n } else {\n return (item: any, filter: any) => item === filter;\n }\n\n case 'lt':\n return (item: any, filter: any) => item < filter;\n\n case 'lte':\n return (item: any, filter: any) => item <= filter;\n\n case 'gt':\n return (item: any, filter: any) => item > filter;\n\n case 'gte':\n return (item: any, filter: any) => item >= filter;\n\n case 'ne':\n return (item: any, filter: any) => item !== filter;\n\n default:\n throw new Error(`filter operator: ${operator} is not implemented in ArrayDataSource.`);\n }\n}","import { Observable } from \"rxjs\";\nimport { DataResult } from \"./data-result\";\nimport { DataRequest } from \"./data-request\";\n\nexport function toDataResult<T=any>(dr: DataRequest) {\n return function (source: Observable<any>): Observable<DataResult<T>> {\n return new Observable(subscriber => {\n source.subscribe({\n next(event) {\n subscriber.next(new DataResult(event));\n },\n error(error) {\n subscriber.error(error);\n },\n complete() {\n subscriber.complete();\n }\n });\n });\n }\n}\n","import { ArrayDataSource } from \"./array-data-source\";\nimport { AsyncDataSource, DataLoader } from \"./async-data-source\";\nimport { DataSource } from \"./data-source\";\n\n/**\n * DataSourceLike is a type that can be used to represent any data source\n * that can be used with the table, autocomplete, dropdown and any component that requires data.\n * It can be an array of data, a function that returns an observable of data,\n * or an instance of DataSource.\n */\nexport type DataSourceLike<T = any> = Array<any> | DataLoader<T> | DataSource<T> | undefined | null;\n\n\n/**\n * Converts a data source like an array, function, or DataSource into a DataSource instance.\n * @param source The data source to convert.\n * @returns A DataSource instance.\n */\nexport function convertToDataSource<T>(source: DataSourceLike): DataSource<T> {\n if (Array.isArray(source)) {\n return new ArrayDataSource(source);\n } else if (typeof source == 'function') {\n return new AsyncDataSource(source);\n } else if (source instanceof DataSource) {\n return source;\n } else if (source === undefined || source === null) {\n return new ArrayDataSource([]);\n } else {\n throw new Error('Invalid source parameter.');\n }\n}\n\n/**\n * LogicalOperator is a list of predefined logical operators that can be used in data requests to filter data.\n */\nexport type LogicalOperator =\n | 'contains'\n | 'endsWith'\n | 'startsWith'\n | 'like'\n | 'eq'\n | 'ne'\n | 'gt'\n | 'gte'\n | 'lt'\n | 'lte';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootkit-ng0-date.mjs","sources":["../../../projects/ng0/date/time-span.ts","../../../projects/ng0/date/bootkit-ng0-date.ts"],"sourcesContent":["const f = Math.floor;\n\n/**\n * Represents a time span in months, days, hours, minutes, seconds, and milliseconds.\n * Provides methods to create a TimeSpan from a total number of milliseconds.\n * @example\n * const span = TimeSpan.fromMilliseconds(123456789);\n * console.log(span); // TimeSpan { months: 0, days: 1, hours: 10, minutes: 17, seconds: 36, milliseconds: 789 }\n */\nexport class TimeSpan {\n /** Milliseconds per second */\n public static readonly msPerSecond = 1000;\n\n /** Milliseconds per minute */\n public static readonly msPerMinute = this.msPerSecond * 60;\n\n /** Milliseconds per hour */\n public static readonly msPerHour = this.msPerMinute * 60;\n\n /** Milliseconds per day */\n public static readonly msPerDay = this.msPerHour * 24;\n\n /** Milliseconds per month */\n public static readonly msPerMonth = this.msPerDay * 30;\n\n constructor(\n public readonly months: number = 0,\n public readonly days: number = 0,\n public readonly hours: number = 0,\n public readonly minutes: number = 0,\n public readonly seconds: number = 0,\n public readonly milliseconds: number = 0) {\n }\n\n /**\n * Creates a TimeSpan from a total number of milliseconds.\n * @param ms The total number of milliseconds.\n * @returns A TimeSpan representing the equivalent time span.\n */\n static fromMilliseconds(ms: number): TimeSpan {\n const months = f(ms / TimeSpan.msPerMonth),\n days = f((ms % TimeSpan.msPerMonth) / TimeSpan.msPerDay),\n hours = f((ms % TimeSpan.msPerDay) / TimeSpan.msPerHour),\n minutes = f((ms % TimeSpan.msPerHour) / TimeSpan.msPerMinute),\n seconds = f((ms % TimeSpan.msPerMinute) / TimeSpan.msPerSecond),\n milliseconds = (ms % TimeSpan.msPerSecond);\n return new TimeSpan(months, days, hours, minutes, seconds, milliseconds);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK;AAEpB;;;;;;AAMG;MACU,QAAQ,CAAA;AAiBD,IAAA,MAAA;AACA,IAAA,IAAA;AACA,IAAA,KAAA;AACA,IAAA,OAAA;AACA,IAAA,OAAA;AACA,IAAA,YAAA;;AApBX,IAAA,OAAgB,WAAW,GAAG,IAAI;;IAGlC,OAAgB,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE;;IAGnD,OAAgB,SAAS,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE;;IAGjD,OAAgB,QAAQ,GAAG,IAAI,CAAC,SAAS,GAAG,EAAE;;IAG9C,OAAgB,UAAU,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AAEtD,IAAA,WAAA,CACkB,SAAiB,CAAC,EAClB,
|
|
1
|
+
{"version":3,"file":"bootkit-ng0-date.mjs","sources":["../../../projects/ng0/date/time-span.ts","../../../projects/ng0/date/bootkit-ng0-date.ts"],"sourcesContent":["const f = Math.floor;\n\n/**\n * Represents a time span in months, days, hours, minutes, seconds, and milliseconds.\n * Provides methods to create a TimeSpan from a total number of milliseconds.\n * @example\n * const span = TimeSpan.fromMilliseconds(123456789);\n * console.log(span); // TimeSpan { months: 0, days: 1, hours: 10, minutes: 17, seconds: 36, milliseconds: 789 }\n */\nexport class TimeSpan {\n /** Milliseconds per second */\n public static readonly msPerSecond = 1000;\n\n /** Milliseconds per minute */\n public static readonly msPerMinute = this.msPerSecond * 60;\n\n /** Milliseconds per hour */\n public static readonly msPerHour = this.msPerMinute * 60;\n\n /** Milliseconds per day */\n public static readonly msPerDay = this.msPerHour * 24;\n\n /** Milliseconds per month */\n public static readonly msPerMonth = this.msPerDay * 30;\n\n constructor(\n public readonly months: number = 0,\n public readonly days: number = 0,\n public readonly hours: number = 0,\n public readonly minutes: number = 0,\n public readonly seconds: number = 0,\n public readonly milliseconds: number = 0) {\n }\n\n /**\n * Creates a TimeSpan from a total number of milliseconds.\n * @param ms The total number of milliseconds.\n * @returns A TimeSpan representing the equivalent time span.\n */\n static fromMilliseconds(ms: number): TimeSpan {\n const months = f(ms / TimeSpan.msPerMonth),\n days = f((ms % TimeSpan.msPerMonth) / TimeSpan.msPerDay),\n hours = f((ms % TimeSpan.msPerDay) / TimeSpan.msPerHour),\n minutes = f((ms % TimeSpan.msPerHour) / TimeSpan.msPerMinute),\n seconds = f((ms % TimeSpan.msPerMinute) / TimeSpan.msPerSecond),\n milliseconds = (ms % TimeSpan.msPerSecond);\n return new TimeSpan(months, days, hours, minutes, seconds, milliseconds);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK;AAEpB;;;;;;AAMG;MACU,QAAQ,CAAA;AAiBD,IAAA,MAAA;AACA,IAAA,IAAA;AACA,IAAA,KAAA;AACA,IAAA,OAAA;AACA,IAAA,OAAA;AACA,IAAA,YAAA;;AApBX,IAAA,OAAgB,WAAW,GAAG,IAAI;;IAGlC,OAAgB,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE;;IAGnD,OAAgB,SAAS,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE;;IAGjD,OAAgB,QAAQ,GAAG,IAAI,CAAC,SAAS,GAAG,EAAE;;IAG9C,OAAgB,UAAU,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AAEtD,IAAA,WAAA,CACkB,SAAiB,CAAC,EAClB,IAAe,GAAA,CAAC,EAChB,KAAgB,GAAA,CAAC,EACjB,OAAA,GAAkB,CAAC,EACnB,OAAA,GAAkB,CAAC,EACnB,eAAuB,CAAC,EAAA;QALxB,IAAM,CAAA,MAAA,GAAN,MAAM;QACN,IAAI,CAAA,IAAA,GAAJ,IAAI;QACJ,IAAK,CAAA,KAAA,GAAL,KAAK;QACL,IAAO,CAAA,OAAA,GAAP,OAAO;QACP,IAAO,CAAA,OAAA,GAAP,OAAO;QACP,IAAY,CAAA,YAAA,GAAZ,YAAY;;AAG9B;;;;AAIG;IACH,OAAO,gBAAgB,CAAC,EAAU,EAAA;AAChC,QAAA,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC,EACxC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,QAAQ,CAAC,EACxD,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,EACxD,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,WAAW,CAAC,EAC7D,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC,EAC/D,YAAY,IAAI,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC;AAC5C,QAAA,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC;;;;AC9C5E;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootkit-ng0-file.mjs","sources":["../../../projects/ng0/file/utils.ts","../../../projects/ng0/file/bootkit-ng0-file.ts"],"sourcesContent":["\n/**\n * Saves a Blob as a file in the user's browser.\n * This function is only available in browsers that support the Blob API.\n * @param blob \n * @param fileName \n * \n */\nexport function saveBlob(blob: Blob, fileName: string): void {\n const url = window.URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = fileName;\n document.body.appendChild(a);\n a.click();\n a.remove();\n window.URL.revokeObjectURL(url);\n}\n\n/**\n * Triggers downloading a file from a given URL.\n * @param url \n * @param fileName \n */\nexport function downloadFile(url: string, fileName: string): void {\n const a = document.createElement('a');\n a.href = url;\n a.download = fileName;\n document.body.appendChild(a);\n a.click();\n a.remove();\n}\n\n/**\n * Converts a File object to a Base64 string.\n * @param file The File object to convert.\n * @return A Promise that resolves to the Base64 string representation of the file.\n */\nexport function convertFileToBase64(file: File): Promise<string | ArrayBuffer | null> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => resolve(reader.result);\n reader.onerror = error => reject(error);\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AACA;;;;;;AAMG;
|
|
1
|
+
{"version":3,"file":"bootkit-ng0-file.mjs","sources":["../../../projects/ng0/file/utils.ts","../../../projects/ng0/file/bootkit-ng0-file.ts"],"sourcesContent":["\n/**\n * Saves a Blob as a file in the user's browser.\n * This function is only available in browsers that support the Blob API.\n * @param blob \n * @param fileName \n * \n */\nexport function saveBlob(blob: Blob, fileName: string): void {\n const url = window.URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = fileName;\n document.body.appendChild(a);\n a.click();\n a.remove();\n window.URL.revokeObjectURL(url);\n}\n\n/**\n * Triggers downloading a file from a given URL.\n * @param url \n * @param fileName \n */\nexport function downloadFile(url: string, fileName: string): void {\n const a = document.createElement('a');\n a.href = url;\n a.download = fileName;\n document.body.appendChild(a);\n a.click();\n a.remove();\n}\n\n/**\n * Converts a File object to a Base64 string.\n * @param file The File object to convert.\n * @return A Promise that resolves to the Base64 string representation of the file.\n */\nexport function convertFileToBase64(file: File): Promise<string | ArrayBuffer | null> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => resolve(reader.result);\n reader.onerror = error => reject(error);\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AACA;;;;;;AAMG;AACa,SAAA,QAAQ,CAAC,IAAU,EAAE,QAAgB,EAAA;IACnD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;IAC5C,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;AACrC,IAAA,CAAC,CAAC,IAAI,GAAG,GAAG;AACZ,IAAA,CAAC,CAAC,QAAQ,GAAG,QAAQ;AACrB,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,KAAK,EAAE;IACT,CAAC,CAAC,MAAM,EAAE;AACV,IAAA,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC;AACjC;AAEA;;;;AAIG;AACa,SAAA,YAAY,CAAC,GAAW,EAAE,QAAgB,EAAA;IACxD,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;AACrC,IAAA,CAAC,CAAC,IAAI,GAAG,GAAG;AACZ,IAAA,CAAC,CAAC,QAAQ,GAAG,QAAQ;AACrB,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,KAAK,EAAE;IACT,CAAC,CAAC,MAAM,EAAE;AACZ;AAEA;;;;AAIG;AACG,SAAU,mBAAmB,CAAC,IAAU,EAAA;IAC5C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;AAC/B,QAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;AAC1B,QAAA,MAAM,CAAC,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;QAC5C,MAAM,CAAC,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;AACzC,KAAC,CAAC;AACJ;;AC7CA;;AAEG;;;;"}
|
|
@@ -24,12 +24,12 @@ class EqualWithValidatorDirective {
|
|
|
24
24
|
validate(control) {
|
|
25
25
|
return equalWithValidator(this.targetValue, this.inequalityMessage)(control);
|
|
26
26
|
}
|
|
27
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
28
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.
|
|
27
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: EqualWithValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
28
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.6", type: EqualWithValidatorDirective, isStandalone: true, selector: "[ng0EqualWith]", inputs: { targetValue: ["ng0EqualWith", "targetValue"], inequalityMessage: "inequalityMessage" }, providers: [
|
|
29
29
|
{ provide: NG_VALIDATORS, useExisting: EqualWithValidatorDirective, multi: true }
|
|
30
30
|
], exportAs: ["ng0EqualWith"], ngImport: i0 });
|
|
31
31
|
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: EqualWithValidatorDirective, decorators: [{
|
|
33
33
|
type: Directive,
|
|
34
34
|
args: [{
|
|
35
35
|
selector: '[ng0EqualWith]',
|
|
@@ -69,10 +69,10 @@ class UrlValidatorDirective {
|
|
|
69
69
|
validate(control) {
|
|
70
70
|
return urlValidator()(control);
|
|
71
71
|
}
|
|
72
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
73
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.
|
|
72
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: UrlValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
73
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.6", type: UrlValidatorDirective, isStandalone: true, selector: "input[ng0Url]", inputs: { iscUrl: "iscUrl" }, providers: [{ provide: NG_VALIDATORS, useExisting: UrlValidatorDirective, multi: true }], exportAs: ["ng0Url"], ngImport: i0 });
|
|
74
74
|
}
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: UrlValidatorDirective, decorators: [{
|
|
76
76
|
type: Directive,
|
|
77
77
|
args: [{
|
|
78
78
|
selector: 'input[ng0Url]',
|
|
@@ -85,17 +85,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
|
|
|
85
85
|
}] } });
|
|
86
86
|
|
|
87
87
|
class CustomValidatorDirective {
|
|
88
|
-
validator = input.required(
|
|
88
|
+
validator = input.required({ alias: 'ng0CustomValidator' });
|
|
89
89
|
constructor() { }
|
|
90
90
|
validate(control) {
|
|
91
91
|
return this.validator()(control);
|
|
92
92
|
}
|
|
93
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
94
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.
|
|
93
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CustomValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
94
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: CustomValidatorDirective, isStandalone: true, selector: "[ng0CustomValidator]", inputs: { validator: { classPropertyName: "validator", publicName: "ng0CustomValidator", isSignal: true, isRequired: true, transformFunction: null } }, providers: [
|
|
95
95
|
{ provide: NG_VALIDATORS, useExisting: CustomValidatorDirective, multi: true }
|
|
96
96
|
], exportAs: ["ng0CustomValidator"], ngImport: i0 });
|
|
97
97
|
}
|
|
98
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CustomValidatorDirective, decorators: [{
|
|
99
99
|
type: Directive,
|
|
100
100
|
args: [{
|
|
101
101
|
selector: '[ng0CustomValidator]',
|
|
@@ -116,8 +116,8 @@ const items = [
|
|
|
116
116
|
CustomValidatorDirective,
|
|
117
117
|
];
|
|
118
118
|
class ValidationModule {
|
|
119
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
120
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.
|
|
119
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
120
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.6", ngImport: i0, type: ValidationModule, imports: [
|
|
121
121
|
// ErrorDirective,
|
|
122
122
|
// FirstErrorDirective,
|
|
123
123
|
// Validators
|
|
@@ -130,9 +130,9 @@ class ValidationModule {
|
|
|
130
130
|
EqualWithValidatorDirective,
|
|
131
131
|
UrlValidatorDirective,
|
|
132
132
|
CustomValidatorDirective] });
|
|
133
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.
|
|
133
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ValidationModule });
|
|
134
134
|
}
|
|
135
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ValidationModule, decorators: [{
|
|
136
136
|
type: NgModule,
|
|
137
137
|
args: [{
|
|
138
138
|
imports: items,
|
|
@@ -167,10 +167,10 @@ class FocusDirective {
|
|
|
167
167
|
}
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
171
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.
|
|
170
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: FocusDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
171
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.6", type: FocusDirective, isStandalone: true, selector: "[ng0Focus]", inputs: { focusOnLoad: "focusOnLoad", focusWhen: "focusWhen" }, exportAs: ["ng0Focus"], usesOnChanges: true, ngImport: i0 });
|
|
172
172
|
}
|
|
173
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
173
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: FocusDirective, decorators: [{
|
|
174
174
|
type: Directive,
|
|
175
175
|
args: [{
|
|
176
176
|
selector: '[ng0Focus]',
|
|
@@ -199,10 +199,10 @@ class NumberDirective {
|
|
|
199
199
|
el;
|
|
200
200
|
renderer;
|
|
201
201
|
/** */
|
|
202
|
-
minFractionDigits = input(3
|
|
203
|
-
maxFractionDigits = input(10
|
|
204
|
-
useGrouping = input(false
|
|
205
|
-
numberType = input('integer'
|
|
202
|
+
minFractionDigits = input(3);
|
|
203
|
+
maxFractionDigits = input(10);
|
|
204
|
+
useGrouping = input(false);
|
|
205
|
+
numberType = input('integer');
|
|
206
206
|
onChange = (_) => { };
|
|
207
207
|
onTouched = () => { };
|
|
208
208
|
decimalSeparator;
|
|
@@ -377,8 +377,8 @@ class NumberDirective {
|
|
|
377
377
|
}
|
|
378
378
|
return false;
|
|
379
379
|
}
|
|
380
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
381
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.
|
|
380
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: NumberDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
381
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: NumberDirective, isStandalone: true, selector: "[ng0Number]", inputs: { minFractionDigits: { classPropertyName: "minFractionDigits", publicName: "minFractionDigits", isSignal: true, isRequired: false, transformFunction: null }, maxFractionDigits: { classPropertyName: "maxFractionDigits", publicName: "maxFractionDigits", isSignal: true, isRequired: false, transformFunction: null }, useGrouping: { classPropertyName: "useGrouping", publicName: "useGrouping", isSignal: true, isRequired: false, transformFunction: null }, numberType: { classPropertyName: "numberType", publicName: "numberType", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "keydown": "onKeyDown($event)", "input": "onInput($event.target.value)", "blur": "onBlur()", "paste": "onPaste($event)" } }, providers: [
|
|
382
382
|
{
|
|
383
383
|
provide: NG_VALUE_ACCESSOR,
|
|
384
384
|
useExisting: forwardRef(() => NumberDirective),
|
|
@@ -386,7 +386,7 @@ class NumberDirective {
|
|
|
386
386
|
}
|
|
387
387
|
], ngImport: i0 });
|
|
388
388
|
}
|
|
389
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
389
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: NumberDirective, decorators: [{
|
|
390
390
|
type: Directive,
|
|
391
391
|
args: [{
|
|
392
392
|
selector: '[ng0Number]',
|