Jump to content

AdminOnSteroids


tpr

Recommended Posts

I started adding the field (and template?) edit links, similar to Soma's module HelperFieldLinks (but only links, without the all the field/template data).

My first idea is to use ctrl+click (or long click?) on field label go to the edit page (on new tab, or perhaps modal/panel).
I would like to avoid the clutter but let me know if you would prefer icon or other solution instead.

Also, if you have an idea where to put the "Edit template" link, please share. My idea is ctrl+click on page title.

  • Like 1
Link to comment
Share on other sites

Ok, I made a huge progress after diving into the Inputfield class where I found those hidden features I needed to put the markup just where I needed.  PW is great- it seems that Ryan (and others) have thought about all the things someone needs WAY before :)

I added the field name to show on hover - it's animated from the left, with a small delay because it was frustrating moving the mouse around and they appeared here and there.

I still need to finish a few things before I publish this but I think the majority of the work is done.

aos-editfieldlink.gif

  • Like 3
Link to comment
Share on other sites

@tpr I have an issue to report. I always enable the System Notifications module by default, I like it a lot better than the "classic" way... AOS always(?) stopped the admin from being able to display the notifications when the option "Compact header" was on (in other words, when I turn this option on, no notifications are seen anywhere), so I dit not turn it on, after all, I can live without it. However, (probably after the last update) the Sticky header "fell apart" too. Please check this out:

AOS Sticky header with System Notifications enabled.png

I cleared the browser's (Chrome) cache to no avail.

Edited by szabesz
Edit: this issue appeared in the 0.3.6 version, probably...
Link to comment
Share on other sites

That's another z index issue I guess, but I haven't noticed so far. Ctrl+r didn't help?

Left click in label would be frustrating I think. I could imagine longclick or double click could be much better. Or an icon, optionally.

Link to comment
Share on other sites

1 hour ago, tpr said:

That's another z index issue I guess, but I haven't noticed so far. Ctrl+r didn't help?

I tried Chrome's "Empty Cache and Hard reload", Incognito and another browser too.

1 hour ago, tpr said:

Left click in label would be frustrating I think. I could imagine longclick or double click could be much better. Or an icon, optionally.

Maybe not the best, but with a _blank target it should do. I support the icon idea too, that is something obvious and normally we have enough room for it, I suppose. I just always forget long clicks, modifiers and such. I use so many of them anyway, that I find hard to remember those I do not use often, and this is such a case (at leas for me).

  • Like 1
Link to comment
Share on other sites

I see your points about clicks/icons etc but I'm still not convinced which would be the best way.

I also see the issue with System Notifications. I'll see what can I do, I hope there will be an easy fix.

  • Like 1
Link to comment
Share on other sites

As for now I allowed clicking on the fieldname that slides in to edit the field. It opens by default in new tab (configurable to open in panel or modal).

I'll keep the ctrl-click option too.

