You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

100 lines
2.6 KiB

/*
* Copyright (C), 2015-2019
* FileName: JSONExtensionButton
* Author:
* Date: 2019/8/28 17:16
* Description: JSONExtensionButton
* History:
* <author> <time> <version> <desc>
*/
package com.fr.plugin.ajhig.toolbar;
import com.fanruan.api.i18n.I18nKit;
import com.fanruan.api.log.LogKit;
import com.fr.form.ui.WebContentUtils;
import com.fr.form.ui.Widget;
import com.fr.js.JavaScript;
import com.fr.js.JavaScriptImpl;
import com.fr.plugin.ajhig.utils.FuncUtils;
import com.fr.plugin.context.PluginContexts;
import com.fr.report.fun.impl.AbstractExtensionButton;
import com.fr.stable.fun.Authorize;
import com.fr.stable.web.Repository;
import java.util.UUID;
import static com.fr.plugin.ajhig.provider.LocaleFinder.PLUGIN_ID;
/**
* 〈Function Description〉<br>
* 〈JSONExtensionButton〉
*
* @author
* @since 1.0.0
*/
@Authorize(callSignKey = PLUGIN_ID)
public class ImportCSVButton extends AbstractExtensionButton {
private static final long serialVersionUID = 7697898326364103005L;
private String uuid = UUID.randomUUID().toString();
public ImportCSVButton() {
super(I18nKit.getLocText("Plugin-ajhig_Import_CSV"), FuncUtils.loadIcon());
}
public ImportCSVButton(String text) {
super(text);
}
public ImportCSVButton(String text, String iconName) {
super(text, iconName);
}
@Override
public Class<? extends Widget> classForDirectoryButton() {
return this.getClass();
}
@Override
public String getParentDirectory() {
return null;
}
@Override
public String getType() {
return "CsvReportImporter.class";
}
@Override
public String getRelatedCheckBoxTitle() {
return null;
}
@Override
public boolean isSelected() {
return false;
}
@Override
public void setSelected(boolean b) {
}
@Override
protected JavaScript initAction(Repository repository) {
String js = WebContentUtils.getContentPanel(repository) + ".initCsvButton(this,'" + this.getUuid() + "');";
return super.initAction(repository).append(repository, js);
}
@Override
protected JavaScriptImpl clickAction(Repository repository) {
if (PluginContexts.currentContext() == null || !PluginContexts.currentContext().isAvailable()) {
LogKit.error(I18nKit.getLocText("Plugin-ajhig_Licence_Expired"));
return null;
}
return new JavaScriptImpl(WebContentUtils.getContentPanel(repository) + ".importCSVData()");
}
public String getUuid() {
return this.uuid;
}
}