Skip to content

Commit

Permalink
Load content chooser resources only on compose mode
Browse files Browse the repository at this point in the history
  • Loading branch information
hvelarde committed Aug 20, 2014
1 parent 6d3bf39 commit d787d6d
Show file tree
Hide file tree
Showing 6 changed files with 71 additions and 4 deletions.
13 changes: 13 additions & 0 deletions src/collective/cover/browser/configure.zcml
@@ -0,0 +1,13 @@
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:browser="http://namespaces.zope.org/browser">

<browser:page
name="cover_helper"
for="*"
permission="zope.Public"
class=".utils.Helper"
allowed_interface=".interfaces.IHelper"
/>

</configure>
15 changes: 15 additions & 0 deletions src/collective/cover/browser/interfaces.py
@@ -0,0 +1,15 @@
from zope.interface import Interface


class IHelper(Interface):

"""Helper view used to determine if resources are being loaded or not."""

def is_view_mode():
"""True if we are in the context of a cover object in view mode."""

def is_compose_mode():
"""True if we are in the context of a cover object in compose mode."""

def is_layout_mode():
"""True if we are in the context of a cover object in layout mode."""
36 changes: 36 additions & 0 deletions src/collective/cover/browser/utils.py
@@ -0,0 +1,36 @@
# -*- coding: utf-8 -*-
from Acquisition import aq_inner
from collective.cover.browser.interfaces import IHelper
from collective.cover.interfaces import ICover
from Products.Five.browser import BrowserView
from zope.interface import implements


class Helper(BrowserView):

"""Helper view used to determine if resources are being loaded or not."""

implements(IHelper)

def __call__(self):
self.context = aq_inner(self.context)
self.is_cover = ICover.providedBy(self.context)
# the name of the template is in the parent request
if self.is_cover and 'PARENT_REQUEST' in self.request:
# template name is the last part of the URL
url = self.request.PARENT_REQUEST.URL
self.mode = url.split('/')[-1]
else:
self.mode = ''

def is_view_mode(self):
"""True if we are in the context of a cover object in view mode."""
return self.mode == 'view'

def is_compose_mode(self):
"""True if we are in the context of a cover object in compose mode."""
return self.mode == 'compose'

def is_layout_mode(self):
"""True if we are in the context of a cover object in layout mode."""
return self.mode == 'layout'
1 change: 1 addition & 0 deletions src/collective/cover/configure.zcml
Expand Up @@ -22,6 +22,7 @@
<include file="profiles.zcml" />
<include file="subscribers.zcml" />

<include package=".browser" />
<!-- five.grok 1.3.2 will not register this by itself -->
<browser:resourceDirectory
name="collective.cover"
Expand Down
7 changes: 4 additions & 3 deletions src/collective/cover/profiles/default/cssregistry.xml
@@ -1,9 +1,10 @@
<?xml version="1.0"?>
<object name="portal_css" meta_type="Stylesheets Registry">
<stylesheet title="" cacheable="True" compression="safe" cookable="True"
enabled="1" expression="" id="++resource++collective.cover/contentchooser.css" media="screen"
rel="stylesheet" rendering="link"/>
enabled="1" expression="python:portal.restrictedTraverse('@@cover_helper').is_compose_mode()"
id="++resource++collective.cover/contentchooser.css" media="screen"
rel="stylesheet" rendering="link" authenticated="True" />
<stylesheet title="" cacheable="True" compression="safe" cookable="True"
enabled="1" expression="" id="++resource++collective.cover/cover.css" media="screen"
rel="stylesheet" rendering="link"/>
rel="stylesheet" rendering="link" />
</object>
3 changes: 2 additions & 1 deletion src/collective/cover/profiles/default/jsregistry.xml
Expand Up @@ -2,7 +2,8 @@
<object name="portal_javascripts">
<javascript id="++resource++collective.cover/contentchooser.js"
cacheable="True" compression="none" cookable="True" enabled="True"
expression="" inline="False" authenticated="True" />
expression="python:portal.restrictedTraverse('@@cover_helper').is_compose_mode()"
inline="False" authenticated="True" />
<javascript id="++resource++collective.js.bootstrap/js/bootstrap.min.js"
cacheable="True" compression="none" cookable="True" enabled="True"
expression="" inline="False" />
Expand Down

0 comments on commit d787d6d

Please sign in to comment.