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
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)
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())