Рейтинг: 4  
Новая
Предложил Кирсанов Анатолий 24.12.2017 01:24:57

Допустить свою стилизацию дат в календаре BX.calendar

Сейчас (main 17.5.4) можно управлять выбором дат. Для этого нужно воспользоваться параметром callback и указать в нем функцию, возвращающую false для дат, которые выбирать нельзя.

Но этого недостаточно. Требуется визуально показать "нехорошие" даты, чтобы посетителю сайта не приходилось играть в минера. А для этого нужен еще один callback, возвращающий строку с дополнительными стилями для даты.

Дата этой библиотекой показывается ссылкой. Вся верстка создается в BX.JCCalendar._create_layer.
Стиля bx-calendar-weekend, используемого для традиционных выходных, недостаточно, т.к. есть еще и производственный календарь, даты в прошлом.

BX.calendar используется в стандартной компоненте bitrix:main.calendar.

Моя идея расширяет опубликованную в 2015 году идею о возможности выбора диапазона дат.

Добавлено:

Задача существенно шире стилизации. Из нее органично следует вторая - возможность перестройки календаря, если условия стилизации изменились. В моей ситуации это нужно для календаря с выбором желаемой клиентом даты доставки. Условия доставки могут измениться при выборе другого адреса доставки. Простая стилизация будет недостаточна, т.к. календарь "из коробки" строится один раз за все время жизни страницы.
Рейтинг: 4  
Новая
Предложил Нетёсов Александр 24.11.2017 22:57:54

Оптимизация виджета по версии Google

Добрый день.

Виджет, который мы устанавливаем на сайт, не оптимизирован по версии google page speed и другим сервисам анализа.

Используйте кеш браузера для следующих ресурсов:Оптимизируйте следующие изображения, чтобы уменьшить их размер на 5,7 КБ (39 %).Сократите код JavaScript на следующих ресурсах, чтобы уменьшить их размер на 675 Б (12 %).Сократите код CSS на следующих ресурсах, чтобы уменьшить их размер на 525 Б (14 %).https://developers.google.com/speed/pagespeed/insights/ и другие средства анализа

Я очень прошу поставить в приоритет данные оптимизации, так как они напрямую затрагивают показатели скорости и качество ранжирования
Рейтинг: 1.7355  
На голосовании
Предложил Smirnov Pavel 23.08.2016 15:47:31

В БУС в выпадающем меню компонента в режиме правки добавить пункт "Редактировать JS-файл компонента".

Сейчас, если в публичной части сайта на "Битрикс Управление Сайтом" в режиме правки навестись на компонент, то выпадет менюшка действий с компонентом, в том числе вот эти пункты:
Копировать шаблон компонента
Редактировать шаблон компонента
Редактировать CSS-файл шаблона
Обновить кеш компонента
Отключить компонент
Современные (особенно визуальные) компоненты зачастую содержат, кроме php и css, ещё и javascript-файл. И вот его невозможно отредактировать аналогичным образом через режим правки - только через структуру каталогов или вообще FTP.

Было бы удобнее, если бы добавили пункт "Редактировать JavaScript-файл шаблона".
Рейтинг: 0.1936  
Новая
Предложил Куклин Евгений 10.08.2016 14:43:27

BX.Access.Init - возможность указывать только нужные провайдеры

Инструмент вроде бы хороший, но недокументированный и местами непродуманный.
Что касательно сабжа - похоже, и сами понимаете, что механизм нужен, но реализовывали "на местах" и это криво - возможность проверки отключения сделали уже в самих провайдерах, т.е., для этой проверки всё равно подключается модуль, инициализируется провайдер, что, в общем-то, нафиг не нужно с точки зрения ресурсов. К тому же, такая возможность не во всех провайдерах (интранет вот нельзя отключить вовсе), а сами параметры для отключения не соответствуют ID провайдеров (например, для групп пользователей с ID group это groups, для socnetgroup это socnetgroups, да я себе чуть мозг не сломал, пытаясь понять, почему у меня не получается их убрать из диалога, кто придумал там эту "s" на конце? :evil: )

Сделайте, пожалуйста, хотелось бы использовать этот удобный диалог, но зачастую ряд провайдеров не нужен вовсе.
Рейтинг: 1.9447  
На голосовании
Предложил faragly halik 02.07.2015 12:19:58

