@operato/scene-chartjs 2.0.0-beta.0 → 7.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/dist/editors/property-editor-chartjs-abstract.d.ts +3 -3
- package/dist/editors/property-editor-chartjs-abstract.js +0 -8
- package/dist/editors/property-editor-chartjs-abstract.js.map +1 -1
- package/dist/editors/property-editor-chartjs-hbar.d.ts +3 -4
- package/dist/editors/property-editor-chartjs-hbar.js +38 -42
- package/dist/editors/property-editor-chartjs-hbar.js.map +1 -1
- package/dist/editors/property-editor-chartjs-mixed.d.ts +1 -1
- package/dist/editors/property-editor-chartjs-multi-series-abstract.d.ts +6 -8
- package/dist/editors/property-editor-chartjs-multi-series-abstract.js +90 -97
- package/dist/editors/property-editor-chartjs-multi-series-abstract.js.map +1 -1
- package/dist/editors/property-editor-chartjs-pie.d.ts +1 -1
- package/dist/editors/property-editor-chartjs-radar.d.ts +1 -1
- package/dist/editors/property-editor-chartjs-styles.js +35 -29
- package/dist/editors/property-editor-chartjs-styles.js.map +1 -1
- package/dist/editors/property-editor-chartjs.d.ts +1 -1
- package/dist/editors/property-editor-chartjs.js +3 -1
- package/dist/editors/property-editor-chartjs.js.map +1 -1
- package/dist/ox-chart.d.ts +1 -1
- package/package.json +2 -4
- package/schema.graphql +76 -43
- package/src/editors/property-editor-chartjs-abstract.ts +0 -12
- package/src/editors/property-editor-chartjs-hbar.ts +38 -44
- package/src/editors/property-editor-chartjs-multi-series-abstract.ts +111 -120
- package/src/editors/property-editor-chartjs-styles.ts +35 -29
- package/src/editors/property-editor-chartjs.ts +3 -1
- package/tsconfig.tsbuildinfo +1 -1
    
        package/CHANGELOG.md
    CHANGED
    
    | @@ -3,6 +3,23 @@ | |
| 3 3 | 
             
            All notable changes to this project will be documented in this file.
         | 
| 4 4 | 
             
            See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
         | 
| 5 5 |  | 
| 6 | 
            +
            ## [7.0.0-rc.0](https://github.com/things-scene/operato-scene/compare/v2.0.0-beta.8...v7.0.0-rc.0) (2024-06-21)
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            **Note:** Version bump only for package @operato/scene-chartjs
         | 
| 9 | 
            +
             | 
| 10 | 
            +
             | 
| 11 | 
            +
             | 
| 12 | 
            +
             | 
| 13 | 
            +
             | 
| 14 | 
            +
            ## [2.0.0-beta.7](https://github.com/things-scene/operato-scene/compare/v2.0.0-beta.6...v2.0.0-beta.7) (2024-06-14)
         | 
| 15 | 
            +
             | 
| 16 | 
            +
             | 
| 17 | 
            +
            ### :bug: Bug Fix
         | 
| 18 | 
            +
             | 
| 19 | 
            +
            * replace polymer with md3 for chartjs editor ([005940d](https://github.com/things-scene/operato-scene/commit/005940da7ed46b5cfba9dc9283c09888ad806a77))
         | 
| 20 | 
            +
             | 
| 21 | 
            +
             | 
| 22 | 
            +
             | 
| 6 23 | 
             
            ## [2.0.0-beta.0](https://github.com/things-scene/operato-scene/compare/v2.0.0-alpha.12...v2.0.0-beta.0) (2024-06-01)
         | 
| 7 24 |  | 
| 8 25 |  | 
| @@ -6,10 +6,10 @@ export default class PropertyEditorChartJSAbstract extends LitElement { | |
| 6 6 | 
             
                static styles: import("lit").CSSResult[];
         | 
| 7 7 | 
             
                value: any;
         | 
| 8 8 | 
             
                currentSeriesIndex: number;
         | 
| 9 | 
            -
                render(): import("lit").TemplateResult<1>;
         | 
| 9 | 
            +
                render(): import("lit-html").TemplateResult<1>;
         | 
| 10 10 | 
             
                firstUpdated(): void;
         | 
| 11 | 
            -
                displayValueTemplate(): import("lit").TemplateResult<1>;
         | 
| 12 | 
            -
                editorTemplate(props: Properties): import("lit").TemplateResult<1>;
         | 
| 11 | 
            +
                displayValueTemplate(): import("lit-html").TemplateResult<1>;
         | 
| 12 | 
            +
                editorTemplate(props: Properties): import("lit-html").TemplateResult<1>;
         | 
| 13 13 | 
             
                get data(): any;
         | 
| 14 14 | 
             
                set data(data: any);
         | 
| 15 15 | 
             
                get datasets(): any;
         | 
| @@ -246,14 +246,6 @@ class PropertyEditorChartJSAbstract extends LitElement { | |
| 246 246 | 
             
                                case 'text':
         | 
| 247 247 | 
             
                                    return String(element.value);
         | 
| 248 248 | 
             
                            }
         | 
| 249 | 
            -
                        case 'PAPER-BUTTON':
         | 
| 250 | 
            -
                            return element.active;
         | 
| 251 | 
            -
                        case 'PAPER-LISTBOX':
         | 
| 252 | 
            -
                            return element.selected;
         | 
| 253 | 
            -
                        case 'THINGS-EDITOR-MULTIPLE-COLOR':
         | 
| 254 | 
            -
                            return element.values;
         | 
| 255 | 
            -
                        case 'THINGS-EDITOR-ANGLE-INPUT':
         | 
| 256 | 
            -
                            return Number(element.radian) || 0;
         | 
| 257 249 | 
             
                        default:
         | 
| 258 250 | 
             
                            return element.value;
         | 
| 259 251 | 
             
                    }
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"property-editor-chartjs-abstract.js","sourceRoot":"","sources":["../../src/editors/property-editor-chartjs-abstract.ts"],"names":[],"mappings":";AAAA,OAAO,0BAA0B,CAAA;AAEjC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5C,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAGlE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAE9E,MAAqB,6BAA8B,SAAQ,UAAU;IAArE;;QAG8B,UAAK,GAAQ,EAAE,CAAA;QACf,uBAAkB,GAAW,CAAC,CAAA;IAsT5D,CAAC;IApTC,MAAM;QACJ,OAAO,IAAI,CAAA;;;;gEAIiD,IAAI,CAAC,KAAK;;;;;4DAKd,IAAI,CAAC,OAAO;;;8DAGV,IAAI,CAAC,SAAS;;;4DAGhB,IAAI,CAAC,OAAO;;;4DAGZ,IAAI,CAAC,OAAO;;;QAGhE,IAAI,CAAC,OAAO;YACZ,CAAC,CAAC,IAAI,CAAA;;yEAE2D,IAAI,CAAC,QAAQ;;;;;;WAM3E;YACH,CAAC,CAAC,IAAI,CAAA,EAAE;QACR,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;KAC5B,CAAA;IACH,CAAC;IAED,YAAY;QACV,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC7E,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAA;;iEAEkD,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE;;;iEAG7B,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE;;wEAEtB,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,KAAK;;;QAGjG,IAAI,CAAC,MAAM,CAAC,YAAY;YACxB,CAAC,CAAC,IAAI,CAAA;;;;uBAIS,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,MAAM;;;6EAGgB,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE;;gEAE9C,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,QAAQ;;;;;WAK5F;YACH,CAAC,CAAC,IAAI,CAAA,EAAE;KACX,CAAA;IACH,CAAC;IAED,cAAc,CAAC,KAAiB;QAC9B,OAAO,IAAI,CAAA,EAAE,CAAA;IACf,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA;IACxB,CAAC;IAED,IAAI,IAAI,CAAC,IAAI;QACX,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAA;IACxB,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QAEhD,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAA;IAC3B,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAED,IAAI,MAAM;QACR,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAA;QACxF,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC/C,CAAC;IAED,IAAI,MAAM,CAAC,MAAM;QACf,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,CAAA;IACtG,CAAC;IAED,IAAI,OAAO,CAAC,GAAG;QACb,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,CAAA;IAC3B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;IAC5B,CAAC;IAED,IAAI,MAAM;QACR,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAA;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAA;IAClC,CAAC;IAED,IAAI,MAAM,CAAC,MAAM;QACf,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;IACpC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAA;IACvD,CAAC;IAED,IAAI,KAAK,CAAC,KAAK;QACb,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAA;QAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAA;IAClC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,KAAK,KAAK,CAAA,CAAC,kBAAkB;IACvF,CAAC;IAED,IAAI,OAAO,CAAC,OAAO;QACjB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAA;IACtC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,KAAK,KAAK,CAAA,CAAC,kBAAkB;IACzF,CAAC;IAED,IAAI,SAAS,CAAC,SAAS;QACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAA;IAC1C,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAA;IAClC,CAAC;IAED,IAAI,MAAM,CAAC,MAAM;QACf,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAA;QAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;IACpC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA;IAC3C,CAAC;IAED,IAAI,OAAO,CAAC,OAAO;QACjB,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;IAC/B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAA;IAC7B,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ;QACnB,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACjC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAA;IACnC,CAAC;IAED,IAAI,OAAO,CAAC,OAAO;QACjB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAA;IACtC,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAA;IAC5C,CAAC;IAED,IAAI,YAAY,CAAC,YAAY;QAC3B,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IACvC,CAAC;IAED,IAAI,OAAO,CAAC,OAAO;QACjB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAA;IAC9B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED,eAAe,CAAC,CAAQ;QACtB,IAAI,OAAO,GAAG,CAAC,CAAC,MAA0B,CAAA;QAC1C,IAAI,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;QAC3C,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAEzB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAM;QACR,CAAC;QAED,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;QAEtC,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAA;QAC9B,IAAI,QAAQ,GAAG,IAAI,CAAA;QAEnB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,YAAY;YACZ,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;YACzB,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAA;QAC5B,CAAC;QAED,YAAY;QACZ,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;QAEtB,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAChF,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC;IAED,WAAW,CAAC,CAAQ;QAClB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAM;QAErC,IAAI,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;QACrD,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA;QACnD,IAAI,eAAe,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;QAEvF,IAAI,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC;YACrC,SAAS;YACT,cAAc,EAAE,eAAe;YAC/B,eAAe;SAChB,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC1C,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAChF,IAAI,CAAC,kBAAkB,GAAG,eAAe,CAAA;IAC3C,CAAC;IAED,qBAAqB,CAAC,CAAQ;QAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAM;QAErC,IAAI,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAA;QACvC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;QAE7C,SAAS,EAAE,CAAA;QAEX,IAAI,SAAS,GAAG,CAAC;YAAE,SAAS,GAAG,CAAC,CAAA;QAEhC,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAChF,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAA;QAEnC,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC;IAED,eAAe,CAAC,EACd,SAAS,EACT,cAAc,EACd,eAAe,EAKhB;QACC,IAAI,eAAe,GAAQ;YACzB,KAAK,EAAE,UAAU,cAAc,GAAG,CAAC,EAAE;YACrC,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,CAAC;YACd,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,WAAW,CAAC;gBACjB,GAAG,EAAE,eAAsB;aAC5B,CAAC,CAAC,WAAW,EAAE;SACjB,CAAA;QAED,eAAe,CAAC,IAAI,GAAG,eAAe,CAAC,SAAS,GAAG,SAAS,CAAA;QAC5D,OAAO,eAAe,CAAA;IACxB,CAAC;IAED,gBAAgB,CAAC,OAAoB;QACnC,QAAQ,OAAO,CAAC,OAAO,EAAE,CAAC;YACxB,KAAK,OAAO;gBACV,QAAS,OAA4B,CAAC,IAAI,EAAE,CAAC;oBAC3C,KAAK,UAAU;wBACb,OAAQ,OAA4B,CAAC,OAAO,CAAA;oBAC9C,KAAK,QAAQ;wBACX,OAAO,MAAM,CAAE,OAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oBACzD,KAAK,MAAM;wBACT,OAAO,MAAM,CAAE,OAA4B,CAAC,KAAK,CAAC,CAAA;gBACtD,CAAC;YAEH,KAAK,cAAc;gBACjB,OAAQ,OAAe,CAAC,MAAM,CAAA;YAEhC,KAAK,eAAe;gBAClB,OAAQ,OAAe,CAAC,QAAQ,CAAA;YAElC,KAAK,8BAA8B;gBACjC,OAAQ,OAAe,CAAC,MAAM,CAAA;YAEhC,KAAK,2BAA2B;gBAC9B,OAAO,MAAM,CAAE,OAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAE7C;gBACE,OAAQ,OAAe,CAAC,KAAK,CAAA;QACjC,CAAC;IACH,CAAC;;AAxTM,oCAAM,GAAG,CAAC,2BAA2B,CAAC,AAAhC,CAAgC;eAD1B,6BAA6B;AAGpB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4DAAgB;AACf;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yEAA+B","sourcesContent":["import '@operato/i18n/ox-i18n.js'\n\nimport { html, LitElement } from 'lit'\nimport { property } from 'lit/decorators.js'\n\nimport { random as randomColor, TinyColor } from '@ctrl/tinycolor'\nimport { Properties } from '@hatiolab/things-scene'\n\nimport { PropertyEditorChartJSStyles } from './property-editor-chartjs-styles'\n\nexport default class PropertyEditorChartJSAbstract extends LitElement {\n  static styles = [PropertyEditorChartJSStyles]\n\n  @property({ type: Object }) value: any = {}\n  @property({ type: Number }) currentSeriesIndex: number = 0\n\n  render() {\n    return html`\n      <legend><ox-i18n msgid=\"label.chart\">Chart</ox-i18n></legend>\n\n      <label> <ox-i18n msgid=\"label.theme\">theme</ox-i18n> </label>\n      <select value-key=\"theme\" class=\"select-content\" .value=${this.theme}>\n        <option value=\"dark\">dark</option>\n        <option value=\"light\">light</option>\n      </select>\n\n      <input type=\"checkbox\" value-key=\"tooltip\" .checked=${this.tooltip} />\n      <label> <ox-i18n msgid=\"label.tooltip\">Tooltip</ox-i18n> </label>\n\n      <input type=\"checkbox\" value-key=\"animation\" .checked=${this.animation} />\n      <label> <ox-i18n msgid=\"label.animation\">Animation</ox-i18n> </label>\n\n      <input type=\"checkbox\" value-key=\"display\" .checked=${this.display} />\n      <label> <ox-i18n msgid=\"label.legend\">Legend</ox-i18n> </label>\n\n      <input type=\"checkbox\" value-key=\"stacked\" .checked=${this.stacked} />\n      <label> <ox-i18n msgid=\"label.stacked\">Stacked</ox-i18n> </label>\n\n      ${this.display\n        ? html`\n            <label> <ox-i18n msgid=\"label.position\">Position</ox-i18n> </label>\n            <select value-key=\"position\" class=\"select-content\" .value=${this.position}>\n              <option value=\"top\">top</option>\n              <option value=\"right\">right</option>\n              <option value=\"bottom\">bottom</option>\n              <option value=\"left\">left</option>\n            </select>\n          `\n        : html``}\n      ${this.editorTemplate(this)}\n    `\n  }\n\n  firstUpdated() {\n    this.renderRoot.addEventListener('change', this.onValuesChanged.bind(this))\n  }\n\n  displayValueTemplate() {\n    return html`\n      <label> <ox-i18n msgid=\"label.value-prefix\">Value Prefix</ox-i18n> </label>\n      <input type=\"text\" value-key=\"series.valuePrefix\" .value=${this.series.valuePrefix || ''} />\n\n      <label> <ox-i18n msgid=\"label.value-suffix\">Value suffix</ox-i18n> </label>\n      <input type=\"text\" value-key=\"series.valueSuffix\" .value=${this.series.valueSuffix || ''} />\n\n      <input type=\"checkbox\" value-key=\"series.displayValue\" .checked=${this.series.displayValue || false} />\n      <label> <ox-i18n msgid=\"label.value-display\">Value Display</ox-i18n> </label>\n\n      ${this.series.displayValue\n        ? html`\n            <label> <ox-i18n msgid=\"label.font-color\">Font Color</ox-i18n> </label>\n            <ox-input-color\n              value-key=\"series.defaultFontColor\"\n              .value=${this.series.defaultFontColor || '#000'}\n            ></ox-input-color>\n            <label> <ox-i18n msgid=\"label.font-size\">Font Size</ox-i18n> </label>\n            <input type=\"number\" value-key=\"series.defaultFontSize\" .value=${this.series.defaultFontSize || 10} />\n            <label> <ox-i18n msgid=\"label.position\">Position</ox-i18n> </label>\n            <select value-key=\"series.dataLabelAnchor\" .value=${this.series.dataLabelAnchor || 'center'}>\n              <option value=\"start\">Start</option>\n              <option value=\"center\" selected>Center</option>\n              <option value=\"end\">End</option>\n            </select>\n          `\n        : html``}\n    `\n  }\n\n  editorTemplate(props: Properties) {\n    return html``\n  }\n\n  get data() {\n    return this.value.data\n  }\n\n  set data(data) {\n    this.value.data = data\n  }\n\n  get datasets() {\n    if (!this.data.datasets) this.data.datasets = []\n\n    return this.data.datasets\n  }\n\n  set datasets(datasets) {\n    this.datasets = datasets\n  }\n\n  get series() {\n    if (!this.datasets[this.currentSeriesIndex]) this.datasets[this.currentSeriesIndex] = {}\n    return this.datasets[this.currentSeriesIndex]\n  }\n\n  set series(series) {\n    !this.data ? (this.data = { dataset: [series] }) : (this.datasets[this.currentSeriesIndex] = series)\n  }\n\n  set dataKey(key) {\n    this.series.dataKey = key\n  }\n\n  get dataKey() {\n    return this.series.dataKey\n  }\n\n  get legend() {\n    !this.value.options && (this.value.options = {})\n    return this.value.options.legend\n  }\n\n  set legend(legend) {\n    this.value.options.legend = legend\n  }\n\n  get theme() {\n    return this.value.options && this.value.options.theme\n  }\n\n  set theme(theme) {\n    !this.value.options && (this.value.options = {})\n    this.value.options.theme = theme\n  }\n\n  get tooltip() {\n    return !this.value.options || this.value.options.tooltip !== false /* default true */\n  }\n\n  set tooltip(tooltip) {\n    this.value.options.tooltip = tooltip\n  }\n\n  get animation() {\n    return !this.value.options || this.value.options.animation !== false /* default true */\n  }\n\n  set animation(animation) {\n    this.value.options.animation = animation\n  }\n\n  get scales() {\n    return this.value.options.scales\n  }\n\n  set scales(scales) {\n    !this.value.options && (this.value.options = {})\n    this.value.options.scales = scales\n  }\n\n  get display() {\n    return this.legend && this.legend.display\n  }\n\n  set display(display) {\n    this.legend.display = display\n  }\n\n  get position() {\n    return this.legend.position\n  }\n\n  set position(position) {\n    this.legend.position = position\n  }\n\n  get stacked() {\n    return this.value.options.stacked\n  }\n\n  set stacked(stacked) {\n    this.value.options.stacked = stacked\n  }\n\n  get labelDataKey() {\n    return this.data && this.data.labelDataKey\n  }\n\n  set labelDataKey(labelDataKey) {\n    this.data.labelDataKey = labelDataKey\n  }\n\n  set options(options) {\n    this.value.options = options\n  }\n\n  get options() {\n    return this.value.options\n  }\n\n  onValuesChanged(e: Event) {\n    var element = e.target as HTMLInputElement\n    var key = element.getAttribute('value-key')\n    var value = element.value\n\n    if (!key) {\n      return\n    }\n\n    value = this._getElementValue(element)\n\n    var attrs = key.split('.')\n    var attr = attrs.shift() || ''\n    var variable = this\n\n    while (attrs.length > 0) {\n      //@ts-ignore\n      variable = variable[attr]\n      attr = attrs.shift() || ''\n    }\n\n    //@ts-ignore\n    variable[attr] = value\n\n    this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true }))\n    this.requestUpdate()\n  }\n\n  onTapAddTab(e: Event) {\n    if (!this.value.data.datasets) return\n\n    var lastSeriesIndex = this.value.data.datasets.length\n    var chartType = this.series.type || this.value.type\n    var lastSeriesColor = new TinyColor(this.datasets[lastSeriesIndex - 1].backgroundColor)\n\n    var seriesModel = this._getSeriesModel({\n      chartType,\n      datasetsLength: lastSeriesIndex,\n      lastSeriesColor\n    })\n\n    this.value.data.datasets.push(seriesModel)\n    this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true }))\n    this.currentSeriesIndex = lastSeriesIndex\n  }\n\n  onTapRemoveCurrentTab(e: Event) {\n    if (!this.value.data.datasets) return\n\n    var currIndex = this.currentSeriesIndex\n    this.value.data.datasets.splice(currIndex, 1)\n\n    currIndex--\n\n    if (currIndex < 0) currIndex = 0\n\n    this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true }))\n    this.currentSeriesIndex = currIndex\n\n    this.requestUpdate()\n  }\n\n  _getSeriesModel({\n    chartType,\n    datasetsLength,\n    lastSeriesColor\n  }: {\n    chartType: any\n    datasetsLength: number\n    lastSeriesColor: TinyColor\n  }) {\n    var addSeriesOption: any = {\n      label: `series ${datasetsLength + 1}`,\n      data: [],\n      borderWidth: 1,\n      dataKey: '',\n      yAxisID: 'left',\n      color: randomColor({\n        hue: lastSeriesColor as any\n      }).toRgbString()\n    }\n\n    addSeriesOption.type = addSeriesOption.chartType = chartType\n    return addSeriesOption\n  }\n\n  _getElementValue(element: HTMLElement) {\n    switch (element.tagName) {\n      case 'INPUT':\n        switch ((element as HTMLInputElement).type) {\n          case 'checkbox':\n            return (element as HTMLInputElement).checked\n          case 'number':\n            return Number((element as HTMLInputElement).value) || 0\n          case 'text':\n            return String((element as HTMLInputElement).value)\n        }\n\n      case 'PAPER-BUTTON':\n        return (element as any).active\n\n      case 'PAPER-LISTBOX':\n        return (element as any).selected\n\n      case 'THINGS-EDITOR-MULTIPLE-COLOR':\n        return (element as any).values\n\n      case 'THINGS-EDITOR-ANGLE-INPUT':\n        return Number((element as any).radian) || 0\n\n      default:\n        return (element as any).value\n    }\n  }\n}\n"]}
         | 
| 1 | 
            +
            {"version":3,"file":"property-editor-chartjs-abstract.js","sourceRoot":"","sources":["../../src/editors/property-editor-chartjs-abstract.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/i18n/ox-i18n.js'\n\nimport { html, LitElement } from 'lit'\nimport { property } from 'lit/decorators.js'\n\nimport { random as randomColor, TinyColor } from '@ctrl/tinycolor'\nimport { Properties } from '@hatiolab/things-scene'\n\nimport { PropertyEditorChartJSStyles } from './property-editor-chartjs-styles'\n\nexport default class PropertyEditorChartJSAbstract extends LitElement {\n  static styles = [PropertyEditorChartJSStyles]\n\n  @property({ type: Object }) value: any = {}\n  @property({ type: Number }) currentSeriesIndex: number = 0\n\n  render() {\n    return html`\n      <legend><ox-i18n msgid=\"label.chart\">Chart</ox-i18n></legend>\n\n      <label> <ox-i18n msgid=\"label.theme\">theme</ox-i18n> </label>\n      <select value-key=\"theme\" class=\"select-content\" .value=${this.theme}>\n        <option value=\"dark\">dark</option>\n        <option value=\"light\">light</option>\n      </select>\n\n      <input type=\"checkbox\" value-key=\"tooltip\" .checked=${this.tooltip} />\n      <label> <ox-i18n msgid=\"label.tooltip\">Tooltip</ox-i18n> </label>\n\n      <input type=\"checkbox\" value-key=\"animation\" .checked=${this.animation} />\n      <label> <ox-i18n msgid=\"label.animation\">Animation</ox-i18n> </label>\n\n      <input type=\"checkbox\" value-key=\"display\" .checked=${this.display} />\n      <label> <ox-i18n msgid=\"label.legend\">Legend</ox-i18n> </label>\n\n      <input type=\"checkbox\" value-key=\"stacked\" .checked=${this.stacked} />\n      <label> <ox-i18n msgid=\"label.stacked\">Stacked</ox-i18n> </label>\n\n      ${this.display\n        ? html`\n            <label> <ox-i18n msgid=\"label.position\">Position</ox-i18n> </label>\n            <select value-key=\"position\" class=\"select-content\" .value=${this.position}>\n              <option value=\"top\">top</option>\n              <option value=\"right\">right</option>\n              <option value=\"bottom\">bottom</option>\n              <option value=\"left\">left</option>\n            </select>\n          `\n        : html``}\n      ${this.editorTemplate(this)}\n    `\n  }\n\n  firstUpdated() {\n    this.renderRoot.addEventListener('change', this.onValuesChanged.bind(this))\n  }\n\n  displayValueTemplate() {\n    return html`\n      <label> <ox-i18n msgid=\"label.value-prefix\">Value Prefix</ox-i18n> </label>\n      <input type=\"text\" value-key=\"series.valuePrefix\" .value=${this.series.valuePrefix || ''} />\n\n      <label> <ox-i18n msgid=\"label.value-suffix\">Value suffix</ox-i18n> </label>\n      <input type=\"text\" value-key=\"series.valueSuffix\" .value=${this.series.valueSuffix || ''} />\n\n      <input type=\"checkbox\" value-key=\"series.displayValue\" .checked=${this.series.displayValue || false} />\n      <label> <ox-i18n msgid=\"label.value-display\">Value Display</ox-i18n> </label>\n\n      ${this.series.displayValue\n        ? html`\n            <label> <ox-i18n msgid=\"label.font-color\">Font Color</ox-i18n> </label>\n            <ox-input-color\n              value-key=\"series.defaultFontColor\"\n              .value=${this.series.defaultFontColor || '#000'}\n            ></ox-input-color>\n            <label> <ox-i18n msgid=\"label.font-size\">Font Size</ox-i18n> </label>\n            <input type=\"number\" value-key=\"series.defaultFontSize\" .value=${this.series.defaultFontSize || 10} />\n            <label> <ox-i18n msgid=\"label.position\">Position</ox-i18n> </label>\n            <select value-key=\"series.dataLabelAnchor\" .value=${this.series.dataLabelAnchor || 'center'}>\n              <option value=\"start\">Start</option>\n              <option value=\"center\" selected>Center</option>\n              <option value=\"end\">End</option>\n            </select>\n          `\n        : html``}\n    `\n  }\n\n  editorTemplate(props: Properties) {\n    return html``\n  }\n\n  get data() {\n    return this.value.data\n  }\n\n  set data(data) {\n    this.value.data = data\n  }\n\n  get datasets() {\n    if (!this.data.datasets) this.data.datasets = []\n\n    return this.data.datasets\n  }\n\n  set datasets(datasets) {\n    this.datasets = datasets\n  }\n\n  get series() {\n    if (!this.datasets[this.currentSeriesIndex]) this.datasets[this.currentSeriesIndex] = {}\n    return this.datasets[this.currentSeriesIndex]\n  }\n\n  set series(series) {\n    !this.data ? (this.data = { dataset: [series] }) : (this.datasets[this.currentSeriesIndex] = series)\n  }\n\n  set dataKey(key) {\n    this.series.dataKey = key\n  }\n\n  get dataKey() {\n    return this.series.dataKey\n  }\n\n  get legend() {\n    !this.value.options && (this.value.options = {})\n    return this.value.options.legend\n  }\n\n  set legend(legend) {\n    this.value.options.legend = legend\n  }\n\n  get theme() {\n    return this.value.options && this.value.options.theme\n  }\n\n  set theme(theme) {\n    !this.value.options && (this.value.options = {})\n    this.value.options.theme = theme\n  }\n\n  get tooltip() {\n    return !this.value.options || this.value.options.tooltip !== false /* default true */\n  }\n\n  set tooltip(tooltip) {\n    this.value.options.tooltip = tooltip\n  }\n\n  get animation() {\n    return !this.value.options || this.value.options.animation !== false /* default true */\n  }\n\n  set animation(animation) {\n    this.value.options.animation = animation\n  }\n\n  get scales() {\n    return this.value.options.scales\n  }\n\n  set scales(scales) {\n    !this.value.options && (this.value.options = {})\n    this.value.options.scales = scales\n  }\n\n  get display() {\n    return this.legend && this.legend.display\n  }\n\n  set display(display) {\n    this.legend.display = display\n  }\n\n  get position() {\n    return this.legend.position\n  }\n\n  set position(position) {\n    this.legend.position = position\n  }\n\n  get stacked() {\n    return this.value.options.stacked\n  }\n\n  set stacked(stacked) {\n    this.value.options.stacked = stacked\n  }\n\n  get labelDataKey() {\n    return this.data && this.data.labelDataKey\n  }\n\n  set labelDataKey(labelDataKey) {\n    this.data.labelDataKey = labelDataKey\n  }\n\n  set options(options) {\n    this.value.options = options\n  }\n\n  get options() {\n    return this.value.options\n  }\n\n  onValuesChanged(e: Event) {\n    var element = e.target as HTMLInputElement\n    var key = element.getAttribute('value-key')\n    var value = element.value\n\n    if (!key) {\n      return\n    }\n\n    value = this._getElementValue(element)\n\n    var attrs = key.split('.')\n    var attr = attrs.shift() || ''\n    var variable = this\n\n    while (attrs.length > 0) {\n      //@ts-ignore\n      variable = variable[attr]\n      attr = attrs.shift() || ''\n    }\n\n    //@ts-ignore\n    variable[attr] = value\n\n    this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true }))\n    this.requestUpdate()\n  }\n\n  onTapAddTab(e: Event) {\n    if (!this.value.data.datasets) return\n\n    var lastSeriesIndex = this.value.data.datasets.length\n    var chartType = this.series.type || this.value.type\n    var lastSeriesColor = new TinyColor(this.datasets[lastSeriesIndex - 1].backgroundColor)\n\n    var seriesModel = this._getSeriesModel({\n      chartType,\n      datasetsLength: lastSeriesIndex,\n      lastSeriesColor\n    })\n\n    this.value.data.datasets.push(seriesModel)\n    this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true }))\n    this.currentSeriesIndex = lastSeriesIndex\n  }\n\n  onTapRemoveCurrentTab(e: Event) {\n    if (!this.value.data.datasets) return\n\n    var currIndex = this.currentSeriesIndex\n    this.value.data.datasets.splice(currIndex, 1)\n\n    currIndex--\n\n    if (currIndex < 0) currIndex = 0\n\n    this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true }))\n    this.currentSeriesIndex = currIndex\n\n    this.requestUpdate()\n  }\n\n  _getSeriesModel({\n    chartType,\n    datasetsLength,\n    lastSeriesColor\n  }: {\n    chartType: any\n    datasetsLength: number\n    lastSeriesColor: TinyColor\n  }) {\n    var addSeriesOption: any = {\n      label: `series ${datasetsLength + 1}`,\n      data: [],\n      borderWidth: 1,\n      dataKey: '',\n      yAxisID: 'left',\n      color: randomColor({\n        hue: lastSeriesColor as any\n      }).toRgbString()\n    }\n\n    addSeriesOption.type = addSeriesOption.chartType = chartType\n    return addSeriesOption\n  }\n\n  _getElementValue(element: HTMLElement) {\n    switch (element.tagName) {\n      case 'INPUT':\n        switch ((element as HTMLInputElement).type) {\n          case 'checkbox':\n            return (element as HTMLInputElement).checked\n          case 'number':\n            return Number((element as HTMLInputElement).value) || 0\n          case 'text':\n            return String((element as HTMLInputElement).value)\n        }\n\n      default:\n        return (element as any).value\n    }\n  }\n}\n"]}
         | 
| @@ -1,11 +1,10 @@ | |
| 1 1 | 
             
            import '@material/web/icon/icon.js';
         | 
| 2 2 | 
             
            import '@material/web/button/elevated-button.js';
         | 
| 3 | 
            -
            import '@ | 
| 4 | 
            -
            import '@polymer/iron-pages/iron-pages';
         | 
| 3 | 
            +
            import '@material/web/tabs/tabs.js';
         | 
| 5 4 | 
             
            import '@operato/i18n/ox-i18n.js';
         | 
| 6 5 | 
             
            import PropertyEditorChartJSMultiSeriesAbstract from './property-editor-chartjs-multi-series-abstract';
         | 
| 7 6 | 
             
            export default class PropertyEditorChartJSHBar extends PropertyEditorChartJSMultiSeriesAbstract {
         | 
| 8 7 | 
             
                static styles: import("lit").CSSResult[];
         | 
| 9 | 
            -
                editorTemplate(): import("lit").TemplateResult<1>;
         | 
| 10 | 
            -
                multiSeriesTabTemplate(): import("lit").TemplateResult<1>;
         | 
| 8 | 
            +
                editorTemplate(): import("lit-html").TemplateResult<1>;
         | 
| 9 | 
            +
                multiSeriesTabTemplate(): import("lit-html").TemplateResult<1>;
         | 
| 11 10 | 
             
            }
         | 
| @@ -1,8 +1,7 @@ | |
| 1 1 | 
             
            import { __decorate } from "tslib";
         | 
| 2 2 | 
             
            import '@material/web/icon/icon.js';
         | 
| 3 3 | 
             
            import '@material/web/button/elevated-button.js';
         | 
| 4 | 
            -
            import '@ | 
| 5 | 
            -
            import '@polymer/iron-pages/iron-pages';
         | 
| 4 | 
            +
            import '@material/web/tabs/tabs.js';
         | 
| 6 5 | 
             
            import '@operato/i18n/ox-i18n.js';
         | 
| 7 6 | 
             
            import { html } from 'lit';
         | 
| 8 7 | 
             
            import { customElement } from 'lit/decorators.js';
         | 
| @@ -84,68 +83,65 @@ let PropertyEditorChartJSHBar = class PropertyEditorChartJSHBar extends Property | |
| 84 83 | 
             
                    return html `
         | 
| 85 84 | 
             
                  <div id="series-properties-container" fullwidth>
         | 
| 86 85 | 
             
                    <div id="tab-header">
         | 
| 87 | 
            -
                      <md- | 
| 86 | 
            +
                      <md-icon
         | 
| 88 87 | 
             
                        id="tab-nav-left-button"
         | 
| 89 | 
            -
                        @ | 
| 88 | 
            +
                        @tap=${(e) => {
         | 
| 90 89 | 
             
                        this._onTabScrollNavLeft(e);
         | 
| 91 90 | 
             
                    }}
         | 
| 92 91 | 
             
                        disabled
         | 
| 93 | 
            -
                         | 
| 92 | 
            +
                        >chevron_left</md-icon
         | 
| 94 93 | 
             
                      >
         | 
| 95 | 
            -
                      < | 
| 94 | 
            +
                      <div
         | 
| 96 95 | 
             
                        id="tabs"
         | 
| 97 | 
            -
                        @ | 
| 98 | 
            -
                         | 
| 99 | 
            -
             | 
| 100 | 
            -
                         | 
| 101 | 
            -
                        scrollable
         | 
| 102 | 
            -
                        hide-scroll-buttons
         | 
| 96 | 
            +
                        @change=${(e) => {
         | 
| 97 | 
            +
                        this.currentSeriesIndex = e.target.activeTabIndex;
         | 
| 98 | 
            +
                    }}
         | 
| 99 | 
            +
                        active-tab-index=${this.currentSeriesIndex}
         | 
| 103 100 | 
             
                        fit-container
         | 
| 104 101 | 
             
                      >
         | 
| 105 102 | 
             
                        ${this.datasets.map((dataset, index) => html `
         | 
| 106 | 
            -
                            < | 
| 107 | 
            -
                               | 
| 103 | 
            +
                            <div
         | 
| 104 | 
            +
                              data-series=${index + 1}
         | 
| 105 | 
            +
                              data-tab-index=${index}
         | 
| 106 | 
            +
                              tab
         | 
| 107 | 
            +
                              ?selected=${index == this.currentSeriesIndex}
         | 
| 108 | 
            +
                              @click=${(e) => {
         | 
| 109 | 
            +
                        const target = e.target;
         | 
| 110 | 
            +
                        this.currentSeriesIndex = Number(target.getAttribute('data-tab-index'));
         | 
| 111 | 
            +
                    }}
         | 
| 112 | 
            +
                            >
         | 
| 113 | 
            +
                              ${index + 1}
         | 
| 108 114 | 
             
                              ${!this.datasets || (this.datasets.length != 1 && this.currentSeriesIndex == index)
         | 
| 109 | 
            -
                        ? html `
         | 
| 110 | 
            -
                                    <md-elevated-button @tap="${(e) => this.onTapRemoveCurrentTab(e)}">
         | 
| 111 | 
            -
                                      <md-icon>close</md-icon>
         | 
| 112 | 
            -
                                    </md-elevated-button>
         | 
| 113 | 
            -
                                  `
         | 
| 115 | 
            +
                        ? html ` <md-icon @tap="${(e) => this.onTapRemoveCurrentTab(e)}"> close </md-icon> `
         | 
| 114 116 | 
             
                        : html ``}
         | 
| 115 | 
            -
                            </ | 
| 117 | 
            +
                            </div>
         | 
| 116 118 | 
             
                          `)}
         | 
| 117 | 
            -
                      </ | 
| 118 | 
            -
                      <md- | 
| 119 | 
            +
                      </div>
         | 
| 120 | 
            +
                      <md-icon
         | 
| 119 121 | 
             
                        id="tab-nav-right-button"
         | 
| 120 122 | 
             
                        @click=${(e) => {
         | 
| 121 123 | 
             
                        this._onTabScrollNavRight(e);
         | 
| 122 124 | 
             
                    }}
         | 
| 123 125 | 
             
                        disabled
         | 
| 124 | 
            -
                         | 
| 126 | 
            +
                        >chevron_right</md-icon
         | 
| 125 127 | 
             
                      >
         | 
| 126 128 | 
             
                    </div>
         | 
| 127 129 | 
             
                    <div id="add-series-button-container">
         | 
| 128 | 
            -
                      <md- | 
| 129 | 
            -
                        ><md-icon>add</md-icon></md-elevated-button
         | 
| 130 | 
            -
                      >
         | 
| 130 | 
            +
                      <md-icon id="add-series-button" @tap=${(e) => this.onTapAddTab(e)}>add</md-icon>
         | 
| 131 131 | 
             
                    </div>
         | 
| 132 132 |  | 
| 133 | 
            -
                    < | 
| 134 | 
            -
                       | 
| 135 | 
            -
             | 
| 136 | 
            -
             | 
| 137 | 
            -
             | 
| 138 | 
            -
             | 
| 139 | 
            -
             | 
| 140 | 
            -
             | 
| 141 | 
            -
             | 
| 142 | 
            -
             | 
| 143 | 
            -
             | 
| 144 | 
            -
             | 
| 145 | 
            -
                            ${this.displayValueTemplate()}
         | 
| 146 | 
            -
                          </div>
         | 
| 147 | 
            -
                        `)}
         | 
| 148 | 
            -
                    </iron-pages>
         | 
| 133 | 
            +
                    <div class="tab-content">
         | 
| 134 | 
            +
                      <label> <ox-i18n msgid="label.data-key">Data Key</ox-i18n> </label>
         | 
| 135 | 
            +
                      <input type="text" value-key="dataKey" .value=${this.dataKey} />
         | 
| 136 | 
            +
                      <label> <ox-i18n msgid="label.label">Label</ox-i18n> </label>
         | 
| 137 | 
            +
                      <input type="text" value-key="series.label" .value=${this.series.label} />
         | 
| 138 | 
            +
                      <label> <ox-i18n msgid="label.color">Color</ox-i18n> </label>
         | 
| 139 | 
            +
                      <ox-input-color value-key="color" .value=${this.color}></ox-input-color>
         | 
| 140 | 
            +
                      <label> <ox-i18n msgid="label.stack-group">Stack Group</ox-i18n> </label>
         | 
| 141 | 
            +
                      <input type="text" value-key="series.stack" .value=${this.series.stack || ''} />
         | 
| 142 | 
            +
             | 
| 143 | 
            +
                      ${this.displayValueTemplate()}
         | 
| 144 | 
            +
                    </div>
         | 
| 149 145 | 
             
                  </div>
         | 
