* Fix plotsegment axis names (#480)
* Fix prettyNumber function (#482)
* Fix axis. Update title of data mapping dialog (#487)
* Fix axis data rebinding
* Update mapping data dialog titles
* Change the first column header (#488)
* Disable sorting property of plot segment if auto ranges was disabled (#489)
Co-authored-by: bongshin <bongshin@microsoft.com>
* Set correct table name (#490)
* Update data axis range values on replacing dataset (#486)
* Update data axis range values on replacing dataset
* Fix axis data rebinding
* Rework code
* Get get data kind by type on updating axes
* Update visual style of guide coordinator (#491)
* Update visual style of guide coordinator
* Remove unused attributes
* Change line style
* Update styles
Co-authored-by: bongshin <bongshin@microsoft.com>
* Guide rollback (#495)
* Rollback guide coordinator configuration
* Increase version number to 2.0.3
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Format validator widget for attributes editor (#492)
* Format validator widget for attributes editor
* Set regexp as constant
* Add "(auto)", "(none)" to strings
* Fix tests
* Wrap regex to function
Co-authored-by: bongshin <bongshin@microsoft.com>
* Fix regex (#497)
* Fix regex
* Add test
* Fix scale editor bug (#498)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Fix rendering text twice when text wrap is enabled for axis (#500)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Tslint => eslint (#496)
* Replace Array<> by []
* Replace "as" cast by "<>"
* Add eslint
* Fix eslint issues
* Update code
* Fix merge issues
* Fix worker
* react-hooks plugin for eslint. Fix warnings
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* View configuration (#502)
* Expose main view config
* Change save button state
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Add Segoe UI into fonts list (#504)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
* Remove tslint config (#506)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Allow map any data type to string (#501)
* Allow map any data type to string
* Import DataType
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
* Don't render guide coordinator handles in plot segment (#508)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
* Fix svg headers (#509)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
* Rounded border (#503)
* Rounded border of canvas view
* Unify rect path function
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
* Show report issue button for visual (#507)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
* Save old name/id of expression to hold binding marks to those axis points (#513)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Set default value of interactivity properties for marks (#514)
* Set default value of interactivity properties for marks
* Set guide coordinator guides default count to 2
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
* Fix app initialization (#515)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Fix saving tick format for axes (#516)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Add checks for properties (#517)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Quantile Expressions and Helpers (#511)
Added a `quantile` function, which accepts a percentage value as input, plus the field array, which can be used to calculate quantiles wherever expressions are used.
Additionally, I've added the following functions as shortcuts (plus helpers):
- `quartile1` (1st Quartile)
- `quartile3` (3rd Quartile)
- `iqr` (Inter-Quartile Range)
Resolves#499
* Set Overlap sublayout to the end of sublayout list (#518)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Link anchors (#520)
* Add link anchors to line object
* Bind links to glyph center if no marks with anchor
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Display date instead number in scale editor (#524)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Set Segoe UI as default font (#525)
* Set Segoe UI as default font
* Set default font size 12 for text and text box
* Fix unit tests
* Add constant for default font size
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Save order from template for axes categorical values (#522)
* Save order from template for axes categorical values
* Fix issues
* Keep sorting order on updating plot segments
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
* Fix updating domain for scales (#526)
* Fix updating domain for scales. Change layout of scale editor and labels. Set defaults for data axis.
* Update comment
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Replace constant strings by strings object (#493)
* Replace constant strings by strings object
* Fix updating domain for scales. Change layout of scale editor and labels. Set defaults for data axis.
* Update comment
* Add string constants for scale and axis
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Expose nested chart columns on export (#527)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
* Bump lodash from 4.17.19 to 4.17.21 (#529)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.19 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.19...4.17.21)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Fix creating the new scale (#530)
* Fix creating the new scale
* Fix reset of scales
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
* Set defaults for data axis (#532)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Remove default attributes for data axis (#533)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Exclude attributes on comparing chart states (#531)
* Exclude attributes on comparing chart states
* Remove commented code
* Remove unused import
* Add constant for approximation. Check constraints by expect_deep_approximately_equals
* Add comment for normalizeDataExpression method
* Add comment
* Fix rawExpressions for axis data bindings
* Fix height of canvas toolbar
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Include valueIndex property of scale as null into template (#538)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Change anchor element for color picker for empty property (#539)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Set default aggregation function "first" for categorical values (#536)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Fix guide mapping (#540)
* Fix data mapping to guide value
* Fix attribute mapping on drag guide in mark editor
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
* Add getState, setState to History Mananger. Remove some intermediate states from history (#542)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Don't reset history manager on import template or dataset (#547)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Fix size of drop area indicator for mapping editor (#551)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
* Fixes (#552)
* Set border for color picker in chart attribute
* Update data kind on changing type
* Scroll to attribute field on opening editor from Scale editor
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
* Change default color from grey to blue (#543)
* Change default color from grey to blue
* Change color to skyblue
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
* Fix popup panel position for attributes panel (#555)
* Fix popup panel position for attributes panel
* Fix popup anchor container
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Call chart migrator on launching nested chart editor (#558)
* Call chart migrator on launching nested chart editor
* Remove unused variables.
* Set null for categories property of axis
* Remove replaceUndefinedByNull
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Rollback changes (#562)
* Revert "Remove replaceUndefinedByNull"
This reverts commit 186544cd91.
* Replace nulls for polar plot segment
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Fix date format expression check (#567)
* Fix date format expression check
* Apply format for date type with categorical date kind
* Remove unused code
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Date axis fixes (#571)
* Fix raw expression for data axis on updating
* Assume null value equals to undefined on checking changes to reduce false alerts
* Fix updating axis with log scale
* Exclude negative values for Log scale
* Keep current chart state on updating the dataset
* Fix initialization of chart state
* Check expression before updating plotsegment axis
* Call UpdatePlotSegments action before save
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Set width for glyph in data axis (#573)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Add sky blue colors to Power BI color palette (#574)
* Reset default color to match with ColorBrewer palette
* Revert "Reset default color to match with ColorBrewer palette"
This reverts commit 18dbe5f1fe.
* Add sky blue colors to Power BI Color palette
* Fix color picker alignment in legend text color picker and scale editor
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Revert "Set width for glyph in data axis (#573)" (#579)
This reverts commit eaefcc1d31.
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Fix launching nested chart editor (#588)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Fix nested chart state initialization (#590)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: Daniel Marsh-Patrick <daniel@coacervo.co>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Fix plotsegment axis names (#480)
* Fix prettyNumber function (#482)
* Fix axis. Update title of data mapping dialog (#487)
* Fix axis data rebinding
* Update mapping data dialog titles
* Change the first column header (#488)
* Disable sorting property of plot segment if auto ranges was disabled (#489)
Co-authored-by: bongshin <bongshin@microsoft.com>
* Set correct table name (#490)
* Update data axis range values on replacing dataset (#486)
* Update data axis range values on replacing dataset
* Fix axis data rebinding
* Rework code
* Get get data kind by type on updating axes
* Update visual style of guide coordinator (#491)
* Update visual style of guide coordinator
* Remove unused attributes
* Change line style
* Update styles
Co-authored-by: bongshin <bongshin@microsoft.com>
* Guide rollback (#495)
* Rollback guide coordinator configuration
* Increase version number to 2.0.3
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Format validator widget for attributes editor (#492)
* Format validator widget for attributes editor
* Set regexp as constant
* Add "(auto)", "(none)" to strings
* Fix tests
* Wrap regex to function
Co-authored-by: bongshin <bongshin@microsoft.com>
* Fix regex (#497)
* Fix regex
* Add test
* Fix scale editor bug (#498)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Fix rendering text twice when text wrap is enabled for axis (#500)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Tslint => eslint (#496)
* Replace Array<> by []
* Replace "as" cast by "<>"
* Add eslint
* Fix eslint issues
* Update code
* Fix merge issues
* Fix worker
* react-hooks plugin for eslint. Fix warnings
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* View configuration (#502)
* Expose main view config
* Change save button state
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Add Segoe UI into fonts list (#504)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
* Remove tslint config (#506)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Allow map any data type to string (#501)
* Allow map any data type to string
* Import DataType
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
* Don't render guide coordinator handles in plot segment (#508)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
* Fix svg headers (#509)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
* Rounded border (#503)
* Rounded border of canvas view
* Unify rect path function
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
* Show report issue button for visual (#507)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
* Save old name/id of expression to hold binding marks to those axis points (#513)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Set default value of interactivity properties for marks (#514)
* Set default value of interactivity properties for marks
* Set guide coordinator guides default count to 2
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
* Fix app initialization (#515)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Fix saving tick format for axes (#516)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Add checks for properties (#517)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Quantile Expressions and Helpers (#511)
Added a `quantile` function, which accepts a percentage value as input, plus the field array, which can be used to calculate quantiles wherever expressions are used.
Additionally, I've added the following functions as shortcuts (plus helpers):
- `quartile1` (1st Quartile)
- `quartile3` (3rd Quartile)
- `iqr` (Inter-Quartile Range)
Resolves#499
* Set Overlap sublayout to the end of sublayout list (#518)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Link anchors (#520)
* Add link anchors to line object
* Bind links to glyph center if no marks with anchor
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Display date instead number in scale editor (#524)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Set Segoe UI as default font (#525)
* Set Segoe UI as default font
* Set default font size 12 for text and text box
* Fix unit tests
* Add constant for default font size
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Save order from template for axes categorical values (#522)
* Save order from template for axes categorical values
* Fix issues
* Keep sorting order on updating plot segments
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
* Update yarn.lock
* Fix updating domain for scales (#526)
* Fix updating domain for scales. Change layout of scale editor and labels. Set defaults for data axis.
* Update comment
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Replace constant strings by strings object (#493)
* Replace constant strings by strings object
* Fix updating domain for scales. Change layout of scale editor and labels. Set defaults for data axis.
* Update comment
* Add string constants for scale and axis
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Expose nested chart columns on export (#527)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
* Bump lodash from 4.17.19 to 4.17.21 (#529)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.19 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.19...4.17.21)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Fix creating the new scale (#530)
* Fix creating the new scale
* Fix reset of scales
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
* Set defaults for data axis (#532)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Remove default attributes for data axis (#533)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Exclude attributes on comparing chart states (#531)
* Exclude attributes on comparing chart states
* Remove commented code
* Remove unused import
* Add constant for approximation. Check constraints by expect_deep_approximately_equals
* Add comment for normalizeDataExpression method
* Add comment
* Fix rawExpressions for axis data bindings
* Fix height of canvas toolbar
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Include valueIndex property of scale as null into template (#538)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Change anchor element for color picker for empty property (#539)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Set default aggregation function "first" for categorical values (#536)
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
* Fix guide mapping (#540)
* Fix data mapping to guide value
* Fix attribute mapping on drag guide in mark editor
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
Co-authored-by: bongshin <bongshin@microsoft.com>
Co-authored-by: Ilfat Galiev <v-igaliev@microsoft.com>
Co-authored-by: Daniel Marsh-Patrick <daniel@coacervo.co>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Update version to 1.8.0
* Add legend layout property update into migrator
* fix getSortFunctionByData function
* Expose linkThrough column names of links into tempalte
* Include DataKind on creating scales by number columns with categorical data kind
* Fix "if" statement
Co-authored-by: Ilfat Galiev <v-ilgal@microsoft.com>
* Setup SSL for dev server
* Fix container interface
* Solve constrain after loading the template
* Post message communication with parent window
* Add start command for no SSL server
* Add TargetOrigins property into config
* Pass full template from nested editor
* Get computed default sorting for plot segments
* Expose block of code to utils
* Apply getSortDirection function
* Update package.json
* Update node version for TravisCI
Co-authored-by: Ilfat Galiev <v-ilgal@microsoft.com>
* Save exported properties names on export view
Add table types
File parameter support for Power BI Visual Icon file
Fix colors scale for nested chart.
* Update on data reloading
* Lock range
* Link mark
* Column name
* Apply prettier
* Fix expression context
* Set solver max iterations limit to 20
* Context menu support for drill down
* Fix merge conflict issues
* Fix issue on HTML export
* Date type/Data kind selector for columns
* Gravity options for packing layout
* Fixes after review
Co-authored-by: Ilfat Galiev <v-ilgal@microsoft.com>
* Use any for timer types
* Update typescript, react, and webpack
* Upgrade mocha, chai, js-yaml, and url-loader
* Update lint-staged, husky, and file-loader
* Upgrade prettier
* Run prettier
Upgrade lscg-solver to 1.2.0, and make the following enhancements related to the solver:
* A better approach to fit marks to plot segment boundaries. Previously we had to run the whole solver process twice (which was the bottleneck), now we only need to execute the lscg-solver a few times
* Solve the charts in two stages: in chart stage, we layout chart-level elements, and then in glyphs stage, we layout glyphs, while keeping chart-level elements intact. This is to address the problems where de-snapping a plot segment may result in unexpected behavior
* Add a regularizer to keep unconstrained variables to their current value in case the algorithms gives something completely different, and generate unexpected behavior
* Better distinguish in-memory data types and abstract data kinds
* Use enum for data type and kind for better type checking
* Add template parameters to Object and ObjectStates to avoid extending them everywhere in the prototypes folder
* Cleanup unused fields from AttributeDescription
* Add a AttrBuilder class to centralize the creation of AttributeDescriptions
* Use UTC consistently for date parse and format.
* Support date axis
* Support logarithmic axis
* Add a HSV color picker
* Fix chrome bug in color picker
* Add a "none" option to color picker to remove the color
* First working version on small multiples
* Fix nested chart icon
* Fix render static image
* Show working status for small multiples
* Renamed a few files to match the current naming style
* Update multirun to 3.0.2 (minor)
* Render each mark in a separate layer, instead of each glyph
* Fix filename and remove dead code
* Add column name map to nested chart
* Add reverse and sort to categorical axis ordering
* Add doc for adding sample datasets in config.yml
* Start fixing template export
* Icon for nested chart; add tooltip for a few buttons
* Work in progress
* Add more error boundary; add version to help menu
* Template export almost fixed
* Fix container and selection
* Use 2 spaces indentation for HTML files
* Fix glyph/mark selection
* Fix React incorrect nesting warning
* Fix scale inference when values are the same
* Enhance nested chart editor
* Fix container code for Power BI visual
* Upgrade packages and build script
* Changes according to PR comments
* Show message in glyph/attribute editor when plot segment is not available for a glyph
* Prettify scss files as well, run prettier on all files
* Add license for scss files
* Update license format to use // instead of /* */
* Use two space indent for webpack config
* Added basic selection eventing to the container class
- Also added hit detection to the canvas renderer
* Removed canvas renderer, and updated container to use the svg renderer, removed some code duplication
* Updated to use object properties rather than attributes for emphasis data
* Updated to use preact in the container bundle
Prettier enforces an automated style on the source code. This commit uses the default settings for now and executes it on the current codebase.
TSLint checks for Javascript/Typescript best practices and emits warnings about various errors. This commit implements some auto-corrections, and temporarily disables other rules for now.