(AOS's ctrl+s is addictive. I find myself more and more trying to save my comments here that way :))

  • Like 2
Link to comment
Share on other sites

Interesting module indeed. Can't say I'm one for too much tweaking, but some of the features here are quite helpful. Specifically, I like hotkeys and textarea autosizing. In terms of Reno theming, it's quite interesting, but I can't say I like the sidebar tweaks, specifically the non-linear items (and the flash menus don't work). I have, however, taken a liking to the sticky white compact header. +1 for that.

Just a note: I have tested this in 2.8 (not extensively) and it seems to work fine, as it should. The only differenc between 2.8 and 3.0 is that 2.8 does not have namespaces, but both versions share the same code. As such, and if I were the module author, I would drop the dependency to 2.8.

Oh, and flyout panels (like debug mode tools) needs a higher z-index (testing with sticky header and sidebar on - Reno theme).

Link to comment
Share on other sites

Thanks! There were many z-index issues so far and one of the latest fix was more subtle, and there are some side effects that needs to be eliminated. Panels are already fixed in the latest version (unreleased yet).

I'll check the flash menus too.

  • Like 3
Link to comment
Share on other sites

v038 is uploaded with fixes for perhaps all the issues reported above, thanks for all!

This also contains the FieldEditLinks tweak and other fixes.

PW compatibility was set to 2.8, though as I see the modules directory doesn't have this option.

  • Like 1
Link to comment
Share on other sites

v040 brings InputfieldURLChecker to AOS!

This also means that the "standalone" IUC module will be discontinued, only this submodule will be further developed.

All of its features were kept but some were implemented differently (hopefully for the good), so if you encounter an issue please report.

  • Like 2
Link to comment
Share on other sites

The "panel" mode fails for repeaters but that's I think a PW issue (IUC). The URL is opened in a new tab so it's not a critical issue. I have an idea for a solution but I'm not sure it would work. It was a bad thing to realize that PW panels are not dynamic, meaning they are determined on page load, but I found a workaround that apparently works.

  • Like 2
Link to comment
Share on other sites

The latest update contains a fix for IUC links inside repeates, though they doesn't work in ajax-loaded fields - PW doesn't add the markup there, no idea why.

There's an "Enable module" toggle too to enable/disable the module without uninstall.

Main changes:

  • workaround to use panel mode for repeaters and other fixes for InputfieldURLChecker

  • added "Enable module" toggle

  • layout improvements for sticky and compact headers (RenoTweaks)

  • miniScrollbar now works with stickyHeader (previously only with compactHeader)

  • more general solution for HoverSaveDropdown

  • Like 2
Link to comment
Share on other sites

v042:

  • modalModuleEdit option to ModalTweaks: edit modules in a modal dialog. Reloads the Modules page on module uninstall.
  • compactModuleList module names are "full-cell" sized for better clickability

  • breadcrumbs ctrl+click fix for Default admin theme
  • Like 1
Link to comment
Share on other sites

On 8/8/2016 at 6:28 AM, Mike Rockett said:

I can't say I like the sidebar tweaks, specifically the non-linear items

From v043 that is just uploaded you have the option to disable the inline sidebar items. This feature is now available for all sidebar modes unlike before.

For the modalModuleEdit tweak there are two additions: a secondary "X Submit" button for submit+exit, and ESC also closes the modal dialog.

  • Like 4
Link to comment
Share on other sites

@tpr I just want to say a big thank you! I'm back from holidays so I could actually update the module and it works fine so far. The new appearance of the normal Sticky Header (not the compact one) with the always show search field is my most favorite setting.The "dropdown" version of System Notifications is great improvement too.

Just one issue I have: with the above mentioned normalSticky Header + always show search field setting I do not have access to the search field in narrow viewport, the search field simply disappears.

All in all, you managed to improve the Reno Theme in such an extent that there is no more reason to prefer the classic admin theme to it.

  • Like 2
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Robin S
      This module lets you add some custom menu items to the main admin menu, and you can set the dropdown links dynamically in a hook if needed.
      Sidenote: the module config uses some repeatable/sortable rows for the child link settings, similar to the ProFields Table interface. The data gets saved as JSON in a hidden textarea field. Might be interesting to other module developers?
      Custom Admin Menus
      Adds up to three custom menu items with optional dropdowns to the main admin menu.
      The menu items can link to admin pages, front-end pages, or pages on external websites.
      The links can be set to open in a new browser tab, and child links in the dropdown can be given an icon.
      Requires ProcessWire v3.0.178 or newer.
      Screenshots
      Example of menu items

      Module config for the menus

      Link list shown when parent menu item is not given a URL

      Advanced
      Setting child menu items dynamically
      If needed you can set the child menu items dynamically using a hook.
      Example:
      $wire->addHookAfter('CustomAdminMenus::getMenuChildren', function(HookEvent $event) { // The menu number is the first argument $menu_number = $event->arguments(0); if($menu_number === 1) { $colours = $event->wire()->pages->findRaw('template=colour', ['title', 'url', 'page_icon']); $children = []; foreach($colours as $colour) { // Each child item should be an array with the following keys $children[] = [ 'icon' => $colour['page_icon'], 'label' => $colour['title'], 'url' => $colour['url'], 'newtab' => false, ]; } $event->return = $children; } }); Create multiple levels of flyout menus
      It's also possible to create multiple levels of flyout submenus using a hook.

      For each level a submenu can be defined in a "children" item. Example:
      $wire->addHookAfter('CustomAdminMenus::getMenuChildren', function(HookEvent $event) { // The menu number is the first argument $menu_number = $event->arguments(0); if($menu_number === 1) { $children = [ [ 'icon' => 'adjust', 'label' => 'One', 'url' => '/one/', 'newtab' => false, ], [ 'icon' => 'anchor', 'label' => 'Two', 'url' => '/two/', 'newtab' => false, 'children' => [ [ 'icon' => 'child', 'label' => 'Red', 'url' => '/red/', 'newtab' => false, ], [ 'icon' => 'bullhorn', 'label' => 'Green', 'url' => '/green/', 'newtab' => false, 'children' => [ [ 'icon' => 'wifi', 'label' => 'Small', 'url' => '/small/', 'newtab' => true, ], [ 'icon' => 'codepen', 'label' => 'Medium', 'url' => '/medium/', 'newtab' => false, ], [ 'icon' => 'cogs', 'label' => 'Large', 'url' => '/large/', 'newtab' => false, ], ] ], [ 'icon' => 'futbol-o', 'label' => 'Blue', 'url' => '/blue/', 'newtab' => true, ], ] ], [ 'icon' => 'hand-o-left', 'label' => 'Three', 'url' => '/three/', 'newtab' => false, ], ]; $event->return = $children; } }); Showing/hiding menus according to user role
      You can determine which menu items can be seen by a role by checking the user's role in the hook.
      For example, if a user has or lacks a role you could include different child menu items in the hook return value. Or if you want to conditionally hide a custom menu altogether you can set the return value to false. Example:
      $wire->addHookAfter('CustomAdminMenus::getMenuChildren', function(HookEvent $event) { // The menu number is the first argument $menu_number = $event->arguments(0); $user = $event->wire()->user; // For custom menu number 1... if($menu_number === 1) { // ...if user does not have some particular role... if(!$user->hasRole('foo')) { // ...do not show the menu $event->return = false; } } });  
      https://github.com/Toutouwai/CustomAdminMenus
      https://processwire.com/modules/custom-admin-menus/
    • By tcnet
      This module for ProcessWire sends a notification email for each failed login attempt. Similar modules exists already in the module directory of ProcessWire. However, this module is designed to notify, even if specified user doesn't exist.
      Settings
      The settings for this module are located in the menu Modules=>Configure=>LoginFailNotifier.
      Notification email
      Specifies the email address to which the notification emails should be sent.
        Email subject
      Specifies the subject line for the notification email.
        Post variables
      Specifies the $_POST variables to be included in the notification email. Each variable must be separated by a comma. For example: login_name,login_pass
        Server variables
      Specifies the $_SERVER variables to be included in the notification email. Each variable must be separated by a comma. For example: REMOTE_ADDR,HTTP_USER_AGENT
      Link to ProcessWire module directory:
      https://processwire.com/modules/login-fail-notifier/
      Link to github.com:
      https://github.com/techcnet/LoginFailNotifier
    • By Fokke
      ProcessWire 3.x markup module for rendering meta tags in HTML document head section. Note that this module is not a full-blown SEO solution, but rather a simple tool for rendering meta tags based on module configuration. Adding custom meta tags is also supported.
      Built-in meta tags
      The following meta tags are supported out-of-the-box:
      Document title consisting of page title and site name Character set Canonical Viewport Description Keywords Hreflang tags Open Graph og:title og:site_name og:type og:url og:description og:image og:image:width og:image:height Twitter meta tags twitter:card twitter:site twitter:creator twitter:title twitter:description twitter:image Facebook meta tags fb:app_id The full documentation with configurable options can be found here: https://github.com/Fokke-/MarkupMetadata
       
      Requirements:
      ProcessWire>=3.0.0 PHP >=7.1 Installation using Composer
      composer require fokke/markup-metadata Manual installation
      Download latest version from https://github.com/Fokke-/MarkupMetadata/archive/master.zip Extract module files to site/modules/MarkupMetadata directory.
    • By m.sieber
      ITRK-Service for ProcessWire
      Module for the automated transfer of imprint, data protection declaration and terms and conditions from IT-Recht Kanzlei to your ProcessWire installation
      What is ITRK Service for ProcessWire?
      ITRK-Service for ProcessWire is a free module for ProcessWire CMS. It provides an interface to the update service of IT-Recht Kanzlei, via which the legal texts of your online presence are automatically updated. In this way, the texts remain legally secure and warning-proof in the long term. Imprint, data protection declaration, revocation and general terms and conditions are currently supported.
      You can find our documentation (in german language) here: https://www.pupit.de/itrk-service-for-processwire/dokumentation/

      Download: https://www.pupit.de/itrk-service-for-processwire/
      Github: https://github.com/pupit-de/pwItrkServiceConnector
    • By LuisM
      Symprowire is a PHP MVC Framework based and built on Symfony using ProcessWire 3.x as DBAL and Service-Provider
      It acts as a Drop-In Replacement Module to handle the Request/Response outside the ProcessWire Admin. Even tough Symfony or any other mature MVC Framework could be intimidating at first, Symprowire tries to abstract Configuration and Symfony Internals away as much as possible to give you a quick start and lift the heavy work for you.
      The main Goal is to give an easy path to follow an MVC Approach during development with ProcessWire and open up the available eco-system.
      You can find the GitHub Repo and more Information here: https://github.com/Luis85/symprowire
      Documentation
      The Symprowire Wiki https://github.com/Luis85/symprowire/wiki How to create a simple Blog with Symprowire https://github.com/Luis85/symprowire/wiki/Symprowire-Blog-Tutorial Last Update
      16.07.2021 // RC 1 v0.6.0 centralized ProcessWire access trough out the Application by wrapping to a Service https://github.com/Luis85/symprowire/releases/tag/v0.6.0-rc-1 Requirements
      PHP ^7.4 Fresh ProcessWire ^3.0.181 with a Blank Profile Composer 2 (v1 should work, not recommended) The usual Symfony Requirements Features
      Twig Dependency Injection Monolog for Symprowire Support for .env YAML Configuration Symfony Console and Console Commands Symfony Webprofiler Full ProcessWire access inside your Controller and Services Webpack Encore support Caveats
      Symfony is no small Framework and will come with a price in terms of Memory Usage and added Overhead. To give you a taste I installed Tracy Debugger alongside to compare ProcessWire profiling with the included Symfony Webprofiler

      So in a fresh install Symprowire would atleast add another 2MB of Memory usage and around 40ms in response time, should be less in production due to the added overhead of the Webprofiler in dev env
       
×
×
  • Create New...