Posted 19 March 2024, 3:44 am EST - Updated 19 March 2024, 3:49 am EST
Hello,
I need to change and add icons from the icon set, is there any way?
Forums Home / Spread / SpreadJS
Posted by: pedro.moraes on 19 March 2024, 3:44 am EST
Posted 19 March 2024, 3:44 am EST - Updated 19 March 2024, 3:49 am EST
Hello,
I need to change and add icons from the icon set, is there any way?
Posted 20 March 2024, 12:13 am EST
Hi,
We are still investigating this at our end. We will let you know about our findings as soon as possible.
Regards,
Priyam
Posted 20 March 2024, 10:38 pm EST - Updated 20 March 2024, 10:44 pm EST
Hi,
If you wish to replace existing icons with custom ones, you can accomplish this by overriding the “getIcon” method. For instance, if you want to replace the three arrow colored icons, follow the steps outlined below:
.gc-icon-set-type-preview .three-arrows-colored,
.gc-iconsettype-combo-editor-popup .three-arrows-colored,
.gc-sjsdeisnger-popup .three-arrows-colored {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAUklEQVR4nO2UQQrAMAgE53n5/xOSh2wg1OK53VAaHBD0suNFoSgcNGAAMle/slfjDleS3IMbRW4WZPs/BRwp0MMFvhO4UORuP7S2SdLjVRQFr5jFl5GofLDHiQAAAABJRU5ErkJggg==);
background-size: 70% 100%;
}
const base = GC.Spread.Sheets.ConditionalFormatting.IconSetRule.getIcon;
GC.Spread.Sheets.ConditionalFormatting.IconSetRule.getIcon = function(
iconSetType,
iconIndex
) {
console.log(arguments)
const result = base.apply(this, arguments);
if(iconSetType == GC.Spread.Sheets.ConditionalFormatting.IconSetType.threeArrowsColored){
if(iconIndex == 0){
return "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAA60lEQVR4nN2VQQ6CMBBFX0w8jysv4F7ccAbPwUa8h3ICvIYbN2LYeQKjuG5Nk5qQgHQG1ER/MoGknf/pHzoD/44xEAMZUAB3oPLvmV9ze3phAZSADUTp94oxAtYCYlsLA6Q+Nwgtua1FKrHFDBAwQPSKfCzw/AysgH2gJq2FjzuScmBW8zgPfIjjaiDrSJgDE2AqFNi2CZw6Ei7+mQgFHFcDlaCIiVDAcTVwe6PAVWuRVQoU2iJbpcBG+5tapUDc96LtgCVw6HPRPt4qvtLs8O0gVZ7EaNr1E5Fi4ARtkY7MysfR95tBI/M38ACMZiMNUFA0cQAAAABJRU5ErkJggg=="
}else if(iconIndex == 1){
return "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAABKElEQVR4nN2VsWoCQRCGP4I+RxqLVKYIIXkJTXOVlTZ5kcj5AmlS2OhVPkoeIBHBwiqFCQHPLngXFv7Awd3u7SoK8Ycf9rh/Z3ZnZmfg3NEEIiAB3oEtkGqd6J/R7IUHYAHkNVxI640LYORhOC8wA2LtrUWo8bzA2Ccs2QEOMqBrM950xPwHeAF6YlKTk8rER45NA2nawKXWTw69sVWC7VRLJe9OIfjSCa8cDqZVDuYW8QcwA171bRw0gHuHA2OrhNQzkX3pxw6NsVXCxsP4UNoOsHPoNiEhysVn6W49blsZIlfpJUr0NfDpcdNJSJmulVSDFnBT4FtImdoe2jfwaOEq5KEdvVWcpNmhZMaBN8lC2vUfugEDpzYsviMzFU31mH5z0Mj8H/gFb3kXrntum/cAAAAASUVORK5CYII=";
}else if(iconIndex == 2){
return "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAAAsTAAALEwEAmpwYAAABAUlEQVR4nO2UOwrCQBCGv954OEVEBU+gptXYiZ7D0traF1h4Ao/gI9pZGkEjgRGCZHSzEUFwYMlj/50vM3924R+/GHnABebAHrjINXpuAU5WQAU4AuGLcQDKtoAucHsDCGVEOs+mAlNAGAOV03igtegCbIGrMu+beuQqCVbypQOgCKwVXdMEMlcW96SS6H4jyZJ0UxPI3qD/Q2CkzO1MIMGL5AugDtTEmyTN+VOVnMQf60pmyuJ27LeOvCkouokJpKUsHkub+kAVWCq6hgnEkaMiKUEg7ci8T5B+2+z4EinDS3l2ddIC4hX5bwC+TQXP4YiZU/Hj4ctE3ueyAv7x/bgD9l3WaQPanuIAAAAASUVORK5CYII=";
}
}
return result;
};
I have attached a sample to refer.
And If you prefer to add custom icons without replacing the built-in ones, then let us know.
References:
Regards,
Priyam