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

Fix: TS types for DataMapOptions.fills #500

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

pavel-lens
Copy link

@pavel-lens pavel-lens commented Jul 4, 2019

There is a bug in type definitions of DataMapOptions.fills with Index signatures.

ERROR in /Users/psvitek001/Projects/big/big-vuejs-fe/node_modules/datamaps/src/index.d.ts
10:15 Property 'defaultFill' of type 'string | undefined' is not assignable to string index type 'string'.
     8 |     arcConfig?: DataMapArcConfigOptions;z
     9 |     setProjection?: (element: HTMLElement, options: DataMapOptions) => DataMapProjection;
  > 10 |     fills?: { defaultFill?: string, [key: string]: string };
       |               ^
    11 |     done?: (datamap: {
    12 |         svg: d3.Selection<any>,
    13 |         options: DataMapOptions,

I encountered it in VueJS Typescript project.

More explanation here, section Excluding certain properties from the index signature
https://basarat.gitbooks.io/typescript/docs/types/index-signatures.html

delapuente added a commit to qiskit-community/community.qiskit.org that referenced this pull request Sep 5, 2019
---
New software version notes:

This commit updates to Nuxt 2.9.2. The new version has some implications when coming from 2.8.X version using Typescript:
https://typescript.nuxtjs.org/migration.html

Due to this bug:
markmarkoh/datamaps#500
A custom version of datamaps is used for rendering the Advocate Map:
https://github.com/delapuente/datamaps/tree/fix-types
---

The new theme makes extensive use of dark and electric colors with a vibrant header, combining different styles of sections with ad-hoc widgets to showcase the capabilities of the design. Affected pages are `/education` and `/advocates`.

The new design integrates with qiskit.org by faking the top menu and adding an internal community sub-menu. It also adds a footer with Qiskit elements, community sub-sections and social media.

This commit adds a new component structure aimed at creating a collection of highly composable units. These units use BEM for internal styling. It is recommended not to style the components outside their physical boundaries to give the page freedom to integrates. However, the CSS framework (which is now SCSS) provide a collection of mixin for standarizing the layout.

The point of entry for the community is redirecting to the education micro-site on purpose.

This commit intentionally breaks the separation between design and presentation. A better approach is needed to allow content documents to be able of providing several HTML sections instead of only one. A summary of the problem can be found at:
https://michaelnthiessen.com/advanced-vue-controlling-parent-slots

The most semantic solution, [portals](https://github.com/LinusBorg/portal-vue), don't work in server-side rendering mode and so, the portals are not populated with content in a static-site configuration. We are exploring embedding multiple front-matter documents at:
https://github.com/delapuente/frontmatter-markdown-loader/tree/multiple

The other solutions also rely on client reactivity which is not the desired behaviour.

The new design also intentionally avoids the use of the `<nuxt-link>` component. Due to unknown reasons, DOM differentiation does not work correctly and the navigation is ultimately broken.

Follow-ups for solving the navigation issues, improve reactivity in secondary content and recover the separation between design and content are filled in the project repository.
@delapuente
Copy link

Are there plans for merging this?

y4izus pushed a commit to y4izus/qiskit.org that referenced this pull request Nov 11, 2020
---
New software version notes:

This commit updates to Nuxt 2.9.2. The new version has some implications when coming from 2.8.X version using Typescript:
https://typescript.nuxtjs.org/migration.html

Due to this bug:
markmarkoh/datamaps#500
A custom version of datamaps is used for rendering the Advocate Map:
https://github.com/delapuente/datamaps/tree/fix-types
---

The new theme makes extensive use of dark and electric colors with a vibrant header, combining different styles of sections with ad-hoc widgets to showcase the capabilities of the design. Affected pages are `/education` and `/advocates`.

The new design integrates with qiskit.org by faking the top menu and adding an internal community sub-menu. It also adds a footer with Qiskit elements, community sub-sections and social media.

This commit adds a new component structure aimed at creating a collection of highly composable units. These units use BEM for internal styling. It is recommended not to style the components outside their physical boundaries to give the page freedom to integrates. However, the CSS framework (which is now SCSS) provide a collection of mixin for standarizing the layout.

The point of entry for the community is redirecting to the education micro-site on purpose.

This commit intentionally breaks the separation between design and presentation. A better approach is needed to allow content documents to be able of providing several HTML sections instead of only one. A summary of the problem can be found at:
https://michaelnthiessen.com/advanced-vue-controlling-parent-slots

The most semantic solution, [portals](https://github.com/LinusBorg/portal-vue), don't work in server-side rendering mode and so, the portals are not populated with content in a static-site configuration. We are exploring embedding multiple front-matter documents at:
https://github.com/delapuente/frontmatter-markdown-loader/tree/multiple

The other solutions also rely on client reactivity which is not the desired behaviour.

The new design also intentionally avoids the use of the `<nuxt-link>` component. Due to unknown reasons, DOM differentiation does not work correctly and the navigation is ultimately broken.

Follow-ups for solving the navigation issues, improve reactivity in secondary content and recover the separation between design and content are filled in the project repository.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants