Example usage for com.google.gwt.user.client Window confirm

List of usage examples for com.google.gwt.user.client Window confirm

Introduction

In this page you can find the example usage for com.google.gwt.user.client Window confirm.

Prototype

public static boolean confirm(String msg) 

Source Link

Usage

From source file:com.edgenius.wiki.gwt.client.render.TemplateListRenderWidget.java

License:Open Source License

public void onSuccess(TemplateListModel list) {
    if (!GwtClientUtils.preSuccessCheck(list, message)) {
        listener.onFailedLoad(componentKey, ErrorCode.getMessageText(list.errorCode, list.errorMsg));
        return;//from   w ww.j a  v  a  2 s .co  m
    }
    contentPanel.clear();

    if (list.templates != null && list.templates.size() > 0) {
        final TemplateControllerAsync templateController = ControllerFactory.getTemplateController();
        final String spaceUname = list.spaceUname;

        ZebraTable listPanel = new ZebraTable(ZebraTable.STYLE_LIST, true);
        contentPanel.add(listPanel);
        int row = 0;

        listPanel.setWidget(row, 0, new Label(Msg.consts.name()));
        listPanel.setWidget(row, 1, new Label(Msg.consts.description()));
        listPanel.setWidget(row, 2, new Label(Msg.consts.creator()));
        listPanel.setWidget(row, 3, new Label(Msg.consts.shared()));
        listPanel.setWidget(row, 4, new Label(Msg.consts.actions()));
        listPanel.getColumnFormatter().setWidth(0, "15%");
        listPanel.getColumnFormatter().setWidth(1, "55%");
        listPanel.getCellFormatter().setAlignment(row, 4, HasHorizontalAlignment.ALIGN_CENTER,
                HasVerticalAlignment.ALIGN_MIDDLE);
        row++;
        for (final TemplateModel model : list.templates) {
            listPanel.setWidget(row, 0, new Label(model.name));
            listPanel.setWidget(row, 1, new Label(model.desc));

            UserProfileLink creator = new UserProfileLink(model.author.getFullname(), spaceUname,
                    model.author.getLoginname(), model.author.getPortrait());
            listPanel.setWidget(row, 2, creator);
            listPanel.setWidget(row, 3, new Label(model.shared ? Msg.consts.yes() : Msg.consts.no()));

            FlowPanel actionP = new FlowPanel();
            actionP.setStyleName(Css.NOWRAP);
            ClickLink delLink = new ClickLink(Msg.consts.delete());
            delLink.addClickHandler(new ClickHandler() {
                public void onClick(ClickEvent event) {
                    if (Window.confirm(Msg.consts.confirm_delete_templ())) {
                        templateController.deleteTemplate(spaceUname, model.id, TemplateListRenderWidget.this);
                    }
                }
            });
            Hyperlink editLink = new Hyperlink(Msg.consts.edit(),
                    GwtUtils.buildToken(PageMain.TOKEN_EDIT_TEMPLATE, spaceUname, String.valueOf(model.id)));
            actionP.add(delLink);
            actionP.add(new Label(" | "));
            actionP.add(editLink);
            listPanel.setWidget(row, 4, actionP);

            row++;
        }
    } else {
        Label no = new Label(Msg.consts.no_template());
        no.setStyleName(Css.BLANK_MSG);
        contentPanel.add(no);
    }
    listener.onSuccessLoad(componentKey, "templateListLoad");

}

From source file:com.edgenius.wiki.gwt.client.space.SpaceAdminInfoPanel.java

License:Open Source License

/**
 * @param blog//from ww  w.j  av  a2  s  .  c o  m
 */
//   private void addBlogForm(BlogMeta blog) {
//      SpaceLinkedBlogForm blogForm = new SpaceLinkedBlogForm();
//      blogForm.setMessage(message);
//      blogForm.setCurrentBlog(blog);
//      blogsForm.add(blogForm);
//   }

private ClickLink getRemoveActionLink(boolean removed, String delayHours) {
    ClickLink removeBtn;
    if (removed) {
        removeBtn = new ClickLink(Msg.consts.cancel_removed_space());
        removeBtn.setStyleName(Css.WARNING_LINK);
        removeBtn.addClickHandler(new ClickHandler() {
            public void onClick(ClickEvent event) {
                SpaceControllerAsync action = ControllerFactory.getSpaceController();
                action.restoreSpace(spaceUname, new RestoreSpaceAsync());
            }
        });
        message.warning(Msg.params.remove_delay(delayHours));
    } else {
        removeBtn = new ClickLink(Msg.consts.remove_space());
        removeBtn.setStyleName(Css.WARNING_LINK);
        removeBtn.addClickHandler(new ClickHandler() {
            public void onClick(ClickEvent event) {
                if (Window.confirm(Msg.consts.confirm_remove_space())) {
                    SpaceControllerAsync action = ControllerFactory.getSpaceController();
                    action.removeSpace(spaceUname, new RemoveSpaceAsync());
                }
            }
        });
    }
    return removeBtn;
}

From source file:com.edgenius.wiki.gwt.client.space.SpaceLinkedBlogForm.java

License:Open Source License

public void onClick(ClickEvent event) {
    if (event.getSource() == getBlogs) {
        //get blog list
        int blogType = NumberUtil.toInt(blogs.getSelectedValue(), 0);
        if (blogType == 0) {
            blogs.setError(Msg.consts.must_select_blogtype());
            return;
        }/* ww w .  ja v a 2  s  .co m*/
        if (!blogUrl.isValidForSubmit() || !blogUser.isValidForSubmit() || !blogPassword.isValidForSubmit())
            return;

        bloglistDeck.showWidget(1);
        SpaceControllerAsync spaceController = ControllerFactory.getSpaceController();
        spaceController.getBlogs(blogType, StringUtil.trim(blogUrl.getText()),
                StringUtil.trim(blogUser.getText()), StringUtil.trim(blogPassword.getText()), this);
    } else if (event.getSource() == disconnect) {
        if (Window.confirm(Msg.consts.confirm_disconnect_blog())) {
            disconnect();
        }
    }

}

From source file:com.edgenius.wiki.gwt.client.space.TrashedPagesPanel.java

License:Open Source License

