@@ -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,36 @@ 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]}
1718
+
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 ) )
1722
+
1723
+
1671
1724
1672
1725
1673
1726
if ( g_init_image_related_layers . hasOwnProperty ( 'init_image_group' ) ) {
1674
-
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
1727
+ const viewerInitImage = new viewer . InitImage ( g_init_image_related_layers [ 'init_image_group' ] , g_init_image_related_layers [ 'init_image_layer' ] , g_init_image_related_layers [ 'solid_white' ] , './server/python_server/init_images/' )
1728
+ viewer_layers . push ( viewerInitImage )
1729
+ // 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
1730
const init_img_html = createViewerImgHtml ( './server/python_server/init_images/' , g_init_image_name , g_init_image_related_layers [ 'init_image_group' ] . id )
1677
1731
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
1732
+ // viewer_layers.push(viewer_init_image_layer)
1733
+ await NewViewerImageClickHandler ( init_img_html , viewer_layers ) // create click handler for each images
1680
1734
}
1681
1735
1682
1736
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
1737
+ const viewerInitMaskImage = new viewer . InitMaskImage ( g_mask_related_layers [ 'mask_group' ] , g_mask_related_layers [ 'white_mark' ] , g_mask_related_layers [ 'solid_black' ] , './server/python_server/init_images/' )
1738
+
1739
+ // 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
1740
const mask_img_html = createViewerImgHtml ( './server/python_server/init_images/' , g_init_image_mask_name , g_mask_related_layers [ 'mask_group' ] . id )
1685
1741
container . appendChild ( mask_img_html )
1686
1742
1687
1743
//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
- }
1744
+ viewer_layers . push ( viewerInitMaskImage )
1745
+ await NewViewerImageClickHandler ( mask_img_html , viewer_layers ) // create click handler for each images ,viewer_layers)// create click handler for each images
1746
+ // await viewerImageClickHandler(mask_img_html,viewer_layers)// create click handler for each images
1747
+ }
1691
1748
1692
1749
1693
1750
@@ -1703,7 +1760,7 @@ async function loadViewerImages(){
1703
1760
1704
1761
//add on click event to img
1705
1762
1706
- await viewerImageClickHandler ( img , viewer_layers )
1763
+ await NewViewerImageClickHandler ( img , viewer_layers )
1707
1764
i ++
1708
1765
}
1709
1766
0 commit comments