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

Implement data provider for visualizers with filtering and caching capabilities (client side implementation as well as server-side prototype) #48

Open
5 of 6 tasks
tsv2013 opened this issue Jul 15, 2020 · 1 comment · May be fixed by #437
Assignees

Comments

@tsv2013
Copy link
Member

tsv2013 commented Jul 15, 2020

Probably we need something like data controller compatible with all visualizers on the client side

  • implement remote data hook
  • support async data loading and rendering
  • support caching
  • implement chart (any visualizer) data loading indication
  • support multiple requests batching
  • describe statistics data formats for each type of a visualizer
@tsv2013 tsv2013 self-assigned this Jul 15, 2020
tsv2013 added a commit that referenced this issue Jul 20, 2020
tsv2013 added a commit that referenced this issue Jul 20, 2020
tsv2013 added a commit that referenced this issue Jul 20, 2020
…toring: extracted view (rendering adapter) from text question models
tsv2013 added a commit that referenced this issue Jul 21, 2020
…toring: include VisualizationPanel into VisualizerBase hierarchy
tsv2013 added a commit that referenced this issue Jul 23, 2020
…duce the dataProvider class and use it for select base and boolean questions
tsv2013 added a commit that referenced this issue Jul 24, 2020
tsv2013 added a commit that referenced this issue Jul 27, 2020
tsv2013 pushed a commit that referenced this issue Jul 28, 2020
tsv2013 pushed a commit that referenced this issue Jul 30, 2020
… filtering, caching and notifications to DataProvider
@tsv2013 tsv2013 changed the title Implement data providing server side prototype Implement data provider for visualizers with filtering and caching capabilities (client side implementation as well as server-side prototype) Jul 31, 2020
tsv2013 pushed a commit that referenced this issue Jul 31, 2020
… and caching capabilities (client side implementation as well as server-side prototype)
tsv2013 pushed a commit that referenced this issue May 22, 2024
… and caching capabilities (client side implementation as well as server-side prototype)
@tsv2013
Copy link
Member Author

tsv2013 commented May 23, 2024

We decided to implement the case where client-side visualization data gets calculated statistics (aggregated data) from a server.
Something like

const getAggregatedData = ({ questionNames, filter }) => {
    const url = "http://www.example.com/";
    const reqBody = { questionNames, filter };
    return fetch(url, { body: reqBody });
}

const vizPanel = new VisualizationPanel(
    survey.getAllQuestions(),
    getAggregatedData,
);

@tsv2013 tsv2013 closed this as completed May 23, 2024
@tsv2013 tsv2013 reopened this May 23, 2024
tsv2013 pushed a commit that referenced this issue May 23, 2024
… and caching capabilities - DataProvider refactoring
tsv2013 pushed a commit that referenced this issue May 29, 2024
…ltering and caching capabilities - implemented human-friendly aggregated data structures
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment