How to drag and drop a component over other components (other than parsys) in CQ5? - aem

I have created a button component in CQ5 without inheriting existing button component. Now I want to
place this button component over another custom Banner component by drag and drop method from sidekick. I gave the banner comp as parent for my button and in banner I gave this button in allowed children and made it as container too. also I have created design dialog for the banner component where I added this button component in allowed components option. still I am not able to drag and drop this button over the banner, as its going either above or below this banner and the banner itself is inside parsys. if I include the component via jsp, its working fine. but I must do it by drag and drop.
I am new to CQ5, appreciate any help I can get. thanks in advance.

A parsys is the fundamental container component for composition. Applying this functionality manually into another component would require quite a bit of custom configuration.
If you look at the parsys at /libs/foundation/components/parsys, you will see that it is defined as a container by the property cq:isContainer - true, which instructs CQ to allow for drag and drop. There are multiple sub nodes that will need to be defined etc.
If you are trying to limit only a particular component to be dropped in, this may make sense, and yo should look at the image component, however, the best approach is to make a component that contains a parsys.
Remember that the author's should have the ability to add as much as they want to, and a single object does not allow for this flexibility. You should be handling bad author activity through a review process before the content is published, rather than enforcing it on a software level.
Hope that helps.

Drag and Drop feature is available on Parsys or IParsys only. So to achieve your requirement you need to include parsys in banner component.
If you want to restrict banner parsys to allow button component, please use design config and select button component in button's parsys

Related

How to make a form builder in flutter with drag and drop functionality for widgets and customise their name, rules, datepicker, time 12/24hrs

I am trying to make a form builder which should have a functionality of drag and drop feature. Also the widgets when dropped onto the form should have a additional control of changing the particular widgets functions as per their choice. Like for suppose if a time picker has been dropped the person should have option to choose from 12/24hrs clock.
I tried adding the widget in one page but when dragging and dropping them on the form the edit option goes away as it is there in the default page. Please help with a suitable answer.
The kind of functionality I need
Also you can refer jotform

Msft MRTK3 on Unity for HoloLens 2 - Object Manipulator feature overrides button clickable/pressable functions. Why?

I am trying to design a UI panel using MRKT3 for the HoloLens 2. It is a panel with pressable buttons. Anytime I add object manipulator script (to make panel grabbable, interactable, etc.) this unfortunately seems to make my buttons no longer clickable.
How can i go about this?
Inspector with Object Manipulator included
For the issue reported, what is likely happening is the button is getting the parent attributes applied via inheritance. From the image, one cannot see the code or relationship but that is what sounds like in the post.
If you have the pressable button to be the parent and underlying objects under it, that should work.

Adobe AEM/CQ5 personalizable carousel

I am trying to build a carousel where a user can personalize each slide. Out of box carousel does not seem to do it.
The solution I end up doing was to extend the parsys and keep the virtual 3cols. I renamed the 3cols to carousel and added a custom attribute called renderType and set it to "carousel". So when parsys tries to render, knowing it is carousel I render as carousel instead of regular content holder.
It works but then I would like call a javascript when a user clicks "Preview" so that I can render this as carousel and when they unchoose "Preview" by clicking Edit or Target, I would render normally.
I see that you can listen to WCMMode change event but I am not able to get concrete e.g or documentation to perform. Any help?

Use attribute selector to change panels in a panel stack (Microstrategy)

So I have an attribute selector that currently changes the view of a grid based on the attribute passed to that grid. I also have a panel stack directly below the grid, with panels that hold iframes, which needs to be changed as the user selects an attribute in the selector. In other words, as the user selects an attribute from the selector, the panels would changes and show the new iframe. Is there a way I can somehow control the panel stack from an attribute selector?
The panel stack contains iframes , and each panel has an iframe with a specific URL source. What would be great is if I could somehow pass the attribute to the URL so that the iframe in a SINGLE panel could change based on the selection made in the attribute selector. For example, if I set the URL source of the iframe to "/servername/microstrategy/asp/{&attribute}.html" and had my html files stored in the correct folder. But there doesnt seem to be a way to pass the selected attribute to the source URL of the iframe.
The only thing I can think of is to somehow access the "code-behind" for the click event so that it BOTH changes the grid as usual, AND causes the panel stack to change panels.
Is there something in the Web Editor or SDK/Eclipse IDE that would allow me to access such logic? Or is there some cool work-around that would allow an attribute selector to change the panels shown in a panel stack.
Thank you for your help,
Kind of old question, but AFAIK there is no way to do it. You should probably go with text-boxes and use them as selectors. Maybe with view filters you could achieve something similar...

SmartGWT: hide current element showing in Canvas

I'm working something like a dynamic menu, where you click some radio buttons and it shows a specific form, each radio control matches to a different form.
Examples from the showcase always base themselves on the Tabs widget and I don't need that behaviour.
I opted for placing all the forms inside one Canvas and hide/show them accordingly (Not sure this was the best idea, if someone knows better I would like to hear it)
Now my problem is that every onClick event has to .show() one form and .hide() the other 9. that is annoying.
Is there a way to "get" the current displayed child in the Canvas and hide it?
If what you want is basically mutex display, you could put all the components as members of a Layout instead of a Canvas, then use setVisibleMember(). That hides all other members.