File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -25,14 +25,20 @@ export default class BuilderView extends ItemView {
2525 constructor ( leaf : WorkspaceLeaf , public plugin : InitiativeTracker ) {
2626 super ( leaf ) ;
2727 }
28- getState ( ) {
29- return [ ...get ( encounter ) . entries ( ) ] ;
28+ getState ( ) : Record < string , unknown > {
29+ return { encounter : [ ...get ( encounter ) . entries ( ) ] } ;
3030 }
3131 async setState (
32- state : [ SRDMonster , number ] [ ] ,
32+ state : Record < string , unknown > ,
3333 result : ViewStateResult
3434 ) : Promise < void > {
35- if ( state && Array . isArray ( state ) ) encounter . setMultiple ( state ) ;
35+ // Support both legacy array format and new object format
36+ const entries = (
37+ Array . isArray ( state )
38+ ? state
39+ : state ?. encounter
40+ ) as [ SRDMonster , number ] [ ] | undefined ;
41+ if ( entries && Array . isArray ( entries ) ) encounter . setMultiple ( entries ) ;
3642 super . setState ( state , result ) ;
3743 }
3844 ui : Builder ;
Original file line number Diff line number Diff line change 1+ declare const app : import ( "obsidian" ) . App ;
12declare type DndEventInfo = import ( "svelte-dnd-action" ) . DndEventInfo ;
23declare interface GenericDndEvent < T extends Record < string , any > > {
34 items : T ;
Original file line number Diff line number Diff line change @@ -567,7 +567,7 @@ export default class InitiativeTracker extends Plugin {
567567 )
568568 ) ;
569569 this . registerEvent (
570- app . workspace . on (
570+ this . app . workspace . on (
571571 "initiative-tracker:save-state" ,
572572 async ( state : InitiativeViewState ) => {
573573 this . data . state = state ;
@@ -629,14 +629,11 @@ export default class InitiativeTracker extends Plugin {
629629 }
630630
631631 async addTrackerView ( ) {
632- if (
633- this . app . workspace . getLeavesOfType ( INITIATIVE_TRACKER_VIEW ) ?. length
634- ) {
635- return ;
636- }
637- await this . app . workspace . getRightLeaf ( false ) . setViewState ( {
638- type : INITIATIVE_TRACKER_VIEW
639- } ) ;
632+ await this . app . workspace . ensureSideLeaf (
633+ INITIATIVE_TRACKER_VIEW ,
634+ "right" ,
635+ { active : false }
636+ ) ;
640637 }
641638 get builder ( ) {
642639 const leaves = this . app . workspace . getLeavesOfType ( BUILDER_VIEW ) ;
@@ -727,12 +724,12 @@ export default class InitiativeTracker extends Plugin {
727724 }
728725 async openCombatant ( creature : Creature ) {
729726 if ( ! this . canUseStatBlocks ) return ;
730- const view = this . combatant ;
731- if ( ! view ) {
732- const leaf = this . app . workspace . getRightLeaf ( false ) ;
733- await leaf . setViewState ( {
734- type : CREATURE_TRACKER_VIEW
735- } ) ;
727+ if ( ! this . combatant ) {
728+ await this . app . workspace . ensureSideLeaf (
729+ CREATURE_TRACKER_VIEW ,
730+ "right" ,
731+ { active : true }
732+ ) ;
736733 }
737734
738735 await this . combatant . render ( creature ) ;
Original file line number Diff line number Diff line change @@ -102,7 +102,7 @@ export class CreatureView extends ItemView {
102102 "a.internal-link" ,
103103 debounce (
104104 ( ev ) =>
105- app . workspace . trigger ( "hover-link" , {
105+ this . app . workspace . trigger ( "hover-link" , {
106106 event : ev ,
107107 source : INITIATIVE_TRACKER_VIEW ,
108108 hoverParent : this ,
@@ -115,7 +115,7 @@ export class CreatureView extends ItemView {
115115 )
116116 ) ;
117117 this . containerEl . on ( "click" , "a.internal-link" , ( ev ) =>
118- app . workspace . openLinkText (
118+ this . app . workspace . openLinkText (
119119 ( ev . target as HTMLAnchorElement ) . dataset . href ,
120120 "initiative-tracker"
121121 )
@@ -185,7 +185,7 @@ export class CreatureView extends ItemView {
185185 if ( file ) {
186186 const fileContent = await this . app . vault . cachedRead ( file ) ;
187187 if ( subpath && fileContent ) {
188- const cache = app . metadataCache . getFileCache ( file ) ;
188+ const cache = this . app . metadataCache . getFileCache ( file ) ;
189189 const subpathResult = resolveSubpath ( cache , subpath ) ;
190190 if ( subpathResult ) {
191191 content = fileContent . slice (
You can’t perform that action at this time.
0 commit comments