Skip to content

Commit

Permalink
Merge pull request #153 from AUS-DOH-Safety-and-Quality/simplify-deps
Browse files Browse the repository at this point in the history
Simplify deps
  • Loading branch information
andrjohns authored Jul 24, 2023
2 parents bf9d150 + 62c3e93 commit 5579489
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 56 deletions.
8 changes: 1 addition & 7 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,10 @@
"eslint": "npx eslint . --ext .js,.jsx,.ts,.tsx"
},
"dependencies": {
"@babel/runtime": "7.20.7",
"@babel/runtime-corejs3": "7.20.7",
"@stdlib/math": "^0.0.11",
"core-js": "3.27.2",
"d3": "^7.8.2",
"minimist": "^1.2.7",
"powerbi-visuals-api": "~3.6.0",
"powerbi-visuals-utils-dataviewutils": "^2.2.1",
"powerbi-visuals-utils-typeutils": "^6.0.1",
"regenerator-runtime": "^0.13.11"
"powerbi-visuals-utils-dataviewutils": "^2.2.1"
},
"devDependencies": {
"@types/d3": "^7.4.0",
Expand Down
4 changes: 2 additions & 2 deletions pbiviz.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"displayName":"SPC Charts",
"guid":"PBISPC",
"visualClassName":"Visual",
"version":"1.3.3.10",
"version":"1.3.3.11",
"description":"A PowerBI custom visual for SPC charts",
"supportUrl":"https://github.com/AUS-DOH-Safety-and-Quality/PowerBI-SPC",
"gitHubUrl":"https://github.com/AUS-DOH-Safety-and-Quality/PowerBI-SPC"
Expand All @@ -18,7 +18,7 @@
"icon":"assets/icon.png"
},
"externalJS":null,
"style":"style/visual.less",
"style":null,
"capabilities":"capabilities.json",
"dependencies":null,
"stringResources":[]
Expand Down
9 changes: 4 additions & 5 deletions src/Classes/plotPropertiesClass.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import { plotData } from "./viewModelClass"
import settingsClass from "./settingsClass";
import dataClass from "./dataClass";
import controlLimitsClass from "./controlLimitsClass";
import { pixelConverter } from "powerbi-visuals-utils-typeutils";

