tpr

AdminOnSteroids

Recommended Posts

4 minutes ago, tpr said:

For ckeditor there is already a Maximize plugin in aos (ckeaddons).

i am quite busy those days so i missed that ;)

6 minutes ago, tpr said:

As for the other fields the biggest issue is the button placement, or finding another solution to trigger.

yeah i was not sure about that as well. i thought of placing it beside the open/close toggle of the field label.

Share this post


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

For ckeditor there is already a Maximize plugin in aos (ckeaddons).

Hi @tpr Should ctrl+S/command+S trigger the save action in the maximized view as well? It does not work for me on Mac/Chrome.

Share this post


Link to post
Share on other sites

It seems that the Maximize plugin replaces the DOM entirely and there's no Save button at all. My only idea is to trigger a click on the pushed Maximize button which works, though the transition to the non-maximized state is visible for a few milliseconds.

  • Like 1

Share this post


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

...non-maximized state is visible for a few milliseconds

Better than nothing :) It would be awesome if you could add it.

Share this post


Link to post
Share on other sites

Thanks! Save works but it cannot re-maximize it afterwards. At first I got a PW error notification which said something like: "body field could not be found" (I do not have the exact message) but after that it just fails without any error in sight.

Share this post


Link to post
Share on other sites

No idea what is happening there :) No errors here on latest PW dev and latest AOS, default and Reno themes. Cache?

Edit: have you added CKEditor buttons to the body field before AOS? Sometimes that can cause JS errors, re-saving the field usually helps.

  • Like 1

Share this post


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

Edit: have you added CKEditor buttons to the body field before AOS? Sometimes that can cause JS errors, re-saving the field usually helps.

Thanks for the tip, sadly it did not work :( Anyway, I only use/used AOS to mod the editor.

I cleared the cache, tried it in Firefox too, and it does save the page so it is the new JS at work, it just cannot do maximize at the end. No JS error in the console either. Worst kinda issue...

Share this post


Link to post
Share on other sites

I may not understand it correctly but it sounds that the page you are editing is not reloaded after ctrl+s. On reload everything should start clean so no idea how this could fail.

Anyway I committed the update (no version change), plus made ctrl+s work in cases when the page is opened in a modal, eg. when using FEEL or perhaps the bult-in front-end editor.

Share this post


Link to post
Share on other sites

I updated to AOS 1.3.6, nothing has changed (as expected). This is what happens:

Edit: screenshot was removed because of privacy concerns.

Share this post


Link to post
Share on other sites

Thanks, but it seems OK to me, at least I can't see the issue on the gif. So at the end of the video if you click on the Maximize button nothing happens? My best guess is that you expect the editor to re-maximize automatically which is not the case.

I've installed SystemNotifications module and disabled all other submodules of AOS but it's still working as expected here (on "expected" I mean what I expect :)).

If you think it's still an issue and could provide a login to me to check, that would be great (or install a new PW instance for me to check, it's a few minutes using Soma’s Online Installer)

Share this post


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

My best guess is that you expect the editor to re-maximize automatically which is not the case.

Yes, I do. Oh well, then it was just a misunderstanding.

So you mean it is not possible to re-maximize it automatically? The idea here is to work in maximized mode only, not being distracted (too much) by periodic saves.

Share this post


Link to post
Share on other sites

AOS triggers the save button only, what you need would be ajax save which is harder to implement. Maybe I'll check it some day though.

Of course I could find a way to Maximize after ctrl+s but I'm not sure this won't be a nuissance.

  • Like 1

Share this post


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

I'm not sure this won't be a nuissance.

Not sure either, however, the feature in its current state could be "improved" that way. After all, now we have to do it manually. Maybe an option in the Settings for those who want it to "stay" maximized?

Share this post


Link to post
Share on other sites

I think the time I could invest in this workaround could be spent on adding ajax save to ckeditor :)

  • Like 1

Share this post


Link to post
Share on other sites