public void onSuccess(PageItemListModel model) {
    // TODO : error handle

    if (!GwtClientUtils.preSuccessCheck(model, message)) {
        return;/*from w  w  w.  j  ava  2 s  . co  m*/
    }
    List<PageItemModel> pageList = model.itemList;
    message.cleanMessage();
    //clean table;
    int rowCount = table.getRowCount();
    for (int idx = rowCount - 1; idx >= 0; idx--) {
        table.removeRow(idx);
    }

    if (pageList != null && pageList.size() > 0) {
        nonLabel.setVisible(false);
        int row = 0, col = 0;
        ;
        //build header
        col++; //page title - width is as max as possible
        table.getCellFormatter().setWordWrap(row, col, false);
        table.getColumnFormatter().setWidth(col++, "1%"); //person
        table.getCellFormatter().setWordWrap(row, col, false);
        table.getColumnFormatter().setWidth(col++, "1%"); //date
        table.getCellFormatter().setWordWrap(row, col, false);
        table.getColumnFormatter().setWidth(col++, "1%"); //restore & remove
        col = 0;
        table.setText(row, col++, Msg.consts.page_title());
        table.setText(row, col++, Msg.consts.remover());
        table.setText(row, col++, Msg.consts.date());
        table.setText(row, col++, Msg.consts.action());

        for (Iterator<PageItemModel> iter = pageList.iterator(); iter.hasNext();) {
            row++;
            col = 0;
            final PageItemModel pageItem = iter.next();
            Label title = new Label();
            title.setText(pageItem.title);
            Label rPerson = new Label(pageItem.modifier);
            Label rDate = new Label(GwtClientUtils.toDisplayDate(pageItem.modifiedDate));
            ClickLink restore = new ClickLink(Msg.consts.restore());
            restore.setObject(pageItem.uuid);
            restore.addClickHandler(new ClickHandler() {
                public void onClick(ClickEvent event) {
                    PageControllerAsync action = ControllerFactory.getPageController();
                    //need check if this restore page has duplicated title page exist in space, to ask user if really want to override. 
                    action.restoreCheck(pageItem.uuid,
                            new PreRestoreAsync(pageItem.spaceUname, pageItem.uuid, pageItem.title));
                }
            });
            ClickLink remove = new ClickLink(Msg.consts.remove());
            remove.addClickHandler(new ClickHandler() {
                public void onClick(ClickEvent event) {
                    if (Window.confirm(Msg.consts.confirm_remove_page())) {
                        PageControllerAsync action = ControllerFactory.getPageController();
                        action.removePage(null, pageItem.spaceUname, pageItem.uuid, true,
                                new RemoveAsync(pageItem.uuid));
                    }
                }
            });

            table.setWidget(row, col++, title);
            table.getCellFormatter().setWordWrap(row, col, false);
            table.setWidget(row, col++, rPerson);
            table.getCellFormatter().setWordWrap(row, col, false);
            table.setWidget(row, col++, rDate);

            FlowPanel actionP = new FlowPanel();
            actionP.setStyleName(Css.NOWRAP);
            actionP.add(restore);
            actionP.add(new Label(" | "));
            actionP.add(remove);
            table.setWidget(row, ACTION_COLUMN, actionP);

        }
    } else {
        nonLabel.setVisible(true);
    }
}

From source file:com.eduworks.russel.ui.client.handler.TileHandler.java

License:Apache License

/**
 * addHooks Assigns the appropriate handlers to the tile based on search type
 *//*from www  .j  a  va  2 s  .c o m*/
public void addHooks() {
    PageAssembler.attachHandler(idPrefix + "-objectClick", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            if (tile.tileType.equals(SearchHandler.TYPE_PROJECT)) {
                RusselApi.getResource(tile.searchRecord.getGuid(), true, new ESBCallback<ESBPacket>() {
                    @Override
                    public void onSuccess(ESBPacket alfrescoPacket) {
                        ProjectRecord pr = new ProjectRecord(alfrescoPacket.getContentString(), searchRecord);
                        Russel.screen.loadScreen(new EPSSScreen(pr), true);
                    }

                    @Override
                    public void onFailure(Throwable caught) {
                        StatusHandler.createMessage(
                                StatusHandler.getProjectLoadMessageError(tile.searchRecord.getFilename()),
                                StatusRecord.ALERT_ERROR);
                    }
                });
            } else if (tile.tileType.equals(SearchHandler.TYPE_RECENT)
                    || tile.tileType.equals(SearchHandler.TYPE_ASSET)
                    || tile.tileType.equals(SearchHandler.TYPE_SEARCH)
                    || tile.tileType.equals(SearchHandler.TYPE_COLLECTION)
                    || tile.tileType.equals(SearchHandler.SOURCE_LEARNING_REGISTRY))
                Russel.screen.loadScreen(new DetailScreen(tile.searchRecord, tile), true);
        }
    });
    PageAssembler.attachHandler(idPrefix + "-objectSelect", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            ash.toggleSelection(idPrefix + "-object", searchRecord);
        }
    });

    PageAssembler.attachHandler(idPrefix + "-objectOpen", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            if (tileType.equals(SearchHandler.TYPE_PROJECT)) {
                RusselApi.getResource(tile.searchRecord.getGuid(), true, new ESBCallback<ESBPacket>() {
                    @Override
                    public void onSuccess(ESBPacket alfrescoPacket) {
                        ProjectRecord pr = new ProjectRecord(alfrescoPacket.getContentString(), searchRecord);
                        Russel.screen.loadScreen(new EPSSScreen(pr), true);
                    }

                    @Override
                    public void onFailure(Throwable caught) {
                        StatusHandler.createMessage(
                                StatusHandler.getProjectLoadMessageError(tile.searchRecord.getFilename()),
                                StatusRecord.ALERT_ERROR);
                    }
                });
            } else if (tileType.equals(SearchHandler.TYPE_RECENT) || tileType.equals(SearchHandler.TYPE_ASSET)
                    || tileType.equals(SearchHandler.TYPE_SEARCH)
                    || tileType.equals(SearchHandler.TYPE_COLLECTION)
                    || tileType.equals(SearchHandler.SOURCE_LEARNING_REGISTRY)
                    || tileType.equals(SearchHandler.TYPE_PROJECT_ASSET))
                Russel.screen.loadScreen(new DetailScreen(searchRecord, tile), true);
        }
    });

    PageAssembler.attachHandler(idPrefix + "-objectDelete", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            if (Window.confirm("Are you sure you wish to delete this item?")) {
                final StatusRecord status = StatusHandler.createMessage(
                        StatusHandler.getDeleteMessageBusy(searchRecord.getFilename()),
                        StatusRecord.ALERT_BUSY);
                RusselApi.deleteResource(searchRecord.getGuid(), new ESBCallback<ESBPacket>() {
                    @Override
                    public void onFailure(Throwable caught) {
                        status.setMessage(StatusHandler.getDeleteMessageError(searchRecord.getFilename()));
                        status.setState(StatusRecord.ALERT_ERROR);
                        StatusHandler.alterMessage(status);
                    }

                    @Override
                    public void onSuccess(ESBPacket result) {
                        status.setMessage(StatusHandler.getDeleteMessageDone(searchRecord.getFilename()));
                        status.setState(StatusRecord.ALERT_SUCCESS);
                        StatusHandler.alterMessage(status);
                        DOM.getElementById(idPrefix + "-object").removeFromParent();
                    }
                });
            }
        }
    });

    PageAssembler.attachHandler(idPrefix + "-objectRemove", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            DOM.getElementById(idPrefix + "-object").getParentElement().getParentElement().removeFromParent();
            EPSSScreen s = ((EPSSScreen) ash.getScreen());
            s.removeAssetFromProject(searchRecord);
        }
    });

    PageAssembler.attachHandler(idPrefix + "-objectAdd", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            DOM.getElementById(idPrefix + "-object").removeFromParent();
            EPSSScreen s = ((EPSSScreen) ash.getScreen());
            s.addAssetToProject(searchRecord);
        }
    });

    PageAssembler.attachHandler(idPrefix + "-objectNotes", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            DOM.getElementById("projectAssetTitle").setInnerText(searchRecord.getFilename());
            EPSSScreen s = ((EPSSScreen) ash.getScreen());
            s.setActiveAsset(searchRecord);
        }
    });
}

From source file:com.eduworks.russel.ui.client.pagebuilder.screen.DetailScreen.java

License:Apache License

/**
 * displayGuts Renders the guts of the DetailView and sets up handlers for the node record after it has been retrieved and is available
 *//* w  w  w  .  ja  v a2s . c  o  m*/
