getTables

Компонент редактируемых таблиц на основе bootstrap и pdoTools
Бесплатно
Загрузите дополнение из админки вашего сайта.
Как загрузить?
Автор дополнения
touol
Пакетов
10
Закачек
732
Автор дополнения
Пакетов
10
Закачек
732
Версия 1.9.3-alpha
Дата выпуска 25.03.2022
Загрузки 222
Просмотры 3 038
Внимание, этот компонент требует версию PHP 7.0 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.6 !
При написании компонентов для MODX много времени уходит на программирование редактируемых таблиц через extJs. У меня на это уходит каждый раз до 4 часов. Причем на совершенно однотипные таблицы. В конце концов мне это надоело и я решился написать свой компонент редактируемых таблиц на основе bootstrap и pdoTools— getTables! Сложность задачи я сильно недооценил и компонент сейчас выглядит и исполнен ужастно, но время на программирование таблиц с ним сократилось до 5 минут на простую и до часа на более сложную. Это сильно помогает и getTables я постоянно использую и потихоньку допиливаю. Сейчас на его основе сделано несколько компонентов, которые я хочу выложить в общий доступ. Ну и приходиться выкладывать и getTables, несмотря на не самую лучшую его реализацию.

Есть, конечно, замечательный компонент MIGX, но чтобы его использовать на фронте нужно вытаскивать на фронт extJs ради пары табличек. А bootstrap у меня везде используется.

Для примера вот реализация админки компонента вопросов-ответов gtsReview на getTables.

<cut/>
Код вызова [ [!getTabs? &config=`gtsreview_admin`]]. Инструкция config загружает gts-код табов и таблиц из системной настройки gtsreview_admin в JSON формате. Посмотреть код можно на GitHub

Основы gts-синтаксиса
Код самой простой таблицы выглядит так:
{'getTable' | snippet : [
    'loadModels'=>'raschets',
    'table'=>[
        'class'=>'raschetsMatClass',
        'actions'=>[
            'create'=>[
            ],
            'update'=>[
                
            ],
        ],
        'pdoTools'=>[
            'class'=>'raschetsMatClass',
            'limit'=>0,
        ],
        'checkbox'=>0,
        'autosave'=>1,
        'row'=>[
                'id'=>[
                    ],
                'label'=>[
                    'label'=>'Имя',
                    'filter'=>1
                    ],
            ],
    ],
]}

Инструкция loadModels говорит какую модель (базы) MODX загрузить. (Модель пока удобнее создавать через MIGX.)

В table задаются все параметры таблицы:

  • class — класс таблицы.
  • actions — что можно сделать с таблицей. Для того, чтобы в таблице можно было удалять строки достаточно добавить в action инструкцию ‘remove’=>[],.
  • pdoTools — данные в таблицу из базы подготавливает pdoTools. И здесь можно использовать все его параметры.
  • checkbox — включить выбор строк чекбоксами.
  • autosave — инлайн редактирование данных таблицы. (Для autosave нужно чтоб action update было включено.)
  • row — здесь задаются колонки таблицы, которые показываются и редактируются.

Таких простых простых таблиц за полгода я уже насоздавал штук 40. Делать их все через extJs было бы очень долго.

Более подробная справка Основы gts-синтаксиса

Ссылка на GitHub

1.9.3-alpha

  • Правка form autocomplect.

1.9.2-alpha

  • Вывод данных фильтров в content поля.
  • Постобработка данных строки сниппетом.

1.9.1-alpha

  • Исправлена ошибка с модалкой.

1.9.0-alpha

  • Добавлена сортировка таблиц.

1.8.3-alpha

  • Подготовка стилизации модалок.

1.8.2-alpha

  • Правка модал title.

1.8.0-alpha

  • Подготовка компонента для стилизации без Bootstrap.
  • Добавлена валидация полей на create. Инструкция edit->validate.
  • Добавлена подпись наименование таблицы.
  • Добавлена проверка выборки для записи в таблицу. Инструкция edit->check='user_id'.

1.7.33-alpha

  • Добавлен style для textarea.

1.7.32-alpha

  • Добавлен класс canceled для окраски строк.

1.7.31-alpha

  • Добавлена возможность редиректа в sets.

1.7.29-alpha

  • Исправленно autoselect в getForm.

1.7.28-alpha

  • Исправленно sub_where.
  • Добавлены стили расцветки таблиц.

1.7.25-alpha

  • Добавлено fetchModal2Step.

1.7.24-alpha

  • Исправлена инструкция force.

1.7.23-alpha

  • Добавлено handleRequestInt.
  • Добавлено событие getTablesRunModalTriggers и регистрация триггера regModalTriggers.

1.7.22-alpha

  • Инструкция style для ячеек таблицы.

1.7.21-alpha

  • Подсказки для ячеек таблицы.

1.7.20-alpha

  • исправлен фильтр даты.

1.7.19-alpha

  • Проводка пустых дат в доптаблице.

