Pull to refresh
4
0
Send message

Ну зачем так категорично, зависит от задачи же. Лично мне разный контекст уменьшил "головную боль".

Неплохая статья. Но вот про форматы, которые библиотека может читать/записывать, вы похоже перепутали местами.
Т.е. это запись:
С помощью библиотеки PHPExcel можно читать следующие форматы:

  • Excel 2007;
  • Excel 97 и поздние версии;
  • PHPExcel Serialized Spreadshet;
  • HTML;
  • PDF;
  • CSV.

А это чтение:
С помощью библиотеки PHPExcel можно записывать данные в следующие форматы:

  • Excel 2007;
  • Excel 5.0/Excel 95;
  • Excel 97 и поздние версии;
  • PHPExcel Serialized Spreadshet;
  • Symbolic Link;
  • CSV.
Забыл указать, что сам компонент отлаживал с помощью Ext.override (у нас приложение собирается, потому сложно подключать файл ext-all-debug.js).
Изначально мой коллега отлаживал код (исходник) «по кускам» (удалял, вставлял вывод в консоль), так он добрался до компонента. Я же через Chrome указал точку останова в «Event Listener Breakpoints» (я выбирал DOM Mutation), потом уже в коде, далее как обычно.
Рад, что помогло. Решение должно сработать для компонентов, расширяемых этот основной Ext.form.TimeField, такие как: Ext.ux.form.DateTimeField, Ext.ux.form.DateField.
Я так понимаю GLPI использует ExtJS 3 версии. Один из вариантов указать после инициализации ExtJS:
Ext.override(Ext.form.TimeField, {
    initDate: '2/1/2008'
});


подробнее «почему так»

P.S.: этот пост навеял написать небольшую статью.
Наше веб-приложение так просто не перенести, потому пришлось создавать патч. В версиях 4+ этот компонент сильно изменился, но цикл и там находил. Вот кусок из Ext-picker-Time:

createStore: function() {
        var me = this,
            utilDate = Ext.Date,
            times = [],
            min = me.absMin,
            max = me.absMax;

        while(min <= max){
            times.push({
                disp: utilDate.dateFormat(min, me.format),
                date: min
            });
            min = utilDate.add(min, 'mi', me.increment);
        }

        return new Ext.data.Store({
            model: me.modelType,
            autoDestroy: true,
            data: times
        });
    }

Information

Rating
Does not participate
Registered
Activity