Backstretch Headway block – 05

Moving code

I’ve refactored the plugin a bit and moved the code bloating the htbackstretch\Main class into the htbackstretch\Butler class. The name might not be the best one but I could not find a better one. Strict object-oriented programming suggests that if a name for a class does not come up in 5 seconds or less then the class has too many responsibilities but still ThemeUserOptionAndThemeDeveloperSettingUser did not seem a better choice.
The refactored code, to a point, is released on GitHub.

Fine grain control for the theme developer

I really do not like super-charging interfaces or applications but felt like giving the theme developer a little more control over the duration of the slider-like effect and the fading times did add little in terms of complications while still allowing for some control.

Sliders to control a slider-like effect.

I’ve found out that the built-in slider control Headway will render on the visual editor panels is too strict to show 3 or 4 digits numbers: the screenshot above is the effect of a little style injection I’ve put in the htbackstretch\Main class

// register this block theme-wide settings
VEPanel::on(__NAMESPACE__ . '\VisualEditorPanel');

// along with the visual editor panel load a litte style to
// fix the slider width
add_action('headway_visual_editor_styles', function (){
    echo sprintf('<style>%s {width:%dpx;}</style>', 'input[id*="input-general-htbackstretch-"]', 30);

The non modified sliders, here used to set a millisecond value, would look like

Too small
Too small

No block at all

In the end I’ve removed the htbackstretch\Block and htbackstretch\BlockOptions classes as what I’ve developed is no block at all: it’s an “Headway plugin” and really no block can be added to the theme layouts using it.

It’s done

Aside for bug-fixing and a little more love for the labels, they’re too long, I call it done. The plugin offers me all the features I need for the project at hand and does so in a re-usable way.
The plugin can be seen in action in this video

I appreciate your input