Skip to content

Commit

Permalink
Merge branch 'develop' into feature/#2071-rank-datanodes-in-selector
Browse files Browse the repository at this point in the history
  • Loading branch information
FredLL-Avaiga authored Oct 19, 2024
2 parents eaadaa4 + f00ec30 commit c02a52d
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 7 deletions.
6 changes: 3 additions & 3 deletions frontend/taipy/src/DataNodeViewer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -413,7 +413,7 @@ const DataNodeViewer = (props: DataNodeViewerProps) => {
setPropertiesRequested((req) => {
if ((req || !showData) && tabValue == TabValues.Properties) {
const idVar = getUpdateVar(updateDnVars, "properties_id");
const vars = getUpdateVarNames(updateVars, "properties");
const vars = getUpdateVarNames(updateVars, "dnProperties");
Promise.resolve().then(() =>
dispatch(
createRequestUpdateAction(id, module, vars, true, idVar ? { [idVar]: newDnId } : undefined)
Expand Down Expand Up @@ -631,7 +631,7 @@ const DataNodeViewer = (props: DataNodeViewerProps) => {
);

// file action
const onfileHandler = useCallback(
const onFileHandler = useCallback(
(e: MouseEvent<HTMLElement>) => {
e.stopPropagation();
const { action = "import" } = e.currentTarget.dataset || {};
Expand Down Expand Up @@ -733,7 +733,7 @@ const DataNodeViewer = (props: DataNodeViewerProps) => {
<span>
<Button
data-action="export"
onClick={onfileHandler}
onClick={onFileHandler}
sx={buttonSx}
disabled={!!dnNotDownloadableReason}
>
Expand Down
6 changes: 2 additions & 4 deletions taipy/gui_core/_context.py
Original file line number Diff line number Diff line change
Expand Up @@ -1123,13 +1123,11 @@ def get_data_node_properties(self, id: str):
self.__lazy_start()
if id and is_readable(t.cast(DataNodeId, id)) and (dn := core_get(id)) and isinstance(dn, DataNode):
try:
return (
(
return [
(k, f"{v}")
for k, v in dn._get_user_properties().items()
if k != _GuiCoreContext.__PROP_ENTITY_NAME
),
)
]
except Exception:
return None
return None
Expand Down
53 changes: 53 additions & 0 deletions tests/gui_core/test_context_dn_properties.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Copyright 2021-2024 Avaiga Private Limited
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
# an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
# specific language governing permissions and limitations under the License.

import typing as t
from unittest.mock import Mock, patch

from taipy.common.config.common.scope import Scope
from taipy.core.data.pickle import PickleDataNode
from taipy.gui_core._context import _GuiCoreContext

a_datanode = PickleDataNode("data_node_config_id", Scope.SCENARIO)


def mock_core_get(entity_id):
if entity_id == a_datanode.id:
return a_datanode
return None

def mock_is_readable_false(entity_id):
return False


def mock_is_true(entity_id):
return True


class MockState:
def __init__(self, **kwargs) -> None:
self.assign = kwargs.get("assign")


class TestGuiCoreContext_data_node_properties:
def test_get_data_node_properties(self):
with (
patch("taipy.gui_core._context.core_get", side_effect=mock_core_get),
patch("taipy.gui_core._context.is_readable", side_effect=mock_is_true),
):
gui_core_context = _GuiCoreContext(Mock())
assert gui_core_context.get_data_node_properties("") is None
assert gui_core_context.get_data_node_properties("not a datanode") is None
with patch("taipy.gui_core._context.is_readable", side_effect=mock_is_readable_false):
assert gui_core_context.get_data_node_properties(a_datanode.id) is None
assert gui_core_context.get_data_node_properties(a_datanode.id) is not None
assert isinstance(gui_core_context.get_data_node_properties(a_datanode.id), list)
assert len(t.cast(list, gui_core_context.get_data_node_properties(a_datanode.id))) == 0

0 comments on commit c02a52d

Please sign in to comment.