1- import initCreator , { SerializedAsset } from '../src/index'
1+ import initCreator , { SerializedOutputAsset } from '../src/index'
22
33declare global {
44 interface Window {
5- assetsSnapshot : SerializedAsset [ ]
5+ assetsSnapshot : SerializedOutputAsset [ ]
66 }
77}
88
9- const assetsUpdatesHistory : SerializedAsset [ ] [ ] = [ [ ] ]
9+ const assetsUpdatesHistory : SerializedOutputAsset [ ] [ ] = [ [ ] ]
1010
1111async function test ( ) {
1212 const canvas = document . querySelector < HTMLCanvasElement > ( 'canvas' ) !
@@ -22,7 +22,6 @@ async function test() {
2222
2323 const creator = await initCreator (
2424 canvas ,
25- [ ] ,
2625 ( assets ) => {
2726 window . assetsSnapshot = assets
2827 // we had to implement this whole history logic because there is no way
@@ -41,17 +40,25 @@ async function test() {
4140 }
4241 )
4342
44- const fileInput = document . querySelector < HTMLInputElement > ( 'input ' ) !
45- fileInput . addEventListener ( 'change' , ( event ) => {
43+ const addImageInput = document . querySelector < HTMLInputElement > ( '#add-image ' ) !
44+ addImageInput . addEventListener ( 'change' , ( event ) => {
4645 const { files } = event . target as HTMLInputElement
4746 if ( ! files ) return
47+ creator . addImage ( URL . createObjectURL ( files [ 0 ] ) )
48+ addImageInput . value = '' // reset input value to allow re-uploading the same file
49+ } )
4850
49- const img = new Image ( )
50- img . src = URL . createObjectURL ( files [ 0 ] )
51- img . onload = ( ) => {
52- creator . addImage ( img )
53- }
54- fileInput . value = '' // reset input value to allow re-uploading the same file
51+ const startProjectInput = document . querySelector < HTMLInputElement > ( '#start-project-from-images' ) !
52+ startProjectInput . addEventListener ( 'change' , ( event ) => {
53+ const { files } = event . target as HTMLInputElement
54+ if ( ! files ) return
55+ creator . resetAssets (
56+ Array . from ( files ) . map ( ( file ) => ( {
57+ url : URL . createObjectURL ( file ) ,
58+ } ) ) ,
59+ true
60+ )
61+ startProjectInput . value = '' // reset input value to allow re-uploading the same file
5562 } )
5663
5764 removeAssetBtn . addEventListener ( 'click' , ( ) => {
0 commit comments