Бесплатно
Загрузите дополнение из админки вашего сайта.
Как загрузить?
Как загрузить?
При написании компонентов для 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-синтаксиса
Код самой простой таблицы выглядит так:

Инструкция loadModels говорит какую модель (базы) MODX загрузить. (Модель пока удобнее создавать через MIGX.)
В table задаются все параметры таблицы:
Таких простых простых таблиц за полгода я уже насоздавал штук 40. Делать их все через extJs было бы очень долго.
Более подробная справка Основы gts-синтаксиса
Ссылка на GitHub
Есть, конечно, замечательный компонент 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.12.1-alpha
- В события тригеров добавлены редактируемые объекты.
- В getTables добавлена функция insertToArray.
- Событие getTablesLoadGTSConfig в getree.
- Обновление класса при обновлении строки.
- Горячие клавиши на action.
- Закрепить шапку в документе и заголовки в таблице.
- Фулконтент в ячейках таблицы. table.settings.fullcontent
- copy для форм.
- Закрепить шапку в документе и заголовки в таблице 2.
- Убрать автоизменение размера ячеек при наведении.
- Фулконтент в ячейках таблицы. Убрать дублирование клика.
- Редактирование ширины столбцов.
- Улучшение выбора времени.
- Добавлено подчеркивание в дереве при наведении.
- правка z-index.
- Редактирование ширины столбцов 2.
- Фуллконтент 2.
- Исправление autosave autocomplect.
- Добавлена обработка селектов в tree при событии getTablesLoadGTSConfig.
- Исправлена обработка селектор в tree.
1.11.4-alpha
- Адаптация под modx3(3.0.1) и pdoTools3.
- Навигация по таблице с CTRL и стрелочками.
- Инструкции autosave.refresh.row и autosave.refresh.form.
- select autocomplect не требует field_content.
- Инструкция table subs. В подтаблицы можно табы.
- Инструкция tabs[tab].tables. В таб можно поместить несколько талиц.
- Исправление ошибок grtTree.
- Чистка предупреждений php.
- Исправлено readonly для number и decimal.
- Доработана функция getTables->calc_excel_formula.
- Отключен автокомплект браузера.
- Поле в таблице поверх при фокусе.
- decimal инструкция step.
- Исправлена инструкция prepareRows.
- Исправлен фильтр autocomplect.
- Копирование в getTree.
- правка cells-selection.
- Трехуровневое subtables.
- Фильтр пустых дат.
- limit в autocomplect.
- Фильтр по умолчанию 0 для чекбокса.
- Лог для json конфига.
- Добавить пагинацию внизу таблицы.
- Инструкция edit.type.content выгрузка в excel поля заданные контентом.
- Исправление parent в tree.
- Исправление расчет excel формул.
- Исправение предупреждений php.
- Отключение автозаполнения Chrome.
- Исправление sub.tabs.tables.
1.11.3-alpha
- Добавлено событие getTablesLoadGTSConfig для изменения gts-конфига, когда нельзя редактировать исходник.
- Select autocomplect - инструкция content_name.
- Добавлена инструкция edit['refresh_table'].
- Доработки getTree.
- Select autocomplect - инструкция treeOn включает для автокомплект дерево в dropdown nemu. Настройки rootIds, where_parent, where_active[, parentIdField, idField].
- Инструкции prepareRow, prepareRows для table.
- Исправлены предупреждения php.
1.11.2-alpha
- Добавлен тип поля number.
- Добавлен action insert.
1.11.1-alpha
- Исправление getTree.
- Правка верстки.
- Исправлен ckeditor.
1.11.0-alpha
- Доработан getTree.
1.10.1-alpha
- Исправение верстки bootstrap 4.
- Табы в модалке Создать Редактировать.
1.10.0-alpha
- Добавлено getTree.
- getTree. Загрузка таблиц и форм в панель.
- Условия в фильтрах.
1.9.5-alpha
- Добавлено response.data.replace на custom.
1.9.4-alpha
- Добавлено response.data.modal_close на custom.
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