UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

48 lines (47 loc) 2.3 kB
/** * DevExtreme (cjs/__internal/grids/new/grid_core/search/controller.js) * Version: 25.1.3 * Build date: Wed Jun 25 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SearchController = void 0; var _signalsCore = require("@preact/signals-core"); var _columns_controller = require("../columns_controller/columns_controller"); var _options_controller = require("../options_controller/options_controller"); var _utils = require("./utils"); class SearchController { constructor(options, columnsController) { this.options = options; this.columnsController = columnsController; this.highlightTextOptions = (0, _signalsCore.computed)((() => { const searchOptions = this.options.oneWay("searchPanel").value; return { enabled: searchOptions.highlightSearchText, caseSensitive: searchOptions.highlightCaseSensitive, searchStr: searchOptions.text } })); this.searchTextOption = this.options.twoWay("searchPanel.text"); this.searchPlaceholder = this.options.oneWay("searchPanel.placeholder"); this.searchWidth = this.options.oneWay("searchPanel.width"); this.searchVisibleColumnsOnly = this.options.oneWay("searchPanel.searchVisibleColumnsOnly"); this.searchFilter = (0, _signalsCore.computed)((() => { const searchText = this.searchTextOption.value; const columns = this.columnsController.columns.value; const searchVisibleColumnsOnly = this.searchVisibleColumnsOnly.value; return (0, _utils.calculateSearchFilter)(searchText, columns, searchVisibleColumnsOnly) })); this.getHighlightedText = text => (0, _utils.splitHighlightedText)(text, this.highlightTextOptions.peek()); this.updateSearchText = text => { this.searchTextOption.value = text } } } exports.SearchController = SearchController; SearchController.dependencies = [_options_controller.OptionsController, _columns_controller.ColumnsController];