Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make it possible to use time scale as a custom option for chart #2082

Merged
merged 5 commits into from
Mar 4, 2022

Conversation

troelslenda
Copy link
Collaborator

With stock charts we need Time Cartesian Axis for
comparison of securities.

When using time as X scale type we need a way providing
zero labels (an empty array), since these are autogenerated
by TimeScale. In chart-js.service the
method labelsToApply needs a way of returning []

Note: Branch pushed with --no-verify

TOTAL: 1 FAILED, 2005 SUCCESS


1) backdrop click should dismiss action-sheet
     ActionSheetHelper showActionSheet

Which issue does this PR close?

This PR closes # no issue

What is the new behavior?

No changes to current behaviour, but providing usage of TimeScale

Does this PR introduce a breaking change?

  • Yes
  • No

Are there any additional context?

Checklist:

The following tasks should be carried out in sequence in order to follow the process of contributing correctly.

Reminders

  • Make sure you have implemented tests following the guidelines in: "The good: Test".
  • Make sure you have updated the cookbook with examples and showcases (for bug fixes, enhancements & new components).

Review

  • Do a self-review.
  • Request that the changes are code-reviewed
  • Request that the changes are UX reviewed (only necessary if your PR introduces visual changes)

When the pull request has been approved it will be automatically merged to master via automerge.

With stock charts we need Time Cartesian Axis for
comparison of securities.