Поправить алгоритм вытягивания всех script'ов со страницы в админке

При написании страницы модуля, использующей angular, столкнулся с багом - страница после авторизации не отображалась. Выводит ошибку в консоли
Uncaught SyntaxError: Unexpected token <
 
Как оказалось при авторизации битрикс с помощью ajax получает страницу, и затем скрипты собираются из тегов и запускаются, но проблема в том, что он тянет не type="text/javascript", а все подряд, в моем случае в скрипты попадает angular шаблон type="text/ng-template". Моя идея - собирайте скрипты только с заданным type="text/javascript", а то что то мне подсказывает что если я сделаю шаблон для публичной части и буду в нем использовать text/ng-template, то при отметке "Переместить весь Javascript в конец страницы", обнаружится баг. Но если честно пока не проверял, это предположение.
Рейтинг: 5.8447  
На голосовании
Предложил Быков Никита 17.10.2014 11:57:23

Убрать принудительное подключение core.js и т.п.

Мне кажется, что было бы логично убрать принудительное подключение core.js и прочих файлов битриксового JS-фреймворка.

А так это более 200 кило чаще всего неиспользуемого кода.
Рейтинг: 10.7862  
Новая
Предложил Лех Константин 03.09.2014 13:15:38

CMain::AddFooterScript

Есть CMain::AddHeadScript, который добавляет скрипты в <head></head>.
Но для ускорения загрузки сейчас в основном верстают так, что скрипты подключаются в футере.
По-моему, уже почти все написали свои отложенные функции для этого, но они не работают с CDN и не сжимают файлы.
Было бы хорошо иметь встроенный механизм для этого.
Рейтинг: 13.9272  
На голосовании
Предложил Шкарупа Алексей 27.05.2014 16:37:44

Долой BX.core, BX.ajax из зависимостей композитной технологии

Если кто-то не заметил, то когда вы включаете композитный сайт автоматически в зависимости каждой страницы добавляются js-библиотеки BX.core, BX.ajax даже если вы их нигде больше не используете.

Почему добавляются понятно - нужно делать ajax-запросы к теневой странице. Но очень напрягает что ускорение за счет быстрой отдачи страницы смазывается загрузкой дополнительных ~150 кБ javascript.
Мне не жалко, вот только на мобильных (а мы помним что композит позиционируется как ускорение и для мобильников в особенности) загрзка и интерпретация этих лишних килобайт скриптов займет много времени.

Это все происходит при том, что на 99% сайтов используется jQuery. А если она уже загружается - почему бы не использовать ее? Битриксу переписать js-заглушки проще и правильнее чем заставлять каждого верстальщика учить BX и не использовать jQuery.

Суть идеи в том, чтобы в настройках модуля композитного сайта появилась настройка "Какую JS-библиотеку использовать для заглушек": BX / jQuery
Рейтинг: 0.2825  
Новая
Предложил Плешаков Сергей 25.02.2014 15:35:41

Добавить событие для веб-форм в режиме ajax

В режиме ajax добавить метод javaScript наподобие "Прокрутить к началу компонента":

BX.scrollToNode = function (node) {};
сделать что-то вроде BX.onFinish(node){};

Сейчас приходится включать режим "AJAX_JUMP" => "Y", и переопределять BX.scrollToNode, чтобы добавить обработку данных.
Рейтинг: 22.648  
На голосовании
Предложил Постоев Олег 13.02.2014 11:41:27

Выводить текущее время сервера на странице редактирования агента



Предлагаю на странице редактирования агента выводить текущее время сервера.
Это было бы удобно для ввода даты и времени следующего запуска.
Технология примерно такая - при открытии страницы берется текущее время сервера а дальше идет отсчет с помощью JS в поле рядом с полем "Дата и время следующего запуска"
Рейтинг: 0.701  
На голосовании
Предложил Шерлок Холмс 11.02.2014 19:06:09

Добавить популярные яваскриптовые библиотеки в Битрикс