public void displayGuts() {

    if (fullScreen) {
        PageAssembler.ready(new HTML(Russel.htmlTemplates.getDetailPanel().getText()));
        PageAssembler.buildContents();
        DOM.getElementById("r-menuWorkspace").getParentElement().removeClassName("active");
        DOM.getElementById("r-menuCollections").getParentElement().removeClassName("active");
        DOM.getElementById("r-menuProjects").getParentElement().removeClassName("active");
        DOM.getElementById("r-fullScreen").setAttribute("style", "display:none");
        DOM.getElementById("r-metadata-hide").setAttribute("style", "display:none");
        DOM.getElementById("r-metadata-show").setAttribute("style", "");
    } else {
        DOM.getElementById("r-fullScreen").setAttribute("style", "");
        PageAssembler.attachHandler(PageAssembler.getElementByClass(".reveal-modal-bg"), Event.ONCLICK,
                new EventCallback() {
                    @Override
                    public void onEvent(Event event) {
                        if (tile != null)
                            tile.refreshTile(null);
                    }
                });

        PageAssembler.attachHandler(PageAssembler.getElementByClass(".close-reveal-modal"), Event.ONCLICK,
                new EventCallback() {
                    @Override
                    public void onEvent(Event event) {
                        if (tile != null)
                            tile.refreshTile(null);
                    }
                });
    }

    if (record.getFilename().substring(record.getFilename().lastIndexOf(".") + 1).equalsIgnoreCase("rpf")) {
        DOM.getElementById("r-editEPSSContainer").removeAttribute("style");
        PageAssembler.attachHandler("r-editEPSS", Event.ONCLICK, new EventCallback() {
            @Override
            public void onEvent(Event event) {
                RusselApi.getResource(tile.getSearchRecord().getGuid(), true, new ESBCallback<ESBPacket>() {
                    @Override
                    public void onSuccess(ESBPacket alfrescoPacket) {
                        ProjectRecord pr = new ProjectRecord(alfrescoPacket.getContentString(), record);
                        Russel.screen.loadScreen(new EPSSScreen(pr), true);
                    }

                    @Override
                    public void onFailure(Throwable caught) {
                        StatusHandler.createMessage(
                                StatusHandler.getProjectLoadMessageError(record.getFilename()),
                                StatusRecord.ALERT_ERROR);
                    }
                });
            }
        });
    } else
        DOM.getElementById("r-editEPSSContainer").setAttribute("style", "display:none");

    setDisplayIE(DOM.getElementById("r-metadata-hide"), "block");
    setDisplayIE(DOM.getElementById("r-metadata-show"), "none");
    setDisplayIE(DOM.getElementById("r-generalMetadata"), "block");
    setDisplayIE(DOM.getElementById("r-educationalMetadata"), "none");
    setDisplayIE(DOM.getElementById("r-technicalMetadata"), "none");
    setDisplayIE(DOM.getElementById("r-relatedMetadata"), "none");
    if (record.getGuid() == "" && record.getFilename().endsWith(".flr")) {
        setDisplayIE(DOM.getElementById("r-postFlr"), "none");
        setDisplayIE(DOM.getElementById("r-saveFromFlr"), "block");
        setDisplayIE(DOM.getElementById("r-detailGenerateMetadata"), "none");
    } else {
        setDisplayIE(DOM.getElementById("r-postFlr"), "block");
        setDisplayIE(DOM.getElementById("r-saveFromFlr"), "none");
        setDisplayIE(DOM.getElementById("r-detailGenerateMetadata"), "block");
    }
    ((Label) PageAssembler.elementToWidget("general-section", PageAssembler.LABEL))
            .removeStyleName("collapsed");
    ((Label) PageAssembler.elementToWidget("educational-section", PageAssembler.LABEL))
            .addStyleName("collapsed");
    ((Label) PageAssembler.elementToWidget("technical-section", PageAssembler.LABEL)).addStyleName("collapsed");
    ((Label) PageAssembler.elementToWidget("related-section", PageAssembler.LABEL)).addStyleName("collapsed");
    ((TextBox) PageAssembler.elementToWidget("input-comment", PageAssembler.TEXT)).setText("");

    DOM.getElementById("detailLevel1").setAttribute("disabled", "");
    DOM.getElementById("detailDistribution1").setAttribute("disabled", "");

    ((Label) PageAssembler.elementToWidget("r-detailIcon", PageAssembler.LABEL)).setStyleName("r-icon");
    ((Label) PageAssembler.elementToWidget("r-detailIcon", PageAssembler.LABEL))
            .addStyleName(AssetExtractor.getFileType(record.getFilename()));
    removeUnsavedEffects0();

    PageAssembler.attachHandler("r-saveFromFlr", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            RusselApi.uploadResource(record.getFileContents(), record.getFilename(),
                    new ESBCallback<ESBPacket>() {
                        @Override
                        public void onSuccess(ESBPacket esbPacket) {
                            record.setGuid(esbPacket.getPayloadString());
                            ESBPacket pack = new ESBPacket(record.toString());
                            pack.remove("uploadDate_l");
                            pack.remove("updatedDate_l");
                            RusselApi.updateResourceMetadata(record.getGuid(), pack,
                                    new ESBCallback<ESBPacket>() {
                                        @Override
                                        public void onSuccess(ESBPacket esbPacket) {
                                            PageAssembler.closePopup("objDetailModal");
                                        }

                                        @Override
                                        public void onFailure(Throwable caught) {

                                        }
                                    });
                        }

                        @Override
                        public void onFailure(Throwable caught) {
                        }
                    });
        }
    });

    PageAssembler.attachHandler("r-detailGenerateMetadata", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            final StatusRecord status = StatusHandler.createMessage(
                    StatusHandler.getGenerateMetaDataBusy(record.getFilename()), StatusRecord.ALERT_BUSY);

            final ESBCallback<ESBPacket> callback = new ESBCallback<ESBPacket>() {
                @Override
                public void onFailure(Throwable caught) {
                    status.setState(StatusRecord.ALERT_ERROR);
                    status.setMessage(StatusHandler.getGenerateMetaDataError(record.getFilename()));
                    StatusHandler.alterMessage(status);
                }

                @Override
                public void onSuccess(ESBPacket esbPacket) {
                    status.setState(StatusRecord.ALERT_SUCCESS);
                    status.setMessage(StatusHandler.getGenerateMetaDataDone(record.getFilename()));
                    StatusHandler.alterMessage(status);

                    final RUSSELFileRecord fr = new RUSSELFileRecord(esbPacket);
                    meta.addMetaDataFields(fr);
                    addUnsavedEffects0();
                }
            };

            RusselApi.generateResourceMetadata(record.getGuid(),
                    record.getFilename().endsWith(".rlk") ? true : false, callback);
        }
    });

    PageAssembler.attachHandler("r-detailEditUpdate", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            final StatusRecord status = StatusHandler.createMessage(
                    StatusHandler.getUpdateMetadataMessageBusy(record.getFilename()), StatusRecord.ALERT_BUSY);
            RusselApi.updateResourceMetadata(record.getGuid(), meta.buildMetaPacket(record).toObject(),
                    new ESBCallback<ESBPacket>() {
                        @Override
                        public void onSuccess(final ESBPacket nullPack) {
                            status.setMessage(StatusHandler.getUpdateMetadataMessageDone(record.getFilename()));
                            status.setState(StatusRecord.ALERT_SUCCESS);
                            StatusHandler.alterMessage(status);
                            RusselApi.getResourceMetadata(record.getGuid(), false,
                                    new ESBCallback<ESBPacket>() {
                                        @Override
                                        public void onSuccess(ESBPacket ap) {
                                            removeUnsavedEffects0();
                                            record.parseESBPacket(ap);
                                            meta.addMetaDataFields(record);
                                            Label title = ((Label) PageAssembler
                                                    .elementToWidget("r-detailTitle", PageAssembler.LABEL));
                                            if (tile != null)
                                                tile.fillTile(null);
                                            if (title.getText().equalsIgnoreCase("n/a"))
                                                title.setText(record.getFilename());
                                        }

                                        @Override
                                        public void onFailure(Throwable caught) {
                                            removeUnsavedEffects0();
                                        }
                                    });

                        }

                        @Override
                        public void onFailure(Throwable caught) {
                            status.setMessage(
                                    StatusHandler.getUpdateMetadataMessageError(record.getFilename()));
                            status.setState(StatusRecord.ALERT_ERROR);
                            StatusHandler.alterMessage(status);
                        }
                    });
        }
    });

    PageAssembler.attachHandler("r-fullScreen", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            PageAssembler.closePopup("objDetailModal");
            PageAssembler.removeElement("objDetailModal");
            PageAssembler.removeByClass("reveal-modal-bg");
            Russel.screen.loadScreen(new DetailScreen(record, FULL_SCREEN), false);
        }
    });

    PageAssembler.attachHandler("r-deleteDoc", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            if (Window.confirm("Are you sure you wish to delete this item?")) {
                final StatusRecord status = StatusHandler.createMessage(
                        StatusHandler.getDeleteMessageBusy(record.getFilename()), StatusRecord.ALERT_BUSY);
                RusselApi.deleteResource(record.getGuid(), new ESBCallback<ESBPacket>() {
                    @Override
                    public void onFailure(Throwable caught) {
                        status.setMessage(StatusHandler.getDeleteMessageError(record.getFilename()));
                        status.setState(StatusRecord.ALERT_ERROR);
                        StatusHandler.alterMessage(status);
                    }

                    @Override
                    public void onSuccess(ESBPacket result) {
                        status.setMessage(StatusHandler.getDeleteMessageDone(record.getFilename()));
                        status.setState(StatusRecord.ALERT_SUCCESS);
                        StatusHandler.alterMessage(status);
                        ((TextBox) PageAssembler.elementToWidget("r-menuSearchBar", PageAssembler.TEXT))
                                .setText("");
                        PageAssembler.closePopup("objDetailModal");
                        if (record instanceof RUSSELFileRecord) {
                            if (((RUSSELFileRecord) record).getFlrDocId() != "")
                                RusselApi
                                        .publishToFlr(record.getGuid(),
                                                FLRPacketGenerator
                                                        .buildFlrDeleteNsdlPacket(((RUSSELFileRecord) record)),
                                                new ESBCallback<ESBPacket>() {
                                                    @Override
                                                    public void onFailure(Throwable caught) {
                                                        StatusHandler.createMessage(
                                                                StatusHandler.getFLRDeleteMessageError(
                                                                        record.getFilename()),
                                                                StatusRecord.ALERT_ERROR);
                                                    }

                                                    @Override
                                                    public void onSuccess(ESBPacket esbPacket) {
                                                        final StatusRecord status = StatusHandler.createMessage(
                                                                StatusHandler.getFLRDeleteMessageDone(
                                                                        record.getFilename()),
                                                                StatusRecord.ALERT_SUCCESS);
                                                    }
                                                });
                            if (((RUSSELFileRecord) record).getFlrParadataId() != "")
                                RusselApi
                                        .publishToFlr(record.getGuid(),
                                                FLRPacketGenerator.buildFlrDeleteParadataPacket(
                                                        ((RUSSELFileRecord) record)),
                                                new ESBCallback<ESBPacket>() {
                                                    @Override
                                                    public void onFailure(Throwable caught) {
                                                        StatusHandler.createMessage(
                                                                StatusHandler.getFLRDeleteActivityError(
                                                                        record.getFilename()),
                                                                StatusRecord.ALERT_ERROR);
                                                    }

                                                    @Override
                                                    public void onSuccess(ESBPacket esbPacket) {
                                                        final StatusRecord status = StatusHandler.createMessage(
                                                                StatusHandler.getFLRDeleteParadataDone(
                                                                        record.getFilename()),
                                                                StatusRecord.ALERT_SUCCESS);

                                                    }
                                                });
                        }
                    }
                });
            }
        }
    });

    PageAssembler.attachHandler("comment-submit", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            final String comment = ((TextBox) PageAssembler.elementToWidget("input-comment",
                    PageAssembler.TEXT)).getText().trim();
            if (comment != null && comment.trim() != "" && !comment.equalsIgnoreCase("add comment")) {
                RusselApi.addComment(record.getGuid(), comment, new ESBCallback<ESBPacket>() {
                    @Override
                    public void onSuccess(ESBPacket esbPacket) {
                        esbPacket = esbPacket.getObject("obj");
                        record.parseESBPacket(esbPacket.getObject("m"));
                        CommentRecord commentRecord = new CommentRecord(
                                new ESBPacket(esbPacket.getString("c")));
                        fillComment0(commentRecord);
                        ((TextBox) PageAssembler.elementToWidget("input-comment", PageAssembler.TEXT))
                                .setText("");
                    }

                    @Override
                    public void onFailure(Throwable caught) {
                        ((TextBox) PageAssembler.elementToWidget("input-comment", PageAssembler.TEXT))
                                .setText("");
                        StatusHandler.createMessage(StatusHandler.getCommentMessageError(record.getFilename()),
                                StatusRecord.ALERT_ERROR);
                    }
                });
            }
        }
    });

    Document.get().getElementById("r-downloadDoc").setAttribute("href",
            RusselApi.downloadContentUrl(record.getGuid(), true));

    ((Label) PageAssembler.elementToWidget("r-rating-info", PageAssembler.LABEL)).setText("Current rating: "
            + MathUtil.roundNumber(record.getRating(), 2) + " (" + record.getVotes() + " votes)");
    DOM.getElementById("r-ratingLabel").setAttribute("style",
            "width: " + MathUtil.roundNumber((record.getRating() / 5.0) * 100, 2) + "%");

    fillComments0();

    ((Label) PageAssembler.elementToWidget("detailMetaFilename", PageAssembler.LABEL))
            .setText(record.getFilename());

    String ext = record.getFilename().substring(record.getFilename().lastIndexOf(".") + 1);
    if (ext.equalsIgnoreCase("png") || ext.equalsIgnoreCase("tiff") || ext.equalsIgnoreCase("tif")
            || ext.equalsIgnoreCase("bmp") || ext.equalsIgnoreCase("jpg") || ext.equalsIgnoreCase("jpeg")
            || ext.equalsIgnoreCase("gif")) {
        DOM.getElementById("r-preview").setInnerHTML("");
        RootPanel.get("r-preview").add(new Image(RusselApi.downloadContentUrl(record.getGuid(), false)));
    } else if (ext.equalsIgnoreCase("rlk")) {
        RusselApi.getResource(record.getGuid(), false, new ESBCallback<ESBPacket>() {
            @Override
            public void onSuccess(ESBPacket esbPacket) {
                record.setFileContents(esbPacket.getContentString());
                DOM.getElementById("r-preview").setInnerHTML("<a href=" + record.getFileContents()
                        + " target=\"_blank\">" + record.getFileContents().replaceAll("\"", "") + "</a>");
            }

            @Override
            public void onFailure(Throwable caught) {
            }
        });
    } else if (isTextFormat(ext)) {
        RusselApi.getResource(record.getGuid(), false, new ESBCallback<ESBPacket>() {
            @Override
            public void onSuccess(ESBPacket esbPacket) {
                record.setFileContents(esbPacket.getContentString());
                DOM.getElementById("r-preview").setInnerHTML(record.getFileContents());
            }

            @Override
            public void onFailure(Throwable caught) {
            }
        });
    } else if (ext.equalsIgnoreCase("Mp4") || ext.equalsIgnoreCase("WebM") || ext.equalsIgnoreCase("Ogg")) {
        String videoType = (ext.equalsIgnoreCase("Mp4")) ? "audio/mp4"
                : (ext.equalsIgnoreCase("WebM")) ? "audio/webm"
                        : (ext.equalsIgnoreCase("Ogg")) ? "audio/ogg" : "";
        String htmlString = "<video controls=\"controls\"><source src=\""
                + RusselApi.downloadContentUrl(record.getGuid(), false) + "\" type=\"" + videoType
                + "\"></source></video>";
        RootPanel.get("r-preview").getElement().setInnerHTML(htmlString);
    } else if (ext.equalsIgnoreCase("Mp3") || ext.equalsIgnoreCase("Wav") || ext.equalsIgnoreCase("Ogg")) {
        String audioType = (ext.equalsIgnoreCase("Mp3")) ? "audio/mp3"
                : (ext.equalsIgnoreCase("Wav")) ? "audio/wav"
                        : (ext.equalsIgnoreCase("Ogg")) ? "audio/ogg" : "";
        String htmlString = "<audio controls=\"controls\"><source src=\""
                + RusselApi.downloadContentUrl(record.getGuid(), false) + "\" type=\"" + audioType
                + "\"></source></audio>";
        RootPanel.get("r-preview").getElement().setInnerHTML(htmlString);
    } else if (ext.equalsIgnoreCase("swf")) {
        String htmlString = "<object id=\"FlashID\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" data=\""
                + RusselApi.downloadContentUrl(record.getGuid(), false) + "\" height=\"100%\" width=\"100%\">"
                + "<param name=\"movie\" value=\"" + RusselApi.downloadContentUrl(record.getGuid(), false)
                + "\">" + "<param name=\"quality\" value=\"high\">"
                + "<param name=\"wmode\" value=\"transparent\">" + "<param name=\"swfversion\" value=\"10.0\">"
                + "<param name=\"allowScriptAccess\" value=\"always\">"
                + "<param name=\"BGCOLOR\" value=\"#000000\">"
                + "<param name=\"expressinstall\" value=\"Scripts/expressInstall.swf\">" + "<!--[if !IE]>-->"
                + "<object id=\"FlashID2\" type=\"application/x-shockwave-flash\" data=\""
                + RusselApi.downloadContentUrl(record.getGuid(), false) + "\" height=\"100%\" width=\"100%\">"
                + "<!--<![endif]-->" + "<param name=\"movie\" value=\""
                + RusselApi.downloadContentUrl(record.getGuid(), false) + "\">"
                + "<param name=\"quality\" value=\"high\">" + "<param name=\"wmode\" value=\"transparent\">"
                + "<param name=\"swfversion\" value=\"10.0\">"
                + "<param name=\"allowScriptAccess\" value=\"always\">"
                + "<param name=\"BGCOLOR\" value=\"#000000\">"
                + "<param name=\"expressinstall\" value=\"Scripts/expressInstall.swf\">" + "<div>"
                + "<h4>Content on this page requires a newer version of Adobe Flash Player.</h4>"
                + "<p><a href=\"http://www.adobe.com/go/getflashplayer\"><img src=\"http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif\" alt=\"Get Adobe Flash player\" width=\"112\" height=\"33\" /></a></p>"
                + "</div>" + "<!--[if !IE]>-->" + "</object>" + "<!--<![endif]-->" + "</object>"
                + "<!--[if !IE]>-->" + "<script type=\"text/javascript\">"
                + "swfobject.registerObject(\"FlashID2\");" + "</script>" + "<!--<![endif]-->" + "<!--[if IE]>"
                + "<script type=\"text/javascript\">" + "swfobject.registerObject(\"FlashID\");" + "</script>"
                + "<![endif]-->";
        RootPanel.get("r-preview").getElement().setInnerHTML(htmlString);
    } else
        DOM.getElementById("r-preview").setInnerHTML("<p>No Preview Available</p>");

    meta.addMetaDataFields(record);
    if (record.getFOUO()) {
        ((Label) PageAssembler.elementToWidget("r-detailWarning", PageAssembler.LABEL)).setText(Constants.FOUO);
        ((Label) PageAssembler.elementToWidget("r-detailWarning", PageAssembler.LABEL))
                .setStyleName("r-warning");
    } else {
        ((Label) PageAssembler.elementToWidget("r-detailWarning", PageAssembler.LABEL)).setText("");
        ((Label) PageAssembler.elementToWidget("r-detailWarning", PageAssembler.LABEL))
                .setStyleName("r-warning hide");
    }
    if (DOM.getElementById("r-detailTitle").getInnerText().equalsIgnoreCase("n/a"))
        ((Label) PageAssembler.elementToWidget("r-detailTitle", PageAssembler.LABEL))
                .setText(record.getFilename());

    PageAssembler.attachHandler("r-postFlr", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            if (FLRApi.FLR_ACTIVITY_MODE.equals(FLRApi.FLR_ACTIVITY_ACTIONS_FEEDBACK)
                    || FLRApi.FLR_ACTIVITY_MODE.equals(FLRApi.FLR_ACTIVITY_ACTIONS_ISD)
                    || FLRApi.FLR_ACTIVITY_MODE.equals(FLRApi.FLR_ACTIVITY_ACTIONS_ALL)) {
                final StatusRecord flrStatus = StatusHandler.createMessage(
                        StatusHandler.getFLRActivityBusy(record.getFilename()), StatusRecord.ALERT_BUSY);
                if (record instanceof RUSSELFileRecord) {
                    RusselApi.publishToFlr(record.getGuid(),
                            FLRPacketGenerator.buildFlrParadataPacket(((RUSSELFileRecord) record)),
                            new ESBCallback<ESBPacket>() {
                                @Override
                                public void onFailure(Throwable caught) {
                                    flrStatus.setMessage(
                                            StatusHandler.getFLRActivityError(record.getFilename()));
                                    flrStatus.setState(StatusRecord.ALERT_ERROR);
                                    StatusHandler.alterMessage(flrStatus);
                                }

                                @Override
                                public void onSuccess(ESBPacket esbPacket) {
                                    flrStatus
                                            .setMessage(StatusHandler.getFLRActivityDone(record.getFilename()));
                                    flrStatus.setState(StatusRecord.ALERT_SUCCESS);
                                    StatusHandler.alterMessage(flrStatus);
                                    FLRPacket packet = new FLRPacket(esbPacket.getObject(ESBPacket.OBJECT));
                                    record.setFlrParadataId(packet.getResponseDocID());
                                    RusselApi.updateResourceMetadata(((RUSSELFileRecord) record).getGuid(),
                                            ((RUSSELFileRecord) record).toObject(),
                                            new ESBCallback<ESBPacket>() {
                                                @Override
                                                public void onSuccess(ESBPacket esbPacket) {
                                                    postFlrNsdl();
                                                }

                                                @Override
                                                public void onFailure(Throwable caught) {
                                                    StatusHandler.createMessage(
                                                            StatusHandler.getMetadataMessageError(
                                                                    record.getFilename()),
                                                            StatusRecord.ALERT_ERROR);
                                                }
                                            });
                                }
                            });
                }
            } else {
                StatusHandler.createMessage(StatusHandler.getFLRDisabledError("Activity Stream publish"),
                        StatusRecord.ALERT_WARNING);
            }
        }
    });

    attachRatingListeners0();
}

