A simple util component for dynamic work with CSS files (to overcome the issue with only one CSS file per app
Link to blog: Design Studio SDK: Custom CSS Collector to dynamically attach more CSS files
Name | Description | Group | Default | Visible |
---|---|---|---|---|
additionalCss [Url] |
Css File for Baseline Url Css File for Baseline Url |
Display | true |
Name | Description | Group | Default | Visible |
---|
Name | Parameters | Return |
---|---|---|
addCss [details] | elementKey, elementUrl, (isActive) | void |
updateCss [details] | elementKey, (elementUrl), (isActive) | void |
Name | Description | Group | Default | Visible |
---|---|---|---|---|
elementsContent [String] |
Technical property for list of css Technical property for list of css |
Display | false |
void addCss |
Adds new CSS by with a key for later work on You want to add a CSS link CUSTOMCSSCOLLECTOR_1.addCss("BLUE", "blue_theme.css"); You want to add a disabled CSS link CUSTOMCSSCOLLECTOR_1.updateCss("BLUE", "blue_theme.css", false);
|
||||||||||||
Source Code |
if(isActive == undefined) { isActive = true; } var itemDef = { "key": elementKey, "url": elementUrl, "act": isActive }; if (this.elementsContent === undefined || this.elementsContent === "" || this.elementsContent === "<delete>"){ this.elementsContent = "[]"; } var elementsJson = JSON.parse(this.elementsContent); var alreadyFound = false; for (var i = 0; i < elementsJson.length ; i++){ if (elementsJson[i].key == elementKey) { alreadyFound = true; break; } } if(!alreadyFound) { elementsJson.push(itemDef); } this.elementsContent = JSON.stringify(elementsJson); |
||||||||||||
void updateCss |
Updates existing CSS by given key You want to update a CSS url CUSTOMCSSCOLLECTOR_1.updateCss("BLUE", "blue_theme.css"); You want to disable a css link CUSTOMCSSCOLLECTOR_1.updateCss("BLUE", "", false); You want to enable a css link CUSTOMCSSCOLLECTOR_1.updateCss("BLUE", "", true);
|
||||||||||||
Source Code |
if (this.elementsContent === undefined || this.elementsContent === "" || this.elementsContent === "<delete>"){ this.elementsContent = "[]"; } var elementsJson = JSON.parse(this.elementsContent); // loop and find and update for (var i = 0; i < elementsJson.length ; i++){ if (elementsJson[i].key == elementKey) { if(elementUrl != undefined && elementUrl != "") { elementsJson[i].url = elementUrl; } if(isActive != undefined) { elementsJson[i].act = isActive; } break; } } this.elementsContent = JSON.stringify(elementsJson); |
||||||||||||