kallookoo / wp-color-picker-alpha

Overwrite Automattic Iris for enabled Alpha Channel in wpColorPicker
GNU General Public License v2.0
131 stars 88 forks source link

WordPress 5.5 incompatibility #35

Closed mapsteps closed 3 years ago

mapsteps commented 4 years ago

I was just testing this with WordPress 5.5 and I'm getting the following error:

Uncaught ReferenceError: wpColorPickerL10n is not defined

Reference - https://github.com/WordPress/WordPress/commit/7e7b70cd1ae5772229abb769d0823411112c748b

bwmarkle commented 4 years ago

I'm having the same problem. After a bit of troubleshooting, I have ended up here!

kallookoo commented 4 years ago

Hi guys After one o two weeks update the repo for add compatibility or create new version for overwrite all scripts because I think it could be improved.

wayheming commented 3 years ago

Same issue

sehrish-iftikhar commented 3 years ago

I am also facing this issue. Any help will be greatly appreciated? We have to remove the alpha color picker because without resolving the JS error we can update the WP version against our plugins.

a-danae commented 3 years ago

@sehrish-iftikhar as a workaround, while the issue is fixed, localizing the strings that aren't localized anymore in the core seems to do fine.

wp_register_script( 'wp-color-picker-alpha', $url_to_picker_script . '/wp-color-picker-alpha.min.js', $dependencies, $version, true );

$color_picker_strings = array(
    'clear'            => __( 'Clear', 'textdomain' ),
    'clearAriaLabel'   => __( 'Clear color', 'textdomain' ),
    'defaultString'    => __( 'Default', 'textdomain' ),
    'defaultAriaLabel' => __( 'Select default color', 'textdomain' ),
    'pick'             => __( 'Select Color', 'textdomain' ),
    'defaultLabel'     => __( 'Color value', 'textdomain' ),
);
wp_localize_script( 'wp-color-picker-alpha', 'wpColorPickerL10n', $color_picker_strings );
wp_enqueue_script( 'wp-color-picker-alpha' );

Glad to learn if there's a better approach.

prince5ingh commented 3 years ago

@kallookoo Please checkout the pull request :

https://github.com/kallookoo/wp-color-picker-alpha/pull/38

pzstar commented 3 years ago

@prince5ingh your solution will not work and is not a proper way. Please check @a-danae solution.

prince5ingh commented 3 years ago

@pzstar well i tested at my end and is working, secondly did you check the official WP commit which caused this issue ? https://github.com/WordPress/WordPress/commit/7e7b70cd1ae5772229abb769d0823411112c748b

pzstar commented 3 years ago

Oh i see the WP commit and it looks incorrect as well because the translation value passed in javascript file like this __( 'Color value' ) can never be translated.

prince5ingh commented 3 years ago

lol, instead of making comments would have been better if you would have read the code & tried to understand it

__ is local function which is an alias of global method wp.i18n.__ . since 5.5 its being used and wpColorPickerL10n is removed completely which was coming through localize script.

pzstar commented 3 years ago

Ok. Thanks for the explanation :)

wayheming commented 3 years ago

@prince5ingh thank you!

shivapoudel commented 3 years ago

@prince5ingh Tested, amazing it works like a charm 👍

maddisondesigns commented 3 years ago

Have just submitted a PR for this.

This PR takes in account comments that were raised on a previous PR submitted by @prince5ingh including compatibility with previous WP versions.

Has been tested with WordPress 4.8.14, 4.9.15, 5.4.2 and 5.5

kallookoo commented 3 years ago

@a-danae Your solution is not the best, since others could also use this script and each time it is included the same variables would be created, also thank you for your contribution.

@maddisondesigns Thanks for this PR but there are other issues as I am reviewing all the original code to solve all you can.

For all those who can't wait, you have this modification created by @maddisondesigns that works when it comes to translating the texts.

rilwis commented 3 years ago

Hey guys, any updates for this?

kallookoo commented 3 years ago

@ArrayIterator It's not like that. Everything is updated to improve or facilitate its use, security, etc ... If you use something old it is normal that it does not work. The point is that it takes time to update as well, but you don't earn money, or at least I do, as with this script for example. I am the creator and I have a certain responsibility to make it work, but no obligation to fix it at the moment so that certain plugins or paid themes, take their profits. (If I had a vulnerability it would be different.) I do not know if I explained well what I mean. Soon there will be an update, as I already mentioned.

mweichert commented 3 years ago

Make sense, @kallookoo.

Has anyone tested against jQuery 3.5? That's what will be shipped in December.

maddisondesigns commented 3 years ago

@mweichert I just tested my PR that I submitted above, with jQuery 3.5.1 (on WP 5.5.1) and everything works fine.

If you want to test it yourself, you can do it easily by installing the Test jQuery Updates plugin and enabling v3.5.1 in the settings.

kallookoo commented 3 years ago

Hi, Try the branch 3.0.0 and comment please.

maddisondesigns commented 3 years ago

@kallookoo Have just tried this new version and it's not working for me unfortunately.

screenshot_488

I've just updated my script to the new 3.0.0 version and the customizer controls render as per the screenshot above. It's not showing the Alpha slider.

This was tested on WP 5.5.1

htmgarcia commented 3 years ago

@a-danae your suggestion worked like a charm to solve these type of warnings in console: wpColorPickerL10n.defaultLabel is deprecated since version 5.5.0! Use wp.i18n instead.


Thanks!

kallookoo commented 3 years ago

Resolved. Thank you all for the collaboration and I am sorry to wait but in my tests it already works well and if you want you have examples of how to use it in this repository

maddisondesigns commented 3 years ago

@kallookoo Thanks again for all your work on this control. I've been updating my own Customizer code with your new script and after implementing the changes that you've made to the data attributes, I have the color picker showing as expected, in the Customizer. The problem is, whenever I select a colour, the change isn't being triggered and the Publish button is never becoming enabled.

Here's a short vid: https://share.getcloudapp.com/7Ku8NJn7

Is there something else that I'm missing? When I start the script, the only option I'm passing is the palette colors.

kallookoo commented 3 years ago

Hi @maddisondesigns it is fixed. Look at the changes in the plugin repository as it was a plugin problem not this script.

maddisondesigns commented 3 years ago

@kallookoo This is a problem I'm having with this new version of the script. I've deactivated your test plugin, but I'm still having issues with the changes not being triggered in my own Customizer controls, using this new version of the script.

kallookoo commented 3 years ago

Umm, Please open a new issue and if possible add your customize code, thank you.

leadpresence commented 3 years ago

Just download WP Downgrade plugin and down grade to a more stable and compatible WP version until most plugins of that theme meets the recent WP version.