Jump to content

AdminOnSteroids


tpr

Recommended Posts

Hey @tpr - you have been busy while I have been away :) I haven't played with it yet, but it looks awesome - do you feel like another feature request?

https://processwire.com/talk/topic/13041-pw-3015-new-quick-tree-debug-view-panels-and-more/?p=118514

Not sure how easy this would be to do in your module, but thought I'd throw it out there!

Link to comment
Share on other sites

I hope Ryan plans to add such features to the panels you requested. I guess some features could be implemented easily, like auto width, position next to content, etc. I'll see.

  • Like 2
Link to comment
Share on other sites

Just uploaded v019 with the collapsable asmSelect fields update. The screenshot in the previous post was updated because there's always an icon in the beginning of the row to make the hierarchy easier to see (there was only a "+" icon beforehands). Double-clicking on the ending item also collapses the section.

The update does not contain the ctrl+s CKEditor feature, I need to think it through how to organize.

  • Like 2
Link to comment
Share on other sites

hey tpr,

one thing that i find annoying some times is that multi-column-fields are stacked on mobile but also set to have the same height. on desktop that makes sense so that it is a proper grid, but on mobile the fields are stacked to 1 column and therefore it would be great if every field had only the height itself needs.

but maybe that should be more a fix of the core than an "enhancement" via your module. what do you think?

Link to comment
Share on other sites

I think the admin is meant to be used on desktop but I'll see if there's an easy fix to this, maybe setting height: auto or similar is enough. Could you show an example scenario where this happens? (what field to add with what settings)

Edit: try adding this to AdminOnSteroids.css and see if it helps:

.maxColHeightSpacer {
    display: none;
}
  • Like 1
Link to comment
Share on other sites

Seems OK to me - google shows that this was already on the table in PW forums:

https://processwire.com/talk/topic/10802-issues-with-javascript-setheight-function-in-pw-admin/

AOS v02 is just uploaded, with some AsmTweaks fixes and a feature to move the delete button to the left on Asm fields. I use a wide screen monitor and this bugged me a lot :)

  • Like 1
Link to comment
Share on other sites

Thanks! Glad to hear that. I also use it on my sites and it speeds up navigation and feels better, but of course that can be because it's tailored to my likings.

What submodules are you using?

I've also thought about adding edit links to fields/templates like HelperFieldLinks do, but without the info popup.

v021 is uploaded to GitHub:

  • sticky admin tabs when compact sticky header is enabled
  • stickyCKEditorToolbar fix for multilanguage fields
  • module submitted to modules directory
  • CSS fixes

The tabs are sticked to the header so when the site is scrolled down they are still visible, no need to scroll up.

aos-stickytabs.png

  • Like 2
Link to comment
Share on other sites

Another commit today containing the new Hotkeys submodule. This enables saving page on ctrl+s, even from within CKEditor. What's more, it works on various page types, eg. when editing templates, fields, roles, etc. As there was no general rule I could apply to save pages, I had to manually add the enabled ones, so if you find a page type which doesn't work but should, please report.

If enabled, the submodule will disable the default browser Save dialog on all admin pages. I think that dialog has no function in the admin but correct me if I'm wrong.

On save there's a white overlay with a fancy css3 animated floppy icon, to  indicate something's happening:

aos-save.gif

  • Like 7
Link to comment
Share on other sites

Updated to v025, here are the latest changes:

0.2.5 (2016-06-28)

  • new RenoTweak: miniScrollbar for main content and sidebar (using perfect-scrollbar.js)
  • added Language Translator page to the supported hotkey save pages

0.2.4 (2016-06-26)

  • remove ctrl+click feature to activate all language tabs of the same language (core feature from ProcessWire 3.023)
  • FireFox fix for clearing filterbox

miniScrollbar in action:

aos-customScrollbar.gif

  • Like 5
Link to comment
Share on other sites

@bernhard Just noticed that before you wrote, glad it's fixed.

AOS v026 is uploaded with two tiny update: allow ctrl+s on the first step of Add new page + adding sequential tabindices to inputs (textareas, selects). The latter solves the issue that often TABbing doesn't jump to the next input because there are other inputs in between. This solution isn't perfect but it's very simple, and it would do in most cases. Also works with ajax-loaded fields/tabs.

  • Like 1
Link to comment
Share on other sites

Great module tpr. Some really great features.

I just had an idea and wasn't sure if a module or feature request existed already? or wether it should belong here or in the core?

I like the minimalistic and ease of use by Processwire and mods your module offers and was thinking would be great to have an option to hide all notes for all fields, or the option to have these converted to an icon near the field title (such as a question mark icon), for fields which have them, and on hover to then show any notes set to the field. 

I think this would save a lot of screen real estate as users who are more frequent with the use of the CMS, tend to not require to see the notes after a while.

Not sure how hard this would be though? :)

Anyway, thanks for the great module!

  • Like 1
Link to comment
Share on other sites

I only occassionally use description and notes but I agree that it could save some space.

@bernhard I saw that topic earlier, thanks. At first I'll see if I can do it CSS only, that would be more lightweight and unobtrusive. Here is a quick demo of the first mockup (written in dev tools):

aos-css-tooltip.gif

Update: the double coffee worked :)

aos-css-tooltip-1.gif

aos-css-tooltip-2.gif

  • Like 5
Link to comment
Share on other sites

Just added two screencaps to the post above. On the last one the tooltip occupies the whole field area, I'm curious what do you think about that. It's better in dev POV because there are no z-index issues (in some cases the tooltip got cut by other elements). Or the tooltip could go to the right of the icon, with its arrow pointing leftwards.

  • Like 1
Link to comment
Share on other sites

31 minutes ago, grimezy said:

Wow. What kind of coffee you drinking?!

corporate :)

Here is the basic tooltip-version that have notes and description fields. On double-click the tooltip stays visible, to enable copying text. There is a hack to tackle IE and if the content has html, that's also covered.

aos-css-tooltip-3.gif

  • Like 5
Link to comment
Share on other sites

v027 is up with the Tooltips submodule. The CSS got a bit complicated but hopefully everything will be fine forever so I don't have to dive into it again :)

You can switch whether to use it for field descriptions and/or notes, and whether to use the "overlay" style.

  • Like 6
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...