There are a few posts on SO asking the same thing as me, but I haven't really found a good answer to this question (some solutions only work for iPad, others say it is not possible in SwiftUI). Hoping that someone has more information since I can't find recent discussion on this topic.
In SwiftUI, it is easy to enable "edit" mode on a single list to reorder its items. I am wondering if there is a way to reorder items between two (or more) lists. Not looking for fully fledged out code, but maybe some direction and pointers since I am new to Swift.
Desired Behavior: https://imgur.com/4k69Rvi
Related
I am using the latest swiftui and would like to know if it is possible to create drag & drop boundaries based on color?
I already created a drag & drop with rotation, pinching, etc. But would like to be able to create regions where you can drop into.
Thanks
Yes it is! It's a great idea, and I think you should pursue it.
As it stands there's a hundred different ways to go about things. Spend some time thinking about how you would want it to work, then just take baby steps. You've already covered a lot of the ground work by implementing rotation and pinching.
Write some code (in a playground so you get instant feedback) that does some simple drag and drop work. Add in a line of code that turns the background a different color or changes its opacity when you let go/lift your finger.
Those types of incremental changes are well documented and you will be able to google them quickly. I think it's a great sign that you haven't found ready made examples. It means you are thinking outside the box.
This is an opportunity for you to think like a developer and a designer. If you post your results somewhere or release a project on GitHub at some point, others will be able to find your work using the same search criteria you used when you didn't find any results.
If you get stuck, post the code the code that has you baffled, and I'm sure you get help on this site. Best of luck 🍀
Summary: I have seemingly hit a limitation in Figma when trying to make the columns behave akin to a CSS grid system. I would like to know if I have misunderstood Figma's built in capabilities, if there is a plug-in that solves the problem, if I have to create one Figma frame per CSS breakpoint (undesirable), or if there are other solutions.
Background: As an interaction/ UX designer, I would like to specify the responsiveness of a web based application, so that the front end developers know how the interface should appear at all browser widths. They implement in a CSS-based grid system similar to Bootstrap
So far, I failed in achieving what I want, and the most knowledgeable UX'ers in the company think I have hit a limitation in Figma's capabilities, but they are not certain.
Basically, what I want is this basic responsiveness, but column based. But as shown in this video, none of my experiments work.
I wonder if it boils down to this: If a Figma child element has:
horisontal constraint set to “Scale” and
vertical constraint set to “Hug contents”
Then the parent element cannot have:
vertical constraint set to “Hug contents”
Is this is a known limitation in Figma? If yes, are there plugins that solve this problem, or is it outside Figma's scope to offer this type of alignment with CSS-based grid systems? Obviously, it would be very beneficial if the solution also supports breakpoints.
P.S. I have asked which SE site that was most suitable for this question, and SO was the suggested site. The question was closed on UX.SE.
No, according to an answer on Figma's own forum, Figma's columns cannot behave akin to a CSS grid system, even though “several threads [have] requested [this] evolution”.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
Community!
I know, these questions shouldn't be opinion-based and I'm certainly not asking "What's the best CMS???". I'm just at a point of having tried out so many different CMS that I want to know if there does exist one which meets the following criteria:
Very flexible template system, content elements, content columns
I don't really like the complexity of designing with Fluid in TYPO3. I'm not a complete newbie in this area but it strikes me as being pretty complex, you have to know all these functions and knowledge in TypoScript doesn't have much use outside of TYPO3.
On the other hand, I feel the templating is with Fluid is done pretty well. You have your backend layouts where you define your content columns (name and number), where in your fluid layouts you specify which content column (here, the number is used) is rendered where. Inside the backend you apply your backend layout to your root page (it is inherited which I love because it makes changes easier than having to change the template of every single page!) and you can add your content to the column defined in this backend layout. I love this idea!
The point I like is that content can exist outside this structure - you can create a content element and have it just not being rendered because it has no layout column specified. Also if you ever want to change your layout, you can do so by provoding the same column numbers in a new backend layout. The name of the columns can be changed without problems - that's the problem with Concrete5.
In Concrete5, all content resided inside of the "areas" (quasi content columns) on the individual pages. But because Concrete5 has only inline-editing, you can't just change your area names (and they're visible for your editors so maybe you want to change them to a better name, even though there are some standards like 'main' this doesn't fit for Non-English speaking people who just edit content in their language). If you do, you can't access your content inside these areas anymore because it is coupled with the area names (I wonder why there's no ID-system and just a public visibly area name).
Another point is crappy code - I really don't like the output of some CMS very much, even if you can control it somehow, sometimes there are things like many lines of whitespace - really weird. Concrete5's inline-editing-feature is pretty cool, especially the ability to work with Bootstrap and visually layout your blocks to have two thirds to one third width or something like that. But on the other hand you have to have these header- and footer-includes to use Concrete5, so you HAVE to change the output on your site and have to use the div-wrapper to use inline-editing. I don't really have anything against it as long as it doesn't clutter the final output too much (and I think, Concrete5 is pretty ok in this regard).
I LOVE ModX in this regard because after experimenting just a little bit I actually got ONLY my html and the things I put in the page editor in the final source code. The problem with ModX is: there are no content elements/blocks, there are no content columns/areas - all you have is one big editor field. I know, you can adjust that pretty heavily, but in the end as far as I think it's not really meant to offer you the ability to define multiple areas where you can put different kind of elements inside, is it? Like "Header", "Text & Media" or "Slider" in TYPO3/Concrete5, which you can hide (at least in TYPO3) and move on their own.
(And if there is some good kind of version control, that would be great as well, but that's just a thing I like in TYPO3 and I don't like that much in Concrete5 because you can't really roll back changes to individual elements, just to the whole site - and you can't hide part of your content (hide some blocks like you hide content elements in TYPO3) to "save" an alternative version of, say, a header or a normal text element.)
Long story short, I'm looking for a very flexible template system which let's me design the way I want. It should have individual content elements (elements of different types, which I can create on my own as well) and content areas (/columns), so that I can place my content in different places which I can style individually. It should output only my code if possible (like ModX) and be open to changes (like renaming content columns/areas).
Just to recap my problems I have with the named CMS:
TYPO3: too complex to enjoy layouting with Fluid in my regard
Concrete5: too tightly coupled (content is gone when you rename the
areas in your layout, you can't access it anymore at all)
ModX: Not
really built for multiple content elements which reside in multiple
content columns
To not counteract the purpose of stackoverflow, I want to clarify that I'm not looking for every CMS in which the named things are POSSIBLE. Someone might say "You can totally do that in Drupal, just install these 200 modules and you're good to go!") but are actually intended (like content columns and content elements in TYPO3/Concrete5, especially in Concrete5 it feels very natural to work that way, you don't get a sense of having to hack the system for days just to have a good base for developing your site.
I'm asking if there's a CMS available (it should be open-source/free) that actually supports these developing principles by it's nature. I hope you can help me and everyone looking for a CMS which supports this style of working! Thank you! :)
Coming from the TYPO3 world and not knowing other systems well enough to really compare: if you got complex layouts with multiple grids you will have always some complexity for editing as well.
I don't see a real complexity for fluid using fluid_styled_content as fluid is really simple, nice phpstorm plugins exist which do autoocmplete for you for partials, viewhelper,...
Imo you tried the most used cms in php world and stick to the one which fits best for you. Of course the core team and extension authors are always happy to get feedback. So if some specific thing is too complex for you, please let us know!
Area names in concrete5 are completely up to you (although "Main" is fairly standard). If you won't be switching themes there would be no problem.
You are free to create your own theme/page layouts and name Areas however your want.
The basic content in concrete5 are Blocks not Areas. Sounds like you should look into Stacks, which allow you to put as many blocks/types into each for as many as you want. They do not have to be displayed anywhere.
There are many ways to retrieve Pages, Areas, Blocks and Stacks (including Global) programmatically without a name, such as:
$someBlock = Block::getByID(5); // get your Block by bID #5
Not to mention you can create custom View Templates or override the core files to output however you want (not restricted to HTML).
concrete5 can even be ran at the command line.
Sounds like a little time with the Block documentation would completely change your mind...
jasteele12 # concrete5.org
OK, so my Windows application involves a window that, among other things, has a list of objects in a pane. Each object has 8 boolean values that need to be determined — so I'd like a list of the objects, with eight columns of checkboxes after. I'm not using MFC, should that be relevant.
ListView looks the way I want it to, but apparently it doesn't accept checkboxes in SubItems (the LVS_EX_CHECKBOXES style only gives each row a checkbox on the left).
So what I need is some kind of alternative to ListView that does allow this. I've been looking, but nothing I've found seems to work.
I have seen reference to some DataGridView control, but I don't see that as an option in my Visual Studio 2010 "toolbox" — how does one access it, is it even available for non-MFC C++ projects? Most references to it seem to be for VB or C#.
Another thing I found is is this custom ListView, but it, again, seems to be for C# and not C++. I'd certainly accept suggestions on how to use this resource in my code, if there's a simple way to interface with the C# dialogue (I'm completely unfamiliar with C#).
Anyway, any thoughts, suggestions, or tips anyone has, would be most appreciated!
EDIT: This should maybe go in a new question, but it doesn't really seem deserving an entire question on its own: MFC seems to have more support for this kind of thing (insofar as most of the custom controls I can find to download are for MFC). My project does not actually require being non-MFC, it just is, at the moment. How much work am I looking at to convert it?
Well, I've taken the plunge and started using MFC; the CGridCtrl I downloaded seems to be working pretty well, though I still have a lot of work on it. I'm going to call this the answer, then, since there doesn't seem to be another forthcoming.
Using Sitecore.NET 6.3.0.
Our Sitecore content has a great deal of items that refer to other items via the control renderings collection. This is done by setting a path to the item as the controls' datasource.
Since this link is specified via a path - not an id - to the linked item, it is currently possible to break the link if you change the linked item's location, or delete it completely.
With the goal of either preventing broken links, or at least detecting them before a publish, what is the best approach to avoiding this problem?
I'm aware that it is possible to link in a standard way (reference by id), but this would rule out any links where we must link via relative paths.
Is there any way to go about detecting, or even better preventing broken links of this kind?
EDIT: This is more akin to assigning a DataSource to a sublayout in presentation layout details, rather than doing anything in code. (Its something a content editor would do).
I'm not sure what the best approach is, but I do agree there's potential for a lot of problems here.
While reading your post, I was thinking... albeit a naughty move, but you COULD change the field type of the "DataSource" field. Of course, mucking about in system templates is something to be cautionable about - but in this case, the alternative seems slightly worse.
If doing so, you would need to hook into the getRenderingDatasource pipeline as well, and override the GetDatasourceLocation step.
I've not done this myself, so cannot guarantee it will work. Seems fairly straight forward however :-)