Skip to content

feat(mgr): тип Дата для extra fields - #623

Open
Ibochkarev wants to merge 1 commit into
betafrom
feat/issue-612-extra-field-date
Open

feat(mgr): тип Дата для extra fields#623
Ibochkarev wants to merge 1 commit into
betafrom
feat/issue-612-extra-field-date

Conversation

@Ibochkarev

Copy link
Copy Markdown
Member

Описание

В каталоге extra fields не было типа Дата, хотя в Опциях он уже есть. Добавлен datefield в ExtraFieldsManager с дефолтами колонки DATE, рендер через DatePicker и хранение значения в родителе как YYYY-MM-DD (без UTC-сдвига и без обрезки времени у нативных datetime полей заказа).

Тип изменений

  • Исправление бага (non-breaking change)
  • Новая функциональность (non-breaking change)
  • Breaking change
  • Рефакторинг
  • Документация
  • Другое:

Связанные Issues

Closes #612

Как это было протестировано?

cd vueManager
npx eslint src/components/DynamicField.vue src/components/ExtraFieldsManager.vue \
  src/utils/structuredExtraField.js src/utils/structuredExtraField.test.js
# exit 0

npx vitest run src/utils/structuredExtraField.test.js src/utils/formatLocalDateYmd.test.js
# exit 0 — 8 tests

npm run build
# exit 0
  • Ручное тестирование
  • Автоматические тесты
  • Тестирование на разных версиях PHP/MODX

Конфигурация тестирования:

  • MiniShop3: feat/issue-612-extra-field-date
  • MODX: —
  • PHP: —

Чеклист

  • Код соответствует стилю проекта
  • Комментарии в сложных местах (Date внутри DynamicField, parent = YMD)
  • Не ломает существующую функциональность
  • Лексиконы ru+en (ms3_vue_xtype_datefield, ms3_vue_dbtype_date)
  • PHPStan — PHP не менялся
  • ESLint по затронутым путям
  • CHANGELOG — не трогали (релиз)

Дополнительные заметки

Gate A

AC Code Test
Тип Дата в пикере extra field yes n/a UI
Дефолты dbtype/phptype при выборе yes n/a
Save/load без UTC-сдвига yes Vitest parse/serialize
Lexicons ru+en yes n/a
Не ломать order datetime yes ревью: сериализатор не на всех полях

Review: thermo BLOCK (Date в parent + общий serialize) исправлен: Date только в DynamicField, parent получает YYYY-MM-DD. Soft: phptype=datetime при dbtype=date — как дефолт UI; в phptypeOptions нет отдельного date.

Routing: plan=cursor-grok-4.6-high-fast, make=composer-2.5-fast, review=gpt-5.6-sol-medium (Opus slug недоступен в Task), thermo=cursor-grok-4.6-high-fast, simplify=composer-2.5-fast

Expose datefield in ExtraFieldsManager with DATE column defaults and keep
YYYY-MM-DD in parent state so saves do not truncate native order datetime.
@Ibochkarev
Ibochkarev requested a review from biz87 August 21, 2026 03:26
AgelxNash pushed a commit to AgelxNash/MiniShop3 that referenced this pull request Sep 6, 2026
@AgelxNash AgelxNash mentioned this pull request Sep 6, 2026
16 tasks
AgelxNash pushed a commit to AgelxNash/MiniShop3 that referenced this pull request Sep 6, 2026
Conflict resolution: PR 640 supersedes merged modx-pro#621 rework (same author, same
intent) — took PR side for 36 files; manually preserved modx-pro#631 useConfirm grids,
modx-pro#623 datefield dialog styles, modx-pro#643 gallery bits, modx-pro#605 order entry; ProductData
sections rebuilt on groupProductDataSections (keeps modx-pro#611/modx-pro#620 sort_order) under
PR 640 Panel layout.
@AgelxNash

Copy link
Copy Markdown

Этот PR включён в тестовую интеграционную сборку всех открытых PR MiniShop3: AgelxNash/MiniShop3, ветка integration/open-prs-20260906 (28/28 открытых).

Сборка нужна, чтобы проверить совместимость взаимозависимых серий PR до их мержа — при последовательном слиянии они конфликтуют друг с другом. Это не ревью и не конкурирующий PR: авторство сохранено (1 PR = 1 коммит с исходным автором), ветка пересобирается по мере обновления PR.

Как вошёл в сборку: Слился чисто. (При последующем #640 вручную сохранены его XTYPE_DB_DEFAULTS с DATEFIELD и глобальные стили диалога edit-field.)

@AgelxNash

Copy link
Copy Markdown

Спасибо за PR! Пожелание: скорейшего ревью и мержа 👍 Удачи!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] В типах полей extra field отсутствует тип поля Дата

2 participants