tpr

AdminOnSteroids

Recommended Posts

2 hours ago, tpr said:

Took some time why it's not working there but finally found it

Thank you - awesome to have!

 

2 hours ago, tpr said:

I've checked the new UIkit theme and it's not bad. From AOS pov I saw only the language switcher that is misplaced but surely there are others too.

The main thing I am missing at the moment is the full row hover :)

And the position of the "Disable AdminOnSteroids" link is driving me a little crazy :D

A couple of other things I have noticed:

  • There is no support for the stick header/nav when using the traditional layout option. In sidebar mode it is built into the theme, but I don't like the iframe implementation.
  • There is a weird layout issue with AOS on - note the doubled and missing borders on these elements
    59d0f7eca8f97_ScreenShot2017-10-01at7_12_22AM.png.628bc1f9df9d45728c50035314dc561c.png
    59d0f8b15faec_ScreenShot2017-10-01at7_15_57AM.png.ff0ce220b01bf22b1ce6e173501c3941.png

 

Thanks for all your work on this!

  • Thanks 1

Share this post


Link to post
Share on other sites

I noticed an issue when AOS is enabled.  The collapsed fieldsets aren't fully expanded.

59d0fad29648d_EditPageAboutUspwoliver.test2017-10-0109-24-37.jpg.852e55d8b0927d82f1e3120cdc2af65c.jpg

 

In Chrome dev tools, you can hover over the "label" html element to see it.  I think it has something to do with this rule:

.aos_hasTooltip .title, .InputfieldCheckbox label {
    position: relative;
    display: inline-block;
}

I also noticed on those fieldsets, the AOS tooltip popup isn't working.  Nothing pops up to show the edit field links.  If I find a solution, I'll report back.

Hope that helps,

-Glenn

 

  • Like 1

Share this post


Link to post
Share on other sites

Sorry, it looks like those fields are collapsed ajax loaded fields, not fieldsets.  So to summarize:

  1. Field Initially Collapsed - Field set to Open when populated, closed when blank = works good, span full width and tooltips appear when hovered
  2. Field Initially Collapsed - Field set to Open when populated + Closed when blank + Load only when opened (AJAX)  = doesn't work, only spans the width of the label, tooltip doesn't appear when hovered.

I think the type matters here as well, I think I'm seeing the problem only on InputfieldCheckbox fields.

Share this post


Link to post
Share on other sites
On 10/04/2017 at 3:37 PM, Robin S said:

@tpr, is it possible to have the ListerTweaks submodule activated (to get the benefits of the "Lister options" section) without the submodule interfering with the columns of the Find and Users lister? Even after emptying the "Users lister columns" it shows "DEFAULTS" and prevents columns being added within the columns tab of the Users lister itself. Could there be checkboxes to turn off the column options within AOS?

@tpr, just following up a request from a while back. I think this is similar to the issue @szabesz raised the other day - it affects both the core Lister and Lister Pro. I'd like to keep the Lister tweaks active in AOS because the "Show action buttons on hover" is handy but I'd like to have a way to turn off the fixed selection of columns. I think if the columns AsmSelect is empty for a Lister then AOS should take that as meaning "do nothing to this Lister's columns".

  • Like 1

Share this post


Link to post
Share on other sites
2 hours ago, Robin S said:

I think if the columns AsmSelect is empty for a Lister then AOS should take that as meaning "do nothing to this Lister's columns".

Also, it should be pointed out so that we do not miss it. And another idea is to somehow "throw" a warning when someone on Lister Pro's config screen is trying to set the columns with AOS in effect. When I have the time I can let @tpr work on development site so that he can test such a feature but currently I'm just to busy...

Share this post


Link to post
Share on other sites

Hi,

After upgraded to the latest version, I found that the CKeditor doesn't work anymore. I got the following error as the attached image shows.

Gideon

 

2017-10-03 16-45-41 的螢幕擷圖.png

Share this post


Link to post
Share on other sites

I assume you're using CKEaddons plugins. If so, what plugins?

Are you using FieldOverrides? If so, what are your settings?

Share this post


Link to post
Share on other sites

I updated mine to 1.6.0 and CKEAddons is not showing up on the list anymore. See screenshot.

Screen Shot 2017-10-04 at 12.57.03 PM.png

Share this post


Link to post
Share on other sites

Have you enabled it on top? I guess I need to make the top submodule chooser more obvious.

Share this post


Link to post
Share on other sites
3 minutes ago, tpr said:

Have you enabled it on top? I guess I need to make the top submodule chooser more obvious.

Have a look at my vidcap below. Did I miss anything?

 

aos-cke.gif

Share this post


Link to post
Share on other sites

Thanks, it's a bug, insert this after this line until the next update:

$fsetCKE->add($f);

 

Share this post


Link to post
Share on other sites

I've just uploaded v1.6.1 that contains the CKEaddon config fix and also some minor AdminThemeUikit fixes.

I've also modified ListerTweaks to allow empty asmSelects. I'm not sure about this line but I guess it's needed to clear previous lister sessions.

  • Like 2

Share this post


Link to post
Share on other sites

