File tree Expand file tree Collapse file tree 3 files changed +19
-13
lines changed
Expand file tree Collapse file tree 3 files changed +19
-13
lines changed Original file line number Diff line number Diff line change @@ -795,6 +795,13 @@ export class DataPreview {
795795 return this . _uri ;
796796 }
797797
798+ /**
799+ * Gets the source data url for this preview.
800+ */
801+ get dataUrl ( ) : string {
802+ return this . _dataUrl ;
803+ }
804+
798805 /**
799806 * Gets the preview uri to load on data preview command triggers or vscode IDE reload.
800807 */
Original file line number Diff line number Diff line change @@ -74,22 +74,20 @@ export function activate(context: ExtensionContext) {
7474 // refresh associated preview on data file save
7575 workspace . onDidSaveTextDocument ( ( document : TextDocument ) => {
7676 if ( isDataFile ( document ) ) {
77- const uri : Uri = document . uri . with ( { scheme : 'data' } ) ;
78- const preview : DataPreview = previewManager . find ( uri ) ;
79- if ( preview ) {
80- preview . refresh ( ) ;
81- }
77+ const dataUri : Uri = document . uri ; // .with({scheme: 'data'});
78+ const previews : Array < DataPreview > = previewManager . find ( dataUri ) ;
79+ previews . forEach ( preview => preview . refresh ( ) ) ;
8280 }
8381 } ) ;
8482
8583 // reset associated preview on data file change
8684 workspace . onDidChangeTextDocument ( ( changeEvent : TextDocumentChangeEvent ) => {
8785 if ( isDataFile ( changeEvent . document ) ) {
88- const uri : Uri = changeEvent . document . uri . with ( { scheme : 'data' } ) ;
89- const preview : DataPreview = previewManager . find ( uri ) ;
90- if ( preview && changeEvent . contentChanges . length > 0 ) {
86+ const dataUri : Uri = changeEvent . document . uri ; // .with({scheme: 'data'});
87+ const previews : Array < DataPreview > = previewManager . find ( dataUri ) ;
88+ if ( previews && changeEvent . contentChanges . length > 0 ) {
9189 // TODO: add refresh interval before enabling this
92- // preview.refresh();
90+ // previews.forEach( preview => preview .refresh() );
9391 }
9492 }
9593 } ) ;
Original file line number Diff line number Diff line change @@ -39,11 +39,12 @@ export class PreviewManager {
3939 }
4040
4141 /**
42- * Returns matching preview for the specified uri.
43- * @param uri preview uri .
42+ * Returns matching preview for the specified data uri.
43+ * @param dataUri Data Uri to find for open data previews .
4444 */
45- public find ( uri : Uri ) : DataPreview {
46- return this . _previews . find ( p => p . previewUri . toString ( ) === uri . toString ( ) ) ;
45+ public find ( dataUri : Uri ) : Array < DataPreview > {
46+ const dataUrl : string = dataUri . toString ( true ) ; // skip uri encoding
47+ return this . _previews . filter ( p => p . dataUrl === dataUrl ) ;
4748 }
4849
4950 /**
You can’t perform that action at this time.
0 commit comments