Изменения API Globalize.js и пользовательский интерфейс jQuery
Я пытаюсь поиграть с примерами из jQuery UI, такими как этот. Я хотел бы использовать функции глобализации (например, для валютного поля), но кажется, что Globalize.js претерпел серьезные изменения API, поэтому код, используемый в примерах пользовательского интерфейса, не работает с версией Globalize. Я загрузил. Например, пользовательский интерфейс jQuery зависит от функции Globalize.parseFloat, которой нет в этой версии.
Итак, очевидно, что jQuery UI использует устаревшую версию Globalize.js, но как мне ее скачать? Я не мог найти никакой информации об этом, ни об изменениях API. Я мог бы загрузить JS-файлы, которые включены в jQuery UI, очевидно, но я надеялся на "более официальное" решение.
3 ответа
Я могу подтвердить, что выпуски Globalize 1.0.0-alpha несовместимы с текущими выпусками jQuery UI 1.11.x. Я успешно использовал Globalize 0.1.1 с jQuery UI 1.11.x.
В этом сообщении в блоге из пользовательского интерфейса jQuery указано, что они "... работают над полным переписыванием виджета datepicker. Переписывание будет включать гораздо более простой API, который значительно упростит настройку. Переписывание основано на переписанной библиотеке Globalize, основанный на CLDR, всеобъемлющем источнике данных глобализации." Надеюсь, эта перезапись будет включать в себя больше, чем просто сборщик дат!
Уже 2016 год, два года спустя, но jQuery 1.11.x все еще актуален (v1.12 в бета-версии). И я столкнулся с той же самой проблемой для проекта коричневого поля, который я делаю. Мне удалось решить эту проблему благодаря анализу ОП, в котором jQuery UI действительно принимает унаследованную версию Globalize, и решение @wedgef5 для возврата обратно к v0.1.1 Globalize.
ОП попросил официальный ответ. Я думаю, что нет, но в настоящее время рекомендуется использовать менеджер пакетов. Я использую Bower, который загружает текущую версию (сейчас v1.1) по умолчанию. Предполагая, что вы сделали то же самое, вы исправите это в Bower следующим образом:
bower uninstall globalize --save
bower install globalize#0.1.1 --save
Если вы используете другой менеджер пакетов, то применяется нечто подобное. После этого код, похожий на этот пример работает:). Ваш bower.json
должны быть изменены:
{
"name": "yourpackage",
...
"dependencies": {
...
"globalize": "0.1.1" // Used to be: "globalize": "^1.1.1"
...
}
...
}
Вы пытались перейти на вкладку релизов в проекте globalize github? Вы можете сделать перекрестную ссылку на даты выпуска globalize и jQueryUI и сделать свои лучшие предположения оттуда.