From source file:com.eduworks.russel.ui.client.pagebuilder.screen.EditScreen.java

License:Apache License

/**
 * display Renders the EditScreen using appropriate templates and sets up handlers
 *//*from   ww  w  . j  a  v a2  s  .c om*/
public void display() {
    editIDs = new Vector<String>();
    thumbIDs = new HashMap<String, RUSSELFileRecord>();

    if (Browser.isBadIE()) {
        PageAssembler.ready(new HTML(Russel.htmlTemplates.getEditPanel().getText()));
        PageAssembler.buildContents();
    } else {
        final DropPanel dp = new DropPanel();
        dp.add(new HTML(Russel.htmlTemplates.getEditPanel().getText()));
        PageAssembler.ready(dp);
        PageAssembler.buildContents();
        hookDragDrop0(dp);
    }
    SearchHandler ash = new SearchHandler(this, false);

    PageAssembler.inject("flowContainer", "x", new HTML(Russel.htmlTemplates.getDetailModal().getText()), true);
    PageAssembler.inject("objDetailPanelWidget", "x", new HTML(Russel.htmlTemplates.getDetailPanel().getText()),
            true);

    ash.hookAndClear("r-menuSearchBar", "", SearchHandler.TYPE_EDIT);

    PageAssembler.attachHandler("r-editDelete", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            if (editIDs.size() == 1) {
                if (Window.confirm("Are you sure you wish to delete the selected item?"))
                    deleteObjects0();
            } else if (editIDs.size() >= 2) {
                if (Window.confirm("Are you sure you wish to delete " + editIDs.size() + " items?"))
                    deleteObjects0();
            }
        }
    });

    PageAssembler.attachHandler("r-editSelectAll", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            selectAllObjects0();
        }
    });

    PageAssembler.attachHandler("r-editSelectNone", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            selectionClear0();
        }
    });

    PageAssembler.attachHandler("r-editAddFile", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            Vector<String> iDs = PageAssembler.inject("r-previewArea", "x",
                    new HTML(Russel.htmlTemplates.getEditPanelWidget().getText()), true);
            final String idPrefix = iDs.firstElement().substring(0, iDs.firstElement().indexOf("-"));
            buildEmptyUploadTile0(idPrefix);
            PageAssembler.closePopup("addFileModal");

        }
    });

    PageAssembler.attachHandler("r-editAddFile-reset", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            doFileReset0();
        }
    });
    PageAssembler.attachHandler("r-editAddFile-cancel", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            doFileReset0();
            PageAssembler.closePopup("addFileModal");
        }
    });

    PageAssembler.attachHandler("r-editAddLink-reset", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            doLinkReset0();
        }
    });
    PageAssembler.attachHandler("r-editAddLink-cancel", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            doLinkReset0();
            PageAssembler.closePopup("addLinkModal");
        }
    });

    PageAssembler.attachHandler("r-permissionModal", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            if (editIDs.size() > 0)
                Russel.screen.loadScreen(new PermissionScreen(PermissionScreen.TYPE_RESOURCE,
                        thumbIDs.get(editIDs.get(0)).getGuid()), false);
        }
    });

    PageAssembler.attachHandler("r-editAddLink", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            final StatusRecord status = StatusHandler.createMessage(StatusHandler.getFileMessageBusy(""),
                    StatusRecord.ALERT_BUSY);
            if (((TextBox) PageAssembler.elementToWidget("editTitleLinkField", PageAssembler.TEXT))
                    .getText() != "") {
                String rawFilename = ((TextBox) PageAssembler.elementToWidget("editTitleLinkField",
                        PageAssembler.TEXT)).getText();
                String filenameRaw = "";
                for (int filenameIndex = 0; filenameIndex < rawFilename.length(); filenameIndex++)
                    if ((rawFilename.codePointAt(filenameIndex) >= 48
                            && rawFilename.codePointAt(filenameIndex) <= 57)
                            || (rawFilename.codePointAt(filenameIndex) >= 65
                                    && rawFilename.codePointAt(filenameIndex) <= 90)
                            || (rawFilename.codePointAt(filenameIndex) >= 97
                                    && rawFilename.codePointAt(filenameIndex) <= 122))
                        filenameRaw += rawFilename.charAt(filenameIndex);
                final String filename = filenameRaw;
                String urlBody = ((TextBox) PageAssembler.elementToWidget("editLinkField", PageAssembler.TEXT))
                        .getText();
                if (urlBody.indexOf("://") == -1)
                    urlBody = "http://" + urlBody;
                status.setMessage(StatusHandler.getFileMessageBusy(filename + ".rlk"));
                StatusHandler.alterMessage(status);
                RusselApi.uploadResource(urlBody, filename + ".rlk", new ESBCallback<ESBPacket>() {
                    @Override
                    public void onSuccess(final ESBPacket esbPacket) {
                        RUSSELFileRecord fr = new RUSSELFileRecord();
                        fr.setGuid(esbPacket.getPayloadString());
                        fr.setFilename(filename + ".rlk");
                        Vector<String> iDs = PageAssembler.inject("r-previewArea", "x",
                                new HTML(Russel.htmlTemplates.getEditPanelWidget().getText()), true);
                        final String idPrefix = iDs.firstElement().substring(0,
                                iDs.firstElement().indexOf("-"));
                        fillTemplateDetails0(fr, idPrefix);
                        PageAssembler.closePopup("addLinkModal");
                        status.setMessage(StatusHandler.getFileMessageDone(filename + ".rlk"));
                        status.setState(StatusRecord.ALERT_SUCCESS);
                        StatusHandler.alterMessage(status);
                    }

                    public void onFailure(Throwable caught) {
                        status.setMessage(StatusHandler.DUPLICATE_NAME);
                        status.setState(StatusRecord.ALERT_WARNING);
                        StatusHandler.alterMessage(status);
                    }
                });
            } else {
                status.setMessage(StatusHandler.INVALID_NAME);
                status.setState(StatusRecord.ALERT_WARNING);
                StatusHandler.alterMessage(status);
            }
        }
    });

    PageAssembler.attachHandler("r-editSave", Event.ONCLICK, new EventCallback() {
        @Override
        public void onEvent(Event event) {
            new Timer() {
                @Override
                public void run() {
                    if (editIDs.size() > 0) {
                        final String idNumPrefix = editIDs.firstElement().substring(0,
                                editIDs.firstElement().indexOf("-"));
                        final String filename = DOM.getElementById(idNumPrefix + "-objectTitle").getInnerText();
                        final StatusRecord status = StatusHandler.createMessage(
                                StatusHandler.getUpdateMetadataMessageBusy(filename), StatusRecord.ALERT_BUSY);

                        meta.saveMetadata(thumbIDs.get(editIDs.firstElement()), new ESBCallback<ESBPacket>() {
                            @Override
                            public void onSuccess(ESBPacket esbPacket) {
                                status.setMessage(StatusHandler.getUpdateMetadataMessageDone(filename));
                                status.setState(StatusRecord.ALERT_SUCCESS);
                                StatusHandler.alterMessage(status);
                                refreshInformation0();
                            }

                            public void onFailure(Throwable caught) {
                                status.setMessage(StatusHandler.getUpdateMetadataMessageError(filename));
                                status.setState(StatusRecord.ALERT_ERROR);
                                StatusHandler.alterMessage(status);
                            }
                        });
                    }
                }
            }.schedule(100);
        }
    });

    while (passedInEdits.size() > 0) {
        Vector<String> iDs = PageAssembler.inject("r-previewArea", "x",
                new HTML(Russel.htmlTemplates.getEditPanelWidget().getText()), false);
        final String idPrefix = iDs.firstElement().substring(0, iDs.firstElement().indexOf("-"));
        fillTemplateDetails0(passedInEdits.remove(0), idPrefix);
    }
    refreshInformation0();
}

