tpr

AdminOnSteroids

Recommended Posts

Thanks @Robin S, I merged your codes into my aos work copy. Seems to work fine at first look but need to test a bit more to make sure there are no side effects. Bernhard's repeater profile also seems to be OK with your fixes, though it was also OK with mines.

  • Like 2

Share this post


Link to post
Share on other sites
On 6/10/2017 at 1:35 AM, Robin S said:

@tpr, I've been having a look at the images-in-repeater issue for non-superusers (I discovered this one a while back but forgot to report it here, sorry :().

-----

Edit: I did report it over in the Github repo.

Edit 2: looking at some PM history it looks like a solution (same intent but different implementation to that proposed below) was found but never merged into the repo?

-----

As you found, the $this->editedPage property is the source of the issue. Seeing as the things this property is used for within the module either don't work within repeaters (e.g. field edit links) or aren't needed for repeater pages (e.g. breadcrumb features) I think $this->editedPage should never be set to a repeater page. But it's much easier to exclude repeater pages in ready() because in init() it is not yet known which class a page is an instance of. So could $this->editedPage be set in ready() instead?

This is what I did in my testing and it seems to work okay:


public function init()
{
    // removed code that sets $this->edited page
    
    // populate self::$configData
    self::$configData = $this->modules->getModuleConfigData($this);
    
    // ...
    
    // a bit further down we need to change $configData[$subModule] to self::$configData[$subModule]

public function ready()
{
    // set $this->editedPage
    // excluded repeater pages, minor refactoring
    $this->editedPage = false;
    $editedPageId = $this->sanitizer->int($this->config->input->get->id);
    $editedPage = $this->pages->get($editedPageId);
    if( $editedPage->id && !($editedPage instanceof RepeaterPage) ) $this->editedPage = $editedPage;

    self::$configData = $this->modifyConfigData(
        $this->modules->getModuleConfigData($this),
        $this->editedPage
    );
    
    // ...

 

Hi,

many thanks for the code,
this works like a charm, saved the day/week :)

Share this post


Link to post
Share on other sites
On 6/9/2017 at 4:50 AM, tpr said:

It's the same issue as of @bernhard's, could you try the fix I posted on June 2?

This solution did not worked,
I tried the solution from @Robin S and worked,
many thanks.

Share this post


Link to post
Share on other sites

AOS is at 1.4.7, containing Robin S's fixes and his IconsFilter module. I've spent much more time on the icons filter because I wanted it to be compatible with the current markup and with this PR too.

  • Like 5

Share this post


Link to post
Share on other sites

@tpr, these CSS overrides for wide screens are causing a misalignment of the WireTabs in the default admin theme:

2017-06-13_153043.png.1e153d2d871fb9f1ac02a63730b92095.png

I'm not sure what the "PrevNextTabs" feature is that requires the override, but if the overrides need to stay could you change to:

margin-bottom:calc(-2.6em - 1px);

 

Share this post


Link to post
Share on other sites
1 hour ago, Robin S said:

I'm not sure what the "PrevNextTabs" feature is that requires the override

It's another module. I'll check it, thanks.

Share this post


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

if the overrides need to stay could you change to:


margin-bottom:calc(-2.6em - 1px);

 

I couldn't see this issue but it was also OK here after applying the fix so I committed the update.

  • Like 1

Share this post


Link to post
Share on other sites

@tpr, AOS is adding the 'edit template' icon/link to the password inputfield. A bug?

2017-06-15_131757.png.bf34595c3901a4147c45d2ee9f7940bf.png

  • Like 1

Share this post


Link to post
Share on other sites

Certainly, the workaround selector fails here, I'll update soon.

  • Like 1

Share this post


Link to post
Share on other sites

Hello @tpr I have a problem with Pro Fields: Table in conjunction with AdminOnSteroids. If I use the Table Cells Selection Plugin or the Lightwire skin, the editing of the fields does not work as expected. I attached a screen-capture (with audio) to show the problem. I can export the fields if you want to recreate this.

pro-fields-table-adminonsteroids.mp4

  • Like 1

Share this post


Link to post
Share on other sites
On 6/12/2017 at 11:38 PM, Robin S said:

I'm not sure what the "PrevNextTabs" feature is that requires the override, but if the overrides need to stay could you change to:

if there is anything i can change or fix in the PrevNextTabs module, let me know

Share this post


Link to post
Share on other sites
5 hours ago, jmartsch said:

I attached a screen-capture (with audio) to show the problem. I can export the fields if you want to recreate this.

Thanks, it was very informative!

I could locate the TCS issue, the plugin had return false but false wasn't needed. Please try the attached js file.

As for the Lightwire bug, the floating ckeditor toolbar was always an issue, the current solution is a workaround I've added earlier. Now that PW's default ckeditor skin looks nicer since the last ckeditor upgrade, I'm thinking of removing the skin entirely, what do you think?

tablecellsselection.js

Share this post


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

Thanks, it was very informative!

I could locate the TCS issue, the plugin had return false but false wasn't needed. Please try the attached js file.

As for the Lightwire bug, the floating ckeditor toolbar was always an issue, the current solution is a workaround I've added earlier. Now that PW's default ckeditor skin looks nicer since the last ckeditor upgrade, I'm thinking of removing the skin entirely, what do you think?

tablecellsselection.js

@tpr With the new tablecellselection.js it works :)

