Nano Hash - криптовалюты, майнинг, программирование

Настройка кнопок выбора диапазона Stockchart из библиотеки HighCharts в GWT (и Javascript в целом)

Я использую библиотеку HighCharts для GWT, и у меня возникла проблема.

Я пытаюсь сделать что-то вроде этого: пример биржевой диаграммы. Единственное, что меня интересует в этом вопросе, это свойство buttons внутри rangeSelector, в котором я хочу настроить тексты кнопок). На javascript код такой:

rangeSelector: {
            buttons: [{
                type: 'day',
                count: 3,
                text: '3dias'
            }, {
                type: 'week',
                count: 1,
                text: '1w'
            }, {
                type: 'month',
                count: 1,
                text: '1m'
            }, {
                type: 'month',
                count: 6,
                text: '6MS'
            }, {
                type: 'year',
                count: 1,
                text: '1ano'
            }, {
                type: 'all',
                text: 'All'
            }],
            selected: 3
        }

Теперь я пытаюсь сделать то же самое в GWT, используя метод setOption() на графике. Но ничего не работает.

Я думаю, что у меня проблемы, потому что свойству buttons нужен массив свойств, и я не могу понять, как это решить.

Что-то, что я пробовал:

chart.setOption("/rangeSelector/buttons", 
      new String[]{"{type: 'day', count: 1, text: '1dia'}", "{type: 'day', count: 1, text: '1dia'}"});`

Это лучшее, что я мог придумать, что создает две пустые кнопки и никаких действий.

Любая помощь будет оценена по достоинству. Спасибо большое.

ОБНОВЛЕНИЕ: (13 декабря 2012 г.)
После того, как был дан принятый ответ, мне нужно было установить кнопку w. Для этого просто используйте:

buttonTheme: {
    width: 80
}

что-то типа:

rangeSelector: {
                selected: 2,
                inputBoxStyle: {
                    top: '40px',
                    right: '10px'},
                buttons: [{
                    type: 'week',
                    count: 1,
                    text: '1 semana'
                }],
                buttonTheme: {
                    width: 80
                }
            }

Ответы:


1

Не могли бы вы попробовать следующее:

 String rangeSelectorConfig =  " {\n" +
            "                buttons: [{\n" +
            "                    type: 'day',\n" +
            "                    count: 3,\n" +
            "                    text: '3dias'\n" +
            "                }, {\n" +
            "                    type: 'week',\n" +
            "                    count: 1,\n" +
            "                    text: '1w'\n" +
            "                }]" +
            "            }" ;
 JSONValue config = JSONParser.parseLenient(rangeSelectorConfig);
 chart.setOption("/rangeSelector", config);

Класс Chart (с помощью Configurable) не анализирует объекты JSON за вас, поэтому кнопки в вашем коде были переданы как строковые литералы в собственный JS HightCharts.

29.08.2012
  • Это сработало! Спасибо большое. Только один вопрос, почему вы поставили \n там? Какая-то особенная причина? Спрашиваю, потому что без них работает. 29.08.2012
  • Это просто намек на форматирование моей ИДЕИ :) при копировании/вставке строковых литералов в код Java. Нет причин их добавлять. 29.08.2012
  • Ах, ладно, я подумал, что это может быть какой-то шаблон, хорошая практика или что-то в этом роде. Еще один вопрос, если вы знаете. Можно ли изменить длину кнопок? Потому что теперь, если я добавлю более длинные тексты, это будет беспорядочно. 29.08.2012
  • Я не уверен, на самом деле. Но пытались ли вы просто передать атрибут «ширина» для «кнопки»? 30.08.2012
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..