From source file:com.eduworks.russel.ui.client.pagebuilder.screen.EditScreen.java

License:Apache License

/**
 * buildEmptyUploadTile0 Initiates a tile in the EditScreen to represent a file that is uploading
 * @param idPrefix String id assigned to the new tile
 *///from  w  ww.  j a v  a2 s.c  om
private void buildEmptyUploadTile0(final String idPrefix) {
    final FormPanel formPanel = (FormPanel) PageAssembler.elementToWidget("addFileForm", PageAssembler.FORM);
    final FileUpload fileUpload = (FileUpload) PageAssembler.elementToWidget("addFileData", PageAssembler.FILE);
    formPanel.setEncoding(FormPanel.ENCODING_MULTIPART);
    formPanel.setAction(RusselApi.getESBActionURL("addResource") + "?inline=true");
    FileHandler.pendingFileUploads++;
    final StatusRecord status = StatusHandler.createMessage(StatusHandler.getFileMessageBusy(""),
            StatusRecord.ALERT_BUSY);
    formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() {
        @Override
        public void onSubmitComplete(SubmitCompleteEvent event) {
            ESBPacket node = new ESBPacket(event.getResults());
            RUSSELFileRecord fr = new RUSSELFileRecord();
            fr.setGuid(node.getPayloadString());
            String filename = fileUpload.getFilename();
            final String justFileName = filename.substring(filename.lastIndexOf("\\") + 1);
            fr.setFilename(justFileName);
            if (DOM.getElementById(idPrefix + "-objectDescription") != null) {
                RootPanel.get(idPrefix + "-objectDescription").getElement().setInnerText("");
                fillTemplateDetails0(fr, idPrefix);
                DOM.getElementById(idPrefix + "-objectDetailButton").removeAttribute("hidden");
            }
            FileHandler.pendingFileUploads--;
            status.setState(StatusRecord.ALERT_SUCCESS);
            status.setMessage(StatusHandler.getFileMessageDone(justFileName));
            StatusHandler.alterMessage(status);
            //                                       if (justFileName.substring(justFileName.lastIndexOf(".")+1).equalsIgnoreCase("rpf"))
            //                                          ProjectRecord.updatePfmNodeId(fr);

            thumbIDs.put(idPrefix + "-object", fr);
            //checkIEAndPromptServerDisaggregation0(fr);
            refreshInformation0();
        }
    });
    formPanel.addSubmitHandler(new SubmitHandler() {
        @Override
        public void onSubmit(SubmitEvent event) {
            String fn = fileUpload.getFilename();
            String justFileName = fn.substring(fn.lastIndexOf("\\") + 1);
            PageAssembler.attachHandler(idPrefix + "-objectDetail", Event.ONCLICK, new EventCallback() {
                @Override
                public void onEvent(Event event) {
                    toggleSelection0(idPrefix + "-object");
                }
            });
            if (fn == "") {
                status.setState(StatusRecord.ALERT_WARNING);
                status.setMessage(StatusHandler.INVALID_FILENAME);
                StatusHandler.alterMessage(status);
                fileUpload.setName("data");
                DOM.getElementById(idPrefix + "-object").removeFromParent();
                FileHandler.pendingFileUploads--;
                event.cancel();
            } else {
                DOM.getElementById(idPrefix + "-objectDetailButton").setAttribute("hidden", "hidden");
                status.setMessage(StatusHandler.getFileMessageBusy(justFileName));
                StatusHandler.alterMessage(status);
                DOM.getElementById("addFileData").setAttribute("name", justFileName);
                DOM.getElementById("session").setAttribute("value",
                        "{ \"sessionid\":\"" + RusselApi.sessionId + "\" }");
                if (justFileName.indexOf(".") != -1 && justFileName.substring(justFileName.lastIndexOf(".") + 1)
                        .toLowerCase().equals("zip")) {
                    if (!Browser.isBadIE()) {
                        File file = BlobUtils.getFile("addFileData");
                        String filename = file.getName();
                        if (filename.substring(filename.lastIndexOf(".") + 1).equalsIgnoreCase("zip") && Window
                                .confirm("Do you wish to disaggregate the zip " + filename + " package?")) {
                            Zip.grabEntries(file, new AsyncCallback<Vector<ZipRecord>>() {
                                @Override
                                public void onFailure(Throwable caught) {
                                }

                                @Override
                                public void onSuccess(Vector<ZipRecord> zipRecords) {
                                    for (int x = 0; x < zipRecords.size(); x++) {
                                        FileHandler.pendingZipUploads.add(zipRecords.get(x));
                                    }
                                    doPendingUploads0();
                                }
                            });
                        }
                    }
                }
                RootPanel.get(idPrefix + "-objectDescription").add(new Image("images/orbit/loading.gif"));
                DOM.getElementById(idPrefix + "-objectTitle").setInnerText(justFileName);
                DOM.getElementById(idPrefix + "-objectDescription").setAttribute("style", "text-align:center");
            }
        }
    });
    formPanel.submit();
    refreshInformation0();
}