I'd like to make some suggestions about this module, after having used it/installed it and setup on a lot of sites recently:

1) I believe that the module should default to everything off. Many of the changes that this module makes to the admin are potentially breaking, or may totally confuse non tech-savvy clients. I would rather be able to install this, and enable 1 feature at a time and then test each enabled feature.

2) In terms of defaults, i believe the CK editor skin should default to 'default' not to lightwire; because since default is the default, why not let users decide if they want to change to lightwire, instead of assuming they want it.

Also, i wouldn't include any plugins by default, especially not justify - one a site i just installed AOS on, it was showing 3 entire sets of text alignment icons in the editor; by removing that plugin, this has reverted to normal behavior.

3) with nav items, that is certainly an awesome feature, and allows you to make a lot of cool shortcuts in the sidebar, also having the option to group some into their own submenu is cool - would be even better if the submenu could be above pages so that you could put your custom shortcuts into it's own top level menu, like "Site" or "Company"; I'm not fully understanding why the menu items have 2 areas, one that links to a bookmark and one that links to the editor; it is very clever that by selecting a page, it knows you mean edit the page (not view); my clients are so technically handicapped that even having 2 areas of a menu item will probably cause a meltdown. Ideally clicking on the item would just take them to the edit page, or maybe there can be some setting for this in case other users like that dual menu item functionality...

thanks for considering!

  • Like 1

Share this post


Link to post
Share on other sites

Sounds good to me. In fact the default setting were important to me until the feature to import settings.php weren't introduced (see the bottom of AOS config page).

For the nav items I could tweak it to enable edit links only for superuers.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

right - cool, so for superusers leave the left = bookmark, right edit icon = edit, but for non-super users, clicking it just goes to edit?

Share this post


Link to post
Share on other sites

Almost, non-superusers will have only the bookmark and no edit (right) link.

Share this post


Link to post
Share on other sites

maybe leave as is? Me and my superusers only need edit...no bookmark

Share this post


Link to post
Share on other sites
On 05/10/2017 at 9:11 AM, tpr said:

I've also modified ListerTweaks to allow empty asmSelects. I'm not sure about this line but I guess it's needed to clear previous lister sessions.

That line that you weren't sure about is preventing the adding or removing of columns from the Users lister. I think you should be able to remove the else{} part because if there are no columns specified in the AOS config then you don't need to do anything to the Lister columns.

Also, it would be a little more efficient not to even hook ProcessPageLister::execute when both column AsmSelects are empty in the AOS config...

if (
    in_array($subModule, $enabledSubmodules) &&
    (!isset($_SERVER['HTTP_REFERER']) || strpos($_SERVER['HTTP_REFERER'], '?bookmark=') === false) && 
    // No need for hook if no tweaks in config
    (!empty(self::$configData['ListerTweaks_find']) || !empty(self::$configData['ListerTweaks_users']))
) { 
    // ...

 

  • Thanks 1

Share this post


Link to post
Share on other sites

I was experimenting with replacing the PW logo. The implementation is kind of a brute force but I don't think there's a better way atm.

brandinglogo.png.ca395b95709dc4fe1276bf6a94355330.png

  • Like 1

Share this post


Link to post
Share on other sites

In order to change it I used brute force too. Nice to see some in AOS as well :D

Share this post


Link to post
Share on other sites

How exactly? Perhaps yours is not that bf :)

Share this post


Link to post
Share on other sites
7 hours ago, tpr said:

How exactly? Perhaps yours is not that bf

Oh yes it is! :P 

As I use the admin's login form as a public login form (just redirecting frontend users to another page) it was crucial to change the logo...

#logo {
    display: none;
    margin-top: 6px;
} 
//replacing the logo:
var logo_o = $("#branding #logo");
logo_o.attr("href", "/");
var innerHtml_str = logo_o.html();
var updated_str = innerHtml_str.replace("/wire/modules/AdminTheme/AdminThemeReno/styles/images/", "/site/templates/admin/");
logo_o.html(updated_str);
logo_o.show(); //made hidden by display: none; so we need to turn it on. This is to prevent flashing.

I hope that's all. I did it some time ago....

  • Thanks 1

Share this post


Link to post
Share on other sites

Thanks. I used php string replace and some css but I think it's just about the same level of hacky workaround :)

  • Like 1

Share this post


Link to post
Share on other sites

@tpr Morning!

I have a question about Save on crtl+s (which is command+s on macOS, BTW): from this morning on I need keep it off as I kept accidentally publishing new pages which should not be published yet, it is because the action is not Save but rather Publish and I got used to it forgetting not to do it when I should not publish the page.

So the question is: is it possible take into account the status of the page and do "Save + Keep Unpublished" when it is Unpublished? 

Share this post


