예제 #1
0
  private void exportFile() {
    try {
      boolean currentRowOnly = chkCurrentRow.isSelected();
      File file =
          File.createTempFile("Export", "." + cboType.getSelectedItem().getValue().toString());
      childs.clear();
      for (Checkbox chkSeletionTab : chkSelectionTabForExport) {
        if (chkSeletionTab.isChecked()) {
          childs.add((GridTab) chkSeletionTab.getAttribute("tabBinding"));
        }
      }

      exporter.export(panel.getActiveGridTab(), childs, currentRowOnly, file, indxDetailSelected);

      winExportFile.onClose();
      winExportFile = null;
      AMedia media = null;
      media =
          new AMedia(
              exporter.getSuggestedFileName(panel.getActiveGridTab()),
              null,
              exporter.getContentType(),
              file,
              true);
      Filedownload.save(media);
    } catch (Exception e) {
      throw new AdempiereException(e);
    } finally {
      if (winExportFile != null) winExportFile.onClose();
    }
  }
예제 #2
0
  public void openViewer(JasperPrint jasperPrint, String title) throws JRException {
    Window viewer = new ZkJRViewer(jasperPrint, title);

    viewer.setAttribute(Window.MODE_KEY, Window.MODE_EMBEDDED);
    viewer.setAttribute(Window.INSERT_POSITION_KEY, Window.INSERT_NEXT);
    SessionManager.getAppDesktop().showWindow(viewer);
  }
예제 #3
0
 @Override
 public void onEvent(Event event) throws Exception {
   if (event.getTarget().getId().equals(ConfirmPanel.A_CANCEL)) winExportFile.onClose();
   else if (event.getTarget().getId().equals(ConfirmPanel.A_OK)) exportFile();
   else if (event.getName().equals(DialogEvents.ON_WINDOW_CLOSE)) {
     panel.hideBusyMask();
   } else if (event.getTarget().equals(cboType) && event.getName().equals(Events.ON_SELECT)) {
     displayExportTabSelection();
   } else if (event.getName().equals("onExporterException")) {
     FDialog.error(0, winExportFile, "FileInvalidExtension");
     winExportFile.onClose();
   }
 }
예제 #4
0
 protected void collapseHeader() {
   layout.getNorth().setVisible(false);
   max.setImage(ThemeManager.getThemeResource(IMAGES_DOWNARROW_PNG));
   showHeader.setVisible(true);
   pnlHead.detach();
   if (headerPopup == null) {
     headerPopup = new Window();
     headerPopup.setSclass("desktop-header-popup");
     headerPopup.setVflex("true");
     headerPopup.setVisible(false);
     headerPopup.addEventListener(
         Events.ON_OPEN,
         new EventListener<OpenEvent>() {
           @Override
           public void onEvent(OpenEvent event) throws Exception {
             if (!event.isOpen()) {
               if (showHeader.isPressed()) showHeader.setPressed(false);
             }
           }
         });
   }
   headerPopup.appendChild(pnlHead);
   updateHeaderCollapsedPreference(true);
 }
예제 #5
0
  public void onEvent(Event event) {
    Component comp = event.getTarget();
    String eventName = event.getName();

    if (eventName.equals(Events.ON_CLICK)) {
      if (comp == max) {
        if (layout.getNorth().isVisible()) {
          collapseHeader();
        } else {
          restoreHeader();
        }
      } else if (comp == showHeader) {
        showHeader.setPressed(true);
        if (pnlHead.getParent() != headerPopup) headerPopup.appendChild(pnlHead);
        LayoutUtils.openPopupWindow(showHeader, headerPopup, "after_start");
      } else if (comp == contextHelp) {
        layout.getEast().setVisible(true);
        layout.getEast().setOpen(true);
        contextHelp.setVisible(false);
        updateHelpCollapsedPreference(false);
      } else if (comp instanceof ToolBarButton) {
        ToolBarButton btn = (ToolBarButton) comp;

        if (btn.getAttribute("AD_Menu_ID") != null) {
          int menuId = (Integer) btn.getAttribute("AD_Menu_ID");
          if (menuId > 0) onMenuSelected(menuId);
        }
      }
    } else if (eventName.equals(ON_ACTIVITIES_CHANGED_EVENT)) {
      @SuppressWarnings("unchecked")
      Map<String, Object> map = (Map<String, Object>) event.getData();
      Integer notice = (Integer) map.get("notice");
      Integer request = (Integer) map.get("request");
      Integer workflow = (Integer) map.get("workflow");
      Integer unprocessed = (Integer) map.get("unprocessed");
      boolean change = false;
      if (notice != null && notice.intValue() != noOfNotice) {
        noOfNotice = notice.intValue();
        change = true;
      }
      if (request != null && request.intValue() != noOfRequest) {
        noOfRequest = request.intValue();
        change = true;
      }
      if (workflow != null && workflow.intValue() != noOfWorkflow) {
        noOfWorkflow = workflow.intValue();
        change = true;
      }
      if (unprocessed != null && unprocessed.intValue() != noOfUnprocessed) {
        noOfUnprocessed = unprocessed.intValue();
        change = true;
      }
      if (change) updateUI();
    } else if (event instanceof ZoomEvent) {
      Clients.clearBusy();
      ZoomEvent ze = (ZoomEvent) event;
      if (ze.getData() != null && ze.getData() instanceof MQuery) {
        AEnv.zoom((MQuery) ze.getData());
      }
    } else if (event instanceof DrillEvent) {
      Clients.clearBusy();
      DrillEvent de = (DrillEvent) event;
      if (de.getData() != null && de.getData() instanceof MQuery) {
        MQuery query = (MQuery) de.getData();
        executeDrill(query);
      }
    }
  }
