## 1.127.0
This commit is contained in:
@ -278,3 +278,9 @@ None
|
||||
|
||||
- chore: update dependencies and vscode engine version
|
||||
- file-folder-helper-exe net10.0
|
||||
|
||||
|
||||
## 1.127.0 1764901356737 = 639004981567370000 = 2025-6.Fall = Thu Dec 04 2025 19:22:36 GMT-0700 (Mountain Standard Time)
|
||||
-----------------------------------------------------------------------------------------------------------
|
||||
|
||||
- chart.js support from https://github.com/FlomoN/chartjs-markdown-preview.git
|
||||
|
||||
41
type-script-helper/media/charts-render.js
Normal file
41
type-script-helper/media/charts-render.js
Normal file
@ -0,0 +1,41 @@
|
||||
function contentLoaded() {
|
||||
|
||||
var chartElements = document.getElementsByClassName("chartjs");
|
||||
|
||||
var changes = [];
|
||||
|
||||
for (let index = 0; index < chartElements.length; index++) {
|
||||
var element = chartElements.item(index);
|
||||
var source = element.textContent;
|
||||
|
||||
changes.push({
|
||||
placeholder: element.parentElement.parentElement,
|
||||
chart: element,
|
||||
source
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
for (let index = 0; index < changes.length; index++) {
|
||||
const element = changes[index];
|
||||
element.placeholder.outerHTML = element.chart.outerHTML;
|
||||
}
|
||||
|
||||
var newchartElements = document.getElementsByClassName("chartjs");
|
||||
|
||||
for (let index = 0; index < newchartElements.length; index++) {
|
||||
var element = newchartElements.item(index);
|
||||
var source = element.textContent.replace(/(['"])?([a-zA-Z0-9_]+)(['"])?:/g, '"$2": ');
|
||||
new Chart(element.getContext("2d"), JSON.parse(source.trim()));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
window.addEventListener(
|
||||
"load",
|
||||
function () {
|
||||
contentLoaded();
|
||||
},
|
||||
false
|
||||
);
|
||||
3
type-script-helper/media/charts.css
Normal file
3
type-script-helper/media/charts.css
Normal file
@ -0,0 +1,3 @@
|
||||
canvas.chartjs{
|
||||
margin: 1rem;
|
||||
}
|
||||
@ -295,6 +295,14 @@
|
||||
"title": "Cost of Delay Helper Configuration",
|
||||
"type": "object"
|
||||
},
|
||||
"markdown.markdownItPlugins": true,
|
||||
"markdown.previewScripts": [
|
||||
"./node_modules/chart.js/dist/Chart.min.js",
|
||||
"./media/charts-render.js"
|
||||
],
|
||||
"markdown.previewStyles": [
|
||||
"./media/charts.css"
|
||||
],
|
||||
"views": {
|
||||
"view-command-palette-webview-view-provider-view": [
|
||||
{
|
||||
@ -318,6 +326,8 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@vscode/vsce": "^3.7.0",
|
||||
"chart.js": "^4.5.1",
|
||||
"dev": "^0.1.3",
|
||||
"polka": "^0.5.2"
|
||||
},
|
||||
"description": "Cost of Delay Helper",
|
||||
@ -374,5 +384,5 @@
|
||||
"watch": "concurrently \"rollup -c -w\" \"webpack --watch --config ./build/node-extension.webpack.config.js\"",
|
||||
"webpack": "webpack --config ./build/node-extension.webpack.config.js"
|
||||
},
|
||||
"version": "1.125.0"
|
||||
"version": "1.127.0"
|
||||
}
|
||||
@ -45,30 +45,6 @@ export async function activate(extensionContext: vscode.ExtensionContext) {
|
||||
}),
|
||||
);
|
||||
|
||||
function getWebviewView(title: string) {
|
||||
const column = vscode.window.activeTextEditor
|
||||
? vscode.window.activeTextEditor.viewColumn
|
||||
: undefined;
|
||||
|
||||
// Otherwise, create a new panel.
|
||||
const webviewView = vscode.window.createWebviewPanel(
|
||||
"web-view-panel",
|
||||
title,
|
||||
column || vscode.ViewColumn.One,
|
||||
{
|
||||
// Enable javascript in the webview
|
||||
enableScripts: true,
|
||||
|
||||
// And restrict the webview to only loading content from our extension's `media` directory.
|
||||
localResourceRoots: [
|
||||
vscode.Uri.joinPath(extensionContext.extensionUri, "media"),
|
||||
vscode.Uri.joinPath(extensionContext.extensionUri, "out/compiled"),
|
||||
],
|
||||
}
|
||||
);
|
||||
return webviewView;
|
||||
}
|
||||
|
||||
async function replaceResultsWithPositions(
|
||||
editor: vscode.TextEditor,
|
||||
positionsAndExpressions: [vscode.Position, string][],
|
||||
@ -198,6 +174,19 @@ export async function activate(extensionContext: vscode.ExtensionContext) {
|
||||
];
|
||||
|
||||
commands.forEach(command => extensionContext.subscriptions.push(command));
|
||||
|
||||
return {
|
||||
extendMarkdownIt(md: any) {
|
||||
const highlight = md.options.highlight;
|
||||
md.options.highlight = (code: any, lang: any) => {
|
||||
if (lang && lang.match(/\bchart\b/i)) {
|
||||
return `<canvas class="chartjs">${code.trim()}</canvas>`;
|
||||
}
|
||||
return highlight(code, lang);
|
||||
};
|
||||
return md;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// This method is called when your extension is deactivated
|
||||
|
||||
Reference in New Issue
Block a user