Link to post
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 bernhard
      @Sergio asked about the pdf creation process in the showcase thread about my 360° feedback/survey tool and so I went ahead and set my little pdf helper module to public:
       
      Download & Docs: https://gitlab.com/baumrock/RockPdf
       
      You can combine it easily with RockReplacer: 
       
    • By Soma
      LogMaintenance
      A simple ProcessWire module to give some maintenance control over log files. I found myself often having lots of log files for different things that can grow more or less quickly to a size where they can be difficult to maintain. The built in Logger of PW does a good job of giving you the possibility to delete or prune logs. But it has to be done manually and sometimes a log grows into millions of lines, which makes it often impossible to even prune it as it's too large.
      LogMaintenance uses LazyCron to run the maintenance task and there's several settings you can setup on a global or per log basis.
      Archive: will create zip files for each log file in logs/archive/ folder and add the log each time the maintenance is run to a subfolder containing the datetime.
      Lines: keeps logs to a certain number of lines 
      Days: keeps the log to a certain number of days
      Bytes: keeps the log to a certain amount of bytes
      Each setting is checked from top down, the first setting to contain something is used. So if you check the "Archive" option, all other settings are ignored and logs are archived everytime the LazyCron is executed. If you want to keep your logs to a certain amount of bytes just leave all other settings to 0 or blank.
      Per Log Settings
      There's a textarea that you can use to setup a config for a specific log file one per line. All the logs you define here ignore the global settings above. The syntax for the settings is:
      logname:[archive]:[lines]:[days]:[bytes] 
      errors:1:0:0:0 // would archive the errors log messages:0:10000:0:0 // will prune the errors log to 10000 lines  
      The module can be found on github for you to check out. It's still fresh and I'm currently testing.
      https://github.com/somatonic/LogMaintenance
    • By teppo
      Fieldtype Page IDs is a third party Fieldtype that, simply put, stores Page references as integers (Page IDs).
      This fieldtype was built as a quick and dirty workaround for Page Reference fields' inability handle self-references due to circular reference issues. A project I've been working on for a while now includes a combination of RepeaterMatrix content blocks and tagging/categorization system that would've resulted in a lot of duplicate pages (and plenty of unnecessary manual work for content editors) had I used built-in Page Reference fields, and thus a new Fieldtype felt like the most sensible approach.
      Fieldtype Page IDs was designed to be loosely compatible with Page References in order to make conversions between the two feasible, but it is quite limited feature wise:
      largely due to the fact that stored values are actually just integers with no connection to Pages whatsoever some advanced selectors and related features are not supported, and page values can't be directly accessed configuration settings are limited to the bare essentials (selector string and Inputfield class) only a handful of Inputfields (AsmSelect, Checkboxes, Text) are (currently) supported Anyway, in case you need to store Page IDs (and Page IDs only) and are happy with the limitations mentioned above, feel free to give this Fieldtype a try. It has been working fine for me in one particular project, but hasn't been tested that much, so please tread carefully – and let me know if you run into any issues.
      GitHub repository: https://github.com/teppokoivula/FieldtypePageIDs
      Modules directory: https://modules.processwire.com/modules/fieldtype-page-ids/
    • By daniels
      This is a lightweight alternative to other newsletter & newsletter-subscription modules.
      You can find the Module in the Modules directory and on Github
      It can subscribe, update, unsubscribe & delete a user in a list in Mailchimp with MailChimp API 3.0. It does not provide any forms or validation, so you can feel free to use your own. To protect your users, it does not save any user data in logs or sends them to an admin.
      This module fits your needs if you...
      ...use Mailchimp as your newsletter / email-automation tool ...want to let users subscribe to your newsletter on your website ...want to use your own form, validation and messages (with or without the wire forms) ...don't want any personal user data saved in any way in your ProcessWire environment (cf. EU data regulation terms) ...like to subscribe, update, unsubscribe or delete users to/from different lists ...like the Mailchimp UI for creating / sending / reviewing email campaigns *I have only tested it with PHP 7.x so far, so use on owners risk
      EDIT:
      I've updated the module to 0.0.4. I removed the instructions from this forum, so I don't have to maintain it on multiple places. Just checkout the readme on github 🙂
      If you have questions or like to contribute, just post a reply or create an issue or pr on github. 
    • By bernhard
      WHY?
      This module was built to fill the gap between simple $pages->find() operations and complex SQL queries.
      The problem with $pages->find() is that it loads all pages into memory and that can be a problem when querying multiple thousands of pages. Even $pages->findMany() loads all pages into memory and therefore is a lot slower than regular SQL.
      The problem with SQL on the other hand is, that the queries are quite complex to build. All fields are separate tables, some repeatable fields use multiple rows for their content that belong to only one single page, you always need to check for the page status (which is not necessary on regular find() operations and therefore nobody is used to that).
      In short: It is far too much work to efficiently and easily get an array of data based on PW pages and fields and I need that a lot for my RockGrid module to build all kinds of tabular data.

      Basic Usage

       
      Docs & Download
      https://modules.processwire.com/modules/rock-finder/
      https://gitlab.com/baumrock/RockFinder/tree/master
       
      Changelog
      180528, v1.0.4 add custom select statement option 180516 change sql query method, bump version to 1.0.0 180515 multilang bugfix 180513 beta release <180513 preview/discussion took place here: https://processwire.com/talk/topic/18983-rocksqlfinder-highly-efficient-and-flexible-sql-finder-module/