export type axisProperties = {
lower: number,
Expand Down Expand Up @@ -114,13 +113,13 @@ export default class plotPropertiesClass {
end_padding: args.inputSettings.canvas.right_padding,
colour: args.inputSettings.x_axis.xlimit_colour,
ticks: args.inputSettings.x_axis.xlimit_ticks,
tick_size: pixelConverter.toString(xTickSize),
tick_size: `${xTickSize}px`,
tick_font: args.inputSettings.x_axis.xlimit_tick_font,
tick_colour: args.inputSettings.x_axis.xlimit_tick_colour,
tick_rotation: args.inputSettings.x_axis.xlimit_tick_rotation,
tick_count: args.inputSettings.x_axis.xlimit_tick_count,
label: args.inputSettings.x_axis.xlimit_label,
label_size: pixelConverter.toString(args.inputSettings.x_axis.xlimit_label_size),
label_size: `${args.inputSettings.x_axis.xlimit_label_size}px`,
label_font: args.inputSettings.x_axis.xlimit_label_font,
label_colour: args.inputSettings.x_axis.xlimit_label_colour
};
Expand All @@ -132,13 +131,13 @@ export default class plotPropertiesClass {
end_padding: args.inputSettings.canvas.upper_padding,
colour: args.inputSettings.y_axis.ylimit_colour,
ticks: args.inputSettings.y_axis.ylimit_ticks,
tick_size: pixelConverter.toString(yTickSize),
tick_size: `${yTickSize}px`,
tick_font: args.inputSettings.y_axis.ylimit_tick_font,
tick_colour: args.inputSettings.y_axis.ylimit_tick_colour,
tick_rotation: args.inputSettings.y_axis.ylimit_tick_rotation,
tick_count: args.inputSettings.y_axis.ylimit_tick_count,
label: args.inputSettings.y_axis.ylimit_label,
label_size: pixelConverter.toString(args.inputSettings.y_axis.ylimit_label_size),
label_size: `${args.inputSettings.y_axis.ylimit_label_size}px`,
label_font: args.inputSettings.y_axis.ylimit_label_font,
label_colour: args.inputSettings.y_axis.ylimit_label_colour
};
Expand Down
8 changes: 8 additions & 0 deletions src/D3 Plotting Functions/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
export { default as addContextMenu } from "./addContextMenu"
export { default as drawDots } from "./drawDots"
export { default as drawIcons } from "./drawIcons"
export { default as drawLines } from "./drawLines"
export { default as drawTooltipLine } from "./drawTooltipLine"
export { default as drawXAxis } from "./drawXAxis"
export { default as drawYAxis } from "./drawYAxis"
export { default as updateHighlighting } from "./updateHighlighting"
50 changes: 17 additions & 33 deletions src/visual.ts
Original file line number Diff line number Diff line change
@@ -1,47 +1,31 @@
"use strict";

import "core-js/stable";
import "regenerator-runtime/runtime";
import "../style/visual.less";
import powerbi from "powerbi-visuals-api";
import IVisual = powerbi.extensibility.IVisual;
import VisualConstructorOptions = powerbi.extensibility.visual.VisualConstructorOptions;
import VisualUpdateOptions = powerbi.extensibility.visual.VisualUpdateOptions;
import EnumerateVisualObjectInstancesOptions = powerbi.EnumerateVisualObjectInstancesOptions;
import VisualObjectInstanceEnumerationObject = powerbi.VisualObjectInstanceEnumerationObject;
import IVisualHost = powerbi.extensibility.visual.IVisualHost;
import ISelectionManager = powerbi.extensibility.ISelectionManager;
import IVisualEventService = powerbi.extensibility.IVisualEventService;
import viewModelClass from "./Classes/viewModelClass"
import * as d3 from "d3";
import updateHighlighting from "./D3 Plotting Functions/updateHighlighting";
import drawXAxis from "./D3 Plotting Functions/drawXAxis";
import drawYAxis from "./D3 Plotting Functions/drawYAxis";
import drawTooltipLine from "./D3 Plotting Functions/drawTooltipLine";
import drawLines from "./D3 Plotting Functions/drawLines";
import drawDots from "./D3 Plotting Functions/drawDots";
import drawIcons from "./D3 Plotting Functions/drawIcons";
import addContextMenu from "./D3 Plotting Functions/addContextMenu";
import * as spc from "./D3 Plotting Functions"
import viewModelClass from "./Classes/viewModelClass"

export type svgBaseType = d3.Selection<SVGSVGElement, unknown, null, undefined>;

export class Visual implements IVisual {
host: IVisualHost;
export class Visual implements powerbi.extensibility.IVisual {
host: powerbi.extensibility.visual.IVisualHost;
svg: svgBaseType;
viewModel: viewModelClass;
selectionManager: ISelectionManager;
selectionManager: powerbi.extensibility.ISelectionManager;
// Service for notifying external clients (export to powerpoint/pdf) of rendering status
events: IVisualEventService;
events: powerbi.extensibility.IVisualEventService;

constructor(options: VisualConstructorOptions) {
constructor(options: powerbi.extensibility.visual.VisualConstructorOptions) {
this.svg = d3.select(options.element).append("svg");
this.events = options.host.eventService;
this.host = options.host;
this.viewModel = new viewModelClass();

this.selectionManager = this.host.createSelectionManager();
this.selectionManager.registerOnSelectCallback(() => {
this.svg.call(updateHighlighting, this);
this.svg.call(spc.updateHighlighting, this);
});

this.svg.append('g').classed("dotsgroup", true)
Expand All @@ -54,21 +38,21 @@ export class Visual implements IVisual {
this.svg.append('text').classed("yaxislabel", true)
}

public update(options: VisualUpdateOptions) {
public update(options: powerbi.extensibility.visual.VisualUpdateOptions) {
try {
this.events.renderingStarted(options);

this.viewModel.update({ options: options, host: this.host });
this.svg.attr("width", this.viewModel.plotProperties.width)
.attr("height", this.viewModel.plotProperties.height)
.call(drawXAxis, this)
.call(drawYAxis, this)
.call(drawTooltipLine, this)
.call(drawLines, this)
.call(drawDots, this)
.call(drawIcons, this)
.call(updateHighlighting, this)
.call(addContextMenu, this)
.call(spc.drawXAxis, this)
.call(spc.drawYAxis, this)
.call(spc.drawTooltipLine, this)
.call(spc.drawLines, this)
.call(spc.drawDots, this)
.call(spc.drawIcons, this)
.call(spc.updateHighlighting, this)
.call(spc.addContextMenu, this)

this.events.renderingFinished(options);
} catch (caught_error) {
Expand Down
9 changes: 0 additions & 9 deletions style/visual.less

This file was deleted.

0 comments on commit 5579489

Please sign in to comment.