When using time as X scale type we need a way providing
zero labels (an empty array), since these are autogenerated
by TimeScale. In chart-js.service the
method labelsToApply needs a way of returning []
@troelslenda troelslenda requested a review from MadsBuchmann March 2, 2022 10:20
@github-actions github-actions bot temporarily deployed to pr-reintroduce-timescale March 2, 2022 10:24 Inactive
Comment on lines 283 to 289
if (type === 'stock' && !Array.isArray(labels)) {
return this.getDefaultStockLabels(datasets, this.locale);
} else if (labels?.length > 0) {
return labels;
} else {
return this.createBlankLabels(datasets);
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've taken the liberty of changing the logic from commit e2dccbf.

If an empty array was provided to a chart not using the time scale it would result in a blank chart. Therefore i've switched it around to be "if the type is stock & no labels are provided - get default stock labels". Such that you can override the default stock labels by simply passing something into the labels input property.

@github-actions github-actions bot temporarily deployed to pr-reintroduce-timescale March 3, 2022 11:59 Inactive
@MadsBuchmann MadsBuchmann changed the title Reintroduce TimeScale for ChartJS Make it possible to use time scale for charts & disable labels in stock chart by providing an empty array Mar 3, 2022
@RasmusKjeldgaard RasmusKjeldgaard added this to the M11 ( 27/1 - 6/4 ) milestone Mar 4, 2022
@MadsBuchmann MadsBuchmann changed the title Make it possible to use time scale for charts & disable labels in stock chart by providing an empty array Make it possible to use time scale as a custom option for chart Mar 4, 2022
@github-actions github-actions bot temporarily deployed to pr-reintroduce-timescale March 4, 2022 11:27 Inactive
@RasmusKjeldgaard RasmusKjeldgaard self-requested a review March 4, 2022 12:53
@MadsBuchmann MadsBuchmann merged commit 5a1abb1 into main Mar 4, 2022
@MadsBuchmann MadsBuchmann deleted the feature/reintroduce-timescale branch March 4, 2022 12:55
@troelslenda
Copy link
Collaborator Author

🚀

RasmusKjeldgaard pushed a commit that referenced this pull request Mar 17, 2022
* Reintroduce TimeScale for ChartJS

With stock charts we need Time Cartesian Axis for
comparison of securities.

When using time as X scale type we need a way providing
zero labels (an empty array), since these are autogenerated
by TimeScale. In chart-js.service the
method labelsToApply needs a way of returning []

* ✨ Allow an empty array to disable labels

* 🔥 Remove log statements

* ✨ Make it possible to bypass default labels for stock

Co-authored-by: Mads Buchmann Frederiksen <mbf@prochimp.dk>
RasmusKjeldgaard added a commit that referenced this pull request Mar 17, 2022
* Add "backgroundImageUrl" and custom css properties for controlling background of the card component (#2047)

* ✨ Make it possible to set & control card bg image

* ✨ Add 'backgroundImageUrl' input property to card

* 📝 Document background-image related API

* 📝 Reword table text & remove type column

* 📝 Add card with background image examples

* 🚚 Move all card examples to a shared module

* ✅ Add tests for backgroundImageUrl

* 🖊️ Uppercase CSS in documentation

Co-authored-by: Jesper Kaltoft Vind <git@jesperkaltoft.dk>

* 📝 Expand documentation on card background image

I've attempted expanding the documentation such that it explains the pros and cons of each method.

* 📝 Modify css background example to use media queries

Co-authored-by: Jesper Kaltoft Vind <git@jesperkaltoft.dk>

* 🤡 Add missing input properties to mocks (#2084)

* Make it possible to use time scale as a custom option for chart (#2082)

* Reintroduce TimeScale for ChartJS

With stock charts we need Time Cartesian Axis for
comparison of securities.

When using time as X scale type we need a way providing
zero labels (an empty array), since these are autogenerated
by TimeScale. In chart-js.service the
method labelsToApply needs a way of returning []

* ✨ Allow an empty array to disable labels

* 🔥 Remove log statements

* ✨ Make it possible to bypass default labels for stock

Co-authored-by: Mads Buchmann Frederiksen <mbf@prochimp.dk>

* 📝 Remove big Kirby v1 notice (#2086)

* ✨ Allow usePopover to be turned on in calendar (#2102)

* 📝 Fix dead links to annotation plugin docs (#2110)

* 🐛  Push scaling of header to next cycle (#2111)

With setTimeout we can avoid ResizeObserver loop exceeded
warnings. These are hidden by browsers, but can be picked up
by frontend error logging services.

It most likely happens because the ResizeObserver observes repeated
size changes before the original scaleHeader callback has finished.

* ⬆️ Bump follow-redirects from 1.14.7 to 1.14.8 (#2049)

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.7 to 1.14.8.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](follow-redirects/follow-redirects@v1.14.7...v1.14.8)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* ⬆️ Bump prismjs from 1.25.0 to 1.27.0 (#2070)

Bumps [prismjs](https://github.com/PrismJS/prism) from 1.25.0 to 1.27.0.
- [Release notes](https://github.com/PrismJS/prism/releases)
- [Changelog](https://github.com/PrismJS/prism/blob/master/CHANGELOG.md)
- [Commits](PrismJS/prism@v1.25.0...v1.27.0)

---
updated-dependencies:
- dependency-name: prismjs
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* ⬆️ Bump url-parse from 1.5.3 to 1.5.10 (#2071)

Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.3 to 1.5.10.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](unshiftio/url-parse@1.5.3...1.5.10)

---
updated-dependencies:
- dependency-name: url-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 🔖Bumping version to 5.2.0 (designsystem)

Co-authored-by: Mads Buchmann Frederiksen <mbf@prochimp.dk>
Co-authored-by: Jesper Kaltoft Vind <git@jesperkaltoft.dk>
Co-authored-by: Troels Strand <troelslenda@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
jkaltoft added a commit that referenced this pull request Apr 26, 2022
* Add "backgroundImageUrl" and custom css properties for controlling background of the card component (#2047)

* ✨ Make it possible to set & control card bg image

* ✨ Add 'backgroundImageUrl' input property to card

* 📝 Document background-image related API

* 📝 Reword table text & remove type column

* 📝 Add card with background image examples

* 🚚 Move all card examples to a shared module

* ✅ Add tests for backgroundImageUrl

* 🖊️ Uppercase CSS in documentation

Co-authored-by: Jesper Kaltoft Vind <git@jesperkaltoft.dk>

* 📝 Expand documentation on card background image

I've attempted expanding the documentation such that it explains the pros and cons of each method.

* 📝 Modify css background example to use media queries

Co-authored-by: Jesper Kaltoft Vind <git@jesperkaltoft.dk>

* 🤡 Add missing input properties to mocks (#2084)

* Make it possible to use time scale as a custom option for chart (#2082)

* Reintroduce TimeScale for ChartJS

With stock charts we need Time Cartesian Axis for
comparison of securities.

When using time as X scale type we need a way providing
zero labels (an empty array), since these are autogenerated
by TimeScale. In chart-js.service the
method labelsToApply needs a way of returning []

* ✨ Allow an empty array to disable labels

* 🔥 Remove log statements

* ✨ Make it possible to bypass default labels for stock

Co-authored-by: Mads Buchmann Frederiksen <mbf@prochimp.dk>

* 📝 Remove big Kirby v1 notice (#2086)

* ✨ Allow usePopover to be turned on in calendar (#2102)

* 📝 Fix dead links to annotation plugin docs (#2110)

* 🐛  Push scaling of header to next cycle (#2111)

With setTimeout we can avoid ResizeObserver loop exceeded
warnings. These are hidden by browsers, but can be picked up
by frontend error logging services.

It most likely happens because the ResizeObserver observes repeated
size changes before the original scaleHeader callback has finished.

* ⬆️ Bump follow-redirects from 1.14.7 to 1.14.8 (#2049)

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.7 to 1.14.8.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](follow-redirects/follow-redirects@v1.14.7...v1.14.8)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* ⬆️ Bump prismjs from 1.25.0 to 1.27.0 (#2070)

Bumps [prismjs](https://github.com/PrismJS/prism) from 1.25.0 to 1.27.0.
- [Release notes](https://github.com/PrismJS/prism/releases)
- [Changelog](https://github.com/PrismJS/prism/blob/master/CHANGELOG.md)
- [Commits](PrismJS/prism@v1.25.0...v1.27.0)

---
updated-dependencies:
- dependency-name: prismjs
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* ⬆️ Bump url-parse from 1.5.3 to 1.5.10 (#2071)

Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.3 to 1.5.10.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](unshiftio/url-parse@1.5.3...1.5.10)

---
updated-dependencies:
- dependency-name: url-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* 🔖Bumping version to 5.2.0 (designsystem)

* Remove deprecated chart components & highcharts dependencies (#2069)

* 🔥 Remove chart-deprecated components folder

* 🔥 Remove ChartDeprecated mocks

* 🔥 Remove deprecated chart examples

* 🔥 Remove deprecated chart showcase

* 🔥 Remove deprecated stock chart component

* 🔥 Remove deprecated stock chart examples

* 🔥 Remove deprecated stock chart showcase

* ➖ Remove dependency to highcharts

* 📌 Generate new lock file

* 📝 Remove highcharts license notice

* Add subtitle to page-title (#2030)

* Added subtitle concept to page component

* Remove realtion-bank example

* Update libs/designsystem/src/lib/components/page/page.component.spec.ts

Co-authored-by: Mads Buchmann Frederiksen <mbf@prochimp.dk>

* Update libs/designsystem/src/lib/components/page/page.component.spec.ts

Co-authored-by: Mads Buchmann Frederiksen <mbf@prochimp.dk>

* Update libs/designsystem/src/lib/components/page/page.component.spec.ts

Co-authored-by: Mads Buchmann Frederiksen <mbf@prochimp.dk>

* Update libs/designsystem/src/lib/components/page/page.component.spec.ts

Co-authored-by: Mads Buchmann Frederiksen <mbf@prochimp.dk>

* Update libs/designsystem/src/lib/components/page/page.component.spec.ts

Co-authored-by: Mads Buchmann Frederiksen <mbf@prochimp.dk>

* Update apps/cookbook/src/app/showcase/page-showcase/page-showcase.component.ts

Co-authored-by: Mads Buchmann Frederiksen <mbf@prochimp.dk>

* Update apps/cookbook/src/app/examples/page-example/advanced/page-advanced-example.component.ts

Co-authored-by: Mads Buchmann Frederiksen <mbf@prochimp.dk>

* Correct Inpection Findings

Co-authored-by: Michael Troelsen <mxt@bankdata.dk>
Co-authored-by: Mads Buchmann Frederiksen <mbf@prochimp.dk>

* 🐛 Reintroduce accidentally removed module import (#2126)

* Revert "Remove deprecated chart components & highcharts dependencies (#2069)" (#2127)

This reverts commit 6188ee5.

* Update Angular to v12 (#2140)

* ⬆️ Angular 12 upgrade

* 🔨  Use default value for aot comp in cookbook

* ⬆️  Upgrade stencil to match support jest v27

* 🚨 Enable Ivy compilation

View Engine Compilation is going to be removed in Angular 13.
By enabling Ivy, consumers will not have to compile our designsystem with ngcc.
See more here: https://blog.angular.io/upcoming-improvements-to-angular-library-distribution-76c02f782aa4.

The Ivy engine now catches errors where a module or directive is exposed
through KirbyModule, without at the same time being exported by the top
level index.ts barrel file. These missing exports are now added.

* ✅  Use toHaveComputedStyles to get custom prop

* 🚨 Add missing mocks to top level entry point

* 👷 Change exports to match generated mocks

* 👷 Move badge export

We no longer needs to compile with NGCC as we have enabled Ivy
compilation. Hooray!

* 💚 Add missing mock export

* 🔥 Remove TODO. Replaced by issue #2152

* Calculate UTC offset based on correct date (#2115)

* 🚧  UTC time experiment

* ⚗️ Do not use subtractTimezoneOffset()

* 🐛 Remove unneccessary timezone offset

* 🐛 Add back offset to preserve existing functionality

It seems that the original intent was to simply format a local time
as its UTC equivalent, and not adjust it to any specific UTC zone.

This is done by consumers, so something like 02:00:00 GMT+0200
becomes 00:00:00 GMT on their end.

* ⏪  Revert changes to showcase component

Co-authored-by: Jesper Kaltoft <git@jesperkaltoft.dk>

* Upgrade prettier and stylelint (#2146)

* ⬆️  Upgrade prettier

* 💄 Lint and prettify cookbook styles

* 🎨  Lint and prettify cookbook ts files

* 🎨  Lint and prettify cookbook templates

* 🔧  Update prettier and stylelint config

* 🎨  Lint and prettify misc project files

* 🎨  Lint and prettify designsystem styles

* 🤡  Use same line endings across mocks

* 🎨  Lint and prettify designsystem spec files

* 🎨  Lint and prettify designsystem ts files

* 💄 Rename css-class in template

* ✅  Fix tab test according to changed css

* 🙈 Update ignore files with newline at EOF

* ♻️  Increase readability of span

* 🔧  Prettify .stylelintrc (whoa, meta!)

* ➖ Remove unused depencency

* 💄 Replace duplicate ::after with ::before for print

* ⏪  Revert unintentional prettier change

* 🔥 Remove vendor prefix

This is handled by Angular via auto-prefixer.

* ⏪ Revert unintentional change to line clamp styles

* Allow non-enum Input in components: template literal type solution (#2099)

* Enable non-enum input

* Update button.component.ts

* Use values when enum is mapping

* allow use of string values for enum input props

* 🏷️ Allow non-enum input types

* 🏷️ Update mocks to use template literal types

Co-authored-by: Morten Bjerg Gregersen <mgr@bankdata.dk>

* Add unit back on item safe area custom property (#2160)

* 💄 Add unit back on item safe area custom property

* 💄 Make stylelint ignore 0px for custom properties

* 💡 Remove stylelint ignores

* Add badge mock and update line-endings for page mock (#2170)

* 🤡  Run prettier on page mock

* 🤡  Run mock gen. script so mocks are up to date

* Remove option to inject IconSettings via IconRegistryService constructor (#2171)

* 🔥 Remove unused icon config

These custom icons are registered in the module (examples.module.ts)
and this is most likely leftover functionality from before that.

* 🔥 Remove option for injecting icons via ctor

* 🔥 Remove injected IconSettings

* Remove deprecated okBtnText and cancelBtnText from AlertConfig (#2175)

* ♻️ Use correct config properties in examples

* ♻️  Rename and use correct properties in alert

* 🔥 Remove deprecated config properties

* ♻️  Simplify cancelBtn config

* ♻️ Rename getter for okBtn to match property name

* 🔥 Remove deprecated dim property on ModalConfig (#2177)

* 🔥 Remove deprecated 'dataLabels' property (#2178)

* Remove deprecated toast danger MessageType (#2181)

* 🔥 Remove danger-specific messageType tests

* 🔥 Remover danger messageType from Toast

* 🔥 Remove use of danger type for toast in cookbook

* Remove deprecated list directives (#2184)

* 🔥 Remove deprecated list directives

* 🔥 Remove outdated section in readme

* OnPush change detection for simplest components (#2169)

* ⚡️ Use OnPush CD for comps with immutable inputs

* ⚡️ Add strategy to additional dumb components

* ✅  Migrate tests to use spectator

Directly setting the input on the component did not work with OnPush
change detection, so spectator is used in alert test now, while we
were at it. This way we can interact with the component via setInput().

* ✅  Remove unused provider from alert

* ⏪  Revert OnPush for tabs

State can be changed internally because 'tabBarBottomHidden' is public,
but not an input decorator - while still being used in the template.

* ✅  Clean up alert test

* ✅  Migrate toggle tests to use spectator

Directly setting the input on the component did not work with OnPush
change detection, so spectator is used in toggle test now, while we
were at it. This way we can interact with the component via setInput().

* ⏪  Revert to default change detection for card

* ⏪  Remove default strategy - it is the default

* ⏪ Remove unused import

Co-authored-by: Mads Buchmann Frederiksen <mbf@prochimp.dk>
Co-authored-by: Troels Strand <troelslenda@gmail.com>
Co-authored-by: RasmusKjeldgaard <rkk@bankdata.dk>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Michael T <micbittro@gmail.com>
Co-authored-by: Michael Troelsen <mxt@bankdata.dk>
Co-authored-by: Morten Bjerg Gregersen <mgr@bankdata.dk>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

3 participants