как создать новый плагин для jqplot -option?

Я добавил всего несколько строк в файл jqplot.pointlabels.js, чтобы получить дополнительную опцию в опции jqplot pointlabels. Как мне сделать новый плагин для этого?

Конечно, я хотел бы сохранить эти изменения, если мне нужно обновить. Я не знаю, как это сделать. Я пытаюсь сделать временную шкалу/график Ганта. Каждый элемент или часть строки представляет собой серию всего из двух точек. Поэтому вместо точечных меток на каждом конце я вычисляю центр и размещаю только одну метку.

Итак, в jqplot.pointlabels.js строка 322 будет:

            if (p.centerLabel) {
                var ell =  xax.u2p(pd[i][0]) + ((xax.u2p(pd[1][0]) - xax.u2p(pd[0][0])) / 2) +p.xOffset(elem, location);
            } else {
                var ell = xax.u2p(pd[i][0]) + p.xOffset(elem, location);    
            }

и в опциях jqplot я бы написал что-то вроде:

  pointLabels:{
              show:true,
              location:'s',
              fontSize: '1em',
              centerLabel: true, // extra option, see code
              labelsFromSeries: true,
              formatter: $.jqplot.DefaultTickFormatter,
          }

Я мог бы скопировать весь код в новый плагин с именем jqplot.singleSeriesLabels.js, но как заставить jqplot использовать этот плагин для «pointLabels»?


person Jeroen    schedule 24.07.2012    source источник


Ответы (1)


Я нашел простое решение: я скопировал весь плагин в новый файл и просто изменил имя плагина так

$.jqplot.newPluginName = function(options) {

На том сайте, где я раньше устанавливал параметры плагина pointLabels, я теперь делаю то же самое, но с новым названием:

newPluginName:{
          show:true,
          location:'s',
          fontSize: '1em',
          centerLabel: true, // extra option, see code
          labelsFromSeries: true,
          formatter: $.jqplot.DefaultTickFormatter,
      }

Не забудьте включить новый плагин-файл на свой сайт

person Jeroen    schedule 22.08.2012