Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
commit ca1b5eb
Merge: 50c0844 c640470
Author: Deyan Nenov <[email protected]>
Date:   Mon Dec 4 18:38:22 2023 +0000

    Merge remote-tracking branch 'upstream/master' into pm-mypackages-update

commit 50c0844
Author: Deyan Nenov <[email protected]>
Date:   Mon Dec 4 11:05:09 2023 +0000

    rename ThisDataContextChanged to PackageManagerPublishControl_DataContextChanged

commit bd0e65a
Author: Deyan Nenov <[email protected]>
Date:   Fri Dec 1 17:56:10 2023 +0000

    added missing resource

commit 1c0e12f
Author: Deyan Nenov <[email protected]>
Date:   Fri Dec 1 15:23:59 2023 +0000

    remove redundant test files

commit b8f8b05
Merge: c57133c b9ebaca
Author: Deyan Nenov <[email protected]>
Date:   Fri Dec 1 15:18:03 2023 +0000

    Merge remote-tracking branch 'upstream/master' into pm-mypackages-update

commit c57133c
Author: Deyan Nenov <[email protected]>
Date:   Thu Nov 30 20:13:16 2023 +0000

    font weight change

commit 4767c6f
Author: Deyan Nenov <[email protected]>
Date:   Thu Nov 30 19:18:56 2023 +0000

    font size change

commit e0a1f06
Author: Deyan Nenov <[email protected]>
Date:   Thu Nov 30 16:51:45 2023 +0000

    font size alignment

commit 1ec3d95
Merge: d3a4448 45038c5
Author: Deyan Nenov <[email protected]>
Date:   Thu Nov 30 16:24:11 2023 +0000

    Merge remote-tracking branch 'upstream/master' into pm-mypackages-update

commit d3a4448
Merge: 7cc915a 1649d66
Author: Deyan Nenov <[email protected]>
Date:   Wed Nov 29 18:44:39 2023 +0000

    Merge remote-tracking branch 'upstream/master' into pm-mypackages-update

commit 7cc915a
Author: Deyan Nenov <[email protected]>
Date:   Wed Nov 29 15:35:38 2023 +0000

    changes to publish package name validation

    - moved small fixes to publish package name validation to this branch

commit 64058c6
Author: Deyan Nenov <[email protected]>
Date:   Wed Nov 29 15:05:53 2023 +0000

    update selected known host value on clear

    - fixed a small issue where the selected known hosts were not being cleared on reset

