@@ -15,6 +15,7 @@ const dialog_box = require('./dialog_box')
15
15
const { entrypoints} = require ( 'uxp' )
16
16
const html_manip = require ( './html_manip' )
17
17
const export_png = require ( './export_png' )
18
+ const viewer = require ( './viewer' )
18
19
19
20
async function getUniqueDocumentId ( ) {
20
21
try {
@@ -1545,6 +1546,8 @@ function removeInitImageFromViewer(){
1545
1546
function removeMaskFromViewer ( ) {
1546
1547
1547
1548
}
1549
+
1550
+
1548
1551
async function viewerImageClickHandler ( img , viewer_layers ) {
1549
1552
1550
1553
@@ -1562,6 +1565,7 @@ async function viewerImageClickHandler(img,viewer_layers){
1562
1565
//turn off all layers linked the viewer tab
1563
1566
for ( cont_layer of viewer_layers ) {
1564
1567
try {
1568
+ //viewerImageObj.visible(false)
1565
1569
let i = 0
1566
1570
//make all layers of that entry invisible
1567
1571
for ( layer of cont_layer . layer ) {
@@ -1572,6 +1576,7 @@ async function viewerImageClickHandler(img,viewer_layers){
1572
1576
}
1573
1577
1574
1578
//if the layer id of the first layer in the group container
1579
+ //viewerImageObj.isSameLayer(layer_id)
1575
1580
if ( cont_layer . layer [ 0 ] . id == layer_id ) {
1576
1581
visible_cont = cont_layer
1577
1582
}
@@ -1586,12 +1591,56 @@ async function viewerImageClickHandler(img,viewer_layers){
1586
1591
for ( layer of visible_cont . layer ) {
1587
1592
1588
1593
layer . visible = visible_cont . visibleOn [ i ]
1589
- g_visible_layer_path = layer_path //why do we store the layer_path?
1594
+ g_visible_layer_path = layer_path //we store the path of the visible layer so we can acess it later in deleteHidden
1590
1595
i ++
1591
1596
}
1592
1597
1593
1598
1594
1599
1600
+ } )
1601
+
1602
+ } )
1603
+ }
1604
+ async function NewViewerImageClickHandler ( img , viewer_layers ) {
1605
+
1606
+
1607
+ img . addEventListener ( 'click' , async ( e ) => {
1608
+ //turn off all layers
1609
+ //select the layer this image represent and turn it on
1610
+ await executeAsModal ( async ( ) => {
1611
+ const img = e . target
1612
+ const layer_id = parseInt ( img . dataset . image_id )
1613
+ console . log ( "the layer id = " , layer_id )
1614
+ const layer_path = img . dataset . image_path
1615
+ let selectedViewerImageObj
1616
+ // Array.isArray(layer)
1617
+
1618
+ //turn off all layers linked the viewer tab
1619
+ for ( viewerImageObj of viewer_layers ) {
1620
+ try {
1621
+ //viewerImageObj.visible(false)
1622
+
1623
+ //make all layers of that entry invisible
1624
+ viewerImageObj . visible ( false )
1625
+
1626
+ //if the layer id of the first layer in the group container
1627
+ //viewerImageObj.isSameLayer(layer_id)
1628
+ if ( viewerImageObj . isSameLayer ( layer_id ) ) {
1629
+ selectedViewerImageObj = viewerImageObj
1630
+ }
1631
+ } catch ( e ) {
1632
+ console . error ( "cannot hide a layer: " , e )
1633
+ }
1634
+ }
1635
+
1636
+
1637
+
1638
+ selectedViewerImageObj . visible ( true )
1639
+ selectedViewerImageObj . select ( true )
1640
+ g_visible_layer_path = layer_path //we store the path of the visible layer so we can acess it later in deleteHidden
1641
+
1642
+
1643
+
1595
1644
} )
1596
1645
1597
1646
} )
@@ -1666,28 +1715,32 @@ async function loadViewerImages(){
1666
1715
image_paths = Object . keys ( g_image_path_to_layer ) ;
1667
1716
console . log ( "image_paths: " , image_paths )
1668
1717
let i = 0
1669
- const viewer_layers = Object . keys ( g_image_path_to_layer ) . map ( key => makeViewerLayer ( g_image_path_to_layer [ key ] ) )
1670
- // g_viewer_layers = []// layer = {"layer":[mask_group,white_stroke,solid_black],visibleOn:[true,true,false],visibleOff:[false,false,false]}
1671
1718
1672
-
1673
- if ( g_init_image_related_layers . hasOwnProperty ( 'init_image_group' ) ) {
1719
+ // const viewer_layers = Object.keys(g_image_path_to_layer).map(path => makeViewerLayer(g_image_path_to_layer[path]))
1720
+
1721
+ const viewer_layers = Object . keys ( g_image_path_to_layer ) . map ( path => new viewer . OutputImage ( g_image_path_to_layer [ path ] , path ) )
1674
1722
1675
- const viewer_init_image_layer = makeViewerInitImageLayer ( g_init_image_related_layers [ 'init_image_group' ] , g_init_image_related_layers [ 'init_image_layer' ] , g_init_image_related_layers [ 'solid_white' ] ) //make init image viewer container layer
1676
- const init_img_html = createViewerImgHtml ( './server/python_server/init_images/' , g_init_image_name , g_init_image_related_layers [ 'init_image_group' ] . id )
1677
- container . appendChild ( init_img_html )
1678
- viewer_layers . push ( viewer_init_image_layer )
1679
- await viewerImageClickHandler ( init_img_html , viewer_layers ) // create click handler for each images
1680
- }
1723
+
1681
1724
1682
- if ( g_mask_related_layers . hasOwnProperty ( 'mask_group' ) ) {
1683
- const viewer_mask_layer = makeViewerMaskLayer ( g_mask_related_layers [ 'mask_group' ] , g_mask_related_layers [ 'white_mark' ] , g_mask_related_layers [ 'solid_black' ] ) //make mask viewer layer
1684
- const mask_img_html = createViewerImgHtml ( './server/python_server/init_images/' , g_init_image_mask_name , g_mask_related_layers [ 'mask_group' ] . id )
1685
- container . appendChild ( mask_img_html )
1686
1725
1687
- //add init mask image
1688
- viewer_layers . push ( viewer_mask_layer )
1689
- await viewerImageClickHandler ( mask_img_html , viewer_layers ) // create click handler for each images
1690
- }
1726
+ // if(g_init_image_related_layers.hasOwnProperty('init_image_group')){
1727
+
1728
+ // const viewer_init_image_layer = makeViewerInitImageLayer(g_init_image_related_layers['init_image_group'],g_init_image_related_layers['init_image_layer'],g_init_image_related_layers['solid_white'])//make init image viewer container layer
1729
+ // const init_img_html = createViewerImgHtml('./server/python_server/init_images/',g_init_image_name,g_init_image_related_layers['init_image_group'].id)
1730
+ // container.appendChild(init_img_html)
1731
+ // viewer_layers.push(viewer_init_image_layer)
1732
+ // await viewerImageClickHandler(init_img_html,viewer_layers)// create click handler for each images
1733
+ // }
1734
+
1735
+ // if(g_mask_related_layers.hasOwnProperty('mask_group')){
1736
+ // const viewer_mask_layer = makeViewerMaskLayer(g_mask_related_layers['mask_group'],g_mask_related_layers['white_mark'],g_mask_related_layers['solid_black'])//make mask viewer layer
1737
+ // const mask_img_html = createViewerImgHtml('./server/python_server/init_images/',g_init_image_mask_name,g_mask_related_layers['mask_group'].id)
1738
+ // container.appendChild(mask_img_html)
1739
+
1740
+ // //add init mask image
1741
+ // viewer_layers.push(viewer_mask_layer)
1742
+ // await viewerImageClickHandler(mask_img_html,viewer_layers)// create click handler for each images
1743
+ // }
1691
1744
1692
1745
1693
1746
@@ -1703,7 +1756,7 @@ async function loadViewerImages(){
1703
1756
1704
1757
//add on click event to img
1705
1758
1706
- await viewerImageClickHandler ( img , viewer_layers )
1759
+ await NewViewerImageClickHandler ( img , viewer_layers )
1707
1760
i ++
1708
1761
}
1709
1762
0 commit comments