Было бы хорошо, чтобы с помощью стандартной функции подключения скриптов
CJSCore::Init(array("jquery");

можно было подключать и другие популярные яваскриптовые библиотеки:

- fancybox
- google fonts
- bxslider
- slimbox
- google charts
... и тд.

Если они будут подключаться из облака 1С-Битрикс - еще лучше.

Это позволит избежать дублирования подлючения скриптов, и иметь единый удобный интерфейс для использования подобных библиотек.
Рейтинг: 62.7251  
Новая
Предложил Абросимов Илья 30.10.2013 17:35:05

Добавить флаг async в CJSCore::Init

На данный момент все скрипты JavaScript, загружаются через CJSCore::Init в синхронном режиме, т.е. блокируют прорисовку страницы.
Идея состоит в том, чтобы дать возможность инициализировать скрипты в асинхронном режиме, если в настройках кеширования не стоит галочка "Объединять JS файлы"
Рейтинг: 30.9163  
На голосовании
Предложил Куклин Евгений 31.08.2013 09:11:01

jQuery - сохранять и использовать в поставке старые мажорные версии

Почему бы не сохранять в поставке и далее мажорные версии jQuery? Сейчас есть 1.7 и 1.8, с поступлением новых - и так далее. Места они много не просят.
Естественно, не просто сохранять, а сделать возможность инициализировать конкретную версию либы через
CUtil::InitJSCore('')
оно же
CJSCore::Init()
Например, InitJSCore('jquery18') или InitJSCore('jquery20'). А вызов без указания версии InitJSCore('jquery') зафиксировать на текущей - 1.8.x.
Это поможет избежать проблем с несовместимостью скриптов и версий библиотеки, не бояться обновления jQuery в поставке, ну и позволит разработчикам подключать именно то, что нужно.

Да, будет проблема на активных проектах, которые развиваются, ставят решения из МП, может возникнуть конфликт версий. Но он может возникнуть и сейчас, когда может использоваться прямое подключение файла либы в решении. Или же просто всё отпадёт при обновлении версии и потребует вмешательства разработчика.
А так хотя бы будет уверенность, что на уже сданных, стабильных проектах яваскрипт не умрёт при обновлении продукта из-за несовместимости с новой версией jQuery.
Рейтинг: 34.4919  
Новая
Предложил Зайцев Артемий 22.01.2013 19:52:15

Возможность указать свою javascript-функцию, которая вызовется после обновления области Аяксом

В компоненте с ajax требуется после обновления области вызвать функцию javascript, которая раскрасит таблицу и вызовет плагины jQuery.

В функции BX.ajax.submitComponentForm(форма, элемент, показывать_колесико_загрузки ); необходимо добавить четвертый параметр  "callback_function" - имя функции обратного вызова.

В форму к настройкам Аякса стандартного компонента добавить поле "Имя javascript-функции для вызова после обновления области".

Эти маленькие улучшения в будущем позволят в любом компоненте, где включен Аякс вызывать свою функцию для обновления области. В том числе для компонента корзины на Аякс.
Рейтинг: 53.2351  
Новая
Предложил Долганин Антон 10.03.2012 13:51:04

CMain::set_cookie/get_cookie - js-аналог, а также удобная работа с cookie на JS

CMain::set_cookie/get_cookie удобен тем, что учитывает префикс из настроек главного модуля. А вот если мы ставим cookie из JS, то этот префикс плюсовать/отнимать надо самостоятельно.

Хотелось бы удобной обертки (да и в принципе удобной работы) для cookie, которая все это учитывает, наподобие плагина $.cookie.
Рейтинг: 23.9682  
На голосовании
Предложил Долганин Антон 28.10.2011 19:50:05

Диалоговые окна в публичке - Enter и Esc

Хочется отработки Enter и Esc в любом диалоговом окне в публичке.
Рейтинг: 195.2697  
Внедрено
Предложил Зарагулов Сергей 26.10.2011 19:35:42

Когда появится описание javascript библиотеки Битрикса

Все активнее в стандартных компонентах используются API собственной библиотеки javascript. Хотелось бы получить документацию на API данной библиотеки, чтобы можно было ее использовать и в своих проектах и модифицировать стандартные компоненты. Когда появится такая документация, ведь по ajax документация существует уже давно.
Рейтинг: 0.2393  
Ответил Басыров Роберт 23.12.2013 16:40:02
Давно реализовано, прошу прощения за то, что забыл перевести в статус Внедрено.
http://dev.1c-bitrix.ru/api_help/main/js_lib/index.php