| 150 146 | 
             
                `;
         | 
| 151 147 | 
             
                }
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"property-editor-chartjs-hbar.js","sourceRoot":"","sources":["../../src/editors/property-editor-chartjs-hbar.ts"],"names":[],"mappings":";AAAA,OAAO,4BAA4B,CAAA;AACnC,OAAO,yCAAyC,CAAA;AAChD,OAAO, | 
| 1 | 
            +
            {"version":3,"file":"property-editor-chartjs-hbar.js","sourceRoot":"","sources":["../../src/editors/property-editor-chartjs-hbar.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@material/web/button/elevated-button.js'\nimport '@material/web/tabs/tabs.js'\n\nimport '@operato/i18n/ox-i18n.js'\n\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\nimport PropertyEditorChartJSMultiSeriesAbstract from './property-editor-chartjs-multi-series-abstract'\n\n@customElement('property-editor-chartjs-hbar')\nexport default class PropertyEditorChartJSHBar extends PropertyEditorChartJSMultiSeriesAbstract {\n  static styles = [...PropertyEditorChartJSMultiSeriesAbstract.styles]\n\n  editorTemplate() {\n    return html`\n      <legend><ox-i18n msgid=\"label.series\">Series</ox-i18n></legend>\n      ${this.multiSeriesTabTemplate()}\n\n      <legend><ox-i18n msgid=\"label.y-axes\">Y Axes</ox-i18n></legend>\n\n      <label> <ox-i18n msgid=\"label.data-key\">Data Key</ox-i18n> </label>\n      <input type=\"text\" value-key=\"labelDataKey\" .value=${this.labelDataKey} />\n\n      <label> <ox-i18n msgid=\"label.title\">Title</ox-i18n> </label>\n      <input type=\"text\" value-key=\"yAxes0.axisTitle\" .value=${this.yAxes0.axisTitle || ''} />\n\n      <label><ox-i18n msgid=\"label.bar-spacing\">Bar Spacing</ox-i18n></label>\n      <input\n        type=\"number\"\n        min=\"0\"\n        max=\"1\"\n        step=\"0.1\"\n        value-key=\"yAxes0.barSpacing\"\n        .value=${this.yAxes0.barSpacing || NaN}\n      />\n      <label><ox-i18n msgid=\"label.tick-spacing\">Tick Spacing</ox-i18n></label>\n      <input\n        type=\"number\"\n        min=\"0\"\n        max=\"1\"\n        step=\"0.1\"\n        value-key=\"yAxes0.categorySpacing\"\n        .value=${this.yAxes0.categorySpacing || NaN}\n      />\n\n      <input type=\"checkbox\" value-key=\"value.options.xGridLine\" .checked=${this.value.options.xGridLine} />\n      <label> <ox-i18n msgid=\"label.grid-line\">Grid Line</ox-i18n> </label>\n\n      <input type=\"checkbox\" value-key=\"xAxes0.ticks.display\" .checked=${this.xAxes0.ticks.display} />\n      <label> <ox-i18n msgid=\"label.display-tick\">Display Tick</ox-i18n> </label>\n\n      <legend><ox-i18n msgid=\"label.x-axes\">X Axes</ox-i18n></legend>\n\n      <label> <ox-i18n msgid=\"label.title\">Title</ox-i18n> </label>\n      <input type=\"text\" value-key=\"xAxes0.title\" .value=${this.xAxes0.axisTitle || ''} />\n\n      <input type=\"checkbox\" value-key=\"xAxes0.ticks.autoMin\" .checked=${this.xAxes0.ticks.autoMin} />\n      <label> <ox-i18n msgid=\"label.axis-min-auto\">Axis Min Auto</ox-i18n> </label>\n\n      <input type=\"checkbox\" value-key=\"xAxes0.ticks.autoMax\" .checked=${this.xAxes0.ticks.autoMax} />\n      <label> <ox-i18n msgid=\"label.axis-max-auto\">Axis Max Auto</ox-i18n> </label>\n\n      ${!this.xAxes0.ticks.autoMin\n        ? html`\n            <label> <ox-i18n msgid=\"label.axis-min\">Axis Min</ox-i18n> </label>\n            <input type=\"number\" value-key=\"xAxes0.ticks.min\" .value=${this.xAxes0.ticks.min} />\n          `\n        : html``}\n      ${!this.xAxes0.ticks.autoMax\n        ? html`\n            <label> <ox-i18n msgid=\"label.axis-max\">Axis Max</ox-i18n> </label>\n            <input type=\"number\" value-key=\"xAxes0.ticks.max\" .value=${this.xAxes0.ticks.max} />\n          `\n        : html``}\n\n      <label> <ox-i18n msgid=\"label.axis-step-size\">Axis Step Size</ox-i18n> </label>\n      <input type=\"number\" value-key=\"yAxes0.ticks.stepSize\" .value=${this.yAxes0.ticks.stepSize} />\n\n      <input type=\"checkbox\" .checked=${this.value.options.yGridLine} />\n      <label> <ox-i18n msgid=\"label.grid-line\">Grid Line</ox-i18n> </label>\n\n      <input type=\"checkbox\" value-key=\"yAxes0.ticks.display\" .checked=${this.yAxes0.ticks.display} />\n      <label> <ox-i18n msgid=\"label.display-tick\">Display Tick</ox-i18n> </label>\n    `\n  }\n\n  multiSeriesTabTemplate() {\n    return html`\n      <div id=\"series-properties-container\" fullwidth>\n        <div id=\"tab-header\">\n          <md-icon\n            id=\"tab-nav-left-button\"\n            @tap=${(e: Event) => {\n              this._onTabScrollNavLeft(e)\n            }}\n            disabled\n            >chevron_left</md-icon\n          >\n          <div\n            id=\"tabs\"\n            @change=${(e: Event) => {\n              this.currentSeriesIndex = (e.target as any).activeTabIndex\n            }}\n            active-tab-index=${this.currentSeriesIndex}\n            fit-container\n          >\n            ${this.datasets.map(\n              (dataset: any, index: number) => html`\n                <div\n                  data-series=${index + 1}\n                  data-tab-index=${index}\n                  tab\n                  ?selected=${index == this.currentSeriesIndex}\n                  @click=${(e: Event) => {\n                    const target = e.target as HTMLDivElement\n                    this.currentSeriesIndex = Number(target.getAttribute('data-tab-index'))\n                  }}\n                >\n                  ${index + 1}\n                  ${!this.datasets || (this.datasets.length != 1 && this.currentSeriesIndex == index)\n                    ? html` <md-icon @tap=\"${(e: Event) => this.onTapRemoveCurrentTab(e)}\"> close </md-icon> `\n                    : html``}\n                </div>\n              `\n            )}\n          </div>\n          <md-icon\n            id=\"tab-nav-right-button\"\n            @click=${(e: Event) => {\n              this._onTabScrollNavRight(e)\n            }}\n            disabled\n            >chevron_right</md-icon\n          >\n        </div>\n        <div id=\"add-series-button-container\">\n          <md-icon id=\"add-series-button\" @tap=${(e: Event) => this.onTapAddTab(e)}>add</md-icon>\n        </div>\n\n        <div class=\"tab-content\">\n          <label> <ox-i18n msgid=\"label.data-key\">Data Key</ox-i18n> </label>\n          <input type=\"text\" value-key=\"dataKey\" .value=${this.dataKey} />\n          <label> <ox-i18n msgid=\"label.label\">Label</ox-i18n> </label>\n          <input type=\"text\" value-key=\"series.label\" .value=${this.series.label} />\n          <label> <ox-i18n msgid=\"label.color\">Color</ox-i18n> </label>\n          <ox-input-color value-key=\"color\" .value=${this.color}></ox-input-color>\n          <label> <ox-i18n msgid=\"label.stack-group\">Stack Group</ox-i18n> </label>\n          <input type=\"text\" value-key=\"series.stack\" .value=${this.series.stack || ''} />\n\n          ${this.displayValueTemplate()}\n        </div>\n      </div>\n    `\n  }\n}\n"]}
         | 
