Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge pull request #121 from 4teamwork/ne/fix-plone5-languageselector
Fix plone 4 / 5 language selector dropdown
  • Loading branch information
tinagerber committed Jan 10, 2020
2 parents fe11bf1 + 624e31d commit 8cbac47
Show file tree
Hide file tree
Showing 16 changed files with 122 additions and 8 deletions.
1 change: 1 addition & 0 deletions .gitattributes
@@ -1 +1,2 @@
*-compiled.css -diff linguist-vendored
*-compiled.js -diff linguist-vendored
12 changes: 12 additions & 0 deletions build.js
@@ -0,0 +1,12 @@
({
baseUrl: "./ftw/subsite/browser/resources",
paths: {
jquery: "empty:",
subsite_dropdown: "dropdown",
},
name: "main",
out: "./ftw/subsite/browser/resources/subsite-compiled.js",
// Uncomment the line below for JS development
// optimize: "none",
})

2 changes: 1 addition & 1 deletion docs/HISTORY.txt
Expand Up @@ -4,7 +4,7 @@ Changelog
2.7.5 (unreleased)
------------------

- Nothing changed yet.
- Fix plone 4 / 5 language selector [Nachtalb]


2.7.4 (2020-01-09)
Expand Down
5 changes: 4 additions & 1 deletion ftw/subsite/__init__.py
@@ -1,9 +1,12 @@
from ftw.subsite import config
from Products.Archetypes import atapi
from Products.CMFCore import utils as cutils
from Products.CMFPlone.utils import getFSVersionTuple
from ftw.subsite import config
from zope.i18nmessageid import MessageFactory


IS_PLONE_5 = getFSVersionTuple() > (5, )

_ = MessageFactory('ftw.subsite')


Expand Down
5 changes: 1 addition & 4 deletions ftw/subsite/browser/contact.py
Expand Up @@ -3,6 +3,7 @@
from email.header import Header
from email.mime.text import MIMEText
from ftw.subsite import _
from ftw.subsite import IS_PLONE_5
from plone.app.layout.navigation.root import getNavigationRoot
from plone.dexterity.utils import safe_utf8
from z3c.form import form, field, button
Expand All @@ -13,13 +14,9 @@
from zope.i18n import translate
from zope.interface import Interface
from zope.interface import Invalid
import pkg_resources
import re


IS_PLONE_5 = pkg_resources.get_distribution('Products.CMFPlone').version >= '5'


class IContactForm(Interface):
"""Interface for z3c.form"""
sender = schema.TextLine(title=_(u"Sender_Name", default=u"Name"),
Expand Down
35 changes: 35 additions & 0 deletions ftw/subsite/browser/resources/dropdown.js
@@ -0,0 +1,35 @@
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module. (Plone 5 with requirejs)
define(['jquery'], factory);
} else {
// Browser globals (Plone 4 without requirejs)
factory(root.jQuery);
}
}(typeof self !== 'undefined' ? self : this, function ($) {
function hide() {
$('[id="portal-languageselector"]').removeClass('activated').addClass('deactivated');
}

function toggle() {
$(this).parents('#portal-languageselector').toggleClass('activated').toggleClass('deactivated');
return false;
}

function hideOnOutsideClick(event) {
if ($(event.target).parents('#portal-languageselector').length === 0) {
hide();
}
}

function initializeMenu() {
hide();

$(document).on('mousedown', hideOnOutsideClick);

$('#portal-languageselector .actionMenuHeader a').on('click', toggle)
$('#portal-languageselector .actionMenuContent').on('click', hide);
}

$(initializeMenu);
}));
1 change: 1 addition & 0 deletions ftw/subsite/browser/resources/main.js
@@ -0,0 +1 @@
require(['subsite_dropdown'], function (dropdown) {});
1 change: 1 addition & 0 deletions ftw/subsite/browser/resources/subsite-compiled.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions ftw/subsite/profiles/default/jsregistry.xml
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<object name="portal_javascripts">

<javascript
id="++resource++ftw.subsite-resources/dropdown.js"
compression="safe"
authenticated="False"
enabled="True"
/>

</object>

1 change: 1 addition & 0 deletions ftw/subsite/profiles/default_plone5/registry.xml
Expand Up @@ -34,6 +34,7 @@
<value key="stub_js_modules">jquery</value>
<value key="compile">False</value>
<value key="csscompilation">++resource++ftw.subsite-resources/subsite-compiled.css</value>
<value key="jscompilation">++resource++ftw.subsite-resources/subsite-compiled.js</value>
<value key="merge_with">default</value>
<value key="last_compilation">2019-12-07 15:25:00</value>
<value key="merge_with">default</value>
Expand Down
9 changes: 9 additions & 0 deletions ftw/subsite/profiles/uninstall/jsregistry.xml
@@ -0,0 +1,9 @@
<?xml version="1.0"?>
<object name="portal_javascripts">

<javascript
id="++resource++ftw.subsite-resources/dropdown.js"
remove="True" />

</object>

Empty file.
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<object name="portal_javascripts">

<javascript
id="++resource++ftw.subsite-resources/dropdown.js"
compression="safe"
authenticated="False"
enabled="True"
/>

</object>

@@ -0,0 +1,16 @@
<?xml version="1.0"?>
<registry>

<records prefix="plone.bundles/ftw-subsite-resources" interface='Products.CMFPlone.interfaces.IBundleRegistry'>
<value key="enabled">True</value>
<value key="depends">plone</value>
<value key="stub_js_modules">jquery</value>
<value key="compile">False</value>
<value key="csscompilation">++resource++ftw.subsite-resources/subsite-compiled.css</value>
<value key="jscompilation">++resource++ftw.subsite-resources/subsite-compiled.js</value>
<value key="merge_with">default</value>
<value key="last_compilation">2019-12-07 15:25:00</value>
<value key="merge_with">default</value>
</records>

</registry>
@@ -0,0 +1,13 @@
from ftw.subsite import IS_PLONE_5
from ftw.upgrade import UpgradeStep


class FixLanguageselectorDropdown(UpgradeStep):
"""Fix languageselector dropdown.
"""

def __call__(self):
if IS_PLONE_5:
self.install_upgrade_profile(['plone.app.registry'])
else:
self.install_upgrade_profile(['jsregistry'])
5 changes: 3 additions & 2 deletions package.json
Expand Up @@ -11,8 +11,9 @@
"requirejs": "^2.3.6"
},
"scripts": {
"build": "r.js -o buildcss.js",
"build": "r.js -o build.js && r.js -o buildcss.js",
"build-js": "r.js -o build.js",
"build-css": "r.js -o buildcss.js",
"watch": "chokidar \"./ftw/subsite/browser/resources/(*.js|*.css)\" -i \"**/*-compiled.css\" -c \"r.js -o buildcss.js;\""
"watch": "chokidar \"./ftw/subsite/browser/resources/(*.js|*.css)\" -i \"**/*-compiled.(js|css)\" -c \"yarn build\""
}
}

0 comments on commit 8cbac47

Please sign in to comment.