1.7.18-alpha

  • Замена датапикера на AirDatepicker.
  • Добавлен тип поля datetime.

1.7.17-alpha

  • log для долгих процессов.

1.7.16-alpha

  • Вывод модалки если есть response.data.modal.

1.7.15-alpha

  • правка readonly date.
  • Исправлена нулевая дата.

1.7.14-alpha

  • Добавлена настройка формата даты.
  • Добавлена работа с формами. getForm.
  • Добавлено role document.

1.7.13-alpha

  • Добавлена инструкция skip_modal.

1.7.12-alpha

  • Доработка долгих процессов.

1.7.9-alpha

  • Добавлено меню для кнопок строки.

1.7.7-alpha

  • Добавлена обработка долгих процессов.

1.7.5-alpha

  • Добавлена инструкция table.tree для отображения таблицы-дерева.

1.7.4-alpha

  • Исправлено выделение в полях.
  • Исправлена навигация.

1.7.3-alpha

  • Добавлена инструкция content для action.

1.7.2-alpha

  • Добавлен select data.
  • Исправлено обнуление даты.

1.7.1-alpha

  • Исправлены стили для админки.

1.7.0-alpha

  • фильтры перенесены в заголовки таблиц.

1.6.5-alpha

  • частично переведено на англиский.

1.6.3-alpha

  • добавлено search_where по sub_where_current.

1.6.2-alpha

  • исправлено export_excel.

1.6.1-alpha

  • Включение и выключение выделение ячеек в таблице и подсчет суммы по Ctrl+Shift+s.
  • исправлено readonly на autocomplect.

1.6.0-alpha

  • Контент полей модальных окон вынесен в отдельный чанк getTable.EditForm.tpl.

1.5.37-alpha

  • Разрешен getTable/fetch по ajax.

1.5.36-alpha

  • исправлено sub_where_current.

1.5.35-alpha

  • добавлено событие getTablesRunTriggers.

1.5.34-alpha

  • исправлено добавление table_name для autosave.
  • исправлен search_field в нижнем регистре.

1.5.33-alpha

  • добавлено события getTablesBeforeUpdateCreate,getTablesBeforeRemove,getTablesAfterRemove.
  • исправлен js callbacks remove.

1.5.32-alpha

  • В autoselect подстановка в поиск данных из родительской таблицы.
  • добавлено событие getTablesAfterUpdateCreate.

1.5.31-alpha

  • Подключение кастомных чанков.

1.5.29-alpha

  • Правки сортировки таблицы.

1.5.28-alpha

  • Исправлено переключение контекстов.
  • Изменено subtables строки.
  • Добавлена возможность сортировки таблицы.

1.5.26-alpha

  • Исправлена ошибка показа subtables.

1.5.25-alpha

  • Ускорено выделение ячеек в таблице.

1.5.23-alpha

  • Добавлено выделение ячеек в таблице и подсчет суммы, кол-ва ячеек и среднего для них.

1.5.22-alpha

  • Исправленно bootsrap_style.

1.5.21-alpha

  • Исправленно data у generateEditsData.

1.5.20-alpha

  • экспорт в excel исправлен чекбокс.

1.5.19-alpha

  • Добавлен экспорт в excel.

1.5.18-alpha

  • Исправлена инструкция content для поля таблицы.
  • Исправлена инструкция modal для action.

1.5.17-alpha

  • Исправлена ошибка subtable.

1.5.16-alpha

  • добавлено custom modal.

1.5.15-alpha

  • Исправлена ошибка subtable.

1.5.14-alpha

  • force значения при autosave.

1.5.13-alpha

  • Исправлена пагинация.

1.5.12-alpha

  • Исправлена ошибка загрузки моделей MODX.

1.5.11-alpha

  • Загрузка тригеров из класса модели MODX.

1.5.10-alpha

  • Исправлено сохранение в кеш подтаблицы.
  • Исправлено сохранение в кеш autosave.
  • Добавлены стили для админки.

1.5.9-alpha

  • Исправлено page limit.

1.5.8-alpha

  • Добавлен action copy.

1.5.7-alpha

  • Добавлена инструкция table.export для экспорта таблицы в массив. Помещается в лог pdoTools.
  • Исправлено отображение в админке.

1.5.6-alpha

  • Восстановил фильтры в GET запросах (При санации запросов была сделана ошибка).

1.5.5-alpha

  • Сделаны default и force значения полей.
  • Обработка IN в фильтрах.

1.5.4-alpha

  • Добавлены редакторы для textarea: ace и ckeditor.

1.5.3-alpha

  • Чанк для action.
  • Попровлена ошибка проверки существования строки в таблице перед записью.
  • Добавлены описания для системных параметров.

1.5.2-alpha

  • pdoTools добавлен в зависимости (Автоматически устанавливается при установки пакета.).

1.5.1-alpha

  • Исправлен запуск сторонних action.

Последние обсуждения в сообществе MODX.pro