From source file:com.eduworks.russel.ui.client.pagebuilder.screen.EditScreen.java

License:Apache License

/**
 * doPendingUploads0 Continues to process all pendingZipUploads
 *//*from www  .  j  av  a  2 s .  c om*/
private void doPendingUploads0() {
    if (FileHandler.pendingZipUploads.size() > 0) {
        ZipRecord zipEntry = FileHandler.pendingZipUploads.remove(0);
        Zip.inflateEntry(zipEntry, true, new AsyncCallback<ZipRecord>() {
            @Override
            public void onFailure(Throwable caught) {
            }

            @Override
            public void onSuccess(ZipRecord zipEntry) {
                String FullFilename = zipEntry.getFilename();
                if (FullFilename.lastIndexOf(".") != -1) {
                    final String filename = (FullFilename.lastIndexOf("/") != -1)
                            ? FullFilename.substring(FullFilename.lastIndexOf("/") + 1)
                            : FullFilename;
                    if (AssetExtractor.checkAsset(filename, zipEntry.getData())) {
                        final StatusRecord status = StatusHandler.createMessage(
                                StatusHandler.getFileMessageBusy(filename), StatusRecord.ALERT_BUSY);
                        if (filename.substring(filename.lastIndexOf(".") + 1).equalsIgnoreCase("zip")
                                && Window.confirm("Do you wish to disaggregate the zip "
                                        + zipEntry.getFilename() + " package?")) {
                            Zip.grabEntries(zipEntry.getData(), new AsyncCallback<Vector<ZipRecord>>() {
                                @Override
                                public void onFailure(Throwable caught) {
                                }

                                @Override
                                public void onSuccess(Vector<ZipRecord> zipEntries) {
                                    for (int x = 0; x < zipEntries.size(); x++) {
                                        FileHandler.pendingZipUploads.add(zipEntries.get(x));
                                    }
                                    doPendingUploads0();
                                }
                            });
                        }
                        if (DOM.getElementById("r-previewArea") != null) {
                            final Vector<String> iDs = PageAssembler.inject("r-previewArea", "x",
                                    new HTML(Russel.htmlTemplates.getEditPanelWidget().getText()), false);
                            final String idNumPrefix = iDs.get(0).substring(0, iDs.get(0).indexOf("-"));
                            RootPanel.get(idNumPrefix + "-objectDescription")
                                    .add(new Image("images/orbit/loading.gif"));
                            DOM.getElementById(idNumPrefix + "-objectTitle").setInnerText(filename);
                            DOM.getElementById(idNumPrefix + "-objectDetailButton").setAttribute("hidden",
                                    "hidden");
                            DOM.getElementById(idNumPrefix + "-objectDescription").setAttribute("style",
                                    "text-align:center");
                            RusselApi.uploadResource(zipEntry.getData(), filename,
                                    new ESBCallback<ESBPacket>() {
                                        @Override
                                        public void onFailure(Throwable caught) {
                                            status.setMessage(StatusHandler.getFileMessageError(filename));
                                            status.setState(StatusRecord.ALERT_ERROR);
                                            StatusHandler.alterMessage(status);
                                        }

                                        @Override
                                        public void onSuccess(ESBPacket esbPacket) {
                                            RUSSELFileRecord fr = new RUSSELFileRecord();
                                            fr.setGuid(esbPacket.getPayloadString());
                                            fr.setFilename(filename);
                                            status.setMessage(StatusHandler.getFileMessageDone(filename));
                                            status.setState(StatusRecord.ALERT_SUCCESS);
                                            StatusHandler.alterMessage(status);
                                            RootPanel.get(idNumPrefix + "-objectDescription").clear();
                                            DOM.getElementById(idNumPrefix + "-objectDetailButton")
                                                    .removeAttribute("hidden");
                                            DOM.getElementById(idNumPrefix + "-objectDescription")
                                                    .setAttribute("style", "");
                                            fillTemplateDetails0(fr, idNumPrefix);
                                            String filename = fr.getFilename();
                                            //                                                            if (filename.substring(filename.lastIndexOf(".")+1).equalsIgnoreCase("rpf")) {
                                            //                                                               ProjectRecord.updatePfmNodeId(fr);
                                            //                                                            }
                                            doPendingUploads0();
                                        }
                                    });
                        } else
                            RusselApi.uploadResource(zipEntry.getData(), filename,
                                    new ESBCallback<ESBPacket>() {
                                        @Override
                                        public void onFailure(Throwable caught) {
                                            status.setMessage(StatusHandler.getFileMessageError(filename));
                                            status.setState(StatusRecord.ALERT_ERROR);
                                            StatusHandler.alterMessage(status);
                                        }

                                        @Override
                                        public void onSuccess(ESBPacket esbPacket) {
                                            RUSSELFileRecord fr = new RUSSELFileRecord();
                                            fr.setGuid(esbPacket.getPayloadString());
                                            fr.setFilename(filename);
                                            status.setMessage(StatusHandler.getFileMessageDone(filename));
                                            status.setState(StatusRecord.ALERT_SUCCESS);
                                            StatusHandler.alterMessage(status);
                                            String filename = fr.getFilename();
                                            //                                                            if (filename.substring(filename.lastIndexOf(".")+1).equalsIgnoreCase("rpf")) {
                                            //                                                               ProjectRecord.updatePfmNodeId(fr);
                                            //                                                            }
                                            doPendingUploads0();
                                        }
                                    });
                    } else
                        doPendingUploads0();
                } else
                    doPendingUploads0();
            }
        });
        refreshInformation0();
    }
}