In my eyes, the Lightwire skin looks nicer than the default skin. Especially the design of the dropdowns and the icons. Can´t you update the default skin so it uses your styles? Maybe even publish it on the ckeditor.com site. The changes are subtle but noticable.

Share this post


Link to post
Share on other sites

Icon replacements could work, I'll try. Btw its not my own skin but nico's, I'm just borrowing it :)

Share this post


Link to post
Share on other sites

With the recent CKEditor update to 4.7 the Table Cells Selection plugin can be entirely removed, will do it in the next update.

  • Like 1

Share this post


Link to post
Share on other sites

Hi @tpr, I've been working on a module that adds an icon to file items in a File field and checking to make sure it plays nicely with the "noFilenameTruncate" option in AOS. So I've been looking closely at the layout and have a suggestion for fine-tuning the noFilenameTruncate styles.

Here is the default appearance of a File field, without AOS noFilenameTruncate activated:

2017-06-30_130147.png.2fd26c7763281b51b9f4706567a2ef45.png

And here is the appearance when noFilenameTruncate is activated:

2017-06-30_130106.png.86015298ef1a5b88412553a0a0379aec.png

And what I'd like to suggest is...

  • Reduce the padding of the header to compensate for the extra line-height you added.
  • The float:left you added to the file icon shifts it up a bit from the default, so compensate for that with a some extra top offset.
  • Put the delete icon back over on the right by positioning it absolutely. It's better over there if you have several files to delete because you don't have to go hunting for it.

The result...

2017-06-30_133954.png.1b992a35cbf16e9f01bc0e4c6a98e879.png

And the modified SCSS for that:

html.noFilenameTruncate {
  p.InputfieldFileInfo.InputfieldItemHeader {
    padding: 6px 34px 6px 25px; 
    position: relative;
  }
  i.fa-file-image-o,
  .InputfieldFileInfo i {
    left: -21px !important;
    top: 3px;
    float: left;
  }
  a.InputfieldFileName {
    line-height: 1.33;
    margin-left: -22px;
    word-wrap: break-word;
  }
  label.InputfieldFileDelete {
    position: absolute; 
    top: 8px; 
    right: 8px;
  }
}

What do you think? 

  • Like 1

Share this post


Link to post
Share on other sites

@tpr, there is an issue with the "edit field" helper link shown in Page Edit for fieldsets. Instead of linking to the the settings of the fieldset itself it links to the settings of the first child field of the fieldset.

2017-07-02_221228.png.a403a6c77071b9d83b5cbf902689549b.png

Share this post


Link to post
Share on other sites

Thanks, will investigate them later.