예제 #6
0
  /** execute export action */
  public void export() {
    exporterMap = new HashMap<String, IGridTabExporter>();
    extensionMap = new HashMap<String, String>();
    List<IGridTabExporter> exporterList =
        EquinoxExtensionLocator.instance().list(IGridTabExporter.class).getExtensions();
    for (IGridTabExporter exporter : exporterList) {
      String extension = exporter.getFileExtension();
      if (!extensionMap.containsKey(extension)) {
        extensionMap.put(extension, exporter.getFileExtensionLabel());
        exporterMap.put(extension, exporter);
      }
    }

    if (winExportFile == null) {
      winExportFile = new Window();
      winExportFile.setTitle(
          Msg.getMsg(Env.getCtx(), "Export") + ": " + panel.getActiveGridTab().getName());
      winExportFile.setWidth("450px");
      winExportFile.setClosable(true);
      winExportFile.setBorder("normal");
      winExportFile.setStyle("position:absolute");
      winExportFile.setSclass("popup-dialog");
      winExportFile.setWidgetAttribute(AdempiereWebUI.WIDGET_INSTANCE_NAME, "exportAction");

      cboType.setMold("select");

      cboType.getItems().clear();
      for (Map.Entry<String, String> entry : extensionMap.entrySet()) {
        cboType.appendItem(entry.getKey() + " - " + entry.getValue(), entry.getKey());
      }

      cboType.setSelectedIndex(0);
      cboType.addActionListener(this);

      Vbox vb = new Vbox();
      vb.setWidth("100%");
      winExportFile.appendChild(vb);

      Vlayout vlayout = new Vlayout();
      vlayout.setSclass("dialog-content");
      vb.appendChild(vlayout);

      Grid grid = GridFactory.newGridLayout();
      vlayout.appendChild(grid);

      Columns columns = new Columns();
      Column column = new Column();
      column.setHflex("min");
      columns.appendChild(column);
      column = new Column();
      column.setHflex("1");
      columns.appendChild(column);
      grid.appendChild(columns);

      Rows rows = new Rows();
      grid.appendChild(rows);

      Row row = new Row();
      rows.appendChild(row);
      row.appendChild(new Label(Msg.getMsg(Env.getCtx(), "FilesOfType")));
      row.appendChild(cboType);
      cboType.setHflex("1");

      row = new Row();
      rows.appendChild(row);
      row.appendChild(new Space());
      chkCurrentRow.setLabel(Msg.getMsg(Env.getCtx(), "ExportCurrentRowOnly"));
      chkCurrentRow.setSelected(true);
      row.appendChild(chkCurrentRow);

      selectionTabRow = new Row();
      rows.appendChild(selectionTabRow);

      LayoutUtils.addSclass("dialog-footer", confirmPanel);
      vb.appendChild(confirmPanel);
      confirmPanel.addActionListener(this);
    }
    displayExportTabSelection();
    panel.getComponent().getParent().appendChild(winExportFile);
    panel.showBusyMask(winExportFile);
    LayoutUtils.openOverlappedWindow(panel.getComponent(), winExportFile, "middle_center");
    winExportFile.addEventListener(DialogEvents.ON_WINDOW_CLOSE, this);
    winExportFile.addEventListener("onExporterException", this);
  }