Feature request: Copy and paste function for events editor

Hi Radzen team,

would it be possible to implement a copy and paste function for the events editor? It would be very helpful to be able to copy a whole subtree to another location. With more code complexity, it can be very time-consuming to add every command again an again to implement different cases.
Currently, I sometimes do the copying by hand by editing the according json files. But it would be so much simpler to be able to do this directly in the IDE.

Hi @Meister_Eder,

I'm afraid that we do not have plans to add such functionality in the near future.

Hi @enchev,

Just being able to move code blocks ( properties ) within an event would boost productivity a lot . Moving a property in and out a "then" block of an invoke e.g.

I also modify the json files when the change is intensive to do it in the visual designer.

@Meister_Eder: Look at :

You can move and copy blocks, but you should be carefull , I always make a copy before editing the json directly .

2 Likes

That's too bad! For me, it's the major functionality missing in Radzen IDE and not just a "nice-to-have"-feature. It's also inconsistent, that you can copy and paste controls and parts of the page, but not the event code lines.
For small applications it's not the point, but if you are developing really complex applications it's just so frustrating and time-consuming to define everything again, what you have already done before. And using an external tool is a workaround, but not as comfortable as it could be.

But I don't always want to complain: I love Radzen, you have done a really great work here and your response for fixing bugs is really fast! That's why I chose you against other competitors for a paid subscription. But it would be great if you were more responsive to the needs of your customers.
I think a poll for some the best feature requests from you customers would be nice. So you could let the users decide which feature will get a top priority for the next release.

@mcanavar
Thanks for the tip, I'll give it a try! Currently, I'm using Notepad++ with the JSON Viewer plugin.

You can share with us the email the purchase was made with so we can associate your forum account with the license.

We are actually quite responsive considering the size of our company. Try requesting a feature somewhere else to see the difference :slight_smile:

I have been using Radzen for a bit less than a year and in that time I have had nothing but first class support from the Radzen team. The software is bloody good. (Given that you get 90% in the free version Iā€™d say good becomes excellent) The speed of response and the support is excellent. The support via the forum is excellent and as the user base grows just better and better. The professional subscription is the best software investment I have made in a very long time time. The value of Radzen to my business is enormous.

If you want more from the software then I suggest you buy a subscription and help these guys grow.

2 Likes

As I wrote, I already bought a Professional Subscription recently. I'm also have been using Radzen for some time now and I'm very satisfied.

But I think, this doesn't make my feature request illegitimate. I've never seen an IDE which doesn't allow to copy and paste parts of written code. If Radzen IDE would be open source or would offer an API for plugins, I would love to help implementing it.

Please send us the email you purchased Radzen with to info@radzen.com so we can associate your forum account with the Radzen Professional User forum group. We don't have a customer with the email you are using with the @Meister_Eder account.

I understand your feature requirement. It is however rather difficult to implement this feature correctly in the current state of Radzen. For example any implicit expressions used such as ${result} would be wrong if you paste the event handler in a different place - the ${result} of one action could be a totally different thing in another method. For example what should happen if you copy the Then event handler of the getCustomers invoke data source method to the Then event of getOrderById method? In the first case ${result} maps to IEnumerable<Customer> and in the other to Order. If Radzen blindly copies the JSON then it would generate code which does not compile. If it tries to change the code to update the implicit expressions such as ${result} and ${data} it would still fail as there could be custom code involved which Radzen does not know about.

Open sourcing the Radzen IDE won't happen. Radzen already has a community version and an open source component library. We are already giving a lot. An API for plugins is also not going to happen in the foreseeable future - implementing it properly is a lot harder and time consuming than the feature being requested here.

Radzen is a tiny company and must pick its battles very carefully in order to be sustainable and survive. If this feature is a mandatory requirement for your needs please let us know over email and we will refund your purchase.

1 Like

Thank you for the detailed explanation! Now I understand what's your point and why it is rather difficult to implement. For starters, it would be enough to be able to copy at least the root elements.

If I have the time, I'll develop a small external Windows tool for this. I'll post my github repo here, when it's finished.

If you don't mind me piping in here, if you think about it, there really isn't any use case for the ability to copy events, because you basically already can -

  • If you copy a component from one page to another, all the component's events come with it. You can even paste into a text editor for later reuse.

  • If you go into the 'Outline' view and copy a component that has subcomponents like a Row, then all the subcomponents, and their associated events come with it.

  • The only thing you really can't copy in the Outline view is the Page, so you can't get the page load events this way. But, you can copy a page using the context menu on your pages listed on the left. This way you get the whole page, its load events and the subcomponents with all their events.

Overall, it seems to me like it would be pretty rare to find a circumstance that the above doesn't cover.

Slosuenos

1 Like

To break it down : We are programming on a different level (6GL) and the use case on this level is simpel.
There are some events where you want evaluate on the condition when some code should execute.
copy would allow you to write one condition and then copy and paste the same code to replicate and change only the condition and a filter.

One more important use case would be moving in and out within " if then construction " of properties or bits of code, mistakenly placing an property outside an invoke or later wanting to change this is hard , in most cases you have to reenter it.

Some minor improvements on these will help on productivity and faster development.

Hello Team,
If you could allow copy paste between compatible events or give an option to change event
ex: If I coded for Click event of a component and would like to move the code to doubleclick event or vice versa. You could make a option to change the event or move the code between events.