@progress/kendo-angular-treelist 21.4.1-develop.1 → 22.0.0-develop.1
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/binding-directives/base-binding.directive.d.ts +1 -1
- package/column-menu/column-menu-item-base.d.ts +1 -1
- package/columns/column-base.d.ts +1 -1
- package/editing-directives/editing-directive-base.d.ts +1 -1
- package/editing-directives/row-editing-directive-base.d.ts +1 -1
- package/fesm2022/progress-kendo-angular-treelist.mjs +519 -519
- package/filtering/base-filter-cell.component.d.ts +1 -1
- package/filtering/boolean-filter.component.d.ts +1 -1
- package/filtering/date-filter.component.d.ts +1 -1
- package/filtering/filter-host.directive.d.ts +1 -1
- package/filtering/filter-input-wrapper.component.d.ts +1 -1
- package/filtering/numeric-filter.component.d.ts +1 -1
- package/filtering/operators/filter-operator.base.d.ts +1 -1
- package/filtering/string-filter.component.d.ts +1 -1
- package/localization/messages.d.ts +1 -1
- package/package.json +23 -31
- package/schematics/ngAdd/index.js +3 -3
- package/esm2022/binding-directives/base-binding.directive.mjs +0 -180
- package/esm2022/binding-directives/data-bound-tree-component.mjs +0 -18
- package/esm2022/binding-directives/flat-binding.directive.mjs +0 -130
- package/esm2022/binding-directives/hierarchy-binding.directive.mjs +0 -109
- package/esm2022/column-menu/column-chooser-item-checked.directive.mjs +0 -45
- package/esm2022/column-menu/column-chooser.component.mjs +0 -221
- package/esm2022/column-menu/column-list-kb-nav.service.mjs +0 -40
- package/esm2022/column-menu/column-list.component.mjs +0 -380
- package/esm2022/column-menu/column-locked-change-event.mjs +0 -21
- package/esm2022/column-menu/column-menu-autosize-all.component.mjs +0 -78
- package/esm2022/column-menu/column-menu-autosize.component.mjs +0 -86
- package/esm2022/column-menu/column-menu-chooser.component.mjs +0 -164
- package/esm2022/column-menu/column-menu-container.component.mjs +0 -58
- package/esm2022/column-menu/column-menu-expandable-item.interface.mjs +0 -5
- package/esm2022/column-menu/column-menu-filter.component.mjs +0 -141
- package/esm2022/column-menu/column-menu-item-base.mjs +0 -41
- package/esm2022/column-menu/column-menu-item-content-template.directive.mjs +0 -43
- package/esm2022/column-menu/column-menu-item.component.mjs +0 -329
- package/esm2022/column-menu/column-menu-item.directive.mjs +0 -147
- package/esm2022/column-menu/column-menu-lock.component.mjs +0 -112
- package/esm2022/column-menu/column-menu-settings.interface.mjs +0 -5
- package/esm2022/column-menu/column-menu-sort.component.mjs +0 -115
- package/esm2022/column-menu/column-menu-template.directive.mjs +0 -47
- package/esm2022/column-menu/column-menu.component.mjs +0 -470
- package/esm2022/column-menu/column-menu.service.mjs +0 -70
- package/esm2022/column-menu/column-visibility-change-event.mjs +0 -19
- package/esm2022/column-menu/utils.mjs +0 -44
- package/esm2022/column-resizing/column-handle.directive.mjs +0 -226
- package/esm2022/column-resizing/column-resize.interface.mjs +0 -5
- package/esm2022/column-resizing/column-resizing.service.mjs +0 -143
- package/esm2022/column-resizing/table.directive.mjs +0 -130
- package/esm2022/columns/checkbox-column.component.mjs +0 -88
- package/esm2022/columns/column-base.mjs +0 -319
- package/esm2022/columns/column-common.mjs +0 -73
- package/esm2022/columns/column-group.component.mjs +0 -115
- package/esm2022/columns/column-list.mjs +0 -94
- package/esm2022/columns/column.component.mjs +0 -165
- package/esm2022/columns/columns-container.mjs +0 -90
- package/esm2022/columns/command-column.component.mjs +0 -77
- package/esm2022/columns/rowreorder-column.component.mjs +0 -57
- package/esm2022/columns/sort-settings.mjs +0 -17
- package/esm2022/columns/span-column.component.mjs +0 -201
- package/esm2022/common/cell-click-event-args.interface.mjs +0 -5
- package/esm2022/common/column-info.service.mjs +0 -54
- package/esm2022/common/create-form-group.mjs +0 -5
- package/esm2022/common/default-track-by.mjs +0 -13
- package/esm2022/common/dom-events.service.mjs +0 -24
- package/esm2022/common/error-messages.mjs +0 -15
- package/esm2022/common/filter-descriptor-differ.mjs +0 -69
- package/esm2022/common/filter-operator.interface.mjs +0 -5
- package/esm2022/common/id.service.mjs +0 -34
- package/esm2022/common/option-changes.service.mjs +0 -24
- package/esm2022/common/pager-settings.mjs +0 -19
- package/esm2022/common/preventable-event.mjs +0 -28
- package/esm2022/common/provider.service.mjs +0 -34
- package/esm2022/common/remove-confirmation.mjs +0 -5
- package/esm2022/common/single-popup.service.mjs +0 -132
- package/esm2022/common/sort.service.mjs +0 -14
- package/esm2022/data/change-event-args.interface.mjs +0 -5
- package/esm2022/data/change-notification.service.mjs +0 -30
- package/esm2022/data/data-item.interface.mjs +0 -5
- package/esm2022/data/data.collection.mjs +0 -503
- package/esm2022/data/treelist-item.interface.mjs +0 -5
- package/esm2022/directives.mjs +0 -291
- package/esm2022/dragdrop/column-reorder-config.mjs +0 -5
- package/esm2022/dragdrop/column-reorder-event.mjs +0 -31
- package/esm2022/dragdrop/column-reorder.service.mjs +0 -20
- package/esm2022/dragdrop/common.mjs +0 -69
- package/esm2022/dragdrop/context-types.mjs +0 -5
- package/esm2022/dragdrop/drag-and-drop.service.mjs +0 -65
- package/esm2022/dragdrop/drag-hint.service.mjs +0 -137
- package/esm2022/dragdrop/draggable-column.directive.mjs +0 -141
- package/esm2022/dragdrop/drop-cue.service.mjs +0 -46
- package/esm2022/dragdrop/drop-target.directive.mjs +0 -71
- package/esm2022/editing/add-command-tool.directive.mjs +0 -60
- package/esm2022/editing/add-command.directive.mjs +0 -96
- package/esm2022/editing/add-event-args.interface.mjs +0 -5
- package/esm2022/editing/base-command.directive.mjs +0 -95
- package/esm2022/editing/cancel-command.directive.mjs +0 -97
- package/esm2022/editing/cancel-event-args.interface.mjs +0 -5
- package/esm2022/editing/cell-close-event.mjs +0 -34
- package/esm2022/editing/edit-command.directive.mjs +0 -96
- package/esm2022/editing/edit-event-args.interface.mjs +0 -5
- package/esm2022/editing/edit-template.directive.mjs +0 -45
- package/esm2022/editing/edit.service.mjs +0 -174
- package/esm2022/editing/remove-command.directive.mjs +0 -96
- package/esm2022/editing/remove-event-args.interface.mjs +0 -5
- package/esm2022/editing/save-command.directive.mjs +0 -96
- package/esm2022/editing/save-event-args.interface.mjs +0 -5
- package/esm2022/editing-directives/create-form-group-args.interface.mjs +0 -5
- package/esm2022/editing-directives/edit-service.interface.mjs +0 -5
- package/esm2022/editing-directives/editing-directive-base.mjs +0 -137
- package/esm2022/editing-directives/flat-edit.service.mjs +0 -52
- package/esm2022/editing-directives/hierarchy-edit.service.mjs +0 -48
- package/esm2022/editing-directives/in-cell-editing.directive.mjs +0 -89
- package/esm2022/editing-directives/local-edit.service.mjs +0 -28
- package/esm2022/editing-directives/reactive-editing.directive.mjs +0 -61
- package/esm2022/editing-directives/row-editing-directive-base.mjs +0 -39
- package/esm2022/editing-directives/template-editing.directive.mjs +0 -68
- package/esm2022/editing-directives/utils.mjs +0 -41
- package/esm2022/excel/excel-command-tool.directive.mjs +0 -64
- package/esm2022/excel/excel-command.directive.mjs +0 -97
- package/esm2022/excel/excel-export-data.interface.mjs +0 -5
- package/esm2022/excel/excel-export-event.mjs +0 -15
- package/esm2022/excel/excel.component.mjs +0 -277
- package/esm2022/excel/excel.module.mjs +0 -45
- package/esm2022/excel/excel.service.mjs +0 -34
- package/esm2022/expand-state/expand-event.mjs +0 -30
- package/esm2022/expand-state/expand-state.service.mjs +0 -38
- package/esm2022/expand-state/expandable-tree-component.mjs +0 -18
- package/esm2022/expand-state/expandable.directive.mjs +0 -119
- package/esm2022/filtering/base-filter-cell.component.mjs +0 -172
- package/esm2022/filtering/boolean-filter.component.mjs +0 -91
- package/esm2022/filtering/cell/autocomplete-filter-cell.component.mjs +0 -113
- package/esm2022/filtering/cell/boolean-filter-cell.component.mjs +0 -107
- package/esm2022/filtering/cell/date-filter-cell.component.mjs +0 -132
- package/esm2022/filtering/cell/filter-cell-component.factory.mjs +0 -19
- package/esm2022/filtering/cell/filter-cell-host.directive.mjs +0 -33
- package/esm2022/filtering/cell/filter-cell-operators.component.mjs +0 -235
- package/esm2022/filtering/cell/filter-cell-template.directive.mjs +0 -46
- package/esm2022/filtering/cell/filter-cell-wrapper.component.mjs +0 -74
- package/esm2022/filtering/cell/filter-cell.component.mjs +0 -91
- package/esm2022/filtering/cell/numeric-filter-cell.component.mjs +0 -143
- package/esm2022/filtering/cell/string-filter-cell.component.mjs +0 -115
- package/esm2022/filtering/date-filter.component.mjs +0 -176
- package/esm2022/filtering/filter-component.interface.mjs +0 -5
- package/esm2022/filtering/filter-host.directive.mjs +0 -56
- package/esm2022/filtering/filter-input-wrapper.component.mjs +0 -119
- package/esm2022/filtering/filter-input.directive.mjs +0 -114
- package/esm2022/filtering/filter-row.component.mjs +0 -79
- package/esm2022/filtering/filter.service.mjs +0 -42
- package/esm2022/filtering/filterable.mjs +0 -16
- package/esm2022/filtering/menu/boolean-filter-menu.component.mjs +0 -168
- package/esm2022/filtering/menu/date-filter-menu-input.component.mjs +0 -174
- package/esm2022/filtering/menu/date-filter-menu.component.mjs +0 -207
- package/esm2022/filtering/menu/filter-menu-component.factory.mjs +0 -19
- package/esm2022/filtering/menu/filter-menu-container.component.mjs +0 -299
- package/esm2022/filtering/menu/filter-menu-dropdownlist.directive.mjs +0 -44
- package/esm2022/filtering/menu/filter-menu-host.directive.mjs +0 -46
- package/esm2022/filtering/menu/filter-menu-input-wrapper.component.mjs +0 -136
- package/esm2022/filtering/menu/filter-menu-template.directive.mjs +0 -43
- package/esm2022/filtering/menu/filter-menu.component.mjs +0 -202
- package/esm2022/filtering/menu/filter-radio-button.directive.mjs +0 -34
- package/esm2022/filtering/menu/menu-tabbing.service.mjs +0 -22
- package/esm2022/filtering/menu/numeric-filter-menu-input.component.mjs +0 -152
- package/esm2022/filtering/menu/numeric-filter-menu.component.mjs +0 -224
- package/esm2022/filtering/menu/string-filter-menu-input.component.mjs +0 -105
- package/esm2022/filtering/menu/string-filter-menu.component.mjs +0 -183
- package/esm2022/filtering/numeric-filter.component.mjs +0 -144
- package/esm2022/filtering/operators/after-eq-filter-operator.component.mjs +0 -72
- package/esm2022/filtering/operators/after-filter-operator.component.mjs +0 -72
- package/esm2022/filtering/operators/before-eq-filter-operator.component.mjs +0 -72
- package/esm2022/filtering/operators/before-filter-operator.component.mjs +0 -72
- package/esm2022/filtering/operators/contains-filter-operator.component.mjs +0 -64
- package/esm2022/filtering/operators/ends-with-filter-operator.component.mjs +0 -64
- package/esm2022/filtering/operators/eq-filter-operator.component.mjs +0 -112
- package/esm2022/filtering/operators/filter-operator.base.mjs +0 -98
- package/esm2022/filtering/operators/gt-filter-operator.component.mjs +0 -63
- package/esm2022/filtering/operators/gte-filter-operator.component.mjs +0 -63
- package/esm2022/filtering/operators/is-empty-filter-operator.component.mjs +0 -64
- package/esm2022/filtering/operators/is-not-empty-filter-operator.component.mjs +0 -64
- package/esm2022/filtering/operators/is-not-null-filter-operator.component.mjs +0 -112
- package/esm2022/filtering/operators/isnull-filter-operator.component.mjs +0 -112
- package/esm2022/filtering/operators/lt-filter-operator.component.mjs +0 -63
- package/esm2022/filtering/operators/lte-filter-operator.component.mjs +0 -63
- package/esm2022/filtering/operators/neq-filter-operator.component.mjs +0 -112
- package/esm2022/filtering/operators/not-contains-filter-operator.component.mjs +0 -64
- package/esm2022/filtering/operators/starts-with-filter-operator.component.mjs +0 -64
- package/esm2022/filtering/string-filter.component.mjs +0 -89
- package/esm2022/index.mjs +0 -146
- package/esm2022/layout/browser-support.service.mjs +0 -85
- package/esm2022/layout/resizable.directive.mjs +0 -83
- package/esm2022/layout/resize.service.mjs +0 -29
- package/esm2022/layout/responsive.service.mjs +0 -34
- package/esm2022/layout/row-sync.mjs +0 -47
- package/esm2022/localization/custom-messages.component.mjs +0 -53
- package/esm2022/localization/localized-messages.directive.mjs +0 -39
- package/esm2022/localization/messages.mjs +0 -510
- package/esm2022/navigation/default-focusable-element.mjs +0 -47
- package/esm2022/navigation/focus-group.mjs +0 -105
- package/esm2022/navigation/focus-root.mjs +0 -50
- package/esm2022/navigation/focusable-element.interface.mjs +0 -5
- package/esm2022/navigation/focusable.directive.mjs +0 -174
- package/esm2022/navigation/item-map.mjs +0 -59
- package/esm2022/navigation/logical-cell.directive.mjs +0 -187
- package/esm2022/navigation/logical-cell.interface.mjs +0 -5
- package/esm2022/navigation/logical-row.directive.mjs +0 -135
- package/esm2022/navigation/logical-row.interface.mjs +0 -5
- package/esm2022/navigation/model-cell.mjs +0 -37
- package/esm2022/navigation/navigation-cell.interface.mjs +0 -5
- package/esm2022/navigation/navigation-change.interface.mjs +0 -5
- package/esm2022/navigation/navigation-cursor.mjs +0 -176
- package/esm2022/navigation/navigation-metadata.mjs +0 -31
- package/esm2022/navigation/navigation-mode.mjs +0 -5
- package/esm2022/navigation/navigation-model.mjs +0 -126
- package/esm2022/navigation/navigation-row.interface.mjs +0 -5
- package/esm2022/navigation/navigation.service.mjs +0 -695
- package/esm2022/navigation/treelist-focusable-element.mjs +0 -28
- package/esm2022/package-metadata.mjs +0 -16
- package/esm2022/pdf/export-element.mjs +0 -129
- package/esm2022/pdf/pdf-command-tool.directive.mjs +0 -68
- package/esm2022/pdf/pdf-command.directive.mjs +0 -101
- package/esm2022/pdf/pdf-export-event.mjs +0 -18
- package/esm2022/pdf/pdf-margin.component.mjs +0 -33
- package/esm2022/pdf/pdf-margin.interface.mjs +0 -5
- package/esm2022/pdf/pdf-template.directive.mjs +0 -45
- package/esm2022/pdf/pdf.component.mjs +0 -269
- package/esm2022/pdf/pdf.module.mjs +0 -48
- package/esm2022/pdf/pdf.service.mjs +0 -40
- package/esm2022/pdf/treelist-query.mjs +0 -45
- package/esm2022/progress-kendo-angular-treelist.mjs +0 -8
- package/esm2022/rendering/cell-template.directive.mjs +0 -49
- package/esm2022/rendering/cell.component.mjs +0 -383
- package/esm2022/rendering/common/col-group.component.mjs +0 -39
- package/esm2022/rendering/common/dom-queries.mjs +0 -158
- package/esm2022/rendering/common/field-accessor.pipe.mjs +0 -48
- package/esm2022/rendering/common/level-items.pipe.mjs +0 -30
- package/esm2022/rendering/common/loading.component.mjs +0 -42
- package/esm2022/rendering/common/row-class.mjs +0 -5
- package/esm2022/rendering/common/spacer.component.mjs +0 -61
- package/esm2022/rendering/constants.mjs +0 -28
- package/esm2022/rendering/footer-template.directive.mjs +0 -45
- package/esm2022/rendering/header/header-template.directive.mjs +0 -45
- package/esm2022/rendering/header/header.component.mjs +0 -978
- package/esm2022/rendering/header/select-all-checkbox.directive.mjs +0 -90
- package/esm2022/rendering/list.component.mjs +0 -850
- package/esm2022/rendering/no-records-template.directive.mjs +0 -40
- package/esm2022/rendering/table-body.component.mjs +0 -665
- package/esm2022/rendering/toolbar/toolbar-focusable.directive.mjs +0 -77
- package/esm2022/rendering/toolbar/toolbar-navigation.service.mjs +0 -54
- package/esm2022/rendering/toolbar/toolbar-template.directive.mjs +0 -58
- package/esm2022/rendering/toolbar/toolbar.component.mjs +0 -110
- package/esm2022/row-reordering/flat-reorder.service.mjs +0 -48
- package/esm2022/row-reordering/hierarchical-reorder.service.mjs +0 -55
- package/esm2022/row-reordering/row-reorder.service.mjs +0 -273
- package/esm2022/row-reordering/types.mjs +0 -5
- package/esm2022/row-reordering/utils.mjs +0 -128
- package/esm2022/scrolling/content-scroll-event.mjs +0 -5
- package/esm2022/scrolling/row-height.service.mjs +0 -30
- package/esm2022/scrolling/scroll-bottom-event.mjs +0 -5
- package/esm2022/scrolling/scroll-request.service.mjs +0 -21
- package/esm2022/scrolling/scroll-sync.service.mjs +0 -80
- package/esm2022/scrolling/scroller.service.mjs +0 -112
- package/esm2022/scrolling/scrollmode.mjs +0 -5
- package/esm2022/scrolling/suspend.service.mjs +0 -17
- package/esm2022/selection/is-selected.mjs +0 -5
- package/esm2022/selection/marquee.directive.mjs +0 -196
- package/esm2022/selection/selectable-settings.mjs +0 -5
- package/esm2022/selection/selectable.directive.mjs +0 -223
- package/esm2022/selection/selection-change-event.mjs +0 -28
- package/esm2022/selection/selection-state.mjs +0 -104
- package/esm2022/selection/selection.service.mjs +0 -264
- package/esm2022/treelist.component.mjs +0 -3111
- package/esm2022/treelist.module.mjs +0 -183
- package/esm2022/utils.mjs +0 -113
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Component, Input } from '@angular/core';
|
|
6
|
-
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
7
|
-
import { NumericTextBoxComponent, NumericTextBoxCustomMessagesComponent } from '@progress/kendo-angular-inputs';
|
|
8
|
-
import { FilterService } from '../filter.service';
|
|
9
|
-
import { NumericFilterComponent } from '../numeric-filter.component';
|
|
10
|
-
import { FilterInputDirective } from '../filter-input.directive';
|
|
11
|
-
import { FocusableDirective } from '../../navigation/focusable.directive';
|
|
12
|
-
import { FilterCellWrapperComponent } from './filter-cell-wrapper.component';
|
|
13
|
-
import { replaceMessagePlaceholder } from '@progress/kendo-angular-common';
|
|
14
|
-
import * as i0 from "@angular/core";
|
|
15
|
-
import * as i1 from "../filter.service";
|
|
16
|
-
import * as i2 from "@progress/kendo-angular-l10n";
|
|
17
|
-
/**
|
|
18
|
-
* Represents a numeric filter cell.
|
|
19
|
-
* Use this component to filter numeric values in the TreeList.
|
|
20
|
-
* See the article about the [built-in filter components](slug:filter_row_treelist#toc-built-in-filter-row-components).
|
|
21
|
-
*
|
|
22
|
-
* @example
|
|
23
|
-
* ```html
|
|
24
|
-
* <kendo-treelist-column field="ProductName" title="Product Name">
|
|
25
|
-
* <ng-template kendoTreeListFilterCellTemplate let-filter let-column="column">
|
|
26
|
-
* <kendo-treelist-numeric-filter-cell
|
|
27
|
-
* [column]="column"
|
|
28
|
-
* [filter]="filter">
|
|
29
|
-
* </kendo-treelist-numeric-filter-cell>
|
|
30
|
-
* </ng-template>
|
|
31
|
-
* </kendo-treelist-column>
|
|
32
|
-
* ```
|
|
33
|
-
* @remarks
|
|
34
|
-
* Supported children components are: {@link EqualFilterOperatorComponent}, {@link NotEqualFilterOperatorComponent}, {@link GreaterFilterOperatorComponent}, {@link GreaterOrEqualToFilterOperatorComponent}, {@link LessFilterOperatorComponent}, {@link LessOrEqualToFilterOperatorComponent}, {@link IsNullFilterOperatorComponent}, {@link IsNotNullFilterOperatorComponent}.
|
|
35
|
-
*/
|
|
36
|
-
export class NumericFilterCellComponent extends NumericFilterComponent {
|
|
37
|
-
localization;
|
|
38
|
-
/**
|
|
39
|
-
* Sets the delay time (in milliseconds) before the filter value is submitted.
|
|
40
|
-
* A value of `0` means no delay.
|
|
41
|
-
* @default 500
|
|
42
|
-
*/
|
|
43
|
-
filterDelay = 500;
|
|
44
|
-
/**
|
|
45
|
-
* Shows or hides the drop-down filter operators.
|
|
46
|
-
* @default true
|
|
47
|
-
*/
|
|
48
|
-
showOperators = true;
|
|
49
|
-
/**
|
|
50
|
-
* The placeholder text for the filter input.
|
|
51
|
-
* @type {string}
|
|
52
|
-
*/
|
|
53
|
-
placeholder;
|
|
54
|
-
constructor(filterService, localization) {
|
|
55
|
-
super(filterService, localization);
|
|
56
|
-
this.localization = localization;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* @hidden
|
|
60
|
-
*/
|
|
61
|
-
messageFor(key) {
|
|
62
|
-
return this.localization.get(key);
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* @hidden
|
|
66
|
-
*/
|
|
67
|
-
get columnLabel() {
|
|
68
|
-
const localizationMsg = this.localization.get('filterInputLabel') || '';
|
|
69
|
-
const columnName = this.column.title || this.column.field;
|
|
70
|
-
return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
|
|
71
|
-
}
|
|
72
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumericFilterCellComponent, deps: [{ token: i1.FilterService }, { token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
73
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: NumericFilterCellComponent, isStandalone: true, selector: "kendo-treelist-numeric-filter-cell", inputs: { filterDelay: "filterDelay", showOperators: "showOperators", placeholder: "placeholder" }, usesInheritance: true, ngImport: i0, template: `
|
|
74
|
-
<kendo-treelist-filter-wrapper-cell
|
|
75
|
-
[column]="column"
|
|
76
|
-
[filter]="filter"
|
|
77
|
-
[operators]="operators"
|
|
78
|
-
[defaultOperator]="operator"
|
|
79
|
-
[showOperators]="showOperators">
|
|
80
|
-
<kendo-numerictextbox
|
|
81
|
-
kendoTreeListFocusable
|
|
82
|
-
kendoFilterInput
|
|
83
|
-
[columnLabel]="columnLabel"
|
|
84
|
-
[filterDelay]="filterDelay"
|
|
85
|
-
[autoCorrect]="true"
|
|
86
|
-
[value]="currentFilter?.value"
|
|
87
|
-
[format]="format"
|
|
88
|
-
[decimals]="decimals"
|
|
89
|
-
[spinners]="spinners"
|
|
90
|
-
[min]="min"
|
|
91
|
-
[max]="max"
|
|
92
|
-
[step]="step"
|
|
93
|
-
[placeholder]="placeholder">
|
|
94
|
-
<kendo-numerictextbox-messages
|
|
95
|
-
[increment]="messageFor('filterNumericIncrement')"
|
|
96
|
-
[decrement]="messageFor('filterNumericDecrement')"
|
|
97
|
-
></kendo-numerictextbox-messages>
|
|
98
|
-
</kendo-numerictextbox>
|
|
99
|
-
</kendo-treelist-filter-wrapper-cell>
|
|
100
|
-
`, isInline: true, dependencies: [{ kind: "component", type: FilterCellWrapperComponent, selector: "kendo-treelist-filter-wrapper-cell", inputs: ["showOperators"] }, { kind: "component", type: NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { kind: "directive", type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "column", "value"] }, { kind: "component", type: NumericTextBoxCustomMessagesComponent, selector: "kendo-numerictextbox-messages" }] });
|
|
101
|
-
}
|
|
102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumericFilterCellComponent, decorators: [{
|
|
103
|
-
type: Component,
|
|
104
|
-
args: [{
|
|
105
|
-
selector: 'kendo-treelist-numeric-filter-cell',
|
|
106
|
-
template: `
|
|
107
|
-
<kendo-treelist-filter-wrapper-cell
|
|
108
|
-
[column]="column"
|
|
109
|
-
[filter]="filter"
|
|
110
|
-
[operators]="operators"
|
|
111
|
-
[defaultOperator]="operator"
|
|
112
|
-
[showOperators]="showOperators">
|
|
113
|
-
<kendo-numerictextbox
|
|
114
|
-
kendoTreeListFocusable
|
|
115
|
-
kendoFilterInput
|
|
116
|
-
[columnLabel]="columnLabel"
|
|
117
|
-
[filterDelay]="filterDelay"
|
|
118
|
-
[autoCorrect]="true"
|
|
119
|
-
[value]="currentFilter?.value"
|
|
120
|
-
[format]="format"
|
|
121
|
-
[decimals]="decimals"
|
|
122
|
-
[spinners]="spinners"
|
|
123
|
-
[min]="min"
|
|
124
|
-
[max]="max"
|
|
125
|
-
[step]="step"
|
|
126
|
-
[placeholder]="placeholder">
|
|
127
|
-
<kendo-numerictextbox-messages
|
|
128
|
-
[increment]="messageFor('filterNumericIncrement')"
|
|
129
|
-
[decrement]="messageFor('filterNumericDecrement')"
|
|
130
|
-
></kendo-numerictextbox-messages>
|
|
131
|
-
</kendo-numerictextbox>
|
|
132
|
-
</kendo-treelist-filter-wrapper-cell>
|
|
133
|
-
`,
|
|
134
|
-
standalone: true,
|
|
135
|
-
imports: [FilterCellWrapperComponent, NumericTextBoxComponent, FocusableDirective, FilterInputDirective, NumericTextBoxCustomMessagesComponent]
|
|
136
|
-
}]
|
|
137
|
-
}], ctorParameters: () => [{ type: i1.FilterService }, { type: i2.LocalizationService }], propDecorators: { filterDelay: [{
|
|
138
|
-
type: Input
|
|
139
|
-
}], showOperators: [{
|
|
140
|
-
type: Input
|
|
141
|
-
}], placeholder: [{
|
|
142
|
-
type: Input
|
|
143
|
-
}] } });
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Component, Input } from '@angular/core';
|
|
6
|
-
import { ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
7
|
-
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
8
|
-
import { FilterService } from '../filter.service';
|
|
9
|
-
import { StringFilterComponent } from '../string-filter.component';
|
|
10
|
-
import { FilterInputDirective } from '../filter-input.directive';
|
|
11
|
-
import { FocusableDirective } from '../../navigation/focusable.directive';
|
|
12
|
-
import { FilterCellWrapperComponent } from './filter-cell-wrapper.component';
|
|
13
|
-
import { TextBoxComponent } from '@progress/kendo-angular-inputs';
|
|
14
|
-
import { replaceMessagePlaceholder } from '@progress/kendo-angular-common';
|
|
15
|
-
import * as i0 from "@angular/core";
|
|
16
|
-
import * as i1 from "../filter.service";
|
|
17
|
-
import * as i2 from "@progress/kendo-angular-l10n";
|
|
18
|
-
import * as i3 from "@angular/forms";
|
|
19
|
-
/**
|
|
20
|
-
* Represents a string-filter cell component.
|
|
21
|
-
* Use this component to filter string values in the TreeList.
|
|
22
|
-
* See the article about the [built-in filter components](slug:filter_row_treelist#toc-built-in-filter-row-components).
|
|
23
|
-
*
|
|
24
|
-
* @example
|
|
25
|
-
* ```html
|
|
26
|
-
* <kendo-treelist-column field="ProductName">
|
|
27
|
-
* <ng-template kendoTreeListFilterCellTemplate let-filter let-column="column">
|
|
28
|
-
* <kendo-treelist-string-filter-cell
|
|
29
|
-
* [column]="column"
|
|
30
|
-
* [filter]="filter">
|
|
31
|
-
* </kendo-treelist-string-filter-cell>
|
|
32
|
-
* </ng-template>
|
|
33
|
-
* </kendo-treelist-column>
|
|
34
|
-
* ```
|
|
35
|
-
* @remarks
|
|
36
|
-
* Supported children components are: {@link EqualFilterOperatorComponent}, {@link NotEqualFilterOperatorComponent}, {@link ContainsFilterOperatorComponent}, {@link DoesNotContainFilterOperatorComponent}, {@link StartsWithFilterOperatorComponent}, {@link EndsWithFilterOperatorComponent}, {@link IsNullFilterOperatorComponent}, {@link IsNotNullFilterOperatorComponent}, {@link IsEmptyFilterOperatorComponent}, {@link IsNotEmptyFilterOperatorComponent}.
|
|
37
|
-
*/
|
|
38
|
-
export class StringFilterCellComponent extends StringFilterComponent {
|
|
39
|
-
/**
|
|
40
|
-
* Sets the delay time (in milliseconds) before the filter value is submitted.
|
|
41
|
-
* A value of `0` means no delay.
|
|
42
|
-
* @default 500
|
|
43
|
-
*/
|
|
44
|
-
filterDelay = 500;
|
|
45
|
-
/**
|
|
46
|
-
* Shows or hides the drop-down filter operators.
|
|
47
|
-
* @default true
|
|
48
|
-
*/
|
|
49
|
-
showOperators = true;
|
|
50
|
-
/**
|
|
51
|
-
* The placeholder text for the filter input.
|
|
52
|
-
* @type {string}
|
|
53
|
-
*/
|
|
54
|
-
placeholder;
|
|
55
|
-
constructor(filterService, localization) {
|
|
56
|
-
super(filterService, localization);
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* @hidden
|
|
60
|
-
*/
|
|
61
|
-
get columnLabel() {
|
|
62
|
-
const localizationMsg = this.localization.get('filterInputLabel') || '';
|
|
63
|
-
const columnName = this.column.title || this.column.field;
|
|
64
|
-
return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
|
|
65
|
-
}
|
|
66
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StringFilterCellComponent, deps: [{ token: i1.FilterService }, { token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
67
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: StringFilterCellComponent, isStandalone: true, selector: "kendo-treelist-string-filter-cell", inputs: { filterDelay: "filterDelay", showOperators: "showOperators", placeholder: "placeholder" }, usesInheritance: true, ngImport: i0, template: `
|
|
68
|
-
<kendo-treelist-filter-wrapper-cell
|
|
69
|
-
[column]="column"
|
|
70
|
-
[filter]="filter"
|
|
71
|
-
[operators]="operators"
|
|
72
|
-
[defaultOperator]="operator"
|
|
73
|
-
[showOperators]="showOperators">
|
|
74
|
-
<kendo-textbox
|
|
75
|
-
kendoTreeListFocusable
|
|
76
|
-
kendoFilterInput
|
|
77
|
-
[columnLabel]="columnLabel"
|
|
78
|
-
[filterDelay]="filterDelay"
|
|
79
|
-
[placeholder]="placeholder"
|
|
80
|
-
[ngModel]="currentFilter?.value ?? null"
|
|
81
|
-
></kendo-textbox>
|
|
82
|
-
</kendo-treelist-filter-wrapper-cell>
|
|
83
|
-
`, isInline: true, dependencies: [{ kind: "component", type: FilterCellWrapperComponent, selector: "kendo-treelist-filter-wrapper-cell", inputs: ["showOperators"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { kind: "directive", type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "column", "value"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }] });
|
|
84
|
-
}
|
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StringFilterCellComponent, decorators: [{
|
|
86
|
-
type: Component,
|
|
87
|
-
args: [{
|
|
88
|
-
selector: 'kendo-treelist-string-filter-cell',
|
|
89
|
-
template: `
|
|
90
|
-
<kendo-treelist-filter-wrapper-cell
|
|
91
|
-
[column]="column"
|
|
92
|
-
[filter]="filter"
|
|
93
|
-
[operators]="operators"
|
|
94
|
-
[defaultOperator]="operator"
|
|
95
|
-
[showOperators]="showOperators">
|
|
96
|
-
<kendo-textbox
|
|
97
|
-
kendoTreeListFocusable
|
|
98
|
-
kendoFilterInput
|
|
99
|
-
[columnLabel]="columnLabel"
|
|
100
|
-
[filterDelay]="filterDelay"
|
|
101
|
-
[placeholder]="placeholder"
|
|
102
|
-
[ngModel]="currentFilter?.value ?? null"
|
|
103
|
-
></kendo-textbox>
|
|
104
|
-
</kendo-treelist-filter-wrapper-cell>
|
|
105
|
-
`,
|
|
106
|
-
standalone: true,
|
|
107
|
-
imports: [FilterCellWrapperComponent, ReactiveFormsModule, FocusableDirective, FilterInputDirective, FormsModule, TextBoxComponent]
|
|
108
|
-
}]
|
|
109
|
-
}], ctorParameters: () => [{ type: i1.FilterService }, { type: i2.LocalizationService }], propDecorators: { filterDelay: [{
|
|
110
|
-
type: Input
|
|
111
|
-
}], showOperators: [{
|
|
112
|
-
type: Input
|
|
113
|
-
}], placeholder: [{
|
|
114
|
-
type: Input
|
|
115
|
-
}] } });
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
// eslint-disable no-access-missing-member
|
|
6
|
-
import { Directive, Input } from '@angular/core';
|
|
7
|
-
import { ColumnComponent } from '../columns/column.component';
|
|
8
|
-
import { FilterService } from './filter.service';
|
|
9
|
-
import { BaseFilterCellComponent, localizeOperators } from './base-filter-cell.component';
|
|
10
|
-
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
11
|
-
import { isNullOrEmptyString, extractFormat } from "../utils";
|
|
12
|
-
import { toJSON } from './operators/filter-operator.base';
|
|
13
|
-
import * as i0 from "@angular/core";
|
|
14
|
-
import * as i1 from "./filter.service";
|
|
15
|
-
import * as i2 from "@progress/kendo-angular-l10n";
|
|
16
|
-
const dateOperators = localizeOperators({
|
|
17
|
-
"filterEqOperator": "eq",
|
|
18
|
-
"filterNotEqOperator": "neq",
|
|
19
|
-
"filterAfterOrEqualOperator": "gte",
|
|
20
|
-
"filterAfterOperator": "gt",
|
|
21
|
-
"filterBeforeOrEqualOperator": "lte",
|
|
22
|
-
"filterBeforeOperator": "lt",
|
|
23
|
-
"filterIsNullOperator": "isnull",
|
|
24
|
-
"filterIsNotNullOperator": "isnotnull"
|
|
25
|
-
});
|
|
26
|
-
/**
|
|
27
|
-
* @hidden
|
|
28
|
-
*/
|
|
29
|
-
export class DateFilterComponent extends BaseFilterCellComponent {
|
|
30
|
-
localization;
|
|
31
|
-
/**
|
|
32
|
-
* The column with which the filter is associated.
|
|
33
|
-
* @type {ColumnComponent}
|
|
34
|
-
*/
|
|
35
|
-
column;
|
|
36
|
-
/**
|
|
37
|
-
* The default filter operator.
|
|
38
|
-
* @type {string}
|
|
39
|
-
* @default 'gte'
|
|
40
|
-
*/
|
|
41
|
-
operator = "gte";
|
|
42
|
-
/**
|
|
43
|
-
* The current filter for the associated column field.
|
|
44
|
-
* @readonly
|
|
45
|
-
* @type {FilterDescriptor}
|
|
46
|
-
*/
|
|
47
|
-
get currentFilter() {
|
|
48
|
-
return this.filterByField(this.column.field);
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Specifies the date format that is used when the component is not focused.
|
|
52
|
-
* By default, the `column.format` value is used (if set).
|
|
53
|
-
* @type {string}
|
|
54
|
-
*/
|
|
55
|
-
set format(value) {
|
|
56
|
-
this._format = value;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Specifies the date format that is used when the component is not focused.
|
|
60
|
-
* By default, the `column.format` value is used (if set).
|
|
61
|
-
* @readonly
|
|
62
|
-
* @type {string}
|
|
63
|
-
*/
|
|
64
|
-
get format() {
|
|
65
|
-
return !isNullOrEmptyString(this._format) ? this._format : this.columnFormat;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Specifies the smallest value that is valid.
|
|
69
|
-
* @type {Date}
|
|
70
|
-
*/
|
|
71
|
-
min;
|
|
72
|
-
/**
|
|
73
|
-
* Specifies the greatest value that is valid.
|
|
74
|
-
* @type {Date}
|
|
75
|
-
*/
|
|
76
|
-
max;
|
|
77
|
-
/**
|
|
78
|
-
* Defines the descriptions of the format sections in the input field.
|
|
79
|
-
* [See possible format options](slug:placeholders_dateinput#toc-format-sections-description).
|
|
80
|
-
* @type {DateInputFormatPlaceholder}
|
|
81
|
-
*/
|
|
82
|
-
formatPlaceholder;
|
|
83
|
-
/**
|
|
84
|
-
* Specifies the hint that the component displays when its value is `null`.
|
|
85
|
-
* @type {string}
|
|
86
|
-
*/
|
|
87
|
-
placeholder;
|
|
88
|
-
/**
|
|
89
|
-
* Defines the active view that the calendar initially renders.
|
|
90
|
-
* By default, the active view is `month`.
|
|
91
|
-
* You have to set `activeView` within the `topView`-`bottomView` range.
|
|
92
|
-
* @type {CalendarView}
|
|
93
|
-
* @default 'month'
|
|
94
|
-
*/
|
|
95
|
-
activeView = "month";
|
|
96
|
-
/**
|
|
97
|
-
* Defines the bottommost calendar view, to which the user can navigate.
|
|
98
|
-
* @type {CalendarView}
|
|
99
|
-
* @default 'month'
|
|
100
|
-
*/
|
|
101
|
-
bottomView = "month";
|
|
102
|
-
/**
|
|
103
|
-
* Defines the topmost calendar view, to which the user can navigate.
|
|
104
|
-
* @type {CalendarView}
|
|
105
|
-
* @default 'century'
|
|
106
|
-
*/
|
|
107
|
-
topView = "century";
|
|
108
|
-
/**
|
|
109
|
-
* Determines whether to display a week number column in the `month` view of the Calendar.
|
|
110
|
-
* @type {boolean}
|
|
111
|
-
* @default false
|
|
112
|
-
*/
|
|
113
|
-
weekNumber = false;
|
|
114
|
-
get columnFormat() {
|
|
115
|
-
return this.column && !isNullOrEmptyString(this.column.format) ?
|
|
116
|
-
extractFormat(this.column.format) : "d";
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* The current filter operator for the associated column field.
|
|
120
|
-
* @readonly
|
|
121
|
-
* @type {string}
|
|
122
|
-
*/
|
|
123
|
-
get currentOperator() {
|
|
124
|
-
return this.currentFilter ? this.currentFilter.operator : this.operator;
|
|
125
|
-
}
|
|
126
|
-
_format;
|
|
127
|
-
subscription;
|
|
128
|
-
constructor(filterService, localization) {
|
|
129
|
-
super(filterService);
|
|
130
|
-
this.localization = localization;
|
|
131
|
-
this.defaultOperators = dateOperators(this.localization);
|
|
132
|
-
}
|
|
133
|
-
ngOnInit() {
|
|
134
|
-
this.subscription = this.localization.changes.subscribe(this.localizationChange.bind(this));
|
|
135
|
-
}
|
|
136
|
-
ngOnDestroy() {
|
|
137
|
-
if (this.subscription) {
|
|
138
|
-
this.subscription.unsubscribe();
|
|
139
|
-
}
|
|
140
|
-
super.ngOnDestroy();
|
|
141
|
-
}
|
|
142
|
-
localizationChange() {
|
|
143
|
-
this.defaultOperators = dateOperators(this.localization);
|
|
144
|
-
if (this.operatorList.length) {
|
|
145
|
-
this.operators = toJSON(this.operatorList.toArray());
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DateFilterComponent, deps: [{ token: i1.FilterService }, { token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
149
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: DateFilterComponent, inputs: { column: "column", operator: "operator", format: "format", min: "min", max: "max", formatPlaceholder: "formatPlaceholder", placeholder: "placeholder", activeView: "activeView", bottomView: "bottomView", topView: "topView", weekNumber: "weekNumber" }, usesInheritance: true, ngImport: i0 });
|
|
150
|
-
}
|
|
151
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DateFilterComponent, decorators: [{
|
|
152
|
-
type: Directive,
|
|
153
|
-
args: [{}]
|
|
154
|
-
}], ctorParameters: () => [{ type: i1.FilterService }, { type: i2.LocalizationService }], propDecorators: { column: [{
|
|
155
|
-
type: Input
|
|
156
|
-
}], operator: [{
|
|
157
|
-
type: Input
|
|
158
|
-
}], format: [{
|
|
159
|
-
type: Input
|
|
160
|
-
}], min: [{
|
|
161
|
-
type: Input
|
|
162
|
-
}], max: [{
|
|
163
|
-
type: Input
|
|
164
|
-
}], formatPlaceholder: [{
|
|
165
|
-
type: Input
|
|
166
|
-
}], placeholder: [{
|
|
167
|
-
type: Input
|
|
168
|
-
}], activeView: [{
|
|
169
|
-
type: Input
|
|
170
|
-
}], bottomView: [{
|
|
171
|
-
type: Input
|
|
172
|
-
}], topView: [{
|
|
173
|
-
type: Input
|
|
174
|
-
}], weekNumber: [{
|
|
175
|
-
type: Input
|
|
176
|
-
}] } });
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
export {};
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Directive, Input, ViewContainerRef } from '@angular/core';
|
|
6
|
-
import { ColumnComponent } from '../columns/column.component';
|
|
7
|
-
import { anyChanged } from '../utils';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
/**
|
|
10
|
-
* @hidden
|
|
11
|
-
*/
|
|
12
|
-
export class FilterHostDirective {
|
|
13
|
-
host;
|
|
14
|
-
column;
|
|
15
|
-
filter;
|
|
16
|
-
component;
|
|
17
|
-
constructor(host) {
|
|
18
|
-
this.host = host;
|
|
19
|
-
}
|
|
20
|
-
ngOnInit() {
|
|
21
|
-
this.component = this.host.createComponent(this.componentType());
|
|
22
|
-
this.initComponent({
|
|
23
|
-
column: this.column,
|
|
24
|
-
filter: this.filter
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
ngOnDestroy() {
|
|
28
|
-
if (this.component) {
|
|
29
|
-
this.component.destroy();
|
|
30
|
-
this.component = null;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
ngOnChanges(changes) {
|
|
34
|
-
if (anyChanged(["column", "filter"], changes)) {
|
|
35
|
-
this.initComponent({
|
|
36
|
-
column: this.column,
|
|
37
|
-
filter: this.filter
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
initComponent({ column, filter }) {
|
|
42
|
-
const instance = this.component.instance;
|
|
43
|
-
instance.column = column;
|
|
44
|
-
instance.filter = filter;
|
|
45
|
-
}
|
|
46
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterHostDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
47
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: FilterHostDirective, inputs: { column: "column", filter: "filter" }, usesOnChanges: true, ngImport: i0 });
|
|
48
|
-
}
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterHostDirective, decorators: [{
|
|
50
|
-
type: Directive,
|
|
51
|
-
args: [{}]
|
|
52
|
-
}], ctorParameters: () => [{ type: i0.ViewContainerRef }], propDecorators: { column: [{
|
|
53
|
-
type: Input
|
|
54
|
-
}], filter: [{
|
|
55
|
-
type: Input
|
|
56
|
-
}] } });
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Input, ContentChild, Directive } from "@angular/core";
|
|
6
|
-
import { ColumnComponent } from "../columns/column.component";
|
|
7
|
-
import { FilterInputDirective } from "./filter-input.directive";
|
|
8
|
-
import { isPresent, isNullOrEmptyString, isBlank, isChanged } from "../utils";
|
|
9
|
-
import { BaseFilterCellComponent } from "./base-filter-cell.component";
|
|
10
|
-
import { FilterService } from "./filter.service";
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "./filter.service";
|
|
13
|
-
const EMPTY_VALUE_OPERATORS = new Set(['isnull', 'isnotnull', 'isempty', 'isnotempty']);
|
|
14
|
-
const isEmptyValueOperator = (operator) => EMPTY_VALUE_OPERATORS.has(operator);
|
|
15
|
-
/**
|
|
16
|
-
* @hidden
|
|
17
|
-
*/
|
|
18
|
-
export class FilterInputWrapperComponent extends BaseFilterCellComponent {
|
|
19
|
-
column;
|
|
20
|
-
input;
|
|
21
|
-
get currentFilter() {
|
|
22
|
-
return this.filterByField(this.column.field);
|
|
23
|
-
}
|
|
24
|
-
get currentOperator() {
|
|
25
|
-
const filter = this.currentFilter;
|
|
26
|
-
if (!this._operator) {
|
|
27
|
-
this._operator = filter ? filter.operator : this.defaultOperator;
|
|
28
|
-
}
|
|
29
|
-
return this._operator;
|
|
30
|
-
}
|
|
31
|
-
set currentOperator(value) {
|
|
32
|
-
this._operator = value;
|
|
33
|
-
const emptyValueOperator = isEmptyValueOperator(value);
|
|
34
|
-
this.filterInputDisabled = emptyValueOperator;
|
|
35
|
-
if (emptyValueOperator) {
|
|
36
|
-
this.applyNoValueFilter(value);
|
|
37
|
-
}
|
|
38
|
-
else if (!isBlank(value) && isPresent(this.currentFilter)) {
|
|
39
|
-
this.onChange(this.currentFilter.value);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
get defaultOperator() {
|
|
43
|
-
if (!isNullOrEmptyString(this._defaultOperator)) {
|
|
44
|
-
return this._defaultOperator;
|
|
45
|
-
}
|
|
46
|
-
else if (this.operators && this.operators.length) {
|
|
47
|
-
return this.operators[0].value;
|
|
48
|
-
}
|
|
49
|
-
return "eq";
|
|
50
|
-
}
|
|
51
|
-
set defaultOperator(value) {
|
|
52
|
-
this._defaultOperator = value;
|
|
53
|
-
}
|
|
54
|
-
set filterInputDisabled(disabled) {
|
|
55
|
-
if (!this.input) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
this.input.disabled = disabled;
|
|
59
|
-
}
|
|
60
|
-
_defaultOperator;
|
|
61
|
-
_operator;
|
|
62
|
-
changeSubscription;
|
|
63
|
-
constructor(filterService) {
|
|
64
|
-
super(filterService);
|
|
65
|
-
}
|
|
66
|
-
ngAfterContentInit() {
|
|
67
|
-
if (isPresent(this.input)) {
|
|
68
|
-
this.changeSubscription = this.input.change.subscribe(this.onChange.bind(this));
|
|
69
|
-
this.filterInputDisabled = isEmptyValueOperator(this.currentOperator);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
ngOnDestroy() {
|
|
73
|
-
super.ngOnDestroy();
|
|
74
|
-
if (this.changeSubscription) {
|
|
75
|
-
this.changeSubscription.unsubscribe();
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
onChange(value) {
|
|
79
|
-
if (!isNullOrEmptyString(value) || this.filterByField(this.column.field)) {
|
|
80
|
-
this.filterChange(isNullOrEmptyString(value) ?
|
|
81
|
-
this.removeFilter(this.column.field) :
|
|
82
|
-
this.updateFilter({
|
|
83
|
-
field: this.column.field,
|
|
84
|
-
operator: this.currentOperator,
|
|
85
|
-
value: value
|
|
86
|
-
}));
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
onClear() {
|
|
90
|
-
this.onChange(null);
|
|
91
|
-
this.filterInputDisabled = isEmptyValueOperator(this.defaultOperator);
|
|
92
|
-
}
|
|
93
|
-
applyNoValueFilter(operator) {
|
|
94
|
-
this.filterChange(this.updateFilter({
|
|
95
|
-
field: this.column.field,
|
|
96
|
-
operator: operator,
|
|
97
|
-
value: null
|
|
98
|
-
}));
|
|
99
|
-
}
|
|
100
|
-
ngOnChanges(changes) {
|
|
101
|
-
if (isChanged("filter", changes, false)) {
|
|
102
|
-
this._operator = null;
|
|
103
|
-
this.filterInputDisabled = isEmptyValueOperator(this.currentOperator);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterInputWrapperComponent, deps: [{ token: i1.FilterService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
107
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: FilterInputWrapperComponent, inputs: { column: "column", defaultOperator: "defaultOperator" }, queries: [{ propertyName: "input", first: true, predicate: FilterInputDirective, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
108
|
-
}
|
|
109
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterInputWrapperComponent, decorators: [{
|
|
110
|
-
type: Directive,
|
|
111
|
-
args: [{}]
|
|
112
|
-
}], ctorParameters: () => [{ type: i1.FilterService }], propDecorators: { column: [{
|
|
113
|
-
type: Input
|
|
114
|
-
}], input: [{
|
|
115
|
-
type: ContentChild,
|
|
116
|
-
args: [FilterInputDirective, { static: false }]
|
|
117
|
-
}], defaultOperator: [{
|
|
118
|
-
type: Input
|
|
119
|
-
}] } });
|