Nano Hash - криптовалюты, майнинг, программирование

EXT JS 5 - Пользовательский фильтр для часов и минут

У меня есть значение в минутах, и я преобразовал его в часы и минуты (например, 615 минут = 10 часов и 15 минут) и отобразил в сетке. по умолчанию ext js 5 предоставляет фильтр по строке. Но я хочу фильтровать по часам и минутам. Является ли это возможным? если да, дайте мне знать.

25.11.2014

  • Это локальный или удаленный фильтр? Можете ли вы также предоставить код или скриншот? 25.11.2014
  • Предполагая, что вы говорите о плагине gridfilters, тогда да, вы могли бы сделать это довольно легко, создав свой собственный фильтр. 25.11.2014

Ответы:


1

Вы можете легко расширить фильтр Ext.grid.filters.filter.String, чтобы сделать это.

Пример кода, который использует поле времени:

Ext.define('Ext.ux.grid.filters.filter.Time', {
    extend: 'Ext.grid.filters.filter.String',
    alias: 'grid.filter.time',

    type: 'time',
    operator: 'eq',

    // change item template to timefield
    itemDefaults: {
        xtype: 'timefield',
        enableKeyEvents: true,
        format: 'H:i',
        hideEmptyLabel: false,
        iconCls: Ext.baseCSSPrefix + 'grid-filters-find',
        labelSeparator: '',
        labelWidth: 29,
        margin: 0,
        selectOnFocus: true
    },
    createMenu: function () {
        var me = this;
        me.callParent();

        // add handler to change event
        me.inputItem.on({
            scope: me,
            change: {
                fn: me.onChange,
                buffer: 200
            }
        });
    },
    // handle change event
    onChange: function(field) {
        this.setValue(field.getValue());
    },
    // set value - value comes as date
    setValue: function (value) {
        var me = this;

        if (me.inputItem) {
            me.inputItem.setValue(value);
        }

        // convert date to number
        me.filter.setValue(value.getHours() * 60 + value.getMinutes());

        if (value && me.active) {
            me.updateStoreFilter(me.filter);
        } else {
            me.setActive(!!value);
        }
    },
    activateMenu: function () {
        var value = this.filter.getValue();

        // convert number back to date
        this.inputItem.setValue(
            new Date(2008, 0, 1, Math.floor(value / 60), (value % 60), 0)
        );
    }
});

Скрипт: http://jsfiddle.net/dw82uxkh/9/

27.11.2014
  • Спасибо за решение, но требуется небольшое изменение. Когда мы фильтруем столбец времени, он фильтрует строку в формате 01:32, но у нас есть 1:32. Таким образом, он не будет фильтровать 1:32. 01.07.2015
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..