| @@ -12,6 +12,6 @@ export default class PropertyEditorChartJSMixed extends PropertyEditorChartJSMul | |
| 12 12 | 
             
                set yAxes1(yAxes1: any);
         | 
| 13 13 | 
             
                get multiAxis(): any;
         | 
| 14 14 | 
             
                set multiAxis(multiAxis: any);
         | 
| 15 | 
            -
                editorTemplate(props: Properties): import("lit").TemplateResult<1>;
         | 
| 15 | 
            +
                editorTemplate(props: Properties): import("lit-html").TemplateResult<1>;
         | 
| 16 16 | 
             
                _hasBarSeries(chart: any): boolean;
         | 
| 17 17 | 
             
            }
         | 
| @@ -1,16 +1,14 @@ | |
| 1 | 
            -
            import '@material/web/ | 
| 2 | 
            -
            import '@polymer/iron-pages/iron-pages';
         | 
| 3 | 
            -
            import '@polymer/paper-tabs/paper-tabs';
         | 
| 1 | 
            +
            import '@material/web/icon/icon.js';
         | 
| 4 2 | 
             
            import '@operato/i18n/ox-i18n.js';
         | 
| 5 3 | 
             
            import { Properties } from '@hatiolab/things-scene';
         | 
| 6 | 
            -
            import {  | 
| 4 | 
            +
            import { MdIcon } from '@material/web/icon/icon.js';
         | 
| 7 5 | 
             
            import PropertyEditorChartJSAbstract from './property-editor-chartjs-abstract';
         | 
| 8 6 | 
             
            export default class PropertyEditorChartJSMultiSeriesAbstract extends PropertyEditorChartJSAbstract {
         | 
| 9 7 | 
             
                static styles: import("lit").CSSResult[];
         | 
| 10 8 | 
             
                constructor();
         | 
| 11 9 | 
             
                tabs: HTMLElement;
         | 
| 12 | 
            -
                tabNavLeftButton:  | 
| 13 | 
            -
                tabNavRightButton:  | 
| 10 | 
            +
                tabNavLeftButton: MdIcon;
         | 
| 11 | 
            +
                tabNavRightButton: MdIcon;
         | 
| 14 12 | 
             
                get color(): any;
         | 
| 15 13 | 
             
                set color(color: any);
         | 
| 16 14 | 
             
                get xAxes0(): any;
         | 
| @@ -23,8 +21,8 @@ export default class PropertyEditorChartJSMultiSeriesAbstract extends PropertyEd | |
| 23 21 | 
             
                set multiAxis(multiAxis: any);
         | 
| 24 22 | 
             
                get tabContainer(): HTMLElement | null | undefined;
         | 
| 25 23 | 
             
                firstUpdated(): void;
         | 
| 26 | 
            -
                editorTemplate(props: Properties): import("lit").TemplateResult<1>;
         | 
| 27 | 
            -
                multiSeriesTabTemplate(): import("lit").TemplateResult<1>;
         | 
| 24 | 
            +
                editorTemplate(props: Properties): import("lit-html").TemplateResult<1>;
         | 
| 25 | 
            +
                multiSeriesTabTemplate(): import("lit-html").TemplateResult<1>;
         | 
| 28 26 | 
             
                _onTabScroll(e: Event): void;
         | 
| 29 27 | 
             
                _onTabScrollNavLeft(e: Event): void;
         | 
| 30 28 | 
             
                _onTabScrollNavRight(e: Event): void;
         |