Jump to content

monollonom

Members
  • Posts

    317
  • Joined

  • Last visited

  • Days Won

    7

Everything posted by monollonom

  1. Don’t you think a <select> would be better in this case? To show “1st”, “2nd”, “3rd” and “4th” (or nothing) (“5th” also possible, but rarer) Or do you want to be able to say “Every 6 monday“ to have a 6-week gap in-between two mondays? In which case the “1st” placeholder would not make sense.
  2. Completeness wasn’t there apparently lol. Basically “Every X day(s)” would show nothing: Hence why I like your solution better: it allows the user to quickly repeat every day, except for some. In my UI you would need to understand that you need to select the “month(s)” frequency, and select the days, but even then it’s inferior because you select the days’ number and not the day of week. I rewatched my video and you can actually do that using the “week(s)” frequency, but still! Don’t change a thing, you’re clearly on the right path! (what do you input here? )
  3. At first it was @szabesz’s suggestion that made me post this, because of the way things are handled in the calendar app: there’s no “In Months”, just “Each” and it only appears if the frequency is “Every month” and so on... I liked it this way because of how the ux “difficulty” (let’s say) is incremental. But in the end I think your way of doing actually makes more sense (and you are right that it’s more limited in my case)... so you can dismiss my post 🙂
  4. In my implementation using FieltypeCombo, I basically followed what Apple is doing in their calendar app: Here’s an export of my field:
  5. This looks truly great and I can easily see myself using it in several client projects! Great work 🙂 One note on the last video (pretty sure you already thought of this but hey): if there is a need for a first save before being able to create copies, maybe hide the options?
  6. Ah and so basically an editor could set one particular copy back to a regular “date” (uncheck “recurring”) and then be able to edit this specific one, which is nicely thought! Maybe this could be implied by the UI (and maybe it already is?!): if there is $date->mainPage, hide the options to create copies and instead display something like “This event is a copy of ‘Main Page’” with an option to break the connection (and allow to create copies from there) or suggest to uncheck “recurring” to be able to edit the event. I wonder if the fields should also show that changes won’t be applied if it’s a copy as well?
  7. It’s an interesting mix indeed. Would you say these copies act as aliases but with their own date? Does it require a special template or is it that your module dynamically add a page reference field to the copies and then your module add hooks to get the main event’s data at runtime? What is very nice is it makes it super easy for the editor to edit a specific copy. Among many other benefits 🙂 The only downside I can think of in your setup is what if a recurring event gets cancelled? Is there a way to easily delete the copies? If you have a page reference field it shouldn’t be too hard actually... Maybe? If I rephrase what’s happening: you create the event, set its date to "recurring" and go ahead and create your copies. Then you save the page. If you edit it again, you have the "recurring" date type selected with the options to create new ones, but no indications of the copies previously created. Is this correct?
  8. I think I missed something: is the "Recurring" option creating copies of the current page (event)? In my case there is no copy, just an array of occurences (array of dates basically) that remain bound to the page and that I’m using when querying events. This does mean I always display the same content. That’s why I’m asking: the dates are generated and then remain, I can disable some and if a selector involves a disabled occurrence, the event will not show up. Thus some occurences can be in the past. But again my question comes from me misunderstanding what your module is doing (even though it’s clearly specified in the fieldset’s label 😅). Another question then: once you created the events, what happens if you save the page? Are the copies displayed in your table or does it start from scratch? (thank you for taking the time to answer)
  9. Another thing got me curious: In your gif it looks like you have a calendar in a page, would the idea be that you could have a calendar in a template and then (maybe) show events that could be child pages or pages that match a selector with a page reference field (e.g. for event categories)? This has a lot of potential I think.
  10. What I’m finding particularly useful is your date Inputfield on steroids allowing you to cover almost all cases. On a recent project I went with a FieldtypeCombo + FieldtypeTable to achieve something similar: If the event is happening indefinitely, I create the first 1000 occurences and have a button to create a 1000 more, like in your screencast (though not live). The one thing missing in my contraption is hiding past occurrences (but keep them just in case). In your example, does clicking on the trash icon delete the occurrence or just deactivate it? Having a calendar UI would of a course be a really nice thing to have as well for clients 🙂
  11. After doing a test and seeing your gif could it be because you’re also slightly moving the mouse on the Y-axis? Maybe the slider should stick to one axis once you passed a certain threshold?
  12. I also had to set the collapsed property dynamically and thankfully @Robin S has got us covered ? Just replace the hook to be on Field::getInpufield and it should work.
  13. In your home page can't you set the English page name as /en/ and leave the German one as / ? Edit: just tried and turns out you can't, as it automatically set the name to the main language's one of you leave empty
  14. Actually having a demo per (first party) site profile would be a good showcase of how these can be good starting points while showing how versatile PW can be, e.g. with the (great) invoice profile.
  15. One can have a look at how others do it: https://plugins.getkirby.com/ There the navigation is clearer as the categories are tucked away under “Types” and allows to have a clearly visible “Paid modules” menu link (Pro Modules could go under there as well as “First party paid modules”). Also they have no centralized way of selling modules, authors adding links to their own ecommerce solution (be it a custom one, Gumroad, ...). One thing I note though is even the paid modules are released on Github (but always mentionning how they are not “free software”), on PW modules are also required to have a Github page to be listed (I assume to be auditable / accountable). Regarding a blog post, I’m not selling anything but I guess it could be nice even though it remains a one-off promotional tool.
  16. This is a bit of a long shot given your description and the fact you don’t have access to the php files but maybe this has to do with URL Segments ? Head to Templates > Course (or whatever the template’s name is) and under the “URLs” tab have a look at “Which URL segments do you want to allow?” and add there the “contact-persons” segment on a new line (if “Allow URL segments?” is on, that is)
  17. You’re not losing your mind ? https://processwire.com/blog/posts/new-repeater-and-repeater-matrix-features/#custom-icons-for-repeater-types
  18. The simplest in this case would be to use the module you mentioned in your first post. To me, it’s not so overkill
  19. Try moving the page in the page tree (e.g. above "Access" and then back) to clear the navigation cache, then it should work:
  20. Yes I noticed it right after posting ?. It’s because the URL is not the one for editing the page. Add this hook to init.php and move back again the page to clear (and update) the navigation bar’s cache: $wire->addHookAfter("AdminThemeFramework::getPrimaryNavArray", function(HookEvent $event) { $settingsPage = $event->pages->get("template=settings"); // replace accordingly $primaryNavArray = $event->return; foreach($primaryNavArray as &$adminPage) { // pass by reference if($adminPage["id"] === $settingsPage->id) { $adminPage["url"] = $settingsPage->editUrl(); break; } } $event->return = $primaryNavArray; });
  21. To have your page shown in the admin menu, you have to have it under the /admin/ page. Move it there, reload, and you should see "Settings" in the menu bar. Edit: actually it's not that simple as the url in the menu is not the one to edit the page! My bad! Let me check for a fix
  22. My unsolicited opinion regarding a media manager: what I like about images / files being tied to a specific page is that it avoids creating clutter since the files are deleted when they're not needed anymore (the page is deleted) whereas if it was in a media manager you would probably end up with a lot of garbage. But I second the idea of maybe having something like @Robin S’ https://processwire.com/modules/process-media-lister/ to select an image from another page that would then be automatically duplicated on save.
  23. Thank you for these updates @ryan! A small note / bug though: you forgot to check if the userActivity module is installed in the `userActivityReady()` function
  24. This is absolutely fantastic and very timely as I was thinking of tackling the same issue in one of our current projects!
  25. It does look more refined now, I was especially triggered by the animation of the “>” not being centered vertically while rotating ?
×
×
  • Create New...