Hi @tpr

I have found one small issue with CKEditor plugins, didn't find any mentioning in this threed, but maybe you are alreade aware about it. 

If field is just in a page all additional plugins are loaded and initilated, but if field is inside of matrix/repeater field with ajax loading. After opening of collapsed item CKEditor in it is initializing just with plugins set in field settings.

  • Like 1

Share this post


Link to post
Share on other sites

Thanks, got it sorted out, now it works with Repeaters and ajax-loaded fields, need to check with RepeaterMatrix too. Will update the module later if all goes well.

aos-ckeaddons-repeater-ajax.gif.e3a70bc22f25a74ab4e18fb55c982e49.gif

Share this post


Link to post
Share on other sites

Sneak preview of draggable column splitter when using AOS admin columns:

aos-column-splitter.gif.3017d341279e382c69f3fc35b332aabc.gif

  • Like 6

Share this post


Link to post
Share on other sites

Both updates are available in v137.

Share this post


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

Sneak preview of draggable column splitter when using AOS admin columns:

Does it remember the widths on a refresh or on a new session?

Share this post


Link to post
Share on other sites

Uses localStorage to remember position.

Share this post


Link to post
Share on other sites

Draggable column width looks awesome, but at the moment I am getting this:

58d40f8b552f7_ScreenShot2017-03-23at11_09_24AM.png.bfa9150345ad20a63ff7309010740887.png

 

Share this post


Link to post
Share on other sites

Yep, sorry for that, should be fixed in v138.

  • Like 1

Share this post


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

Yep, sorry for that, should be fixed in v138.