From source file:com.eduworks.russel.ui.client.pagebuilder.screen.EditScreen.java

License:Apache License

/**
 * hookDragDrop0 Hooks the status window to the drag and drop panel. Processes an upload.
 * @param w DropPanel//  w  ww  . ja v a  2 s  .co m
 */
private void hookDragDrop0(DropPanel w) {
    FileHandler.hookDropPanel(new DragDropHandler(w) {
        @Override
        public void run(final File file) {
            final String filename = file.getName();
            final StatusRecord status = StatusHandler.createMessage(StatusHandler.getFileMessageBusy(filename),
                    StatusRecord.ALERT_BUSY);
            if (filename.lastIndexOf(".") != -1
                    && filename.substring(filename.lastIndexOf(".") + 1).equalsIgnoreCase("zip")) {
                if (Window.confirm("Do you wish to disaggregate the zip " + filename + " package?")) {
                    Zip.grabEntries(file, new AsyncCallback<Vector<ZipRecord>>() {
                        @Override
                        public void onFailure(Throwable caught) {
                        }

                        @Override
                        public void onSuccess(Vector<ZipRecord> zipEntries) {
                            for (int x = 0; x < zipEntries.size(); x++) {
                                FileHandler.pendingZipUploads.add(zipEntries.get(x));
                            }
                            doPendingUploads0();
                        }
                    });
                }
            }

            if (DOM.getElementById("r-previewArea") != null) {
                final Vector<String> iDs = PageAssembler.inject("r-previewArea", "x",
                        new HTML(Russel.htmlTemplates.getEditPanelWidget().getText()), false);
                final String idNumPrefix = iDs.get(0).substring(0, iDs.get(0).indexOf("-"));
                RootPanel.get(idNumPrefix + "-objectDescription").add(new Image("images/orbit/loading.gif"));
                DOM.getElementById(idNumPrefix + "-objectTitle").setInnerText(file.getName());
                DOM.getElementById(idNumPrefix + "-objectDescription").setAttribute("style",
                        "text-align:center");
                DOM.getElementById(idNumPrefix + "-objectDetailButton").setAttribute("hidden", "hidden");

                RusselApi.uploadResource(file, file.getName(), new ESBCallback<ESBPacket>() {
                    @Override
                    public void onFailure(Throwable caught) {
                        status.setMessage(StatusHandler.getFileMessageError(filename));
                        status.setState(StatusRecord.ALERT_ERROR);
                        StatusHandler.alterMessage(status);
                    }

                    @Override
                    public void onSuccess(ESBPacket result) {
                        RUSSELFileRecord fr = new RUSSELFileRecord();
                        fr.setGuid(result.getPayloadString());
                        fr.setFilename(filename);
                        status.setMessage(StatusHandler.getFileMessageDone(filename));
                        status.setState(StatusRecord.ALERT_SUCCESS);
                        StatusHandler.alterMessage(status);
                        if (DOM.getElementById(idNumPrefix + "-objectDescription") != null) {
                            RootPanel.get(idNumPrefix + "-objectDescription").clear();
                            DOM.getElementById(idNumPrefix + "-objectDetailButton").removeAttribute("hidden");
                            DOM.getElementById(idNumPrefix + "-objectDescription").setAttribute("style", "");
                            fillTemplateDetails0(fr, idNumPrefix);
                        }
                        String filename = fr.getFilename();
                        //                                             if (filename.substring(filename.lastIndexOf(".")+1).equalsIgnoreCase("rpf")) {
                        //                                                ProjectRecord.updatePfmNodeId(fr);
                        //                                             }
                        thumbIDs.put(idNumPrefix + "-object", fr);
                        readNext();
                    }
                });
                refreshInformation0();
            } else
                RusselApi.uploadResource(file, file.getName(), new ESBCallback<ESBPacket>() {
                    @Override
                    public void onFailure(Throwable caught) {
                        status.setMessage(StatusHandler.getFileMessageError(filename));
                        status.setState(StatusRecord.ALERT_ERROR);
                        StatusHandler.alterMessage(status);
                    }

                    @Override
                    public void onSuccess(ESBPacket result) {
                        RUSSELFileRecord fr = new RUSSELFileRecord();
                        fr.setFilename(filename);
                        fr.setGuid(result.getPayloadString());
                        status.setMessage(StatusHandler.getFileMessageDone(filename));
                        status.setState(StatusRecord.ALERT_SUCCESS);
                        StatusHandler.alterMessage(status);
                        String filename = fr.getFilename();
                        //                                             if (filename.substring(filename.lastIndexOf(".")+1).equalsIgnoreCase("rpf")) {
                        //                                                ProjectRecord.updatePfmNodeId(fr);
                        //                                             }
                        readNext();
                    }
                });
        }
    });
}