highcharts / highcharts-editor

https://www.highcharts.com/products/highcharts-editor
Other
250 stars 96 forks source link

Editor "with advanced" features not working properly #143

Open Nopzh opened 7 years ago

Nopzh commented 7 years ago

Hi,

currently evaluating the possibility of working with Highcharts editor on a project, to fit my needs, I need to extend the advanced "offline" editor it but I'm facing some issues.

Editor's version is : BETA 0.1.3

1) "Fields" supposed to be returning an array type, aren't. Some of them are "crashing" the editor because it's returning an object instead of an object's array (such as plotOptions-line-zones for which I found a workaround to avoid the "crash" of the editor and make it work with 1 zone but I need multiples zones as it's supposed to work )? Unfortunately I cannot manage to add the array returnType behavior in general. So lots of functionnalities are simply unavailable because of that. (zones,breaks,margins,...). In addition the extended functions I will design will need to receive an object's array. So I'm currently stuck. Have you guys fixed those issues for a future release? Or have some clues for me :)

2) Developping plugin for Highcharts is relatively easy but at the moment I haven't found a way to add those plugin in the advanced editor. Should just adding a new "part" in the "js/" folder and some field with right name/id (pluginName--fieldName) be enough to make the "connection" between the interface and the plugin? (I'm not talking about an import/export plugin but a chart plugin)

Also is there any plan to fix the advanced editor ?

cvasseng commented 7 years ago

Did you try the master branch? It addresses several issues with advanced mode. It needs to be built differently though (use gulp complete to bake a single js file with advanced mode baked into it).

Not sure I follow you on your second question - there are no plugins that lets you attach things to fields in the UI. What should your plugin do?

Nopzh commented 7 years ago

I tried the highcharts-master (to achieve the custom files tutorial, retrieving assembler,js,css folders) and not the highcharts-editor-master but thanks to your reply, I managed to build a with-advanced version fixing the previous issues. With addition some new features are included which is nice ! But I had to use gulp with-advanced as gulp all throws the following errors : 1) events.js:160 throw er; // Unhandled 'error' event ^ Error: spawn 7z ENOENT

2) error when including module highstock { Error: ENOENT: no such file or directory, scandir 'C:\Users\user\Desktop\highcharts-editor-master\src\products\highstock\validators'

For my second question I finally found a way to add, in the editor, a custom chart's plugin with linked new custom UI fields.

Thank you again !

Nopzh commented 7 years ago

Now I'm facing a new issue. It seems that the templates part of the editor has been reworked. I cannot manage to make it work. I found a way to add a template by calling :

But when I select it in the template window it doesn't have any effect on the chart, it's still a Line chart instead of an Area one.

Shouldn't the editor take into account the config object and apply it to the chart then redraw it?

It was working great on 0.1.3 but it doesn't work anymore.

cvasseng commented 7 years ago

The format has changed. It looks like this now:

    highed.templates.add('Area', {
        "title": "Arearange",
        "description": "",
        "thumbnail": "https://cloud.highcharts.com/images/udepat/0/136.svg",
        "dataValidator": false,
        "sampleSets": [],
        "config": {
            "chart": {
                "type": "arearange",
                "polar": false
            }
        }
    });

If you're missing the default templates, you need to build with gulp complete (this is the preferred way of building the editor in the master branch if you want the advanced mode as well).

Nopzh commented 7 years ago

Ok, with the new format I manage to add custom templates.

Yes I'm missing the default templates but gulp complete is throwing this error :

_error when including module highstock { Error: ENOENT: no such file or directory, scandir 'C:\Users***\Desktop\highcharts-editor-master\src\products\highstock\validators'

at Error (native)
at Object.fs.readdirSync (fs.js:952:18)
at include (C:\Users\***\Desktop\highcharts-editor-master\gulpfile.js:42:18)
at appendFilesFromProduct (C:\Users\***\Desktop\highcharts-editor-master\gulpfile.js:57:5)
at Gulp.<anonymous> (C:\Users\***\Desktop\highcharts-editor-master\gulpfile.js:68:19)
at module.exports (C:\Users\***\Desktop\highcharts-editor-master\node_modules\orchestrator\lib\runTask.js:34:7)
at Gulp.Orchestrator._runTask (C:\Users\***\Desktop\highcharts-editor-master\node_modules\orchestrator\index.js:273:3)
at Gulp.Orchestrator._runStep (C:\Users\***\Desktop\highcharts-editor-master\node_modules\orchestrator\index.js:214:10)
at Gulp.Orchestrator.start (C:\Users\***\Desktop\highcharts-editor-master\node_modules\orchestrator\index.js:134:8)
at Gulp.<anonymous> (C:\Users\***\Desktop\highcharts-editor-master\gulpfile.js:85:8)
at module.exports (C:\Users\***\Desktop\highcharts-editor-master\node_modules\orchestrator\lib\runTask.js:34:7)
at Gulp.Orchestrator._runTask (C:\Users\***\Desktop\highcharts-editor-master\node_modules\orchestrator\index.js:273:3)
at Gulp.Orchestrator._runStep (C:\Users\***\Desktop\highcharts-editor-master\node_modules\orchestrator\index.js:214:10)
at Gulp.Orchestrator.start (C:\Users\***\Desktop\highcharts-editor-master\node_modules\orchestrator\index.js:134:8)
at Gulp.<anonymous> (C:\Users\***\Desktop\highcharts-editor-master\gulpfile.js:360:10)
at module.exports (C:\Users\***\Desktop\highcharts-editor-master\node_modules\orchestrator\lib\runTask.js:34:7)

errno: -4058, code: 'ENOENT', syscall: 'scandir', path: 'C:\Users\***\Desktop\highcharts-editor-master\src\products\highstock\validators' }_

cvasseng commented 7 years ago

Try creating the validators folder in src/products/highstock. It can be empty.

Nopzh commented 7 years ago

Empty folder does the trick. But I still don't have the default templates.

One last thing, multiple zones are working globally but not per serie. UI doesn't allow me to add multiple zones to a specific serie, there's no 'plus icon' next to series.type.zones, even though series.type.zones has Array as returnType, unlike plotOptions.type.zones (which is working great).

Is it the current expected behavior, can I fix it, is it planned to fix it?

Nopzh commented 7 years ago

Ok forget about my last question, I added "type": { "names": [ "Array" ] } for each subtype of series and it's working

cvasseng commented 7 years ago

The master branch is inherently a work-in-progress, and as such is unstable and contains unfixed issues. Chances are if you stumble upon something that doesn't work quite right that it's unintended, and will be fixed. ;)

Nopzh commented 7 years ago

Yup right but questions never hurt ! :)

I'm fixing issues whenever I meet them ( already fixed few of them)

Thank you for your help !

cvasseng commented 7 years ago

Don't get me wrong, it was more of a "there be dragons"-statement; we appreciate any and every feedback we get!