Skip to content
18

About me

I was born in Hong Kong, first half of my education was in HK and the other half in UK. Got my B.Sc & Ph.D in Multimedia at Southampton University. Since then I have worked for various size of companies from mega to a handful of employees. Currently, I am working for iTrinegy in the UK, been on various networking projects but for the last 7 years I have been responsible for implementing the web front ends of the entire company products range.

18 Comments Post a comment
  1. Aug 12 2010

    Hi Joe (Joseph) Kuan i am new to word press can you help me to learn WP?
    I like to work with you
    i am himanshu patel form India

    Reply
    • Joe Kuan
      Aug 12 2010

      WP shouldn’t require much learning curve. What would you like to learn from WP?

      Joe

      Reply
  2. Mike
    Jan 13 2012

    http://joekuan.wordpress.com/2011/03/22/changing-columns-editor-dynamically-in-extjs-roweditor/

    I’m using your code in this area of my RowEditor code

    editor.on({
    scope : this,
    beforeedit : function(grid, rowIndex, colIndex) {

    your code here……

    When I’m in edit mode in the RowEditor everything works perfectly. When I update and go back to my grid, the rows aren’t the right xtype. For instance a date I return gives me the whole time date stamp … I guess because it’s in a text field.

    How or where should I place your code so that I can change my grid row types as well as my RowEditor types?

    Thanks in advance.

    Mike

    Reply
    • Joe Kuan
      Jan 19 2012

      First of all, you need to have one column with combobox type which has a selection of data type for the target column to edit with.

      So, on the ‘select’ event handler of this combobox, you put in the code to change the editor of the column

      select: function(combo, record, index) {
      var cm = Ext.getCmp(‘color_editor’).getColumnModel();
      var valCol = cm.getColumnAt(3);
      var change = false;
      ….

      As for datetime field updating the column, I think you can either specify the column renderer handler or ‘afteredit’ event handler to format the value.

      Reply
  3. Apr 18 2012

    Hi Joe,

    Would you be interested inauthoring a book on “Learning Highcharts” for Packt Publishing?
    Please mail me at kartikeyp@packtpub.com for more details. Thanks.

    Reply
  4. Jun 25 2012

    Hi Joe,

    I would like to know abuot your updating version of HighCharts Gauge for EXTJS 4.
    I am looking forward to hearing from you.

    Regards,

    Reply
    • Joe Kuan
      Jun 27 2012

      Highcharts 3.0 will have a lot of new type of charts including stunning gauge chart and I will update my extension for it.

      Reply
  5. Oct 27 2012

    Good tips about enabling mouse events on iPad for ExtJS. I am wondering if you ever played with the Ext.Slider control, which doesn’t work with iPad either. I tried adding touchHandler, but that didn’t seem to work, and I was hoping you might have a recommendation on where to look to try to make it work. My google efforts turned up little but this site: http://xantus.tumblr.com/page/2 and he hasn’t posted any code.

    Reply
  6. Jan 22 2013

    Hi Joe, I started using your Highcharts Sencha adapter in a small project. It works fine as long using one single ExtJS store.

    For this I have the following questions:
    1. Can I use multiple stores and define per serie what store to use?
    2. When loading a store, I tried to figure out how I can assgin an Y value to a specific value on the X axis. Although trying to use “xField” I never managed, data from the serie always gets assigned to the [0] index on the x Axis
    3. As well I tried to setup x Axis wit a range from -20 to +30. Again I was not able to assign data starting by -20
    4. I would like to mix lines and scatter in one chart. I think this will only be feasible by using multpil stores since the data is too different…?

    It’s not a secret, so you may check the details in the website link of this post.

    Thank’s a lot for your help,
    Frank

    Reply
    • Joe Kuan
      Jan 23 2013

      Sorry, extremely busy right now. I will try to give u some answers in the weekend

      Reply
    • Joe Kuan
      Jan 26 2013

      1. No, current the extension doesn’t support multiple stores. Partly, I don’t get many feature requests on this issue. If you really have to use multiple stores, then I suggest you use addSeries with ‘data’ option that are extracted from those store.on(‘load’). Assume you have a refresh button, then you reload all those stores together and call the internal chart API functions setData.

      2. Sorry, I don’t really follow this. I think you need to point me to particular section of your code and guide me through your online demo.

      3. x axis range should be configured via Highcharts configuration section.

      4. Yes, you can mix lines and scatter in one chart and I don’t see any problem doing that with the extension. What do you mean by ‘too different’? The data model/definition or the value range?

      PS: Email me via kuan.joe@gmail.com, as this may require quite a few exchanges.

      Thanks
      Joe

      Reply
  7. Apr 19 2013

    Joe,
    Your extension + highcharts is the only combination I found that allows me to generate charts in ExtJS while dynamically adding series. I have undefined numbers of series which represent data spread over period of time (one of the fields represent date)
    Using addSeries() I can compare these series dynamically! But what should I do with x values (date in my case)? Can I control X-values during series generation or is there other workaround?

    Tried to make fake store – to bind the chart to. Store has only one field – Time. But it breaks the chart.
    Any clue is greatly appreciated!

    Thanks,
    Roman

    Reply
    • Joe Kuan
      Apr 20 2013

      The extension allows you to add dynamic series without binding to a store

      You can try to use addSeries as follows:

      addSeries([{
      type: 'spline',
      data: [ [ x1, y1 ], [ x2, y2 ], [ x3, y3 ], …. ]
      }]);

      Thanks
      Joe

      Reply
      • Apr 22 2013

        even if x1,x2,x3,.. are dataType;’date’ ?

      • Apr 22 2013

        tried passing
        1. [date,value] (Highcharts doesn’t see the date – x marks are from 0 to…number of values)
        2. ["time":date,"value":value] with specifying xField:’time”
        3. for 1st series created in memory store to use bindStore and then load the rest series using addSeries

        none worked :-(

      • Joe Kuan
        Apr 23 2013

        Highcharts supports numerical x-axis and other options for formatting date time values, such as formatter and dateTimeLabelFormats. The online demo ‘Line Shift – numerical x-axis’ illustrates how to format numerical x-axis values.

        xAxis : {
        type: ‘datetime’,
        title : {
        text : ‘Time’
        }
        }

  8. Apr 23 2013

    yep, it worked :)
    no-store binding, populating series with pairs of {x:value, y:date} and setting
    xAxis : {
    type: ‘datetime’,
    ….

    Thank you!

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Note: HTML is allowed. Your email address will never be published.

Subscribe to comments

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: