Example #1
0
    def get_title(my):
        cb_name = my.get_checkbox_name()
        span = SpanWdg(css='small')
        
        load = IconButtonWdg("multi load layers", IconWdg.LOAD)
        load.add_style("padding-right", "10px")
        load.add_event("onclick", "pyflash.multi_action('%s','%s')"\
             % (FlashActionWdg.LOAD_ACTION, cb_name))
        
        publish = IconButtonWdg("multi publish", IconWdg.PUBLISH)
        function = "pyflash.multi_action('%s','%s')"\
             % (FlashActionWdg.PUBLISH_ACTION, cb_name)
        publish.add_event("onclick", "comment_bubble.show(event, 'multi-layers', '%s')" \
            % Common.escape_quote(function) )
            
        load_dis = load.get_buffer_display()
        publish_dis = publish.get_buffer_display()
       
        span.add(load_dis)
        span.add(publish_dis)
        hidden = HiddenWdg("upload_description",'')
        hidden.set_persistence() 
        hidden.get_value()
        span.add(hidden)   

        float_span = SpanWdg(load_dis, css='med')
        float_span.add(publish_dis)
        WebContainer.get_float_menu().add(float_span)

        my._init_snapshots() 
        return span
Example #2
0
    def add_publish_wdg(my, sobject, publish_msg):
        layer_name = sobject.get_value('name')
        shot_code = sobject.get_value('shot_code')

        fla_link, fla = my._get_file_info(my.get_template())

        if fla_link == None:
            # put a failsafe template
            url = WebContainer.get_web().get_base_url()
            base = url.to_string()
            fla_link = "%s/context/template/flash-layer_default.fla" % base
            fla = "flash-layer_default.fla"
       
        
        button = IconButtonWdg("publish layer", IconWdg.PUBLISH)
        
        # set up event
        event_name = "%s_%s" %(sobject.get_search_key(), FlashActionWdg.PUBLISH_ACTION)
        #button.add_event_caller("onclick", event_name)
        event = WebContainer.get_event_container()
        function = '%s;document.form.submit();' \
            %event.get_event_caller(event_name)
        # escape the single quotes for function
        button.add_event("onclick", "comment_bubble.show(event, '%s', '%s')" \
            % (layer_name, Common.escape_quote(function)))
        
        event.add_listener(event_name, "pyflash.publish_layer('%s', '%s', '%s', '%s', '%s', '%s')" \
                % (shot_code, layer_name, fla_link, fla, publish_msg.get_id(), my.PREFIX_MODE) )
             
        span = SpanWdg(publish_msg)    
        my.div.add(button)
        my.div.add(span)
Example #3
0
    def add_publish_wdg(my, sobject, publish_msg):
        code = sobject.get_value('code')
        button = IconButtonWdg("publish", IconWdg.PUBLISH)
        
        # FIXME: HOW TO HANDLE THIS with new event mechanism?
        # set up event
        event_name = "%s_%s" %(sobject.get_search_key(), FlashActionWdg.PUBLISH_ACTION)
        event = WebContainer.get_event_container()
        function = event.get_event_caller(event_name)

        # escape the single quotes for function
        button.add_event("onclick", "comment_bubble.show(event, '%s', '%s')" \
            % (code, Common.escape_quote(function)))



        # get the ajax load
        from pyasm.web import AjaxCmd
        ajax = AjaxCmd("publish_%s" % sobject.get_id() )
        ajax.register_cmd("pyasm.flash.FlashAssetPublishCmd")
        ajax.add_element_name("upload_description")
        ajax.add_element_name("upload_files")
        ajax.set_option("search_type", sobject.get_search_type() )
        ajax.set_option("search_id", sobject.get_id() )
        div = ajax.generate_div()
        my.div.add(div)

        on_script = ajax.get_on_script(show_progress=False)

        thumb_script = ThumbWdg.get_refresh_script(sobject) 
        post_publish_script = [thumb_script]
        
        post_publish_script.append(my.load_wdg.get_refresh_script(show_progress=False))

        caller = event.get_event_caller(SiteMenuWdg.EVENT_ID)
        # update the SiteMenuWdg
        post_publish_script.append(caller)
        
        div.set_post_ajax_script(';'.join(post_publish_script))

       
        #event.add_listener(event_name,  "if(pyflash.publish('%s','%s')==false) return;%s" \
        #    % (code, publish_msg.get_id(), on_script ) )
        behavior = {
            'type': 'listen',
            'event_name': event_name,
            'cbjs_action': "if(pyflash.publish('%s','%s')==false) return;%s" \
                % (code, publish_msg.get_id(), on_script )
        }
        my.div.add_behavior(behavior)
        

        
        my.div.add(button)
        my.div.add(publish_msg)
        my.div.add(HtmlElement.br())