Thanks, it works now, but it no longer honors the width setting defined in the template. I have it set to 50%, but now it starts about 70 / 30. It might also be nice if it were optional - in some cases it will be a great addition, but sometime it's just a superfluous bit of UI. Please don't take that the wrong way - it really will be awesome in many cases.

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   1 member

  • Similar Content

    • By Robin S
      Checkbox Reversed
      Modifies InputfieldCheckbox so that it shows the reverse of its true value. The checkbox will be unchecked when the field value is 1 and checked when the field value is not 1.
      Background
      The core FieldtypeCheckbox does not have a setting that allows a checkbox to be checked by default. One reason for this is that only a checked field saves a value to the database. An unchecked field does not save "0" to the database, but rather does not save any value for the field at all. Therefore there is no way to distinguish between a new field that has not yet been saved (and therefore could potentially get a default checked state) and a field that has deliberately been saved as unchecked.
      Because of this you sometimes have to use a checkbox in the opposite way than you would like. Suppose your client has requested a checkbox labelled "Bootylicious" that will be checked by default. This isn't possible with FieldtypeCheckbox so instead you have to convince them that a checkbox labelled "Not bootylicious" that is unchecked by default is just as good. This alternative will achieve the same thing, but it's not ideal.
      A solution
      This module doesn't change the limitations of the core checkbox field, but it provides a workaround that allows you to show the checkbox with the desired default state and label. So in the example above you would still name the field "not_bootylicious" (otherwise it could get confusing in your template files) but you can label the field "Bootylicious" and the checkbox will appear checked when its true value is actually unchecked, and vice versa. This allows new pages to show the checkbox checked by default. Clear as mud?
      Usage
      Install the Checkbox Reversed module.
      For any Checkbox field where you want the inputfield to show the reverse of its true value, activate the "Reverse the checked state of this inputfield?" option in the field settings.

       
      https://github.com/Toutouwai/CheckboxReversed
      http://modules.processwire.com/modules/checkbox-reversed/
    • By louisstephens
      I have been following @bernhard's great tutorial on creating a Dashboard and everything has very easy to understand so far. However, I need to add a select field that a template is using (so users can create a new page from the dashboard), but I am really at a complete lost on how to achieve this. I have been googling, but can't really find anything on the matter.
      $field = $this->modules->get('InputfieldSelect'); $field->name = "Select Manufacturer"; $field->findPagesSelector = "template=basic-page"; //not needed for select field $field->labelFieldName = "title"; $field->name = "Manufacturer Select"; $field->columnWidth = 34; $fieldset->add($field); I have the above code, which was originally an InputfieldPage, but since this is an options field, I have changed it. Has anyone actually gotten a select from a template (and its' values) in a module?
    • By Lex Sanchez
      Video or Social Post Embed
      Based on the TextformatterVideoEmbed module developed by Ryan Cramer, we have added the possibility to embed publications of the main social networks Facebook, Twitter and Instagram.
      ProcessWire Textformatter module that enables translation of YouTube, Vimeo, Instagram, Facebook, Twitter or Issuu URLs to full embed codes, resulting in a viewable video or social post in textarea fields you apply it to.
      How to install
      Download or Clone from Github: https://github.com/lexsanchez/VideoOrSocialPostEmbed
      Copy the VideoOrSocialPostEmbed.module file to your /site/modules/ directory (or place it in /site/modules/VideoOrSocialPostEmbed/).
      Click check for new modules in ProcessWire Admin Modules screen. Click install for the module labeled: "Video or Social Post Embed".
      Now you will be on the module config screen. Please make note of the config options and set as you see fit.
      How to use
      Edit your body field in Setup > Fields (or whatever field(s) you will be placing videos in). On the details tab, find the Text Formatters field and select "Video or Social Post Embed". Save.
      Edit a page using the field you edited and paste in YouTube, Vimeo, Facebook, Twitter, Instagram and/or Issuu URLs each on their own paragraph.
      Example
      How it might look in your editor (like TinyMCE):
      How it works
      This module uses YouTube, Vimeo, Instagram, Facebook, Twitter and Issuu oEmbed services to generate the embed codes populated in your content. After these services are queried the first time, the embed code is cached so that it doesn't need to be pulled again.
      Configuration
      You may want to update the max width and max height settings on the module's configuration screen. You should make these consistent with what is supported by your site design.
      If you change these max width / max height settings you may also want to check the box to clear cache, so that YouTube/Vimeo/Facebook/Twitter/Instagram/Issuu oembed services will generate new embed codes for you.
      Using with Markdown, Textile or other LML
      This text formatter is looking for a YouTube, Vimeo, Instagram, Facebook, Twitter or Issuu video URL surrounded by paragraph tags. As a result, if you are using Markdown or Textile (or something else like it) you want that text formatter to run before this one. That ensures that the expected paragraph tags will be present when VideoOrSocialPostEmbed runs. You can control the order that text formatters are run in by drag/drop sorting in the field editor.
      Copyright 2018 by Ryan Cramer / Updated by Lex Sanchez
    • By kixe
      Email Verification
      This module provides functions to validate email adresses and hosts. The module generates a textfile for blacklisted mailhosts (trashmail), which will be always up to date.
      Download
      https://modules.processwire.com/modules/email-verification/
      API
      // get module $mailcheck = $modules->get('EmailVerification'); // return bool/ string - automatted update of blacklist file $mailcheck->blacklisted(email|domain) // return bool - validate a top level domain, checks against IANA list $mailcheck->validTLD(tld) // return array of punycoded TLDs - cyclic updated, data pulled from IANA $mailcheck->getTLDs(cycle=2592000) // return bool - checks syntax converts to punycode $mailcheck->validDomainName(domain); // return bool - checks punycode encoded syntax $mailcheck->validHostName(host); // return bool - checks syntax and accessibility $mailcheck->validHost(email|domain) // add a single value to blacklist $mailcheck->addToBlacklist(email|domain) USAGE
      $mailcheck = $modules->get('EmailCheck'); $email = 'susi@trashmail.com'; if($mailcheck->blacklisted($email)) echo 'Email Provider not allowed'; if(!$mailcheck->validHost($email)) echo 'Mailhost not available'; Example blacklist file:  blacklist.txt