Jump to content

AdminOnSteroids


tpr

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
Link to comment
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 :)

Link to comment
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
Link to comment
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
Link to comment
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
Link to comment
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

Link to comment
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

Link to comment
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.

Link to comment
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
Link to comment
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

Link to comment
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
Link to comment
Share on other sites

  • 3 weeks later...

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
×
×
  • Create New...