Share this post


Link to post
Share on other sites

Thanks for this wonderful module. When SVG is used in image field, the download button is not appearing. I hope it can be there.:rolleyes: 

Share this post


Link to post
Share on other sites

All 3 issues above should be fixed in v149, thanks!

  • Like 2

Share this post


Link to post
Share on other sites

Two small additions in v150:

  • Misc: add new page: uncheck `Active?` for non-default language names (thanks to Tomka)
  • Misc: hide the `Add new` dropdown button from above the main pagelist

Unchecking the active state for the non-default language variant of a page can be handy if only a few pages need to be multi-language, so you don't have to go to the Settings tab to uncheck them all every time adding a new page. Also works with templates with parent-child relationships set (when the first step of the addnew process is invisible).

Hiding the Add new dropdown doesn't take the available bookmarks into account, just hides the button entirely (CSS only btw). I never really needed this feature and I agree that it's rather confusing. The main pagelist looks a bit empty without this button though :)

  • Like 3

Share this post


Link to post
Share on other sites

hi tpr,

seems that the move up/down icons overlap the delete icon making it impossible to click on it. do you need more information to reproduce this? aos 1.5.0 and pw 3.0.68

597b36b4c0633_2017-07-2815_02_11-EditPage_Runtastic360v2_dev.thumb.png.6650e64d2d603b9622619b36a7dcca47.png

  • Like 2

Share this post


Link to post
Share on other sites

Thanks, it's a bug, will be fixed soon.

  • Like 2

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 thuijzer
      https://github.com/thuijzer/processwire-FieldtypeBusinessHours
      Fieldtype Business Hours
      ProcessWire Fieldtype for entering business hours (opening hours)
       
      Input format
      Leave a day empty when closed on that day
      Times are in 24 hour format.
      9:00-12:00 9:00-12:00, 13:00-17:30 16:00-2:00  
      Usage in templates
      Days are from 1 to 7 where 1 is Monday and 7 is Sunday (ISO-8601)
      echo $page->field_name->isNowOpen() ? 'Now open' : 'Now closed'; if($page->field_name[1] == null) { echo 'Closed on Monday'; } if($page->field_name[2]->inRange('11:00')) { echo 'Tuesday at 11:00 open'; } echo $page->field_name[1]; echo $page->field_name[1]->entries[0]->getFrom()->format('H:i');  
    • By adrian
           Tracy Debugger for ProcessWire
      The ultimate “swiss army knife” debugging and development tool for the ProcessWire CMF/CMS
       

       
      Integrates and extends Nette's Tracy debugging tool and adds 30+ custom tools designed for effective ProcessWire debugging and lightning fast development
      The most comprehensive set of instructions and examples is available at: https://adrianbj.github.io/TracyDebugger
      Modules Directory: http://modules.processwire.com/modules/tracy-debugger/
      Github: https://github.com/adrianbj/TracyDebugger
      A big thanks to @tpr for introducing me to Tracy and for the idea for this module and for significant feedback, testing, and feature suggestions.
    • By Harmen
      Hello all,
      Was wondering if any of you tried to include the Exact PHP client by Picqer in Processwire (URL)? I am trying to at the moment but I am stuck at the Authorization process. Building it inside a module file to execute a certain function every 6 hours to update something on the website. For the authorization process the file has to execute the following piece of code:
      header('Location:'. $urlThatRedirectsMeToTheLoginOfExact); But each time I am trying  to do so, I get the following error: Cannot modify header information - headers already sent by (output started at /processwire/index.php:55). I am out of options so that's why I am trying to find someone who used this library and could get it to work or someone who knows how I can fix it.
      Tips are highly appreciated (if they work ;))
      Cheers, Harmen
    • By BitPoet
      So I stumbled over the request to allow limiting templates to be used only once under every parent page in this thread
      and found that this would actually come in handy (also in a site I've built).
      The code can be found on github and soon also in the module repo.
      After installation, you'll find a new checkbox "Only once per parent" in the family tab when editing a template.