Skip to content

Commit

Permalink
Nightly Merge Thu 20 Feb 2025 14:21:35 GMT
Browse files Browse the repository at this point in the history
  • Loading branch information
toxophilist committed Feb 20, 2025
2 parents e7e02ef + c81a9c3 commit 864852e
Show file tree
Hide file tree
Showing 14 changed files with 245 additions and 134 deletions.
20 changes: 2 additions & 18 deletions ocd/library/c3/OKENetworkInfrastructure.okit
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"ocdSchemaVersion": "0.1.0",
"ocdModelId": "ocd-model-b229c12b-895f-4317-aae0-9b9c2a7d8232",
"platform": "oci",
"title": "OKE Networking for PCA",
"title": "OKE Networking for C3",
"documentation": "",
"created": "2024-3-20 15:17:4",
"updated": ""
Expand Down Expand Up @@ -937,23 +937,7 @@
"vcnId": "okit.vcn.81346ca4-8738-446a-861e-76a66333e15f"
}
],
"dynamic_group": [
{
"provider": "oci",
"locked": false,
"terraformResourceName": "OkitDynamicGroup1713431305858",
"okitReference": "okit-6166659f-5cd6-4e4b-8b6a-4470d96de17a",
"resourceType": "DynamicGroup",
"resourceTypeName": "Dynamic Group",
"id": "okit.dynamic_group.be91810e-d732-4ac0-ae6e-f1b700b2677b",
"region": "",
"compartmentId": "okit.compartment.c373a27c-dc58-4cde-9dce-db3de0ca8056",
"displayName": "Dynamic Group bed0",
"documentation": "",
"description": "",
"matchingRule": ""
}
]
"dynamic_group": []
}
}
},
Expand Down
18 changes: 1 addition & 17 deletions ocd/library/pca/OKENetworkInfrastructure.okit
Original file line number Diff line number Diff line change
Expand Up @@ -937,23 +937,7 @@
"vcnId": "okit.vcn.81346ca4-8738-446a-861e-76a66333e15f"
}
],
"dynamic_group": [
{
"provider": "oci",
"locked": false,
"terraformResourceName": "OkitDynamicGroup1713431305858",
"okitReference": "okit-6166659f-5cd6-4e4b-8b6a-4470d96de17a",
"resourceType": "DynamicGroup",
"resourceTypeName": "Dynamic Group",
"id": "okit.dynamic_group.be91810e-d732-4ac0-ae6e-f1b700b2677b",
"region": "",
"compartmentId": "okit.compartment.c373a27c-dc58-4cde-9dce-db3de0ca8056",
"displayName": "Dynamic Group bed0",
"documentation": "",
"description": "",
"matchingRule": ""
}
]
"dynamic_group": []
}
}
},
Expand Down
2 changes: 1 addition & 1 deletion ocd/packages/cli/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"pack": "mkdir -p dist && npm pack --pack-destination dist",
"compile": "tsc -p tsconfig.json && tsc -p tsconfig-cjs.json",
"build": "npm run compile && npm run pack",
"generate-oci-reference-data": "node lib/esm/ocd-generate-default-cache.js -d ../desktop/src/data",
"generate-oci-reference-data": "node lib/esm/ocd-generate-default-cache.js -d ../react/src/data",
"test-export-to-md": "node lib/esm/ocd.js export markdown -d ../../test/design.okit -o ../../test/export/md/okit.md -C ../desktop/src/css/oci-theme.css -C ../desktop/src/css/ocd-svg.css",
"test-export-to-svg": "node lib/esm/ocd.js export svg -d ../../test/design.okit -O ../../test/export/svg -C ../desktop/src/css/oci-theme.css -C ../desktop/src/css/ocd-svg.css",
"test-export-to-tf": "node lib/esm/ocd.js export terraform -d ../../test/design.okit -O ../../test/export/tf",
Expand Down
2 changes: 1 addition & 1 deletion ocd/packages/codegen-cli/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"compile": "tsc -p tsconfig.json && tsc -p tsconfig-cjs.json",
"build": "npm run compile && npm run pack",

"generate-ocd-svg-css-desktop": "node lib/esm/ocd-build-svg-css.js -d ../react/src/data -i ../react/src/css",
"generate-ocd-svg-css-desktop": "node lib/esm/ocd-build-svg-css.js -d ../react/src/data -i ../desktop/src/css",

