@trudb/tru-common-lib 0.0.183 → 0.0.184
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/esm2020/lib/base-classes/tru-table-config-base.mjs +12 -0
- package/esm2020/lib/classes/tru-formula-eval.mjs +156 -0
- package/esm2020/lib/classes/tru-property-config-cloud-file.mjs +5 -0
- package/esm2020/lib/classes/tru-property-config-decimal.mjs +11 -0
- package/esm2020/lib/classes/tru-property-config-foreign-key.mjs +10 -0
- package/esm2020/lib/classes/tru-property-config-integer.mjs +9 -0
- package/esm2020/lib/classes/tru-property-config-password.mjs +8 -0
- package/esm2020/lib/classes/tru-property-config-percentage.mjs +9 -0
- package/esm2020/lib/classes/tru-property-config-scientific.mjs +9 -0
- package/esm2020/lib/classes/tru-property-config-text-choices.mjs +8 -0
- package/esm2020/lib/classes/tru-property-config-text.mjs +10 -0
- package/esm2020/lib/classes/tru-property-config-usa-address.mjs +8 -0
- package/esm2020/lib/classes/tru-property-config-zip-code.mjs +8 -0
- package/esm2020/lib/components/data-grid/classes/tru-data-grid-config.mjs +2 -0
- package/esm2020/lib/components/data-grid/enums/tru-data-grid-types.mjs +7 -0
- package/esm2020/lib/components/data-grid/tru-data-grid-module.mjs +67 -0
- package/esm2020/lib/components/data-grid/tru-data-grid.mjs +253 -0
- package/esm2020/lib/components/desktop/services/tru-window-action-event-handler.mjs +27 -0
- package/esm2020/lib/components/desktop/services/tru-window-add-view-event-args.mjs +22 -0
- package/esm2020/lib/components/desktop/services/tru-window-event-args.mjs +25 -0
- package/esm2020/lib/components/desktop/services/tru-window-event-handler.mjs +37 -0
- package/esm2020/lib/components/desktop/tru-desktop.mjs +2 -2
- package/esm2020/lib/components/desktop/window/tru-desktop-window.mjs +3 -3
- package/esm2020/lib/components/layout/column/tru-column-module.mjs +19 -0
- package/esm2020/lib/components/layout/column/tru-column.mjs +12 -0
- package/esm2020/lib/components/layout/form/tru-form-module.mjs +19 -0
- package/esm2020/lib/components/layout/form/tru-form.mjs +27 -0
- package/esm2020/lib/components/layout/group-box/tru-group-box-module.mjs +19 -0
- package/esm2020/lib/components/layout/group-box/tru-group-box.mjs +12 -0
- package/esm2020/lib/components/layout/row/tru-row-module.mjs +19 -0
- package/esm2020/lib/components/layout/row/tru-row.mjs +12 -0
- package/esm2020/lib/components/toolbar/classes/tru-toolbar-dropdown-option.mjs +2 -0
- package/esm2020/lib/components/toolbar/dropdown/tru-toolbar-dropdown.mjs +1 -1
- package/esm2020/lib/components/toolbar/tru-toolbar.mjs +1 -1
- package/esm2020/lib/directives/search-panel-position-manager/tru-search-panel-position-manager-module.mjs +19 -0
- package/esm2020/lib/directives/search-panel-position-manager/tru-search-panel-position-manager.mjs +151 -0
- package/esm2020/lib/event-handlers/tru-search-group-event-handler.mjs +41 -0
- package/esm2020/lib/event-handlers/tru-search-view-event-handler.mjs +20 -0
- package/esm2020/lib/services/tru-sort.mjs +114 -0
- package/esm2020/public-api.mjs +68 -34
- package/fesm2015/trudb-tru-common-lib.mjs +2794 -1838
- package/fesm2015/trudb-tru-common-lib.mjs.map +1 -1
- package/fesm2020/trudb-tru-common-lib.mjs +2777 -1823
- package/fesm2020/trudb-tru-common-lib.mjs.map +1 -1
- package/lib/base-classes/tru-table-config-base.d.ts +10 -0
- package/lib/classes/tru-formula-eval.d.ts +31 -0
- package/lib/classes/tru-property-config-cloud-file.d.ts +4 -0
- package/lib/classes/tru-property-config-decimal.d.ts +8 -0
- package/lib/classes/tru-property-config-foreign-key.d.ts +7 -0
- package/lib/classes/tru-property-config-integer.d.ts +6 -0
- package/lib/classes/tru-property-config-password.d.ts +5 -0
- package/lib/classes/tru-property-config-percentage.d.ts +6 -0
- package/lib/classes/tru-property-config-scientific.d.ts +6 -0
- package/lib/classes/tru-property-config-text-choices.d.ts +5 -0
- package/lib/classes/tru-property-config-text.d.ts +7 -0
- package/lib/classes/tru-property-config-usa-address.d.ts +5 -0
- package/lib/classes/tru-property-config-zip-code.d.ts +5 -0
- package/lib/components/data-grid/classes/tru-data-grid-config.d.ts +7 -0
- package/lib/components/data-grid/enums/tru-data-grid-types.d.ts +5 -0
- package/lib/components/data-grid/tru-data-grid-module.d.ts +15 -0
- package/lib/components/data-grid/tru-data-grid.d.ts +55 -0
- package/lib/{services → components/desktop/services}/tru-window-action-event-handler.d.ts +0 -0
- package/lib/{classes/tru-window-add-view-event.d.ts → components/desktop/services/tru-window-add-view-event-args.d.ts} +3 -3
- package/lib/{classes/tru-window-event.d.ts → components/desktop/services/tru-window-event-args.d.ts} +3 -3
- package/lib/{services → components/desktop/services}/tru-window-event-handler.d.ts +6 -6
- package/lib/components/desktop/tru-desktop.d.ts +1 -1
- package/lib/components/desktop/window/tru-desktop-window.d.ts +1 -1
- package/lib/components/layout/column/tru-column-module.d.ts +9 -0
- package/lib/components/layout/column/tru-column.d.ts +6 -0
- package/lib/components/layout/form/tru-form-module.d.ts +9 -0
- package/lib/components/layout/form/tru-form.d.ts +10 -0
- package/lib/components/layout/group-box/tru-group-box-module.d.ts +9 -0
- package/lib/components/layout/group-box/tru-group-box.d.ts +6 -0
- package/lib/components/layout/row/tru-row-module.d.ts +9 -0
- package/lib/components/layout/row/tru-row.d.ts +6 -0
- package/lib/components/toolbar/classes/tru-toolbar-dropdown-option.d.ts +4 -0
- package/lib/components/toolbar/dropdown/tru-toolbar-dropdown.d.ts +1 -1
- package/lib/components/toolbar/tru-toolbar.d.ts +0 -4
- package/lib/directives/search-panel-position-manager/tru-search-panel-position-manager-module.d.ts +9 -0
- package/lib/directives/search-panel-position-manager/tru-search-panel-position-manager.d.ts +40 -0
- package/lib/{services → event-handlers}/tru-search-group-event-handler.d.ts +0 -0
- package/lib/event-handlers/tru-search-view-event-handler.d.ts +8 -0
- package/lib/services/tru-sort.d.ts +56 -0
- package/package.json +1 -1
- package/public-api.d.ts +61 -33
- package/esm2020/lib/classes/tru-window-add-view-event.mjs +0 -22
- package/esm2020/lib/classes/tru-window-event.mjs +0 -25
- package/esm2020/lib/services/tru-search-group-event-handler.mjs +0 -41
- package/esm2020/lib/services/tru-window-action-event-handler.mjs +0 -27
- package/esm2020/lib/services/tru-window-event-handler.mjs +0 -37
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { NgModule } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { FormsModule } from "@angular/forms";
|
|
4
|
+
import { TruGroupBox } from "./tru-group-box";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class TruGroupBoxModule {
|
|
7
|
+
}
|
|
8
|
+
TruGroupBoxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruGroupBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
TruGroupBoxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.2", ngImport: i0, type: TruGroupBoxModule, declarations: [TruGroupBox], imports: [CommonModule, FormsModule], exports: [TruGroupBox] });
|
|
10
|
+
TruGroupBoxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruGroupBoxModule, imports: [CommonModule, FormsModule] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruGroupBoxModule, decorators: [{
|
|
12
|
+
type: NgModule,
|
|
13
|
+
args: [{
|
|
14
|
+
declarations: [TruGroupBox],
|
|
15
|
+
imports: [CommonModule, FormsModule],
|
|
16
|
+
exports: [TruGroupBox]
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWdyb3VwLWJveC1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L2dyb3VwLWJveC90cnUtZ3JvdXAtYm94LW1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQU85QyxNQUFNLE9BQU8saUJBQWlCOzs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsaUJBSmIsV0FBVyxhQUNoQixZQUFZLEVBQUUsV0FBVyxhQUN6QixXQUFXOytHQUVWLGlCQUFpQixZQUhsQixZQUFZLEVBQUUsV0FBVzsyRkFHeEIsaUJBQWlCO2tCQUw3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLFdBQVcsQ0FBQztvQkFDM0IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQztvQkFDcEMsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDO2lCQUN2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuaW1wb3J0IHsgVHJ1R3JvdXBCb3ggfSBmcm9tIFwiLi90cnUtZ3JvdXAtYm94XCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1RydUdyb3VwQm94XSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXHJcbiAgZXhwb3J0czogW1RydUdyb3VwQm94XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJ1R3JvdXBCb3hNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class TruGroupBox {
|
|
4
|
+
constructor() { }
|
|
5
|
+
}
|
|
6
|
+
TruGroupBox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruGroupBox, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7
|
+
TruGroupBox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: TruGroupBox, selector: "tru-group-box", ngImport: i0, template: "<div>\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [""] });
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruGroupBox, decorators: [{
|
|
9
|
+
type: Component,
|
|
10
|
+
args: [{ selector: 'tru-group-box', template: "<div>\r\n <ng-content></ng-content>\r\n</div>\r\n" }]
|
|
11
|
+
}], ctorParameters: function () { return []; } });
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWdyb3VwLWJveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvZ3JvdXAtYm94L3RydS1ncm91cC1ib3gudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L2dyb3VwLWJveC90cnUtZ3JvdXAtYm94Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPMUMsTUFBTSxPQUFPLFdBQVc7SUFDdEIsZ0JBQWdCLENBQUM7O3dHQUROLFdBQVc7NEZBQVgsV0FBVyxxRENQeEIsb0RBR0E7MkZESWEsV0FBVztrQkFMdkIsU0FBUzsrQkFDRSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RydS1ncm91cC1ib3gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90cnUtZ3JvdXAtYm94Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RydS1ncm91cC1ib3guY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRydUdyb3VwQm94IHtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG59XHJcbiIsIjxkaXY+XHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { NgModule } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { FormsModule } from "@angular/forms";
|
|
4
|
+
import { TruRow } from "./tru-row";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class TruRowModule {
|
|
7
|
+
}
|
|
8
|
+
TruRowModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruRowModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
TruRowModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.2", ngImport: i0, type: TruRowModule, declarations: [TruRow], imports: [CommonModule, FormsModule], exports: [TruRow] });
|
|
10
|
+
TruRowModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruRowModule, imports: [CommonModule, FormsModule] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruRowModule, decorators: [{
|
|
12
|
+
type: NgModule,
|
|
13
|
+
args: [{
|
|
14
|
+
declarations: [TruRow],
|
|
15
|
+
imports: [CommonModule, FormsModule],
|
|
16
|
+
exports: [TruRow]
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXJvdy1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L3Jvdy90cnUtcm93LW1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFPbkMsTUFBTSxPQUFPLFlBQVk7O3lHQUFaLFlBQVk7MEdBQVosWUFBWSxpQkFKUixNQUFNLGFBQ1gsWUFBWSxFQUFFLFdBQVcsYUFDekIsTUFBTTswR0FFTCxZQUFZLFlBSGIsWUFBWSxFQUFFLFdBQVc7MkZBR3hCLFlBQVk7a0JBTHhCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsTUFBTSxDQUFDO29CQUN0QixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO29CQUNwQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG5pbXBvcnQgeyBUcnVSb3cgfSBmcm9tIFwiLi90cnUtcm93XCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1RydVJvd10sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtUcnVSb3ddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVSb3dNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class TruRow {
|
|
4
|
+
constructor() { }
|
|
5
|
+
}
|
|
6
|
+
TruRow.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruRow, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7
|
+
TruRow.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: TruRow, selector: "tru-row", ngImport: i0, template: "<li>\r\n <div class=\"tvl-container-grid js-grid\">\r\n <div class=\"tvl-container-grid-col\">\r\n <div class=\"tvl-container-panel\">\r\n <ul class=\"tvl-container-hList\">\r\n <ng-content></ng-content>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n</li>\r\n", styles: [""] });
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruRow, decorators: [{
|
|
9
|
+
type: Component,
|
|
10
|
+
args: [{ selector: 'tru-row', template: "<li>\r\n <div class=\"tvl-container-grid js-grid\">\r\n <div class=\"tvl-container-grid-col\">\r\n <div class=\"tvl-container-panel\">\r\n <ul class=\"tvl-container-hList\">\r\n <ng-content></ng-content>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n</li>\r\n" }]
|
|
11
|
+
}], ctorParameters: function () { return []; } });
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXJvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvcm93L3RydS1yb3cudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L3Jvdy90cnUtcm93Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPMUMsTUFBTSxPQUFPLE1BQU07SUFDakIsZ0JBQWdCLENBQUM7O21HQUROLE1BQU07dUZBQU4sTUFBTSwrQ0NQbkIsOFNBV0E7MkZESmEsTUFBTTtrQkFMbEIsU0FBUzsrQkFDRSxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RydS1yb3cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90cnUtcm93Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RydS1yb3cuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRydVJvdyB7XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxufVxyXG4iLCI8bGk+XHJcbiAgPGRpdiBjbGFzcz1cInR2bC1jb250YWluZXItZ3JpZCBqcy1ncmlkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidHZsLWNvbnRhaW5lci1ncmlkLWNvbFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidHZsLWNvbnRhaW5lci1wYW5lbFwiPlxyXG4gICAgICAgIDx1bCBjbGFzcz1cInR2bC1jb250YWluZXItaExpc3RcIj5cclxuICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICA8L3VsPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2xpPlxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXRvb2xiYXItZHJvcGRvd24tb3B0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3Rvb2xiYXIvY2xhc3Nlcy90cnUtdG9vbGJhci1kcm9wZG93bi1vcHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSVRydVRvb2xiYXJEcm9wZG93bk9wdGlvbiB7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICB2YWx1ZTogYW55O1xyXG59XHJcbiJdfQ==
|
|
@@ -39,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
39
39
|
}], selectionChange: [{
|
|
40
40
|
type: Output
|
|
41
41
|
}] } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXRvb2xiYXItZHJvcGRvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdG9vbGJhci9kcm9wZG93bi90cnUtdG9vbGJhci1kcm9wZG93bi50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy90b29sYmFyL2Ryb3Bkb3duL3RydS10b29sYmFyLWRyb3Bkb3duLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFVakgsTUFBTSxPQUFPLGtCQUFrQjtJQVk3QjtRQVhTLFdBQU0sR0FBYyxJQUFJLENBQUM7UUFFekIsWUFBTyxHQUFxQyxFQUFFLENBQUM7UUFHOUMseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFJckUsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBb0MsQ0FBQztRQWNqRixzQkFBaUIsR0FBRyxDQUFDLEtBQXNCLEVBQUUsRUFBRTtZQUM3QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFBO0lBYkQsQ0FBQztJQUVELFFBQVE7SUFFUixDQUFDO0lBRUQsZUFBZTtJQUVmLENBQUM7OytHQXRCVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixxUUNWL0IsMlNBU0E7MkZEQ2Esa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLHNCQUFzQixpQkFHakIsaUJBQWlCLENBQUMsSUFBSTswRUFHNUIsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNJLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFFRSxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBJVHJ1VG9vbGJhckRyb3Bkb3duT3B0aW9uIH0gZnJvbSAnLi4vY2xhc3Nlcy90cnUtdG9vbGJhci1kcm9wZG93bi1vcHRpb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0cnUtdG9vbGJhci1kcm9wZG93bicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RydS10b29sYmFyLWRyb3Bkb3duLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuLi90cnUtdG9vbGJhci5jc3MnLCAnLi90cnUtdG9vbGJhci1kcm9wZG93bi5jc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVUb29sYmFyRHJvcGRvd24gaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIGNvbmZpZzogW10gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgQElucHV0KCkgb3B0aW9uczogQXJyYXk8SVRydVRvb2xiYXJEcm9wZG93bk9wdGlvbj4gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgc2VsZWN0ZWRPcHRpb24hOiBJVHJ1VG9vbGJhckRyb3Bkb3duT3B0aW9uO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZE9wdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8SVRydVRvb2xiYXJEcm9wZG93bk9wdGlvbj4oKTtcclxuXHJcbiAgQElucHV0KCkgZGlzYWJsZWQhOiBib29sZWFuO1xyXG5cclxuICBAT3V0cHV0KCkgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJVHJ1VG9vbGJhckRyb3Bkb3duT3B0aW9uIHwgbnVsbD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG5cclxuICB9XHJcblxyXG4gIG9uU2VsZWN0aW9uQ2hhbmdlID0gKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UpID0+IHtcclxuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25DaGFuZ2UuZW1pdChldmVudC52YWx1ZSk7XHJcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KGV2ZW50LnZhbHVlKTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1mb3JtLWZpZWxkPlxyXG4gIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwic2VsZWN0ZWRPcHRpb25cIlxyXG4gICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCIgW3ZhbHVlXT1cIm9wdGlvblwiPlxyXG4gICAgICB7e29wdGlvbi5sYWJlbH19XHJcbiAgICA8L21hdC1vcHRpb24+XHJcbiAgPC9tYXQtc2VsZWN0PlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuIl19
|
|
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
18
18
|
}], ctorParameters: function () { return []; }, propDecorators: { config: [{
|
|
19
19
|
type: Input
|
|
20
20
|
}] } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXRvb2xiYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdG9vbGJhci90cnUtdG9vbGJhci50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy90b29sYmFyL3RydS10b29sYmFyLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7O0FBT3pELE1BQU0sT0FBTyxVQUFVO0lBR3JCO1FBRlMsV0FBTSxHQUFjLElBQUksQ0FBQztJQUVsQixDQUFDO0lBRWpCLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSTtZQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUUzQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O3VHQVZVLFVBQVU7MkZBQVYsVUFBVSxpRkNQdkIsb0ZBR0E7MkZESWEsVUFBVTtrQkFMdEIsU0FBUzsrQkFDRSxhQUFhOzBFQUtkLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0cnUtdG9vbGJhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RydS10b29sYmFyLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RydS10b29sYmFyLmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVUb29sYmFyIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBjb25maWc6IFtdIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnICE9IG51bGwpXHJcbiAgICAgIHRoaXMuY29uZmlnLmZvckVhY2goaXRlbSA9PiB7XHJcblxyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInRvb2xiYXIgdG9vbGJhci1ncm91cFwiPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { TruSearchPanelPositionManager } from './tru-search-panel-position-manager';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class TruSearchPanelPositionManagerModule {
|
|
7
|
+
}
|
|
8
|
+
TruSearchPanelPositionManagerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchPanelPositionManagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
TruSearchPanelPositionManagerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.2", ngImport: i0, type: TruSearchPanelPositionManagerModule, declarations: [TruSearchPanelPositionManager], imports: [CommonModule, FormsModule], exports: [TruSearchPanelPositionManager] });
|
|
10
|
+
TruSearchPanelPositionManagerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchPanelPositionManagerModule, imports: [CommonModule, FormsModule] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchPanelPositionManagerModule, decorators: [{
|
|
12
|
+
type: NgModule,
|
|
13
|
+
args: [{
|
|
14
|
+
declarations: [TruSearchPanelPositionManager],
|
|
15
|
+
imports: [CommonModule, FormsModule],
|
|
16
|
+
exports: [TruSearchPanelPositionManager]
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXNlYXJjaC1wYW5lbC1wb3NpdGlvbi1tYW5hZ2VyLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvZGlyZWN0aXZlcy9zZWFyY2gtcGFuZWwtcG9zaXRpb24tbWFuYWdlci90cnUtc2VhcmNoLXBhbmVsLXBvc2l0aW9uLW1hbmFnZXItbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFPcEYsTUFBTSxPQUFPLG1DQUFtQzs7Z0lBQW5DLG1DQUFtQztpSUFBbkMsbUNBQW1DLGlCQUovQiw2QkFBNkIsYUFDbEMsWUFBWSxFQUFFLFdBQVcsYUFDekIsNkJBQTZCO2lJQUU1QixtQ0FBbUMsWUFIcEMsWUFBWSxFQUFFLFdBQVc7MkZBR3hCLG1DQUFtQztrQkFML0MsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztvQkFDN0MsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQztvQkFDcEMsT0FBTyxFQUFFLENBQUMsNkJBQTZCLENBQUM7aUJBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRydVNlYXJjaFBhbmVsUG9zaXRpb25NYW5hZ2VyIH0gZnJvbSAnLi90cnUtc2VhcmNoLXBhbmVsLXBvc2l0aW9uLW1hbmFnZXInO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtUcnVTZWFyY2hQYW5lbFBvc2l0aW9uTWFuYWdlcl0sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtUcnVTZWFyY2hQYW5lbFBvc2l0aW9uTWFuYWdlcl1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRydVNlYXJjaFBhbmVsUG9zaXRpb25NYW5hZ2VyTW9kdWxlIHsgfVxyXG4iXX0=
|
package/esm2020/lib/directives/search-panel-position-manager/tru-search-panel-position-manager.mjs
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { Directive, Input } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class TruSearchPanelPositionManager {
|
|
4
|
+
constructor(el, renderer) {
|
|
5
|
+
this.el = el;
|
|
6
|
+
this.renderer = renderer;
|
|
7
|
+
this.config = { size: 300 };
|
|
8
|
+
this.searchViewPortal = null;
|
|
9
|
+
this.tab = null;
|
|
10
|
+
this.dropZones = [];
|
|
11
|
+
this.dragHandles = [];
|
|
12
|
+
this.currentWidth = 0;
|
|
13
|
+
this.currentMinWidth = 0;
|
|
14
|
+
this.mouseOffsetX = 0;
|
|
15
|
+
this.lastMouseX = 0;
|
|
16
|
+
this.dragHandle = null;
|
|
17
|
+
this.listeners = [];
|
|
18
|
+
this.addTabEventListeners = () => {
|
|
19
|
+
this.listeners.push(this.renderer.listen(this.tab, 'dragstart', this.dragStart));
|
|
20
|
+
this.listeners.push(this.renderer.listen(this.tab, 'dragend', this.dragEnd));
|
|
21
|
+
};
|
|
22
|
+
this.addDropzoneEventListeners = () => {
|
|
23
|
+
this.dropZones.forEach((dropZone) => {
|
|
24
|
+
this.listeners.push(this.renderer.listen(dropZone, 'dragover', this.dragOver));
|
|
25
|
+
this.listeners.push(this.renderer.listen(dropZone, 'dragleave', this.dragLeave));
|
|
26
|
+
this.listeners.push(this.renderer.listen(dropZone, 'drop', this.drop));
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
this.addDragHandleEventListeners = () => {
|
|
30
|
+
this.dragHandles.forEach((dropHandle) => {
|
|
31
|
+
this.listeners.push(this.renderer.listen(dropHandle, 'mousedown', this.mousedown));
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
this.addPointerEvents = () => {
|
|
35
|
+
this.dropZones.forEach((dropZone) => {
|
|
36
|
+
dropZone.style.pointerEvents = 'all';
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
this.removePointerEvents = () => {
|
|
40
|
+
this.dropZones.forEach((dropZone) => {
|
|
41
|
+
dropZone.style.pointerEvents = 'none';
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
this.addMouseoverDropzoneStyles = (event) => {
|
|
45
|
+
event.target.classList.add('mouseover');
|
|
46
|
+
};
|
|
47
|
+
this.removeMouseoverDropzoneStyles = (event) => {
|
|
48
|
+
for (var i = 0; i < this.dropZones.length; i++) {
|
|
49
|
+
if (event.target !== this.dropZones[i])
|
|
50
|
+
this.dropZones[i].classList.remove('mouseover');
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
this.dragStart = (event) => {
|
|
54
|
+
this.addPointerEvents();
|
|
55
|
+
};
|
|
56
|
+
this.dragEnd = (event) => {
|
|
57
|
+
this.removePointerEvents();
|
|
58
|
+
this.removeMouseoverDropzoneStyles(event);
|
|
59
|
+
};
|
|
60
|
+
this.dragOver = (event) => {
|
|
61
|
+
event.preventDefault();
|
|
62
|
+
this.addMouseoverDropzoneStyles(event);
|
|
63
|
+
};
|
|
64
|
+
this.dragLeave = (event) => {
|
|
65
|
+
event.target.classList.remove('mouseover');
|
|
66
|
+
};
|
|
67
|
+
this.drop = (event) => {
|
|
68
|
+
if (event.target.classList.contains('left')) {
|
|
69
|
+
this.config.side = 'left';
|
|
70
|
+
this.config.setGridPinnedPositionFn({ 'position': 'absolute', 'width': 'calc(100% - ' + (this.config.size - 20) + 'px', 'left': (this.config.size - 20) + 'px', 'margin-left': 'auto' });
|
|
71
|
+
this.config.setToolbarPinnedPositionFn({ 'position': 'absolute', 'width': 'calc(100% - ' + (this.config.size - 20) + 'px', 'left': (this.config.size - 20) + 'px', 'margin-left': 'auto' });
|
|
72
|
+
//userPreference.set(userPreference.searchPanelSide, 'left');
|
|
73
|
+
}
|
|
74
|
+
if (event.target.classList.contains('right')) {
|
|
75
|
+
this.config.side = 'right';
|
|
76
|
+
this.config.setGridPinnedPositionFn({ 'width': 'calc(100% - ' + (this.config.size - 20) + 'px' });
|
|
77
|
+
this.config.setToolbarPinnedPositionFn({ 'width': 'calc(100% - ' + (this.config.size - 20) + 'px' });
|
|
78
|
+
//userPreference.set(userPreference.searchPanelSide, 'right');
|
|
79
|
+
}
|
|
80
|
+
this.removeMouseoverDropzoneStyles(event);
|
|
81
|
+
};
|
|
82
|
+
this.mousedown = (event) => {
|
|
83
|
+
if (this.config.pinned)
|
|
84
|
+
return;
|
|
85
|
+
if (!this.dragHandle)
|
|
86
|
+
this.dragHandle = event.target;
|
|
87
|
+
this.mouseOffsetX = event.clientX;
|
|
88
|
+
this.mousemoveListener = this.renderer.listen('document', 'mousemove', this.mouseMove);
|
|
89
|
+
this.mouseupListener = this.renderer.listen('document', 'mouseup', this.mouseUp);
|
|
90
|
+
};
|
|
91
|
+
this.mouseMove = (event) => {
|
|
92
|
+
var mouseX = event.pageX - this.mouseOffsetX;
|
|
93
|
+
var diffX = mouseX - this.lastMouseX;
|
|
94
|
+
this.lastMouseX = mouseX;
|
|
95
|
+
this.currentWidth = this.config.size;
|
|
96
|
+
this.currentMinWidth = 100;
|
|
97
|
+
if (this.dragHandle?.classList.contains('search-panel-resizable-w')) {
|
|
98
|
+
if (this.currentWidth - diffX < this.currentMinWidth)
|
|
99
|
+
this.mouseOffsetX = this.mouseOffsetX - (diffX - (diffX = this.currentWidth - this.currentMinWidth));
|
|
100
|
+
this.config.size = (this.currentWidth - diffX);
|
|
101
|
+
this.updateSide();
|
|
102
|
+
}
|
|
103
|
+
if (this.dragHandle?.classList.contains('search-panel-resizable-e')) {
|
|
104
|
+
if (this.currentWidth + diffX < this.currentMinWidth)
|
|
105
|
+
this.mouseOffsetX = this.mouseOffsetX - (diffX - (diffX = this.currentMinWidth - this.currentWidth));
|
|
106
|
+
this.config.size = (this.currentWidth + diffX);
|
|
107
|
+
this.updateSide();
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
this.mouseUp = () => {
|
|
111
|
+
this.dragHandle = null;
|
|
112
|
+
this.mouseOffsetX = 0;
|
|
113
|
+
this.lastMouseX = 0;
|
|
114
|
+
this.mousemoveListener();
|
|
115
|
+
this.mouseupListener();
|
|
116
|
+
};
|
|
117
|
+
this.updateSide = () => {
|
|
118
|
+
//if (this.config.side === 'left') {
|
|
119
|
+
// this.config.setGridPinnedPositionFn({ 'position': 'absolute', 'width': 'calc(100% - ' + (this.config.size - 20) + 'px', 'left': (this.config.size - 20) + 'px', 'margin-left': 'auto' });
|
|
120
|
+
// this.config.setToolbarPinnedPositionFn({ 'position': 'absolute', 'width': 'calc(100% - ' + (this.config.size - 20) + 'px', 'left': (this.config.size - 20) + 'px', 'margin-left': 'auto' });
|
|
121
|
+
//}
|
|
122
|
+
//if (this.config.side === 'right') {
|
|
123
|
+
// this.config.setGridPinnedPositionFn({ 'width': 'calc(100% - ' + (this.config.size - 20) + 'px' });
|
|
124
|
+
// this.config.setToolbarPinnedPositionFn({ 'width': 'calc(100% - ' + (this.config.size - 20) + 'px' });
|
|
125
|
+
//}
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
ngAfterViewInit() {
|
|
129
|
+
this.searchViewPortal = this.el.nativeElement.closest('.search-container');
|
|
130
|
+
this.tab = this.el.nativeElement.querySelectorAll('.search-panel-tab')[0];
|
|
131
|
+
this.dropZones = this.searchViewPortal?.querySelectorAll('.search-panel-dropzone');
|
|
132
|
+
this.dragHandles = this.el.nativeElement.querySelectorAll('.search-panel-resizable-handle');
|
|
133
|
+
this.addTabEventListeners();
|
|
134
|
+
this.addDropzoneEventListeners();
|
|
135
|
+
this.addDragHandleEventListeners();
|
|
136
|
+
}
|
|
137
|
+
ngOnDestroy() {
|
|
138
|
+
this.listeners.forEach(fn => fn());
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
TruSearchPanelPositionManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchPanelPositionManager, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
142
|
+
TruSearchPanelPositionManager.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.2", type: TruSearchPanelPositionManager, selector: "[truSearchPanelPositionManager]", inputs: { config: "config" }, ngImport: i0 });
|
|
143
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchPanelPositionManager, decorators: [{
|
|
144
|
+
type: Directive,
|
|
145
|
+
args: [{
|
|
146
|
+
selector: '[truSearchPanelPositionManager]'
|
|
147
|
+
}]
|
|
148
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { config: [{
|
|
149
|
+
type: Input
|
|
150
|
+
}] } });
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXNlYXJjaC1wYW5lbC1wb3NpdGlvbi1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9kaXJlY3RpdmVzL3NlYXJjaC1wYW5lbC1wb3NpdGlvbi1tYW5hZ2VyL3RydS1zZWFyY2gtcGFuZWwtcG9zaXRpb24tbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQzs7QUFLeEUsTUFBTSxPQUFPLDZCQUE2QjtJQWtCeEMsWUFBb0IsRUFBYyxFQUFVLFFBQW1CO1FBQTNDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBakJ0RCxXQUFNLEdBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFFN0IscUJBQWdCLEdBQXVCLElBQUksQ0FBQztRQUM1QyxRQUFHLEdBQXVCLElBQUksQ0FBQztRQUMvQixjQUFTLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLGdCQUFXLEdBQXVCLEVBQUUsQ0FBQztRQUVyQyxpQkFBWSxHQUFHLENBQUMsQ0FBQTtRQUNoQixvQkFBZSxHQUFHLENBQUMsQ0FBQztRQUNwQixpQkFBWSxHQUFHLENBQUMsQ0FBQztRQUNqQixlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsZUFBVSxHQUF1QixJQUFJLENBQUM7UUFDdEMsY0FBUyxHQUFlLEVBQUUsQ0FBQztRQXFCM0IseUJBQW9CLEdBQUcsR0FBRyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ2pGLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFD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QyxDQUFDO0lBMklELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckMsQ0FBQzs7MEhBNUtVLDZCQUE2Qjs4R0FBN0IsNkJBQTZCOzJGQUE3Qiw2QkFBNkI7a0JBSHpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlDQUFpQztpQkFDNUM7eUhBRVUsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgUmVuZGVyZXIyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3RydVNlYXJjaFBhbmVsUG9zaXRpb25NYW5hZ2VyXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRydVNlYXJjaFBhbmVsUG9zaXRpb25NYW5hZ2VyIHtcclxuICBASW5wdXQoKSBjb25maWc6IGFueSA9IHsgc2l6ZTogMzAwIH07XHJcblxyXG4gIHByaXZhdGUgc2VhcmNoVmlld1BvcnRhbDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIHRhYjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIGRyb3Bab25lczogYW55ID0gW107XHJcbiAgcHJpdmF0ZSBkcmFnSGFuZGxlczogQXJyYXk8SFRNTEVsZW1lbnQ+ID0gW107XHJcblxyXG4gIHByaXZhdGUgY3VycmVudFdpZHRoID0gMFxyXG4gIHByaXZhdGUgY3VycmVudE1pbldpZHRoID0gMDtcclxuICBwcml2YXRlIG1vdXNlT2Zmc2V0WCA9IDA7XHJcbiAgcHJpdmF0ZSBsYXN0TW91c2VYID0gMDtcclxuICBwcml2YXRlIGRyYWdIYW5kbGU6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBsaXN0ZW5lcnM6IEFycmF5PGFueT4gPSBbXTtcclxuICBwcml2YXRlIG1vdXNlbW92ZUxpc3RlbmVyOiBhbnk7XHJcbiAgcHJpdmF0ZSBtb3VzZXVwTGlzdGVuZXI6IGFueTtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xyXG4gICAgXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnNlYXJjaFZpZXdQb3J0YWwgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2xvc2VzdCgnLnNlYXJjaC1jb250YWluZXInKTtcclxuICAgIHRoaXMudGFiID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zZWFyY2gtcGFuZWwtdGFiJylbMF07XHJcbiAgICB0aGlzLmRyb3Bab25lcyA9IHRoaXMuc2VhcmNoVmlld1BvcnRhbD8ucXVlcnlTZWxlY3RvckFsbCgnLnNlYXJjaC1wYW5lbC1kcm9wem9uZScpO1xyXG4gICAgdGhpcy5kcmFnSGFuZGxlcyA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuc2VhcmNoLXBhbmVsLXJlc2l6YWJsZS1oYW5kbGUnKTtcclxuXHJcbiAgICB0aGlzLmFkZFRhYkV2ZW50TGlzdGVuZXJzKCk7XHJcbiAgICB0aGlzLmFkZERyb3B6b25lRXZlbnRMaXN0ZW5lcnMoKTtcclxuICAgIHRoaXMuYWRkRHJhZ0hhbmRsZUV2ZW50TGlzdGVuZXJzKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBhZGRUYWJFdmVudExpc3RlbmVycyA9ICgpID0+IHtcclxuICAgIHRoaXMubGlzdGVuZXJzLnB1c2godGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy50YWIsICdkcmFnc3RhcnQnLCB0aGlzLmRyYWdTdGFydCkpO1xyXG4gICAgdGhpcy5saXN0ZW5lcnMucHVzaCh0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLnRhYiwgJ2RyYWdlbmQnLCB0aGlzLmRyYWdFbmQpKTtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIGFkZERyb3B6b25lRXZlbnRMaXN0ZW5lcnMgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmRyb3Bab25lcy5mb3JFYWNoKChkcm9wWm9uZTogSFRNTEVsZW1lbnQpID0+IHtcclxuICAgICAgdGhpcy5saXN0ZW5lcnMucHVzaCh0aGlzLnJlbmRlcmVyLmxpc3Rlbihkcm9wWm9uZSwgJ2RyYWdvdmVyJywgdGhpcy5kcmFnT3ZlcikpO1xyXG4gICAgICB0aGlzLmxpc3RlbmVycy5wdXNoKHRoaXMucmVuZGVyZXIubGlzdGVuKGRyb3Bab25lLCAnZHJhZ2xlYXZlJywgdGhpcy5kcmFnTGVhdmUpKTtcclxuICAgICAgdGhpcy5saXN0ZW5lcnMucHVzaCh0aGlzLnJlbmRlcmVyLmxpc3Rlbihkcm9wWm9uZSwgJ2Ryb3AnLCB0aGlzLmRyb3ApKTtcclxuICAgIH0pOyAgICBcclxuICB9O1xyXG5cclxuICBwcml2YXRlIGFkZERyYWdIYW5kbGVFdmVudExpc3RlbmVycyA9ICgpID0+IHtcclxuICAgIHRoaXMuZHJhZ0hhbmRsZXMuZm9yRWFjaCgoZHJvcEhhbmRsZTogSFRNTEVsZW1lbnQpID0+IHtcclxuICAgICAgdGhpcy5saXN0ZW5lcnMucHVzaCh0aGlzLnJlbmRlcmVyLmxpc3Rlbihkcm9wSGFuZGxlLCAnbW91c2Vkb3duJywgdGhpcy5tb3VzZWRvd24pKTtcclxuICAgIH0pO1xyXG4gIH07XHJcblxyXG5cclxuICBwcml2YXRlIGFkZFBvaW50ZXJFdmVudHMgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmRyb3Bab25lcy5mb3JFYWNoKChkcm9wWm9uZTogSFRNTEVsZW1lbnQpID0+IHtcclxuICAgICAgZHJvcFpvbmUuc3R5bGUucG9pbnRlckV2ZW50cyA9ICdhbGwnO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbW92ZVBvaW50ZXJFdmVudHMgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmRyb3Bab25lcy5mb3JFYWNoKChkcm9wWm9uZTogSFRNTEVsZW1lbnQpID0+IHtcclxuICAgICAgZHJvcFpvbmUuc3R5bGUucG9pbnRlckV2ZW50cyA9ICdub25lJztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRNb3VzZW92ZXJEcm9wem9uZVN0eWxlcyA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xyXG4gICAgKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xhc3NMaXN0LmFkZCgnbW91c2VvdmVyJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbW92ZU1vdXNlb3ZlckRyb3B6b25lU3R5bGVzID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuZHJvcFpvbmVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmIChldmVudC50YXJnZXQgIT09IHRoaXMuZHJvcFpvbmVzW2ldKVxyXG4gICAgICAgIHRoaXMuZHJvcFpvbmVzW2ldLmNsYXNzTGlzdC5yZW1vdmUoJ21vdXNlb3ZlcicpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkcmFnU3RhcnQgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcclxuICAgIHRoaXMuYWRkUG9pbnRlckV2ZW50cygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkcmFnRW5kID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XHJcbiAgICB0aGlzLnJlbW92ZVBvaW50ZXJFdmVudHMoKTtcclxuICAgIHRoaXMucmVtb3ZlTW91c2VvdmVyRHJvcHpvbmVTdHlsZXMoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkcmFnT3ZlciA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMuYWRkTW91c2VvdmVyRHJvcHpvbmVTdHlsZXMoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkcmFnTGVhdmUgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcclxuICAgIChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsYXNzTGlzdC5yZW1vdmUoJ21vdXNlb3ZlcicpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkcm9wID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XHJcbiAgICBpZiAoKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xhc3NMaXN0LmNvbnRhaW5zKCdsZWZ0JykpIHtcclxuICAgICAgdGhpcy5jb25maWcuc2lkZSA9ICdsZWZ0JztcclxuICAgICAgdGhpcy5jb25maWcuc2V0R3JpZFBpbm5lZFBvc2l0aW9uRm4oXHJcbiAgICAgICAgeyAncG9zaXRpb24nOiAnYWJzb2x1dGUnLCAnd2lkdGgnOiAnY2FsYygxMDAlIC0gJyArICh0aGlzLmNvbmZpZy5zaXplIC0gMjApICsgJ3B4JywgJ2xlZnQnOiAodGhpcy5jb25maWcuc2l6ZSAtIDIwKSArICdweCcsICdtYXJnaW4tbGVmdCc6ICdhdXRvJyB9XHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuY29uZmlnLnNldFRvb2xiYXJQaW5uZWRQb3NpdGlvbkZuKFxyXG4gICAgICAgIHsgJ3Bvc2l0aW9uJzogJ2Fic29sdXRlJywgJ3dpZHRoJzogJ2NhbGMoMTAwJSAtICcgKyAodGhpcy5jb25maWcuc2l6ZSAtIDIwKSArICdweCcsICdsZWZ0JzogKHRoaXMuY29uZmlnLnNpemUgLSAyMCkgKyAncHgnLCAnbWFyZ2luLWxlZnQnOiAnYXV0bycgfVxyXG4gICAgICApO1xyXG4gICAgICAvL3VzZXJQcmVmZXJlbmNlLnNldCh1c2VyUHJlZmVyZW5jZS5zZWFyY2hQYW5lbFNpZGUsICdsZWZ0Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsYXNzTGlzdC5jb250YWlucygncmlnaHQnKSkge1xyXG4gICAgICB0aGlzLmNvbmZpZy5zaWRlID0gJ3JpZ2h0JztcclxuICAgICAgdGhpcy5jb25maWcuc2V0R3JpZFBpbm5lZFBvc2l0aW9uRm4oXHJcbiAgICAgICAgeyAnd2lkdGgnOiAnY2FsYygxMDAlIC0gJyArICh0aGlzLmNvbmZpZy5zaXplIC0gMjApICsgJ3B4JyB9XHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuY29uZmlnLnNldFRvb2xiYXJQaW5uZWRQb3NpdGlvbkZuKFxyXG4gICAgICAgIHsgJ3dpZHRoJzogJ2NhbGMoMTAwJSAtICcgKyAodGhpcy5jb25maWcuc2l6ZSAtIDIwKSArICdweCcgfVxyXG4gICAgICApO1xyXG4gICAgICAvL3VzZXJQcmVmZXJlbmNlLnNldCh1c2VyUHJlZmVyZW5jZS5zZWFyY2hQYW5lbFNpZGUsICdyaWdodCcpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucmVtb3ZlTW91c2VvdmVyRHJvcHpvbmVTdHlsZXMoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBtb3VzZWRvd24gPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcclxuICAgIGlmICh0aGlzLmNvbmZpZy5waW5uZWQpIHJldHVybjtcclxuICAgIGlmICghdGhpcy5kcmFnSGFuZGxlKVxyXG4gICAgICB0aGlzLmRyYWdIYW5kbGUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KTtcclxuICAgIHRoaXMubW91c2VPZmZzZXRYID0gZXZlbnQuY2xpZW50WDtcclxuICAgIHRoaXMubW91c2Vtb3ZlTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnbW91c2Vtb3ZlJywgdGhpcy5tb3VzZU1vdmUpO1xyXG4gICAgdGhpcy5tb3VzZXVwTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnbW91c2V1cCcsIHRoaXMubW91c2VVcCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1vdXNlTW92ZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xyXG4gICAgdmFyIG1vdXNlWCA9IGV2ZW50LnBhZ2VYIC0gdGhpcy5tb3VzZU9mZnNldFg7XHJcbiAgICB2YXIgZGlmZlggPSBtb3VzZVggLSB0aGlzLmxhc3RNb3VzZVg7XHJcbiAgICB0aGlzLmxhc3RNb3VzZVggPSBtb3VzZVg7XHJcblxyXG4gICAgdGhpcy5jdXJyZW50V2lkdGggPSB0aGlzLmNvbmZpZy5zaXplO1xyXG4gICAgdGhpcy5jdXJyZW50TWluV2lkdGggPSAxMDA7XHJcblxyXG4gICAgaWYgKHRoaXMuZHJhZ0hhbmRsZT8uY2xhc3NMaXN0LmNvbnRhaW5zKCdzZWFyY2gtcGFuZWwtcmVzaXphYmxlLXcnKSkge1xyXG4gICAgICBpZiAodGhpcy5jdXJyZW50V2lkdGggLSBkaWZmWCA8IHRoaXMuY3VycmVudE1pbldpZHRoKSB0aGlzLm1vdXNlT2Zmc2V0WCA9IHRoaXMubW91c2VPZmZzZXRYIC0gKGRpZmZYIC0gKGRpZmZYID0gdGhpcy5jdXJyZW50V2lkdGggLSB0aGlzLmN1cnJlbnRNaW5XaWR0aCkpO1xyXG4gICAgICB0aGlzLmNvbmZpZy5zaXplID0gKHRoaXMuY3VycmVudFdpZHRoIC0gZGlmZlgpO1xyXG4gICAgICB0aGlzLnVwZGF0ZVNpZGUoKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmRyYWdIYW5kbGU/LmNsYXNzTGlzdC5jb250YWlucygnc2VhcmNoLXBhbmVsLXJlc2l6YWJsZS1lJykpIHtcclxuICAgICAgaWYgKHRoaXMuY3VycmVudFdpZHRoICsgZGlmZlggPCB0aGlzLmN1cnJlbnRNaW5XaWR0aCkgdGhpcy5tb3VzZU9mZnNldFggPSB0aGlzLm1vdXNlT2Zmc2V0WCAtIChkaWZmWCAtIChkaWZmWCA9IHRoaXMuY3VycmVudE1pbldpZHRoIC0gdGhpcy5jdXJyZW50V2lkdGgpKTtcclxuICAgICAgdGhpcy5jb25maWcuc2l6ZSA9ICh0aGlzLmN1cnJlbnRXaWR0aCArIGRpZmZYKTtcclxuICAgICAgdGhpcy51cGRhdGVTaWRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1vdXNlVXAgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmRyYWdIYW5kbGUgPSBudWxsO1xyXG4gICAgdGhpcy5tb3VzZU9mZnNldFggPSAwO1xyXG4gICAgdGhpcy5sYXN0TW91c2VYID0gMDtcclxuXHJcbiAgICB0aGlzLm1vdXNlbW92ZUxpc3RlbmVyKCk7XHJcbiAgICB0aGlzLm1vdXNldXBMaXN0ZW5lcigpO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlU2lkZSA9ICgpID0+IHtcclxuICAgIC8vaWYgKHRoaXMuY29uZmlnLnNpZGUgPT09ICdsZWZ0Jykge1xyXG4gICAgLy8gIHRoaXMuY29uZmlnLnNldEdyaWRQaW5uZWRQb3NpdGlvbkZuKHsgJ3Bvc2l0aW9uJzogJ2Fic29sdXRlJywgJ3dpZHRoJzogJ2NhbGMoMTAwJSAtICcgKyAodGhpcy5jb25maWcuc2l6ZSAtIDIwKSArICdweCcsICdsZWZ0JzogKHRoaXMuY29uZmlnLnNpemUgLSAyMCkgKyAncHgnLCAnbWFyZ2luLWxlZnQnOiAnYXV0bycgfSk7XHJcbiAgICAvLyAgdGhpcy5jb25maWcuc2V0VG9vbGJhclBpbm5lZFBvc2l0aW9uRm4oeyAncG9zaXRpb24nOiAnYWJzb2x1dGUnLCAnd2lkdGgnOiAnY2FsYygxMDAlIC0gJyArICh0aGlzLmNvbmZpZy5zaXplIC0gMjApICsgJ3B4JywgJ2xlZnQnOiAodGhpcy5jb25maWcuc2l6ZSAtIDIwKSArICdweCcsICdtYXJnaW4tbGVmdCc6ICdhdXRvJyB9KTtcclxuICAgIC8vfVxyXG4gICAgLy9pZiAodGhpcy5jb25maWcuc2lkZSA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgLy8gIHRoaXMuY29uZmlnLnNldEdyaWRQaW5uZWRQb3NpdGlvbkZuKHsgJ3dpZHRoJzogJ2NhbGMoMTAwJSAtICcgKyAodGhpcy5jb25maWcuc2l6ZSAtIDIwKSArICdweCcgfSk7XHJcbiAgICAvLyAgdGhpcy5jb25maWcuc2V0VG9vbGJhclBpbm5lZFBvc2l0aW9uRm4oeyAnd2lkdGgnOiAnY2FsYygxMDAlIC0gJyArICh0aGlzLmNvbmZpZy5zaXplIC0gMjApICsgJ3B4JyB9KTtcclxuICAgIC8vfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmxpc3RlbmVycy5mb3JFYWNoKGZuID0+IGZuKCkpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Injectable, EventEmitter } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class TruSearchGroupEventHandler {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.search$ = new EventEmitter();
|
|
7
|
+
this.filter$ = new EventEmitter();
|
|
8
|
+
this.clear$ = new BehaviorSubject(null);
|
|
9
|
+
this.default$ = new BehaviorSubject(null);
|
|
10
|
+
}
|
|
11
|
+
onSearch() {
|
|
12
|
+
return this.search$;
|
|
13
|
+
}
|
|
14
|
+
onFilter() {
|
|
15
|
+
return this.filter$;
|
|
16
|
+
}
|
|
17
|
+
onClearValues() {
|
|
18
|
+
return this.clear$;
|
|
19
|
+
}
|
|
20
|
+
onSetDefaults() {
|
|
21
|
+
return this.default$;
|
|
22
|
+
}
|
|
23
|
+
search(entityQuery) {
|
|
24
|
+
this.search$.emit(entityQuery);
|
|
25
|
+
}
|
|
26
|
+
filter(entityQuery) {
|
|
27
|
+
this.filter$.emit(entityQuery);
|
|
28
|
+
}
|
|
29
|
+
clearValues() {
|
|
30
|
+
this.clear$.next(null);
|
|
31
|
+
}
|
|
32
|
+
setDefaults() {
|
|
33
|
+
this.default$.next(null);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
TruSearchGroupEventHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchGroupEventHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
37
|
+
TruSearchGroupEventHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchGroupEventHandler });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchGroupEventHandler, decorators: [{
|
|
39
|
+
type: Injectable
|
|
40
|
+
}] });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXNlYXJjaC1ncm91cC1ldmVudC1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9ldmVudC1oYW5kbGVycy90cnUtc2VhcmNoLWdyb3VwLWV2ZW50LWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHdkMsTUFBTSxPQUFPLDBCQUEwQjtJQUR2QztRQUVVLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNyRCxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDckQsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFNLElBQUksQ0FBQyxDQUFDO1FBQ3hDLGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztLQWlDbkQ7SUEvQkMsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQWdCO1FBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBZ0I7UUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7O3VIQXBDVSwwQkFBMEI7MkhBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgRXZlbnRFbWl0dGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBUcnVTZWFyY2hHcm91cEV2ZW50SGFuZGxlciB7XHJcbiAgcHJpdmF0ZSBzZWFyY2gkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIHByaXZhdGUgZmlsdGVyJDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBwcml2YXRlIGNsZWFyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcclxuICBwcml2YXRlIGRlZmF1bHQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xyXG5cclxuICBvblNlYXJjaCgpIHtcclxuICAgIHJldHVybiB0aGlzLnNlYXJjaCQ7XHJcbiAgfVxyXG5cclxuICBvbkZpbHRlcigpIHtcclxuICAgIHJldHVybiB0aGlzLmZpbHRlciQ7XHJcbiAgfVxyXG5cclxuICBvbkNsZWFyVmFsdWVzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY2xlYXIkO1xyXG4gIH1cclxuXHJcbiAgb25TZXREZWZhdWx0cygpIHtcclxuICAgIHJldHVybiB0aGlzLmRlZmF1bHQkO1xyXG4gIH1cclxuXHJcbiAgc2VhcmNoKGVudGl0eVF1ZXJ5OiBhbnkpIHtcclxuICAgIHRoaXMuc2VhcmNoJC5lbWl0KGVudGl0eVF1ZXJ5KTtcclxuICB9XHJcblxyXG4gIGZpbHRlcihlbnRpdHlRdWVyeTogYW55KSB7XHJcbiAgICB0aGlzLmZpbHRlciQuZW1pdChlbnRpdHlRdWVyeSk7XHJcbiAgfVxyXG5cclxuICBjbGVhclZhbHVlcygpIHtcclxuICAgIHRoaXMuY2xlYXIkLm5leHQobnVsbCk7XHJcbiAgfVxyXG5cclxuICBzZXREZWZhdWx0cygpIHtcclxuICAgIHRoaXMuZGVmYXVsdCQubmV4dChudWxsKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import { BehaviorSubject } from "rxjs";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class TruSearchViewEventHandler {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.search$ = new BehaviorSubject(null);
|
|
7
|
+
}
|
|
8
|
+
search(query) {
|
|
9
|
+
this.search$.next(query);
|
|
10
|
+
}
|
|
11
|
+
onSearch() {
|
|
12
|
+
return this.search$.asObservable();
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
TruSearchViewEventHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchViewEventHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
16
|
+
TruSearchViewEventHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchViewEventHandler });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSearchViewEventHandler, decorators: [{
|
|
18
|
+
type: Injectable
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXNlYXJjaC12aWV3LWV2ZW50LWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2V2ZW50LWhhbmRsZXJzL3RydS1zZWFyY2gtdmlldy1ldmVudC1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHdkMsTUFBTSxPQUFPLHlCQUF5QjtJQUR0QztRQUdVLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztLQVNsRDtJQVBDLE1BQU0sQ0FBQyxLQUFVO1FBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDMUIsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQzs7c0hBVlUseUJBQXlCOzBIQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVHJ1U2VhcmNoVmlld0V2ZW50SGFuZGxlciB7XHJcblxyXG4gIHByaXZhdGUgc2VhcmNoJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcclxuXHJcbiAgc2VhcmNoKHF1ZXJ5OiBhbnkpIHtcclxuICAgIHRoaXMuc2VhcmNoJC5uZXh0KHF1ZXJ5KVxyXG4gIH1cclxuXHJcbiAgb25TZWFyY2goKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWFyY2gkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class TruSort {
|
|
4
|
+
constructor() {
|
|
5
|
+
/**
|
|
6
|
+
* @callback differenceCallback
|
|
7
|
+
* @param {*} valueA - any value except for undefined or null
|
|
8
|
+
* @param {*} valueB - any value except for undefined or null
|
|
9
|
+
* @return {number} - <0 for a sorts before b, 0 for a sorts same as b, >0 for a sorts after b.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* A generalized comparison algorithm for use with a sort function. Ensures that null
|
|
13
|
+
* sorts before non-null. Delegates to difference() for both non-null values.
|
|
14
|
+
* @param {*} valueA - any value except for undefined
|
|
15
|
+
* @param {*} valueB - any value except for undefined
|
|
16
|
+
* @param {differenceCallback} difference - same result meaning as for this function.
|
|
17
|
+
* @return {number} - <0 for a sorts before b, 0 for a sorts same as b, >0 for a sorts after b.
|
|
18
|
+
*/
|
|
19
|
+
this.numCompare = (valueA, valueB, difference) => {
|
|
20
|
+
if (valueA === null || isNaN(valueA))
|
|
21
|
+
return valueB === null ? 0 : -1;
|
|
22
|
+
else if (valueB === null || isNaN(valueB))
|
|
23
|
+
return 1;
|
|
24
|
+
return difference(valueA, valueB);
|
|
25
|
+
};
|
|
26
|
+
this.compare = (valueA, valueB, difference, inverted = false) => {
|
|
27
|
+
if (inverted) {
|
|
28
|
+
if (valueA < 0)
|
|
29
|
+
return 1;
|
|
30
|
+
if (valueB < 0)
|
|
31
|
+
return -1;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
if (valueA < 0)
|
|
35
|
+
return -1;
|
|
36
|
+
if (valueB < 0)
|
|
37
|
+
return 1;
|
|
38
|
+
}
|
|
39
|
+
if (valueA === null)
|
|
40
|
+
return valueB === null ? 0 : -1;
|
|
41
|
+
else if (valueB === null)
|
|
42
|
+
return 1;
|
|
43
|
+
return difference(valueA, valueB);
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Sort comparison for unnamed, number field control config objects.
|
|
47
|
+
* @param {object} a,b - control config
|
|
48
|
+
* @returns {number}
|
|
49
|
+
*/
|
|
50
|
+
this.numberCompare = (a, b) => {
|
|
51
|
+
return this.numCompare(a, b, function (x, y) { return x - y; });
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Alphabetical sort comparison for unnamed, string field control config objects.
|
|
55
|
+
* @param {object} a,b - control config
|
|
56
|
+
* @returns {number}
|
|
57
|
+
*/
|
|
58
|
+
this.textCompare = (a, b) => {
|
|
59
|
+
return this.compare(a, b, function (x, y) { return x.localeCompare(y); });
|
|
60
|
+
};
|
|
61
|
+
this.dateCompare = (a, b) => {
|
|
62
|
+
return this.compare(new Date(a), new Date(b), function (x, y) { return x - y; });
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* @callback filterCallback
|
|
66
|
+
* @param {object} a,b - Control config
|
|
67
|
+
* @returns {string}
|
|
68
|
+
*/
|
|
69
|
+
/**
|
|
70
|
+
* Alphabetical sort comparison for strings. Both input values are control config
|
|
71
|
+
* objects and passed to a filter function to obtain a value for comparison.
|
|
72
|
+
* @param {object} a,b - control config
|
|
73
|
+
* @param {filterCallback} filter - filter function
|
|
74
|
+
* @returns {number}
|
|
75
|
+
*/
|
|
76
|
+
this.filteredTextCompare = (a, b, filter) => {
|
|
77
|
+
return this.compare(filter(a), filter(b), function (x, y) { return x.localeCompare(y); });
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Alphabetical sort comparison for strings. Both input values are control config
|
|
81
|
+
* objects and passed to a filter function to obtain a value for comparison.
|
|
82
|
+
* @param {object} entity - a breeze $entity
|
|
83
|
+
* @param {array} pathSegments - a list of strings that make up a navigation path
|
|
84
|
+
* @returns {value}
|
|
85
|
+
*/
|
|
86
|
+
this.getValueFromSortPath = (entity, pathSegments) => {
|
|
87
|
+
var current = entity;
|
|
88
|
+
for (var i = 0; i < pathSegments.length; i++) {
|
|
89
|
+
var partName;
|
|
90
|
+
// if we're not on the last iteration then
|
|
91
|
+
if (i != pathSegments.length - 1)
|
|
92
|
+
partName = 'o' + pathSegments[i];
|
|
93
|
+
else
|
|
94
|
+
partName = pathSegments[i];
|
|
95
|
+
if (current[partName]) {
|
|
96
|
+
current = current[partName];
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return current;
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
TruSort.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSort, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
107
|
+
TruSort.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSort, providedIn: 'root' });
|
|
108
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: TruSort, decorators: [{
|
|
109
|
+
type: Injectable,
|
|
110
|
+
args: [{
|
|
111
|
+
providedIn: 'root',
|
|
112
|
+
}]
|
|
113
|
+
}], ctorParameters: function () { return []; } });
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXNvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL3NlcnZpY2VzL3RydS1zb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxPQUFPO0lBRWxCO1FBRUE7Ozs7O1lBS0k7UUFFSjs7Ozs7OztZQU9JO1FBQ0osZUFBVSxHQUFHLENBQUMsTUFBVyxFQUFFLE1BQVcsRUFBRSxVQUFlLEVBQUUsRUFBRTtZQUN6RCxJQUFJLE1BQU0sS0FBSyxJQUFJLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFDbEMsT0FBTyxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUM3QixJQUFJLE1BQU0sS0FBSyxJQUFJLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFDdkMsT0FBTyxDQUFDLENBQUM7WUFDWCxPQUFPLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFBO1FBRUQsWUFBTyxHQUFHLENBQUMsTUFBVyxFQUFFLE1BQVcsRUFBRSxVQUFlLEVBQUUsV0FBb0IsS0FBSyxFQUFFLEVBQUU7WUFDakYsSUFBSSxRQUFRLEVBQUU7Z0JBQ1osSUFBSSxNQUFNLEdBQUcsQ0FBQztvQkFDWixPQUFPLENBQUMsQ0FBQztnQkFDWCxJQUFJLE1BQU0sR0FBRyxDQUFDO29CQUNaLE9BQU8sQ0FBQyxDQUFDLENBQUM7YUFDYjtpQkFBTTtnQkFDTCxJQUFJLE1BQU0sR0FBRyxDQUFDO29CQUNaLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ1osSUFBSSxNQUFNLEdBQUcsQ0FBQztvQkFDWixPQUFPLENBQUMsQ0FBQzthQUNaO1lBQ0QsSUFBSSxNQUFNLEtBQUssSUFBSTtnQkFDakIsT0FBTyxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUM3QixJQUFJLE1BQU0sS0FBSyxJQUFJO2dCQUN0QixPQUFPLENBQUMsQ0FBQztZQUNYLE9BQU8sVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUE7UUFFRDs7OztXQUlHO1FBQ0gsa0JBQWEsR0FBRyxDQUFDLENBQU0sRUFBRSxDQUFNLEVBQUUsRUFBRTtZQUNqQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxVQUFVLENBQU0sRUFBRSxDQUFNLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUUsQ0FBQyxDQUFDO1FBRUY7Ozs7V0FJRztRQUNILGdCQUFXLEdBQUcsQ0FBQyxDQUFNLEVBQUUsQ0FBTSxFQUFFLEVBQUU7WUFDL0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFNLEVBQUUsQ0FBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLENBQUMsQ0FBQztRQUVGLGdCQUFXLEdBQUcsQ0FBQyxDQUFNLEVBQUUsQ0FBTSxFQUFFLEVBQUU7WUFDL0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBTSxFQUFFLENBQU0sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RixDQUFDLENBQUM7UUFFRjs7OztXQUlHO1FBRUg7Ozs7OztXQU1HO1FBQ0gsd0JBQW1CLEdBQUcsQ0FBQyxDQUFNLEVBQUUsQ0FBTSxFQUFFLE1BQVcsRUFBRSxFQUFFO1lBQ3BELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBTSxFQUFFLENBQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RyxDQUFDLENBQUM7UUFHRjs7Ozs7O1VBTUU7UUFDRix5QkFBb0IsR0FBRyxDQUFDLE1BQVcsRUFBRSxZQUFpQixFQUFFLEVBQUU7WUFDeEQsSUFBSSxPQUFPLEdBQUcsTUFBTSxDQUFDO1lBQ3JCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUM1QyxJQUFJLFFBQVEsQ0FBQztnQkFDYiwwQ0FBMEM7Z0JBQzFDLElBQUksQ0FBQyxJQUFJLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQztvQkFDOUIsUUFBUSxHQUFHLEdBQUcsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7O29CQUVqQyxRQUFRLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUU3QixJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDckIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDN0I7cUJBQU07b0JBQ0wsT0FBTyxJQUFJLENBQUM7aUJBQ2I7YUFDRjtZQUNELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUMsQ0FBQTtJQTVHZSxDQUFDOztvR0FGTixPQUFPO3dHQUFQLE9BQU8sY0FGTixNQUFNOzJGQUVQLE9BQU87a0JBSG5CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRydVNvcnQge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICAvKipcclxuICAgICogQGNhbGxiYWNrIGRpZmZlcmVuY2VDYWxsYmFja1xyXG4gICAgKiBAcGFyYW0geyp9IHZhbHVlQSAtIGFueSB2YWx1ZSBleGNlcHQgZm9yIHVuZGVmaW5lZCBvciBudWxsXHJcbiAgICAqIEBwYXJhbSB7Kn0gdmFsdWVCIC0gYW55IHZhbHVlIGV4Y2VwdCBmb3IgdW5kZWZpbmVkIG9yIG51bGxcclxuICAgICogQHJldHVybiB7bnVtYmVyfSAtIDwwIGZvciBhIHNvcnRzIGJlZm9yZSBiLCAwIGZvciBhIHNvcnRzIHNhbWUgYXMgYiwgPjAgZm9yIGEgc29ydHMgYWZ0ZXIgYi5cclxuICAgICovXHJcblxyXG4gIC8qKlxyXG4gICAgKiBBIGdlbmVyYWxpemVkIGNvbXBhcmlzb24gYWxnb3JpdGhtIGZvciB1c2Ugd2l0aCBhIHNvcnQgZnVuY3Rpb24uICBFbnN1cmVzIHRoYXQgbnVsbFxyXG4gICAgKiBzb3J0cyBiZWZvcmUgbm9uLW51bGwuICBEZWxlZ2F0ZXMgdG8gZGlmZmVyZW5jZSgpIGZvciBib3RoIG5vbi1udWxsIHZhbHVlcy5cclxuICAgICogQHBhcmFtIHsqfSB2YWx1ZUEgLSBhbnkgdmFsdWUgZXhjZXB0IGZvciB1bmRlZmluZWRcclxuICAgICogQHBhcmFtIHsqfSB2YWx1ZUIgLSBhbnkgdmFsdWUgZXhjZXB0IGZvciB1bmRlZmluZWRcclxuICAgICogQHBhcmFtIHtkaWZmZXJlbmNlQ2FsbGJhY2t9IGRpZmZlcmVuY2UgLSBzYW1lIHJlc3VsdCBtZWFuaW5nIGFzIGZvciB0aGlzIGZ1bmN0aW9uLlxyXG4gICAgKiBAcmV0dXJuIHtudW1iZXJ9IC0gPDAgZm9yIGEgc29ydHMgYmVmb3JlIGIsIDAgZm9yIGEgc29ydHMgc2FtZSBhcyBiLCA+MCBmb3IgYSBzb3J0cyBhZnRlciBiLlxyXG4gICAgKi9cclxuICBudW1Db21wYXJlID0gKHZhbHVlQTogYW55LCB2YWx1ZUI6IGFueSwgZGlmZmVyZW5jZTogYW55KSA9PiB7XHJcbiAgICBpZiAodmFsdWVBID09PSBudWxsIHx8IGlzTmFOKHZhbHVlQSkpXHJcbiAgICAgIHJldHVybiB2YWx1ZUIgPT09IG51bGwgPyAwIDogLTE7XHJcbiAgICBlbHNlIGlmICh2YWx1ZUIgPT09IG51bGwgfHwgaXNOYU4odmFsdWVCKSlcclxuICAgICAgcmV0dXJuIDE7XHJcbiAgICByZXR1cm4gZGlmZmVyZW5jZSh2YWx1ZUEsIHZhbHVlQik7XHJcbiAgfVxyXG5cclxuICBjb21wYXJlID0gKHZhbHVlQTogYW55LCB2YWx1ZUI6IGFueSwgZGlmZmVyZW5jZTogYW55LCBpbnZlcnRlZDogYm9vbGVhbiA9IGZhbHNlKSA9PiB7XHJcbiAgICBpZiAoaW52ZXJ0ZWQpIHtcclxuICAgICAgaWYgKHZhbHVlQSA8IDApXHJcbiAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgIGlmICh2YWx1ZUIgPCAwKVxyXG4gICAgICAgIHJldHVybiAtMTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh2YWx1ZUEgPCAwKVxyXG4gICAgICAgIHJldHVybiAtMTtcclxuICAgICAgaWYgKHZhbHVlQiA8IDApXHJcbiAgICAgICAgcmV0dXJuIDE7XHJcbiAgICB9XHJcbiAgICBpZiAodmFsdWVBID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gdmFsdWVCID09PSBudWxsID8gMCA6IC0xO1xyXG4gICAgZWxzZSBpZiAodmFsdWVCID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gMTtcclxuICAgIHJldHVybiBkaWZmZXJlbmNlKHZhbHVlQSwgdmFsdWVCKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNvcnQgY29tcGFyaXNvbiBmb3IgdW5uYW1lZCwgbnVtYmVyIGZpZWxkIGNvbnRyb2wgY29uZmlnIG9iamVjdHMuXHJcbiAgICogQHBhcmFtIHtvYmplY3R9IGEsYiAtIGNvbnRyb2wgY29uZmlnXHJcbiAgICogQHJldHVybnMge251bWJlcn1cclxuICAgKi9cclxuICBudW1iZXJDb21wYXJlID0gKGE6IGFueSwgYjogYW55KSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5udW1Db21wYXJlKGEsIGIsIGZ1bmN0aW9uICh4OiBhbnksIHk6IGFueSkgeyByZXR1cm4geCAtIHk7IH0pO1xyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIEFscGhhYmV0aWNhbCBzb3J0IGNvbXBhcmlzb24gZm9yIHVubmFtZWQsIHN0cmluZyBmaWVsZCBjb250cm9sIGNvbmZpZyBvYmplY3RzLlxyXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhLGIgLSBjb250cm9sIGNvbmZpZ1xyXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9XHJcbiAgICovXHJcbiAgdGV4dENvbXBhcmUgPSAoYTogYW55LCBiOiBhbnkpID0+IHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBhcmUoYSwgYiwgZnVuY3Rpb24gKHg6IGFueSwgeTogYW55KSB7IHJldHVybiB4LmxvY2FsZUNvbXBhcmUoeSk7IH0pO1xyXG4gIH07XHJcblxyXG4gIGRhdGVDb21wYXJlID0gKGE6IGFueSwgYjogYW55KSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb21wYXJlKG5ldyBEYXRlKGEpLCBuZXcgRGF0ZShiKSwgZnVuY3Rpb24gKHg6IGFueSwgeTogYW55KSB7IHJldHVybiB4IC0geTsgfSk7XHJcbiAgfTtcclxuXHJcbiAgLyoqXHJcbiAgICogQGNhbGxiYWNrIGZpbHRlckNhbGxiYWNrXHJcbiAgICogQHBhcmFtIHtvYmplY3R9IGEsYiAtIENvbnRyb2wgY29uZmlnXHJcbiAgICogQHJldHVybnMge3N0cmluZ30gXHJcbiAgICovXHJcblxyXG4gIC8qKlxyXG4gICAqIEFscGhhYmV0aWNhbCBzb3J0IGNvbXBhcmlzb24gZm9yIHN0cmluZ3MuICBCb3RoIGlucHV0IHZhbHVlcyBhcmUgY29udHJvbCBjb25maWcgXHJcbiAgICogb2JqZWN0cyBhbmQgcGFzc2VkIHRvIGEgZmlsdGVyIGZ1bmN0aW9uIHRvIG9idGFpbiBhIHZhbHVlIGZvciBjb21wYXJpc29uLlxyXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhLGIgLSBjb250cm9sIGNvbmZpZ1xyXG4gICAqIEBwYXJhbSB7ZmlsdGVyQ2FsbGJhY2t9IGZpbHRlciAtIGZpbHRlciBmdW5jdGlvblxyXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9XHJcbiAgICovXHJcbiAgZmlsdGVyZWRUZXh0Q29tcGFyZSA9IChhOiBhbnksIGI6IGFueSwgZmlsdGVyOiBhbnkpID0+IHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBhcmUoZmlsdGVyKGEpLCBmaWx0ZXIoYiksIGZ1bmN0aW9uICh4OiBhbnksIHk6IGFueSkgeyByZXR1cm4geC5sb2NhbGVDb21wYXJlKHkpOyB9KTtcclxuICB9O1xyXG5cclxuXHJcbiAgLyoqXHJcbiAgKiBBbHBoYWJldGljYWwgc29ydCBjb21wYXJpc29uIGZvciBzdHJpbmdzLiAgQm90aCBpbnB1dCB2YWx1ZXMgYXJlIGNvbnRyb2wgY29uZmlnIFxyXG4gICogb2JqZWN0cyBhbmQgcGFzc2VkIHRvIGEgZmlsdGVyIGZ1bmN0aW9uIHRvIG9idGFpbiBhIHZhbHVlIGZvciBjb21wYXJpc29uLlxyXG4gICogQHBhcmFtIHtvYmplY3R9IGVudGl0eSAtIGEgYnJlZXplICRlbnRpdHlcclxuICAqIEBwYXJhbSB7YXJyYXl9IHBhdGhTZWdtZW50cyAtIGEgbGlzdCBvZiBzdHJpbmdzIHRoYXQgbWFrZSB1cCBhIG5hdmlnYXRpb24gcGF0aFxyXG4gICogQHJldHVybnMge3ZhbHVlfVxyXG4gICovXHJcbiAgZ2V0VmFsdWVGcm9tU29ydFBhdGggPSAoZW50aXR5OiBhbnksIHBhdGhTZWdtZW50czogYW55KSA9PiB7XHJcbiAgICB2YXIgY3VycmVudCA9IGVudGl0eTtcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcGF0aFNlZ21lbnRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIHZhciBwYXJ0TmFtZTtcclxuICAgICAgLy8gaWYgd2UncmUgbm90IG9uIHRoZSBsYXN0IGl0ZXJhdGlvbiB0aGVuXHJcbiAgICAgIGlmIChpICE9IHBhdGhTZWdtZW50cy5sZW5ndGggLSAxKVxyXG4gICAgICAgIHBhcnROYW1lID0gJ28nICsgcGF0aFNlZ21lbnRzW2ldO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgcGFydE5hbWUgPSBwYXRoU2VnbWVudHNbaV07XHJcblxyXG4gICAgICBpZiAoY3VycmVudFtwYXJ0TmFtZV0pIHtcclxuICAgICAgICBjdXJyZW50ID0gY3VycmVudFtwYXJ0TmFtZV07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBjdXJyZW50O1xyXG4gIH1cclxufVxyXG4iXX0=
|