示例#1
0
 def get_plugin_media(self, request, context, plugin):
     if 'GOOGLE_MAPS_API_KEY' in context:
         key = context['GOOGLE_MAPS_API_KEY']
     else:
         key = GOOGLE_MAPS_API_KEY
     return Media(js=(
         'http://maps.google.com/maps?file=api&v=2&key=%s&hl=%s'
         % (key, request.LANGUAGE_CODE), ))
示例#2
0
 def _get_common_media(self):
     config = getattr(settings, 'ARCTIC_COMMON_MEDIA_ASSETS', [])
     media = Media()
     if 'css' in config:
         media.add_css(config['css'])
     if 'js' in config:
         media.add_js(config['js'])
     return media
示例#3
0
 def _get_media(self):
     """
     Media for a multiwidget is the combination of all media of
     the subwidgets.
     """
     media = Media()
     media = media + self.data_widget.media
     return media
示例#4
0
文件: jfu.py 项目: 2l1k/Salamat1
    def admin_media(self):
        css = {
            'all': (
                'filesoup/widgets/jfu/custom/css/admin.css',
            )
        }

        return self.media['js'] + Media(css=css)
示例#5
0
文件: forms.py 项目: svg-exe/pourover
 def media(self):
     """
     Provide a description of all media required to render the widgets on this form
     """
     media = Media()
     for field in self.fields.values():
         media = media + field.widget.media
     return media
示例#6
0
 def _get_media(self):
     media = Media()
     for field in self.fields.values():
         media = media + field.widget.media
     for formset in self.inlines:
         media = media + formset(
             queryset=formset.model.objects.none()).media
     return media
示例#7
0
    def test_basic(self):
        class C1(metaclass=MediaDefiningClass):
            class Media:
                js = ['c1.js']
                css = {
                    'all': ['c1.css'],
                }

        class C2(C1):
            class Media:
                js = ['c2.js']

            @property
            def media(self):
                base = super().media
                return get_class_media(base, self)

        class C3(C1):
            class Media:
                js = ['c3.js']
                extend = ['css']

            @property
            def media(self):
                base = super().media
                return get_class_media(base, self)

        class C4(C1):
            class Media:
                js = ['c4.js']
                extend = False

            @property
            def media(self):
                base = super().media
                return get_class_media(base, self)

        inst = C2()
        self.assertIn('c1.js', inst.media._js)
        self.assertIn('c2.js', inst.media._js)
        self.assertIn('c1.css', inst.media._css['all'])

        inst = C3()
        self.assertIn('c3.js', inst.media._js)
        self.assertNotIn('c1.js', inst.media._js)
        self.assertIn('c1.css', inst.media._css['all'])

        inst = C4()
        self.assertIn('c4.js', inst.media._js)
        self.assertNotIn('c1.js', inst.media._js)
        self.assertNotIn('all', inst.media._css)

        class C5:
            pass

        base = Media()
        self.assertIs(get_class_media(base, C5()), base)
示例#8
0
 def _get_media(self):
     """
     Provide a description of all media required to render the widgets on this form
     """
     media = Media()
     for field in self.fields.values():
         media = media + field.widget.media
     media._js = ['cms/js/libs/jquery.min.js'] + media._js
     return media
示例#9
0
 def _get_media(self):
     """
     Media for a multiwidget is the combination of all media of
     the subwidgets
     """
     media = Media()
     for w in self.widgets:
         media = media + w.media
     return media
示例#10
0
 def get_media(self, request, context):
     from cms.plugins.utils import get_plugin_media
     media_classes = [
         get_plugin_media(request, context, plugin)
         for plugin in self.get_plugins()
     ]
     if media_classes:
         return reduce(operator.add, media_classes)
     return Media()
示例#11
0
 def media(self):
     """Media defined as a dynamic property instead of an inner class."""
     media = super(ChainedSelect, self).media
     js = [
         'smart-selects/admin/js/chainedfk.js',
         'smart-selects/admin/js/bindfields.js'
     ]
     media += Media(js=js)
     return media
