11import {
22 CancellationTokenSource ,
33 ExtensionContext ,
4+ Uri ,
45 ViewColumn ,
56 window ,
67 workspace ,
@@ -34,6 +35,7 @@ import { readQueryResults, runQuery } from "./external-api-usage-query";
3435import { createDataExtensionYaml , loadDataExtensionYaml } from "./yaml" ;
3536import { ExternalApiUsage } from "./external-api-usage" ;
3637import { ModeledMethod } from "./modeled-method" ;
38+ import { ExtensionPackModelFile } from "./extension-pack-picker" ;
3739
3840function getQlSubmoduleFolder ( ) : WorkspaceFolder | undefined {
3941 const workspaceFolder = workspace . workspaceFolders ?. find (
@@ -60,7 +62,7 @@ export class DataExtensionsEditorView extends AbstractWebview<
6062 private readonly queryRunner : QueryRunner ,
6163 private readonly queryStorageDir : string ,
6264 private readonly databaseItem : DatabaseItem ,
63- private readonly modelFilename : string ,
65+ private readonly modelFile : ExtensionPackModelFile ,
6466 ) {
6567 super ( ctx ) ;
6668 }
@@ -93,10 +95,17 @@ export class DataExtensionsEditorView extends AbstractWebview<
9395 case "viewLoaded" :
9496 await this . onWebViewLoaded ( ) ;
9597
98+ break ;
99+ case "openExtensionPack" :
100+ await this . app . commands . execute (
101+ "revealInExplorer" ,
102+ Uri . file ( this . modelFile . extensionPack . path ) ,
103+ ) ;
104+
96105 break ;
97106 case "openModelFile" :
98107 await window . showTextDocument (
99- await workspace . openTextDocument ( this . modelFilename ) ,
108+ await workspace . openTextDocument ( this . modelFile . filename ) ,
100109 ) ;
101110
102111 break ;
@@ -127,7 +136,8 @@ export class DataExtensionsEditorView extends AbstractWebview<
127136 await Promise . all ( [
128137 this . postMessage ( {
129138 t : "setDataExtensionEditorInitialData" ,
130- modelFilename : this . modelFilename ,
139+ extensionPackName : this . modelFile . extensionPack . name ,
140+ modelFilename : this . modelFile . filename ,
131141 } ) ,
132142 this . loadExternalApiUsages ( ) ,
133143 this . loadExistingModeledMethods ( ) ,
@@ -164,28 +174,30 @@ export class DataExtensionsEditorView extends AbstractWebview<
164174 modeledMethods ,
165175 ) ;
166176
167- await outputFile ( this . modelFilename , yaml ) ;
177+ await outputFile ( this . modelFile . filename , yaml ) ;
168178
169- void extLogger . log ( `Saved data extension YAML to ${ this . modelFilename } ` ) ;
179+ void extLogger . log (
180+ `Saved data extension YAML to ${ this . modelFile . filename } ` ,
181+ ) ;
170182 }
171183
172184 protected async loadExistingModeledMethods ( ) : Promise < void > {
173185 try {
174- if ( ! ( await pathExists ( this . modelFilename ) ) ) {
186+ if ( ! ( await pathExists ( this . modelFile . filename ) ) ) {
175187 return ;
176188 }
177189
178- const yaml = await readFile ( this . modelFilename , "utf8" ) ;
190+ const yaml = await readFile ( this . modelFile . filename , "utf8" ) ;
179191
180192 const data = loadYaml ( yaml , {
181- filename : this . modelFilename ,
193+ filename : this . modelFile . filename ,
182194 } ) ;
183195
184196 const existingModeledMethods = loadDataExtensionYaml ( data ) ;
185197
186198 if ( ! existingModeledMethods ) {
187199 void showAndLogErrorMessage (
188- `Failed to parse data extension YAML ${ this . modelFilename } .` ,
200+ `Failed to parse data extension YAML ${ this . modelFile . filename } .` ,
189201 ) ;
190202 return ;
191203 }
@@ -197,7 +209,7 @@ export class DataExtensionsEditorView extends AbstractWebview<
197209 } catch ( e : unknown ) {
198210 void showAndLogErrorMessage (
199211 `Unable to read data extension YAML ${
200- this . modelFilename
212+ this . modelFile . filename
201213 } : ${ getErrorMessage ( e ) } `,
202214 ) ;
203215 }
0 commit comments