commit 6d8c7ea
Author: Deyan Nenov <[email protected]>
Date:   Wed Nov 29 13:48:16 2023 +0000

    Squashed commit of the following:

    commit f5d5563
    Author: Deyan Nenov <[email protected]>
    Date:   Tue Nov 28 12:12:19 2023 +0000

        dispose methods null checks

        - trying to prevent null exceptions in case resources have been cleared before dispose event has been called

    commit e43ad53
    Author: Deyan Nenov <[email protected]>
    Date:   Tue Nov 28 11:05:20 2023 +0000

        remove begin invoke from mainFrame_Navigated

        - this was done to try and fix a failing test but it should not be needed

    commit 42bf04c
    Author: Deyan Nenov <[email protected]>
    Date:   Mon Nov 27 21:04:19 2023 +0000

        null check to mainFrame_Navigated

        - added a null check

    commit 9dde030
    Merge: a77a11a 3f765b5
    Author: Deyan Nenov <[email protected]>
    Date:   Mon Nov 27 18:07:39 2023 +0000

        Merge branch 'pm-publishpackage-cherrypick-resources' into pm-publishpackage-cherrypick-mypackage

    commit a77a11a
    Author: Deyan Nenov <[email protected]>
    Date:   Mon Nov 27 17:47:17 2023 +0000

        main changes

        - this cherry-pick contains all main changes minus resources and tests.
        - will need to merge resources to work correctly
        - if this breaks the test run, we will need to further split it up, or introduce the changes one by one somehow

    commit 3f765b5
    Merge: 95d502a 36fb8d3
    Author: Deyan Nenov <[email protected]>
    Date:   Mon Nov 27 17:38:11 2023 +0000

        Merge remote-tracking branch 'upstream/master' into pm-publishpackage-cherrypick-resources

    commit 95d502a
    Author: Deyan Nenov <[email protected]>
    Date:   Mon Nov 27 17:38:02 2023 +0000

        resource cherry-pick

        - picked up all resource changes

    commit 36fb8d3
    Author: Jorgen Dahl <[email protected]>
    Date:   Mon Nov 27 11:51:35 2023 -0500

        Test net8 (DynamoDS#14635)

        * Test net8

        * Also add DotNet to the build properties

        * Update CS_SDK.props

        * Update CS_SDK.props

        * update

        * update

        * update

        * Go back to net6

        ---------

        Co-authored-by: pinzart <[email protected]>

    commit cbba6d0
    Author: Michael Kirschner <[email protected]>
    Date:   Mon Nov 27 11:26:04 2023 -0500

        DYN-6412 fix performance issue with feature flags, and deadlock with CLI wrapper. (DynamoDS#14637)

        * fix for null data being shown over and over

        * fix issues with cli wrapper get data

        * revert

        * add test

        * review comments add tests

        * comments

        * review comments

    commit c5df6f9
    Author: Ashish Aggarwal <[email protected]>
    Date:   Mon Nov 27 11:22:32 2023 -0500

        Replace Application.Current with HostAnalyticsInfo.HostName check (DynamoDS#14574)

        * Fix PostDiff job

        * replace application.current

        * tests

        * refactor after Bogdans PR

        ---------

        Co-authored-by: Aaron (Qilong) <[email protected]>

    commit 11b1f7c
    Author: jesusalvino <[email protected]>
    Date:   Mon Nov 27 08:55:32 2023 -0500

        DYN-6313 Add ML Node AutoComplete TOU (DynamoDS#14625)

        * Updating the Agreement and Term of Use

        * Adding the MLNodeAuntocomplete rtf file

        * Persists the AgreeToMLAutocompleteTOU as preference settings

        * rename property

        * resources and control names

        * Clean up

        * Update

        * update

        ---------

        Co-authored-by: Jesus Alfredo Alviño <[email protected]>
        Co-authored-by: Aaron (Qilong) <[email protected]>

    commit 3e97cbd
    Author: Aabishkar KC <[email protected]>
    Date:   Wed Nov 22 12:56:04 2023 -0500

        Update smoke tests workflow (DynamoDS#14638)

commit 79cfc13
Author: Deyan Nenov <[email protected]>
Date:   Fri Nov 24 16:33:36 2023 +0000

    fixed minor bugs

    - fixed a bug where the install to folder would not show the required dialog
    - fixed a bug where after locking the name for edit (after submitting a new package version) clearing the results would not remove the block from typing the name

commit 6e4d890
Merge: 17df8b6 28130fb
Author: Deyan Nenov <[email protected]>
Date:   Fri Nov 24 15:54:05 2023 +0000

    Merge branch 'pm-publishpackage-packagecontents-revert' into pm-mypackages-update

commit 28130fb
Author: Deyan Nenov <[email protected]>
Date:   Fri Nov 24 15:45:35 2023 +0000

    disabled PublishingACustomNodeSetsPackageInfoCorrectly_ test

    - disabled this test for the moment, it contaminates the packages folder by creating a package and leading to numerous failure tests consequently

commit 85994db
Merge: 8096f65 b0b86ae
Author: Deyan Nenov <[email protected]>
Date:   Wed Nov 22 17:37:31 2023 +0000

    Merge remote-tracking branch 'upstream/master' into pm-publishpackage-packagecontents-revert

commit 8096f65
Author: Deyan Nenov <[email protected]>
Date:   Wed Nov 22 17:37:16 2023 +0000

    BrowserItemViewModel  dispose

    - implement dispose method inside the BrowserItemViewModel  to unsubscribe from the ItemsOnCollectionChanged event

commit b822e2c
Author: Deyan Nenov <[email protected]>
Date:   Wed Nov 22 13:02:50 2023 +0000

    publish tab no memory leak

    - publish tab is not leaking

commit 17df8b6
Author: Deyan Nenov <[email protected]>
Date:   Wed Nov 22 12:04:54 2023 +0000

    clear breadcrumbs

commit 7ce3c9e
Author: Deyan Nenov <[email protected]>
Date:   Tue Nov 21 23:25:42 2023 +0000

    unsubscribe from event handlers

    - unsunbscribing from a few unattended event handlers
    - removed EntryDictionary, it wasn't used anywhere but was taking resources
    - unsubsribing from ele.RequestShowFileDialog -= OnRequestShowFileDialog; for each searchelementVM this time!

commit 3deae08
Author: Deyan Nenov <[email protected]>
Date:   Tue Nov 21 12:49:34 2023 +0000

    wire the command

commit f2ef48f
Author: Deyan Nenov <[email protected]>
Date:   Tue Nov 21 12:40:38 2023 +0000

    PublishNewVersionCommand inside PackageManagerViewModel

    - the design dictates that we trigger a `publish version` command from inside a packageManagerSearchElementViewModel, which is separated from the PackageViewModel that has all the necessary methods for that
    - we are using the PackageManagerViewModel as the highest order VM that to create a bridge between the search element and the installed package

commit 379edac
Merge: 5706467 2676995
Author: Deyan Nenov <[email protected]>
Date:   Mon Nov 20 20:03:33 2023 +0000

    Merge branch 'pm-publishpackage-packagecontents-ml' into pm-publishpackage-packagecontents-revert

commit 2676995
Author: Deyan Nenov <[email protected]>
Date:   Mon Nov 20 20:03:23 2023 +0000

    memory leak

commit 5706467
Merge: 69e9fe9 b658456
Author: Deyan Nenov <[email protected]>
Date:   Mon Nov 20 19:28:52 2023 +0000

    Merge branch 'pm-publishpackage-packagecontents-ml' into pm-publishpackage-packagecontents-revert

commit 72954ca
Author: Deyan Nenov <[email protected]>
Date:   Mon Nov 20 18:30:39 2023 +0000

    refresh datacontext on change

    - now correctly refreshes the PublishPackageViewModel datacontext when publishing new package version

commit ec0691e
Author: Deyan Nenov <[email protected]>
Date:   Mon Nov 20 10:54:48 2023 +0000

    replaced bullet menu icon

    - now uses vector path rather than png icon (scalable)

commit 35377ca
Merge: 626730f b658456
Author: Deyan Nenov <[email protected]>
Date:   Mon Nov 20 09:47:23 2023 +0000

    Merge branch 'pm-publishpackage-packagecontents' into pm-mypackages-update

commit b658456
Merge: 2be4bd5 96fb3f0
Author: Deyan Nenov <[email protected]>
Date:   Mon Nov 20 09:43:53 2023 +0000

    Merge remote-tracking branch 'upstream/master' into pm-publishpackage-packagecontents

commit 626730f
Author: Deyan Nenov <[email protected]>
Date:   Thu Nov 16 08:37:45 2023 +0000

    update mypackages ui and functionality

    - starting the work around MyPackages tab

commit 2be4bd5
Author: Deyan Nenov <[email protected]>
Date:   Thu Nov 16 08:35:38 2023 +0000

    remove commented out code

commit 3396d3d
Author: Deyan Nenov <[email protected]>
Date:   Wed Nov 15 20:03:42 2023 +0000

    failing tests fix

    - the tests were failing because another test folder was starting with a preceding alphabet letter

commit 40a0336
Merge: a9be281 723cef6
Author: Deyan Nenov <[email protected]>
Date:   Wed Nov 15 18:57:13 2023 +0000

    Merge remote-tracking branch 'upstream/master' into pm-publishpackage-packagecontents

commit a9be281
Author: Deyan Nenov <[email protected]>
Date:   Tue Nov 14 19:34:30 2023 +0000

    remove unused icons

commit bcb3971
Author: Deyan Nenov <[email protected]>
Date:   Tue Nov 14 18:13:45 2023 +0000

    restored deleted namespaces

    - not sure how the namespaces got wiped with the previous commit

commit f733ae1
Author: Deyan Nenov <[email protected]>
Date:   Tue Nov 14 17:50:09 2023 +0000

    comments to public properties added

commit be5fdcb
Merge: 1ca1b6d 08e5d3f
Author: Deyan Nenov <[email protected]>
Date:   Tue Nov 14 17:39:14 2023 +0000

    Merge remote-tracking branch 'upstream/master' into pm-publishpackage-packagecontents

commit 1ca1b6d
Merge: ab812d4 8af516c
Author: Deyan Nenov <[email protected]>
Date:   Tue Nov 14 11:16:53 2023 +0000

    Merge remote-tracking branch 'upstream/master' into pm-publishpackage-packagecontents

commit ab812d4
Author: Deyan Nenov <[email protected]>
Date:   Tue Nov 14 11:12:54 2023 +0000

    remove duplicate icon.png from test folders

    - removed duplicate icon.png files / replaced with empty text files instead
    - updated tests that were failing since last changes

commit 050c906
Author: Deyan Nenov <[email protected]>
Date:   Tue Nov 14 10:18:44 2023 +0000

    comment to PublishRetainFolderStructure

    - added a detailed comment describing the new PublishRetainFolderStructure method

commit 43f0c08
Merge: 423691f f0cd05c
Author: Deyan Nenov <[email protected]>
Date:   Tue Nov 14 10:03:24 2023 +0000

    Merge remote-tracking branch 'upstream/master' into pm-publishpackage-packagecontents

commit 423691f
Author: Deyan Nenov <[email protected]>
Date:   Mon Nov 13 14:46:48 2023 +0000

    fix

commit 7cf3df8
Merge: c8b6f1f ec16645
Author: Deyan Nenov <[email protected]>
Date:   Mon Nov 13 12:20:12 2023 +0000

    Merge remote-tracking branch 'upstream/master' into pm-publishpackage-packagecontents

commit c8b6f1f
Merge: 00163ad caa3268
Author: Craig Long <[email protected]>
Date:   Thu Nov 9 15:23:30 2023 -0500

    Merge branch 'master' into pm-publishpackage-packagecontents

commit 00163ad
Author: Deyan Nenov <[email protected]>
Date:   Wed Nov 8 14:16:36 2023 +0000

    remove empty tooltips

    - remove unnecessary tooltip to the content presenter
    - added 1 missing tooltip to line items

commit c6f8db0
Merge: 4432d8c c64fe07
Author: Deyan Nenov <[email protected]>
Date:   Wed Nov 8 12:35:20 2023 +0000

    Merge remote-tracking branch 'upstream/master' into pm-publishpackage-packagecontents

commit 4432d8c
Author: Deyan Nenov <[email protected]>
Date:   Wed Nov 8 12:34:51 2023 +0000

    new validation rules

    - updated validation rules as per Figma

commit eb92b82
Author: Deyan Nenov <[email protected]>
Date:   Wed Nov 8 10:54:00 2023 +0000

    starting space rule

    - no longer able to start with a space for all input fields
    - allows user to skip adding minor and build values will be replaced with default ones

commit 6ba8920
Author: Deyan Nenov <[email protected]>
Date:   Tue Nov 7 19:48:37 2023 +0000

    numeric up/down fix and tests

    - added tests for numeric up/down
    - space is now handled and should not be allowed
    - new validation rule for package Name field

commit 1564807
Author: Deyan Nenov <[email protected]>
Date:   Tue Nov 7 14:22:16 2023 +0000

    rework markdown path locator

    - added new control when no markdown path is selected

commit df6e552
Author: Deyan Nenov <[email protected]>
Date:   Tue Nov 7 13:41:25 2023 +0000

    build version error message

    - added build version error message

commit 817b28a
Author: Deyan Nenov <[email protected]>
Date:   Tue Nov 7 13:17:21 2023 +0000

    host control updated

    - updated the host control visuals
    - tooltips update

commit 3a56647
Merge: 4ffda43 b28faaa
Author: Deyan Nenov <[email protected]>
Date:   Tue Nov 7 12:19:59 2023 +0000

    Merge remote-tracking branch 'upstream/master' into pm-publishpackage-packagecontents

commit 4ffda43
Author: Deyan Nenov <[email protected]>
Date:   Tue Nov 7 12:19:51 2023 +0000

    keywords tags

     - added keywords tags
    - TODO: should we replace Kewords with KewordsCollection when submitting a package?

commit 578c2c2
Author: Deyan Nenov <[email protected]>
Date:   Tue Nov 7 10:45:31 2023 +0000

    remove PublishPackageReadyToPublishPage

    - PublishPackageReadyToPublishPage was not used, removed

commit 0487df0
Author: Deyan Nenov <[email protected]>
Date:   Tue Nov 7 10:43:14 2023 +0000

    tooltips

    - fixed tooltips and styles

commit 88ed74a
Author: Deyan Nenov <[email protected]>
Date:   Tue Nov 7 00:07:34 2023 +0000

    description removed, name validation adorner added

    - removed description from package validation rules
    - added name error validation and adorner

commit bf3e344
Author: Deyan Nenov <[email protected]>
Date:   Mon Nov 6 22:34:45 2023 +0000

    exclude unmanaged dlls

    - unmanaged dll files cannot be Node Library
    - fixed Node Library preview

commit d0df247
Author: Deyan Nenov <[email protected]>
Date:   Mon Nov 6 16:59:20 2023 +0000

    publish retain folder done

    - finished workflow for publishing package reatining folder
    - changed UI finish screen to work differently depending on which workflow was taken - publish locally or online
    - tests added

commit c1ff965
Merge: 9d6b738 0304338
Author: Deyan Nenov <[email protected]>
Date:   Mon Nov 6 10:41:41 2023 +0000

    Merge remote-tracking branch 'upstream/master' into pm-publishpackage-packagecontents

commit 9d6b738
Author: Deyan Nenov <[email protected]>
Date:   Sun Nov 5 14:07:03 2023 +0000

    submit package retaining folder structure

    - created the second path to submitting packages online retaining folder structure
    - tests added

commit c3bc444
Author: Deyan Nenov <[email protected]>
Date:   Wed Nov 1 20:35:55 2023 +0000

    adding packagebuilder tests

    - adding tests for BuildRetainDirectory

commit 2597eee
Author: Deyan Nenov <[email protected]>
Date:   Tue Oct 31 14:24:00 2023 +0000

    resources

commit d7de724
Author: Deyan Nenov <[email protected]>
Date:   Tue Oct 31 12:22:27 2023 +0000

    hover and tooltips

    - adding hover states
    - adding tooltips
    - removing old resources

commit 04b8ff4
Author: Deyan Nenov <[email protected]>
Date:   Tue Oct 31 00:28:48 2023 +0000

    resources

commit f993ed8
Author: Deyan Nenov <[email protected]>
Date:   Mon Oct 30 23:01:06 2023 +0000

    minor refactor

commit a35b294
Author: Deyan Nenov <[email protected]>
Date:   Mon Oct 30 21:03:49 2023 +0000

    rework of retain folder structure

    - change the logic of how to collect files under multiple root folders when using retain folder structure
    - keywords fix, added tests

commit 2415b24
Merge: b287974 f665018
Author: Deyan Nenov <[email protected]>
Date:   Mon Oct 30 21:02:24 2023 +0000

    Merge remote-tracking branch 'upstream/master' into pm-publishpackage-packagecontents

commit b287974
Author: Deyan Nenov <[email protected]>
Date:   Mon Oct 30 15:11:18 2023 +0000

    ui styling fixes

    - rework on the custom browser user control to correctly display dotted lines
    - no longer treats every assembly as NodeLibrary

commit d57eb39
Author: Deyan Nenov <[email protected]>
Date:   Mon Oct 30 00:24:52 2023 +0000

    fixed custombrowsercontrol visuals

    - multiple ui fixes to the custom browser control

commit b17a4af
Author: Deyan Nenov <[email protected]>
Date:   Sun Oct 29 18:50:33 2023 +0000

    test remove multiple

    - added test to assert correct removal of multiple root items
    - publish package clears on window close without prompt
    - added ellipsis for package name
    - center message prompts to main view

commit c3de2d7
Author: Deyan Nenov <[email protected]>
Date:   Sun Oct 29 13:51:14 2023 +0000

    tests preview items structure to created package

    - tests added to assert preview package structure is identical to the created package structure

commit c1bd03b
Author: Deyan Nenov <[email protected]>
Date:   Sat Oct 28 20:31:48 2023 +0100

    removing items more tests added

    - added more tests around removing items

commit 27277f2
Merge: 3f573aa 4f279a9
Author: Deyan Nenov <[email protected]>
Date:   Sat Oct 28 14:59:20 2023 +0100

    Merge remote-tracking branch 'upstream/master' into pm-publishpackage-packagecontents

commit 3f573aa
Author: Deyan Nenov <[email protected]>
Date:   Tue Oct 24 15:40:40 2023 +0100

    clear custom filepaths when clearing package controls

    - also clear custom definition filepaths

commit 032b421
Merge: 96f7edc 892253e
Author: Deyan Nenov <[email protected]>
Date:   Tue Oct 24 13:20:00 2023 +0100

    Merge remote-tracking branch 'upstream/master' into pm-publishpackage-packagecontents

commit 96f7edc
Author: Deyan Nenov <[email protected]>
Date:   Tue Oct 24 13:18:54 2023 +0100

    navigation way, cancel prompts

    - now warns the user of losing changes if using cancel or navigating away

commit 5fec826
Author: Deyan Nenov <[email protected]>
Date:   Tue Oct 24 10:30:17 2023 +0100

    retain folder structure

    - publish local retaining folder structure

commit 6b83d44
Author: Deyan Nenov <[email protected]>
Date:   Mon Oct 23 18:58:29 2023 +0100

    main flow finished

    - finished the main flow between the pages

commit 3df4cce
Author: Deyan Nenov <[email protected]>
Date:   Mon Oct 23 14:03:51 2023 +0100

    clear data and ui

    - clearing data and ui after publishing
    - clearing data and ui with Cancel button

commit 62c30b6
Author: Deyan Nenov <[email protected]>
Date:   Mon Oct 23 11:17:59 2023 +0100

    consistent select all behavior

    - fixed checkbox behavior to be consistent when interacting with the rest of the controls

commit 653461a
Author: Deyan Nenov <[email protected]>
Date:   Sun Oct 22 20:35:04 2023 +0100

    delete item tests added

    - added tests for delete item
    - fixed an issue where removing all items would not result in cleaning the RootContent items
    - added detailed description for the customTreeView_SelectedItemChanged method

commit 5678922
Merge: e2cd0aa 989ea3c
Author: Deyan Nenov <[email protected]>
Date:   Wed Oct 18 18:51:43 2023 +0100

    Merge remote-tracking branch 'upstream/master' into pm-publishpackage-packagecontents

commit e2cd0aa
Author: Deyan Nenov <[email protected]>
Date:   Wed Oct 18 18:51:30 2023 +0100

    customnode preview item added

    - we need the ability to display custom nodes as file with file paths during package creation. CustomDefinition does not have the attributes to address that, so we are adding a new 'preview' item type to server the purpose

commit 0f281ab
Author: Deyan Nenov <[email protected]>
Date:   Wed Oct 18 16:04:58 2023 +0100

    assemblies show as files

    - assemblies now will show up with their file path, but still get picked up from their assembly resource on disk

commit 05e7295
Author: Deyan Nenov <[email protected]>
Date:   Tue Oct 17 12:16:17 2023 +0100

    browser sorting

    - now sorts browser alphabetically
    - fixed disabled behavior

commit fbab436
Author: Deyan Nenov <[email protected]>
Date:   Tue Oct 17 10:09:22 2023 +0100

    preview contents, bugfix

    - preview contents now correctly display based on user choice (retain folder or not)
    - fixed a bug where CustomDefinitions would read as root item
    - Pages are disabled when not displayed, in order to stop handling of tasks that affect other Pages

commit db74c8b
Author: Deyan Nenov <[email protected]>
Date:   Mon Oct 16 21:48:37 2023 +0100

    remove inactive selection border background

    - ui tweaks

commit 2ecd63a
Author: Deyan Nenov <[email protected]>
Date:   Mon Oct 16 20:02:12 2023 +0100

    item selection and deletion

    - UI added to allow users to add/remove items from current Package selection

commit da0501f
Author: Deyan Nenov <[email protected]>
Date:   Mon Oct 16 13:48:40 2023 +0100

    delete folders working

    - changed `RemoveItem` method to account for folder items being removed
    - fixed a bug where removing an Assembly file would generate an error. Assembly files can also be added to 'additional items'

commit 9901880
Author: Deyan Nenov <[email protected]>
Date:   Fri Oct 13 13:33:42 2023 +0100

    testing preview functionality

    - added tests for the core methods of PreviewPackageBuild

commit 4f704a7
Author: Deyan Nenov <[email protected]>
Date:   Tue Oct 10 15:16:15 2023 +0100

    previewbuild started

    - started the structure for preview build

commit f922975
Author: Deyan Nenov <[email protected]>
Date:   Mon Oct 9 22:09:11 2023 +0100

    visual style tweaks

    - updated files and folders icons
    - now only allows LibraryNode checkboxes for Assembly dll files

commit 45d558c
Author: Deyan Nenov <[email protected]>
Date:   Mon Oct 9 20:12:27 2023 +0100

    tests added

    - tests added to assert correct functionality of collecting files and folders

commit 536d00f
Author: Deyan Nenov <[email protected]>
Date:   Tue Oct 3 17:58:48 2023 +0100

    wip

commit 1cceb9e
Author: Deyan Nenov <[email protected]>
Date:   Tue Oct 3 16:27:13 2023 +0100

    tree visual update fix

    - using Dispatcher fixes the async tree creation

commit a8fb2de
Author: Deyan Nenov <[email protected]>
Date:   Tue Oct 3 14:21:51 2023 +0100

    misc changes

commit 24ce2cb
Author: Deyan Nenov <[email protected]>
Date:   Mon Oct 2 22:53:26 2023 +0100

    connected packagecontents and rootcontents

commit 32fa036
Author: Deyan Nenov <[email protected]>
Date:   Mon Oct 2 22:12:01 2023 +0100

    added pages

    - added pages for the wizard-like experience when publishing a package

commit 0a0c1a6
Author: Deyan Nenov <[email protected]>
Date:   Mon Oct 2 16:11:15 2023 +0100

    getting somewhere with browser

    - updated browser to only show root items

commit b3aeee8
Author: Deyan Nenov <[email protected]>
Date:   Tue Sep 26 15:44:57 2023 +0100

    folder structure

    - correctly creates minimum depth folder structure for the files added

commit 183bdd7
Merge: ca46de8 6860810
Author: Deyan Nenov <[email protected]>
Date:   Mon Sep 18 17:06:35 2023 +0100

    Merge remote-tracking branch 'upstream/master' into pm-publishpackage-packagecontents

commit ca46de8
Author: Deyan Nenov <[email protected]>
Date:   Mon Sep 18 10:41:11 2023 +0100

    colors in config.js

    - now all colors are controlled by the COLORS object in confing.js
  • Loading branch information
dnenov committed Dec 7, 2023
1 parent 4da00ab commit b72555f
Show file tree
Hide file tree
Showing 7 changed files with 141 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,24 @@ public PackageManagerSearchElementViewModel(PackageManagerSearchElement element,
public PackageManagerSearchElementViewModel(PackageManagerSearchElement element, bool canLogin) : this(element, canLogin, true)
{}

/// <summary>
/// A property showing if the currently logged-in user owns the package
/// </summary>
private bool isOwner = false;
public bool IsOnwer
{
get
{
return isOwner;
}

internal set
{
isOwner = value;
RaisePropertyChanged(nameof(IsOnwer));
}
}

private bool canInstall;
/// <summary>
/// A Boolean flag reporting whether or not the user can install this SearchElement's package.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -651,8 +651,12 @@ private void PopulateMyPackages()
var pkgs = PackageManagerClientViewModel.CachedPackageList.Where(x => x.Maintainers != null && x.Maintainers.Contains(name)).ToList();
foreach(var pkg in pkgs)
{
var p = new PackageManagerSearchElementViewModel(pkg, false);
var p = new PackageManagerSearchElementViewModel(pkg,
PackageManagerClientViewModel.AuthenticationManager.HasAuthProvider,
CanInstallPackage(pkg.Name));
p.RequestDownload += this.PackageOnExecuted;
p.RequestShowFileDialog += this.OnRequestShowFileDialog;
p.IsOnwer = true;

myPackages.Add(p);
}
Expand All @@ -666,6 +670,7 @@ private void ClearMySearchResults()
foreach (var ele in this.SearchMyResults)
{
ele.RequestDownload -= PackageOnExecuted;
ele.RequestShowFileDialog -= OnRequestShowFileDialog;
}

this.SearchMyResults = null;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
using System;
using System.Collections.ObjectModel;
using System.Linq;
using Dynamo.PackageManager.ViewModels;
using Dynamo.UI.Commands;
using Dynamo.ViewModels;
using NotificationObject = Dynamo.Core.NotificationObject;

Expand All @@ -25,7 +28,20 @@ public class PackageManagerViewModel : NotificationObject, IDisposable
/// <summary>
/// PublishPackageViewModel containing information about all the published packages
/// </summary>
public PublishPackageViewModel PublishPackageViewModel { get; set; }
///
private PublishPackageViewModel publishPackageViewModel;
public PublishPackageViewModel PublishPackageViewModel
{
get { return publishPackageViewModel; }
set
{
if (publishPackageViewModel != value)
{
publishPackageViewModel = value;
RaisePropertyChanged(nameof(PublishPackageViewModel));
}
}
}

/// <summary>
/// Returns all installed packages
Expand All @@ -37,6 +53,7 @@ public class PackageManagerViewModel : NotificationObject, IDisposable
/// </summary>
public ObservableCollection<PackageFilter> Filters => installedPackagesViewModel.Filters;

public DelegateCommand PublishNewVersionCommand { get; set; }

//Width of the PackageManagerView the default value is 1076
public double Width
Expand Down Expand Up @@ -90,6 +107,21 @@ public PackageManagerViewModel(DynamoViewModel dynamoViewModel, PackageManagerSe
{
PreferencesViewModel.SelectedPackagePathForInstall = dynamoViewModel.PreferenceSettings.SelectedPackagePathForInstall;
}

PublishNewVersionCommand = new DelegateCommand(PublishNewPackageVersionRelayCommand);
}


private void PublishNewPackageVersionRelayCommand(object obj)
{
var searchElement = obj as PackageManagerSearchElementViewModel;
if(searchElement != null)
{
var localPackage = LocalPackages.First(x => x.Model.Name.Equals(searchElement.Name));

if (localPackage == null) { return; }
localPackage.PublishNewPackageVersionCommand.Execute();
}
}

private void LocalPackages_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.ComponentModel;
Expand Down Expand Up @@ -92,7 +93,7 @@ public DynamoViewModel DynamoViewModel
/// <summary>
/// Package Publish entry, binded to the host multi-selection option
/// </summary>
public class HostComboboxEntry
public class HostComboboxEntry : NotificationObject
{
/// <summary>
/// Name of the host
Expand All @@ -102,7 +103,19 @@ public class HostComboboxEntry
/// <summary>
/// Boolean indicates if the host entry is selected
/// </summary>
public bool IsSelected { get; set; }
private bool _isSelected;
public bool IsSelected
{
get { return _isSelected; }
set
{
if (_isSelected != value)
{
_isSelected = value;
RaisePropertyChanged(nameof(IsSelected));
}
}
}

/// <summary>
/// Constructor
Expand Down Expand Up @@ -190,6 +203,7 @@ public bool IsNewVersion
{
_isNewVersion = value;
RaisePropertyChanged("IsNewVersion");
RaisePropertyChanged("CanEditName");
}
}
}
Expand Down Expand Up @@ -1134,8 +1148,9 @@ private void ClearAllEntries()
this.AdditionalFiles = new ObservableCollection<string>();
this.Dependencies = new ObservableCollection<PackageDependency>();
this.Assemblies = new List<PackageAssembly>();
this.SelectedHosts = new List<String>();
this.KnownHosts.ForEach(host => { host.IsSelected = false; });
this.SelectedHostsString = string.Empty;
this.SelectedHosts = new List<String>();
this.copyrightHolder = string.Empty;
this.copyrightYear = string.Empty;
this.RootFolder = string.Empty;
Expand Down
4 changes: 4 additions & 0 deletions src/DynamoCoreWpf/Views/Core/DynamoView.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1493,6 +1493,10 @@ private void DynamoViewModelRequestPackageManager(PublishPackageViewModel model)

if (packageManagerWindow.IsLoaded && IsLoaded) packageManagerWindow.Owner = this;
}
if (_pkgVM != null)
{
_pkgVM.PublishPackageViewModel = model;
}

packageManagerWindow.Focus();
packageManagerWindow.Navigate(Wpf.Properties.Resources.PackageManagerPublishTab);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,17 +32,43 @@ public PackageManagerPublishControl()
InitializeComponent();

this.Loaded += InitializeContext;
this.DataContextChanged += PackageManagerPublishControl_DataContextChanged;
}

private void PackageManagerPublishControl_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
{
if (!(this.DataContext is PublishPackageViewModel)) return;

ResetDataContext();
SetDataContext();
}

private void InitializeContext(object sender, RoutedEventArgs e)
{
SetDataContext();

this.Loaded -= InitializeContext;
}

private void ResetDataContext()
{
if (PublishPackageViewModel != null)
{
PublishPackageViewModel.PublishSuccess -= PackageViewModelOnPublishSuccess;
PublishPackageViewModel.RequestShowFolderBrowserDialog -= OnRequestShowFolderBrowserDialog;
}

PublishPackageViewModel = null;
}
private void SetDataContext()
{
// Set the owner of this user control
this.Owner = Window.GetWindow(this);

PublishPackageViewModel = this.DataContext as PublishPackageViewModel;
PublishPackageViewModel.Owner = this.Owner;

if(PublishPackageViewModel != null )
if (PublishPackageViewModel != null)
{
PublishPackageViewModel.PublishSuccess += PackageViewModelOnPublishSuccess;
PublishPackageViewModel.RequestShowFolderBrowserDialog += OnRequestShowFolderBrowserDialog;
Expand Down Expand Up @@ -78,6 +104,8 @@ public void Dispose()
NavButtonStacks = null;

Breadcrumbs?.Clear();

this.DataContextChanged -= PackageManagerPublishControl_DataContextChanged;
}

private void InitializePages()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
using System.Globalization;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Navigation;

Expand All @@ -11,7 +12,7 @@ public class PackageNameLengthValidationRule : ValidationRule
{
public override ValidationResult Validate(object value, CultureInfo cultureInfo)
{
if (value is string name && name.TrimEnd().Length > 2)
if (IsValidName((string)value))
{
// Validation succeeded
return ValidationResult.ValidResult;
Expand All @@ -20,6 +21,11 @@ public override ValidationResult Validate(object value, CultureInfo cultureInfo)
// Validation failed
return new ValidationResult(false, Wpf.Properties.Resources.NameNeedMoreCharacters);
}
public static bool IsValidName(string value)
{
return (value is string name && name.TrimEnd().Length > 2);
}

}


Expand Down Expand Up @@ -136,11 +142,36 @@ private void textBoxInput_PreviewKeyDown(object sender, System.Windows.Input.Key
{
var textBox = sender as TextBox;
if (textBox == null) return;
if (e.Key == Key.System) return;

int caretIndex = textBox.CaretIndex; // Store the caret index

// Prevents text starting with a space
if (e.Key == System.Windows.Input.Key.Space && string.IsNullOrWhiteSpace(textBox.Text))
{
e.Handled = true;
e.Handled = true;
return;
}

if (string.IsNullOrEmpty(textBox.Text)) { return; }

// In case we are using the Backspace to remove characters, the validation error will stop the Name property from being updated
if (textBox.Name.Equals("packageNameInput") && e.Key == Key.Back && !PackageNameLengthValidationRule.IsValidName(textBox.Text.Substring(0, textBox.Text.Length - 1)))
{
e.Handled = true;

if (!string.IsNullOrEmpty(PublishPackageViewModel.Name))
{
// Manually remove the last character from the Name property, as the validation error will not update the Name property
PublishPackageViewModel.Name = PublishPackageViewModel.Name.Substring(0, PublishPackageViewModel.Name.Length - 1);

// Trigger re-validation explicitly
var expression = textBox.GetBindingExpression(TextBox.TextProperty);
expression?.UpdateSource();

textBox.CaretIndex = caretIndex - 1 >= 0 ? caretIndex - 1 : 0;
return;
}
}
}
}
Expand Down

0 comments on commit b72555f

Please sign in to comment.