"generate-ocd-build-date-desktop": "node lib/esm/ocd-set-build-date.js -d ../react/src/data -p ../desktop/package.json",
"generate-ocd-build-date-export": "node lib/esm/ocd-set-build-date.js -d ../export/src/data -p ../desktop/package.json",
Expand Down
16 changes: 16 additions & 0 deletions ocd/packages/codegen/src/generator/OcdSvgCssGenerator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,26 @@ export class OcdSvgCssGenerator extends OcdCodeGenerator {
const content = `${this.copyright()}
${this.autoGeneratedWarning()}
import { OcdDesign } from "@ocd/model"
export const svgCssData: Record<string, string> = {
${cssFiles.map((f) => `'${f}': String.raw\`${fs.readFileSync(path.join(resource, f), 'utf8')}\``).join(',\n\n ')}
}
export const ociSvgThemeCss = svgCssData['oci-theme.css']
export const azureSvgThemeCss = svgCssData['azure-theme.css']
export const generalSvgThemeCss = svgCssData['general-theme.css']
export const googleSvgThemeCss = svgCssData['google-theme.css']
export const svgSvgCss = svgCssData['ocd-svg.css']
export const getSvgCssData = (design: OcdDesign): string[] => {
let cssData = [ociSvgThemeCss, svgSvgCss]
if (design.model.general && Object.keys(design.model.general).length > 0) cssData = [...cssData, generalSvgThemeCss]
if (design.model.azure && Object.keys(design.model.azure).length > 0) cssData = [...cssData, azureSvgThemeCss]
if (design.model.google && Object.keys(design.model.google).length > 0) cssData = [...cssData, googleSvgThemeCss]
return cssData
}
export default svgCssData
`
Expand Down
2 changes: 1 addition & 1 deletion ocd/packages/desktop/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"clean": "rm -rf lib dist .vite out",
"purge": "npm run clean && rm -rf node_modules",
"build": "npm run make",
"start": "NODE_OPTIONS=--max-old-space-size=8192 electron-forge start",
"start": "NODE_OPTIONS=--max-old-space-size=8192 electron-forge start -- --trace-warnings",
"package": "NODE_OPTIONS=--max-old-space-size=8192 electron-forge package",
"make": "electron-forge make ",
"make-macos-universal": "NODE_OPTIONS=--max-old-space-size=8192 DEBUG=electron-installer-dmg* electron-forge make --arch='universal'",
Expand Down
48 changes: 47 additions & 1 deletion ocd/packages/desktop/src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import common from 'oci-common'
import { OciQuery, OciReferenceDataQuery, OciResourceManagerQuery } from '@ocd/query'
import { OcdDesign, OcdResource, OciModelResources } from '@ocd/model'
import { OcdCache, OcdConsoleConfiguration } from '@ocd/react'
import { OcdExcelExporter, OcdMarkdownExporter, OcdTerraformExporter } from '@ocd/export'
import { OcdExcelExporter, OcdMarkdownExporter, OcdSVGExporter, OcdTerraformExporter } from '@ocd/export'

app.commandLine.appendSwitch('ignore-certificate-errors') // Temporary work around for not being able to add additional certificates
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0' // Temporary work around for not being able to add additional certificates
Expand Down Expand Up @@ -262,6 +262,7 @@ app.whenReady().then(() => {
ipcMain.handle('ocdDesign:exportTerraform', handleExportTerraform)
ipcMain.handle('ocdDesign:exportToExcel', handleExportToExcel)
ipcMain.handle('ocdDesign:exportToMarkdown', handleExportToMarkdown)
ipcMain.handle('ocdDesign:exportToSvg', handleExportToSvg)
ipcMain.handle('ocdDesign:exportToTerraform', handleExportToTerraform)
// OCD Configuration
ipcMain.handle('ocdConfig:loadConsoleConfig', handleLoadConsoleConfig)
Expand Down Expand Up @@ -532,6 +533,51 @@ async function handleExportToMarkdown(event: any, design: OcdDesign, css: string
})
}

async function handleExportToSvg(event: any, design: OcdDesign, css: string[] = [], directory: string = '', suggestedFilename = '') {
console.debug('Electron Main: exportToSvg')
if (design.view.pages.length > 1) {
const additionalFilename: string = suggestedFilename && suggestedFilename.length > 0 ? suggestedFilename : design.metadata.title.replaceAll(' ', '_')
return new Promise((resolve, reject) => {
dialog.showOpenDialog(mainWindow, {
properties: ['openDirectory', 'createDirectory'],
defaultPath: directory,
buttonLabel: 'Export'
}).then(result => {
if (!result.canceled) {
const exporter = new OcdSVGExporter(css)
const output = exporter.export(design)
console.debug('handleExportToSvg: ', result.filePaths)
const directory = result.filePaths[0]
Object.entries(output).forEach(([k, v]) => fs.writeFileSync(path.join(directory, `${k.replaceAll(' ', '_')}.svg`), v))
}
resolve({canceled: false, filename: result.canceled ? '' : result.filePaths[0], design: design})
}).catch(err => {
console.error(err)
reject(new Error(err))
})
})
} else {
return new Promise((resolve, reject) => {
dialog.showSaveDialog(mainWindow, {
defaultPath: suggestedFilename,
properties: ['createDirectory'],
filters: [{name: 'Filetype', extensions: ['svg']}],
buttonLabel: 'Export'
}).then(result => {
if (!result.canceled) {
const exporter = new OcdSVGExporter(css)
const output = exporter.export(design)
fs.writeFileSync(result.filePath, Object.values(output)[0])
}
resolve({canceled: false, filename: result.canceled ? '' : result.filePath, design: design})
}).catch(err => {
console.error(err)
reject(new Error(err))
})
})
}
}

async function handleExportToTerraform(event: any, design: OcdDesign, directory: string) {
console.debug('Electron Main: handleExportTerraform')
return new Promise((resolve, reject) => {
Expand Down
1 change: 1 addition & 0 deletions ocd/packages/desktop/src/preload.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ contextBridge.exposeInMainWorld('ocdAPI', {
exportTerraform: (design: OcdDesign, directory: string) => ipcRenderer.invoke('ocdDesign:exportTerraform', design, directory),
exportToExcel: (design: OcdDesign, suggestedFilename = '') => ipcRenderer.invoke('ocdDesign:exportToExcel', design, suggestedFilename),
exportToMarkdown: (design: OcdDesign, css: string[], suggestedFilename = '') => ipcRenderer.invoke('ocdDesign:exportToMarkdown', design, css, suggestedFilename),
exportToSvg: (design: OcdDesign, css: string[], directory: string, suggestedFilename = '') => ipcRenderer.invoke('ocdDesign:exportToSvg', design, css, directory, suggestedFilename),
exportToTerraform: (design: OcdDesign, directory: string) => ipcRenderer.invoke('ocdDesign:exportToTerraform', design, directory),
// OCD Configuration
loadConsoleConfig: () => ipcRenderer.invoke('ocdConfig:loadConsoleConfig'),
Expand Down
3 changes: 2 additions & 1 deletion ocd/packages/export/src/svg/OcdSVGExporter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ export class OcdSVGExporter extends OcdExporter {
const height = this.calculateHeight(page.coords)
// const svg = `<svg xmlns="http://www.w3.org/2000/svg" fill="white" width="${width}px" height="${height}px">
// const svg = `<svg xmlns="http://www.w3.org/2000/svg" fill="white" width="100%" height="${height}px" viewBox="0 0 ${width} ${height}" preserveAspectRation="xMinYMin meet">
const svg = `<svg xmlns="http://www.w3.org/2000/svg" fill="white" width="${width}px" height="${height}px" viewBox="0 0 ${width} ${height}" preserveAspectRation="xMinYMin meet">
// const svg = `<svg xmlns="http://www.w3.org/2000/svg" fill="white" width="${width}px" height="${height}px" viewBox="0 0 ${width} ${height}" preserveAspectRation="xMinYMin meet">
const svg = `<svg xmlns="http://www.w3.org/2000/svg" fill="white" width="100%" viewBox="0 0 ${width} ${height}" preserveAspectRation="xMinYMin meet">
<defs></defs>
<style type="text/css">
${this.css.join('')}
Expand Down
Loading

0 comments on commit 864852e

Please sign in to comment.