示例#12
0
 def media(self):
     extra = '' if django_settings.DEBUG else '.min'
     js = [
         'admin/js/vendor/jquery/jquery%s.js' % extra,
         'admin/js/jquery.init.js'
     ]
     js.extend(settings.CONFIG['js'])
     js.append(reverse(self.INIT_URL))
     return Media(js=js, css=settings.CONFIG['css'])
示例#13
0
 def _get_media(self):
     """
     Provide a description of all media required to render the widgets on this form
     """
     media = Media()
     # values:如果是 list, 返回所有的值, 如果是 map, 返回值
     for field in self.fields.values(): 
         media = media + field.widget.media
     return media
示例#14
0
def progress_bar_media():
    """
    progress_bar_media simple tag

    return rendered script tag for javascript used by progress_bar
    """
    js = ["js/progress_bar.js",]
    if PROGRESSBARUPLOAD_INCLUDE_JQUERY:
        js.append("http://code.jquery.com/jquery-1.8.3.min.js")
    m = Media(js=js)
    return m.render()
示例#15
0
    def get_media(self, media):
        if self.editable_need_fields:

            try:
                m = self.model_form.media
            except:
                m = Media()
            media = media + m +\
                self.vendor(
                    'xadmin.plugin.editable.js', 'xadmin.widget.editable.css')
        return media
示例#16
0
def prettyjson_setup(jquery=True):
    widget = PrettyJSONWidget()
    extra = '' if settings.DEBUG else '.min'
    if jquery:
        media = Media(js=(
            'admin/js/vendor/jquery/jquery%s.js' % extra,
            'admin/js/jquery.init.js',
        )) + widget.media
    else:
        media = widget.media
    return mark_safe(str(media))
示例#17
0
 def media(self):
     """Media defined as a dynamic property instead of an inner class."""
     media = super(ChainedSelectMultiple, self).media
     js = ['smart-selects/admin/js/chainedm2m.js',
           'smart-selects/admin/js/bindfields.js']
     if self.horizontal:
         # For horizontal mode add django filter horizontal javascript code
         js.extend(["admin/js/core.js",
                    "admin/js/SelectBox.js",
                    "admin/js/SelectFilter2.js"])
     media += Media(js=js)
     return media
示例#18
0
 def media(self):
     extra = '' if settings.DEBUG else '.min'
     css = {'all': ('singleurlcrud/css/crud.css', )}
     js = self.js
     from django.forms.widgets import Media
     media = Media(js=['%s' % url for url in js], css=css)
     op = self.get_op()
     if op == "add" or op == "edit":
         form = self.get_form(self.get_form_class())
         if hasattr(form, 'media'):
             media += form.media
     return media
示例#19
0
    def _get_media(self):
        if self.media_cache is None:
            media = Media()

            instances = self.__dict__['content_type_instances']
            for contents in instances.values():
                for content in contents:
                    if hasattr(content, 'media'):
                        media = media + content.media

            self.media_cache = media
        return self.media_cache
示例#20
0
def get_theme_media(theme):
    """
    Return a media instance pointing to the css file of the requested theme.
    Raise an error if the theme cannot be recognised.
    """
    path = 'theme/{}.css'.format(theme)

    if not os.path.exists(os.path.join(CODEMIRROR_DIR, path)):
        raise ValueError('Unknown theme: {!s}'.format(theme))

    path = os.path.join('django-mirror/codemirror', path)

    return Media(css={'all': [path]})
示例#21
0
    def media(self):
        js = tuple()
        if self.markdown_editor_use_in_admin:
            js = '' if settings.DEBUG else '.min'
            js = (
                'admin/js/vendor/jquery/jquery%s.js' % js,
                'admin/js/jquery.init.js',
            )
        js += (
            'admin/js/vendor/jquery/jquery.resizable-field.js',
            'admin/js/vendor/jquery/jquery.markdown-field.js',
            (self.markdown_editor_marked_cdnjs
             if self.markdown_editor_use_cdnjs else
             self.markdown_editor_marked_local),
            'admin/markdown/markdown_editor.js',
        )

        css = {
            'all': ('admin/markdown/markdown_editor.css', ),
        }
        base = getattr(super(), 'media', Media())
        return base + Media(js=js, css=css)
示例#22
0
 def _get_view_media(self):
     """
     Gather view-level media assets
     """
     try:
         css = self.Media.css
     except AttributeError:
         css = {}
     try:
         js = self.Media.js
     except AttributeError:
         js = []
     return Media(css=css, js=js)
示例#23
0
def _resolve_context(self, context):
    context = self.__resolve_context(context)
    media = context.get('media', None)
    if media:
        ignore_jss = [
            'admin/js/vendor/jquery/jquery{}.js'.format(
                '' if settings.DEBUG else '.min'), 'admin/js/jquery.init.js'
        ]
        jss = [js for js in media._js if js not in ignore_jss]
        if len(jss) != len(media._js):
            media = Media(js=jss, css=media._css)
            context['media'] = media
    return context
 def media(self):
     return Media(js=[
         'wagtailimages/js/vendor/load-image.min.js',
         'wagtailimages/js/vendor/canvas-to-blob.min.js',
         'wagtailadmin/js/vendor/jquery.iframe-transport.js',
         'wagtailadmin/js/vendor/jquery.fileupload.js',
         'wagtailadmin/js/vendor/jquery.fileupload-process.js',
         'wagtailimages/js/vendor/jquery.fileupload-image.js',
         'wagtailimages/js/vendor/jquery.fileupload-validate.js',
         'wagtailadmin/js/vendor/tag-it.js'
     ], css={
         'screen': ('wagtail-multi-upload/css/add-multiple.css',)
     })
示例#25
0
    def media(self):
        # get the default js and css media
        media = super().media

        # add custom js
        new_js = media._js
        # the js must be added before 'pagedown_init.js'; this is usually the last js file loaded
        new_js.insert(len(new_js) - 1, "js/pagedown_iguana_markdown.js")

        # add custom css
        new_css = {"all": ("css/pagedown.css", )}

        return Media(js=tuple(new_js), css=new_css)
示例#26
0
    def _media(self):
        # Get the plugin media property of the superclass, if it exists
        if hasattr(super(cls, self), 'pluginmedia'):
            base = super(cls, self).pluginmedia
        else:
            base = Media()

        # Get the media definition for this class
        definition = getattr(cls, 'PluginMedia', None)
        if definition:
            extend = getattr(definition, 'extend', True)
            if extend:
                if extend == True:
                    m = base
                else:
                    m = Media()
                    for medium in extend:
                        m = m + base[medium]
                return m + Media(definition)
            else:
                return Media(definition)
        else:
            return base
示例#27
0
 def get_context_data(self, **kwargs):
     kwargs["scope"] = self.scope
     kwargs["media"] = Media(
         css={
             'all': [
                 'node_modules/choices.js/public/assets/styles/choices%s.css'
                 % _extra  # noqa:E501
             ]
         },
         js=[
             'node_modules/choices.js/public/assets/scripts/choices%s.js' %
             _extra,  # noqa: E501
         ])
     return super().get_context_data(**kwargs)
示例#28
0
    def _get_form_class(self, request):
        fields = self._get_form_fields()

        form_class = type(str('AutoCompleteForm'), (forms.BaseForm, ),
                          {'base_fields': fields})

        has_media = getattr(request, self._request_key, False)
        if not has_media:
            media = Media(js=['admin/js/autocomplete-filter.js'])
            form_class.base_media = form_class.media
            form_class.filter_media = media
            setattr(request, self._request_key, True)

        return form_class
示例#29
0
 def _get_view_media(self):
     """
     Gather view-level media assets
     """
     media = Media()
     try:
         media.add_css(self.Media.css)
     except AttributeError:
         pass
     try:
         media.add_js(self.Media.js)
     except AttributeError:
         pass
     return media
示例#30
0
    def _get_media(self):
        """
        Collect the media files of all content types of the current object
        """

        if 'media' not in self._cache:
            media = Media()

            for contents in self._fetch_regions().values():
                for content in contents:
                    if hasattr(content, 'media'):
                        media = media + content.media

            self._cache['media'] = media
        return self._cache['media']