From acd2c33a7af7bf2511f20ac38b91ebc34fce5c09 Mon Sep 17 00:00:00 2001 From: Chris Allan Date: Wed, 15 May 2024 13:43:59 +0000 Subject: [PATCH 1/9] Provide archive status to tree --- omeroweb/webclient/tree.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/omeroweb/webclient/tree.py b/omeroweb/webclient/tree.py index 2fa9107940..f20723cce1 100644 --- a/omeroweb/webclient/tree.py +++ b/omeroweb/webclient/tree.py @@ -549,9 +549,10 @@ def _marshal_image( @param row_pixels The Image row pixels data to marshal @type row_pixels L{list} """ - image_id, name, owner_id, permissions, fileset_id = row + image_id, archived, name, owner_id, permissions, fileset_id = row image = dict() image["id"] = unwrap(image_id) + image["archived"] = unwrap(archived) image["name"] = unwrap_to_str(name) image["ownerId"] = unwrap(owner_id) image["permsCss"] = parse_permissions_css(permissions, unwrap(owner_id), conn) @@ -670,6 +671,7 @@ def marshal_images( q = ( """ select new map(image.id as id, + image.archived as archived, image.name as name, image.details.owner.id as ownerId, image as image_details_permissions, @@ -753,12 +755,13 @@ def marshal_images( e = unwrap(e)[0] d = [ e["id"], + e["archived"], e["name"], e["ownerId"], e["image_details_permissions"], e["filesetId"], ] - kwargs = {"conn": conn, "row": d[0:5]} + kwargs = {"conn": conn, "row": d[0:6]} if load_pixels: d = [e["sizeX"], e["sizeY"], e["sizeZ"], e["sizeT"]] kwargs["row_pixels"] = d From 8a5c47f4522c400326a5bcb55bc0e27ea2cfc5ae Mon Sep 17 00:00:00 2001 From: Chris Allan Date: Wed, 15 May 2024 14:01:23 +0000 Subject: [PATCH 2/9] If archived, change the icon --- omeroweb/webclient/static/webclient/javascript/ome.tree.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/omeroweb/webclient/static/webclient/javascript/ome.tree.js b/omeroweb/webclient/static/webclient/javascript/ome.tree.js index deba57a0a8..9db000f9ea 100644 --- a/omeroweb/webclient/static/webclient/javascript/ome.tree.js +++ b/omeroweb/webclient/static/webclient/javascript/ome.tree.js @@ -619,6 +619,8 @@ $(function() { rv.children = true; rv.type = value.set ? 'tagset' : 'tag'; rv.text = value.value; + } else if (type === 'image' && value.archived) { + rv.icon = WEBCLIENT.URLS.static_webclient + 'image/image_locked16.png'; } return rv; } From 6bba35505643d8b5095fba7c47d2b92adf36adc6 Mon Sep 17 00:00:00 2001 From: Chris Allan Date: Wed, 15 May 2024 14:10:41 +0000 Subject: [PATCH 3/9] Add archive status to image data JSON --- omeroweb/webgateway/marshal.py | 1 + 1 file changed, 1 insertion(+) diff --git a/omeroweb/webgateway/marshal.py b/omeroweb/webgateway/marshal.py index 65b32c3ec3..187ca9d0c6 100644 --- a/omeroweb/webgateway/marshal.py +++ b/omeroweb/webgateway/marshal.py @@ -145,6 +145,7 @@ def imageMarshal(image, key=None, request=None): "imageName": image.name or "", "imageDescription": image.description or "", "imageAuthor": image.getAuthor(), + "imageArchived": image.archived or False, "projectName": pr and pr.name or "Multiple", "projectId": pr and pr.id or None, "projectDescription": pr and pr.description or "", From bbb769b0611e10dccaa6aca0397df47d4b19947d Mon Sep 17 00:00:00 2001 From: Chris Allan Date: Tue, 28 May 2024 12:18:28 +0000 Subject: [PATCH 4/9] Add archive status to the right-hand panel --- .../webclient/annotations/includes/core_metadata.html | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/omeroweb/webclient/templates/webclient/annotations/includes/core_metadata.html b/omeroweb/webclient/templates/webclient/annotations/includes/core_metadata.html index 19f6cd73f0..16bd79fc4f 100644 --- a/omeroweb/webclient/templates/webclient/annotations/includes/core_metadata.html +++ b/omeroweb/webclient/templates/webclient/annotations/includes/core_metadata.html @@ -32,6 +32,12 @@ Import Date: + {% if image.archived %} + + Archived: + {{ image.archived }} + + {% endif %} Dimensions (XY): {{ image.getSizeX }} x {{ image.getSizeY }} From a5fceca95913fc15967f11fadc877f71c349d3c6 Mon Sep 17 00:00:00 2001 From: Chris Allan Date: Tue, 28 May 2024 12:39:40 +0000 Subject: [PATCH 5/9] Add a tooltip --- omeroweb/webclient/static/webclient/javascript/ome.tree.js | 1 + 1 file changed, 1 insertion(+) diff --git a/omeroweb/webclient/static/webclient/javascript/ome.tree.js b/omeroweb/webclient/static/webclient/javascript/ome.tree.js index 9db000f9ea..544203d7e1 100644 --- a/omeroweb/webclient/static/webclient/javascript/ome.tree.js +++ b/omeroweb/webclient/static/webclient/javascript/ome.tree.js @@ -620,6 +620,7 @@ $(function() { rv.type = value.set ? 'tagset' : 'tag'; rv.text = value.value; } else if (type === 'image' && value.archived) { + rv.a_attr = {title: 'Image is archived'}; rv.icon = WEBCLIENT.URLS.static_webclient + 'image/image_locked16.png'; } return rv; From 59392ac61e24b2ee642c3cdcae6d3f8dd514394f Mon Sep 17 00:00:00 2001 From: Chris Allan Date: Tue, 28 May 2024 12:43:46 +0000 Subject: [PATCH 6/9] Always use a boolean --- omeroweb/webclient/tree.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/omeroweb/webclient/tree.py b/omeroweb/webclient/tree.py index f20723cce1..0541605b8f 100644 --- a/omeroweb/webclient/tree.py +++ b/omeroweb/webclient/tree.py @@ -552,7 +552,7 @@ def _marshal_image( image_id, archived, name, owner_id, permissions, fileset_id = row image = dict() image["id"] = unwrap(image_id) - image["archived"] = unwrap(archived) + image["archived"] = unwrap(archived) is True image["name"] = unwrap_to_str(name) image["ownerId"] = unwrap(owner_id) image["permsCss"] = parse_permissions_css(permissions, unwrap(owner_id), conn) From 792ae00893add7fa03cd2366a54834108e8ac7ab Mon Sep 17 00:00:00 2001 From: Chris Allan Date: Thu, 6 Jun 2024 13:57:57 +0000 Subject: [PATCH 7/9] Update documentation --- omeroweb/webclient/tree.py | 1 + 1 file changed, 1 insertion(+) diff --git a/omeroweb/webclient/tree.py b/omeroweb/webclient/tree.py index 0541605b8f..5da684de4f 100644 --- a/omeroweb/webclient/tree.py +++ b/omeroweb/webclient/tree.py @@ -531,6 +531,7 @@ def _marshal_image( """Given an Image row (list) marshals it into a dictionary. Order and type of columns in row is: * id (rlong) + * archived (boolean) * name (rstring) * details.owner.id (rlong) * details.permissions (dict) From 97e479b717e34179eceea2507d3e69a04b2fec1e Mon Sep 17 00:00:00 2001 From: Chris Allan Date: Thu, 6 Jun 2024 14:01:14 +0000 Subject: [PATCH 8/9] Provide archive status to tag tree --- omeroweb/webclient/tree.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/omeroweb/webclient/tree.py b/omeroweb/webclient/tree.py index 5da684de4f..0faa9588ca 100644 --- a/omeroweb/webclient/tree.py +++ b/omeroweb/webclient/tree.py @@ -1518,6 +1518,7 @@ def marshal_tagged( q = """ select distinct new map(obj.id as id, + obj.archived as archived, obj.name as name, lower(obj.name) as lowername, obj.details.owner.id as ownerId, @@ -1538,6 +1539,7 @@ def marshal_tagged( e = unwrap(e) row = [ e[0]["id"], + e[0]["archived"], e[0]["name"], e[0]["ownerId"], e[0]["image_details_permissions"], From f347f53ffeb19f9cbec0fc4eeca10ada35d97de3 Mon Sep 17 00:00:00 2001 From: Chris Allan Date: Mon, 29 Jul 2024 08:15:45 +0000 Subject: [PATCH 9/9] Switch to new image_locked_slash16.png --- .../webclient/image/image_locked_slash16.png | Bin 0 -> 1270 bytes .../static/webclient/javascript/ome.tree.js | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 omeroweb/webclient/static/webclient/image/image_locked_slash16.png diff --git a/omeroweb/webclient/static/webclient/image/image_locked_slash16.png b/omeroweb/webclient/static/webclient/image/image_locked_slash16.png new file mode 100644 index 0000000000000000000000000000000000000000..83b03f2079e9932b6204ca6163a98159fd2adb9a GIT binary patch literal 1270 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CP!3HERJk;|9Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS=07??FOLn2Bde0{8v^KIxIwK0@@$ndN=gc> z^!3Zj%k|2Q_413-^$jg8E%gnIKxP0{=oVMzl_XZ^<`pZ$OmImpPAEg{v+u2}(t{7puX= zA(aKG`a!A1`K3k4z_?3O23b{L(sS5WURI6e~+p6H`-112;oUGfP85S2qhcOAAL= zH)B_47bhcUOJ|r~m;B_?+|;}hnBEk)UPA+%dO-;yw*Y9fOKMSOS!#+~QGTuh*w zxZUD{(>$o&6r64`aK))tALtl;P~0NLHB1PYfIv)m;stWx$v-s@nC6Rsi92dd)J6sd z#uQH%$B>F!EtB4Q9|{mTHow=`n#5(Ua891bynxkNiAw$ zGmF_?9obr4yhz~l0p{=Xs_WZ7-zlDXdUf{f=ap+(5C72Tdt4nL(pvak=JciwI^4Uh z1D{-Zb12pKvV!NNI32NE@g(Pk0vsV#nv28o6AUEIxE$K{wnL*!WD&#p!hk0xwtK42 zIGgkMs0nKcT`qMIVBy-RqRGX1g#X*zYsYr%+EctfdY?UawLSB-v*CWfa46eh1C8)i zFY0Q~pSvR_&amigZ|RarLTi6~iE-Kg|1qyXr<2U>i@H5-Vqcw~J>e8M`BEgT*-^q) zSoLkGrGuQ~*|Y