public List<OrchidComponent> getComponents() { if (components == null) { components = new ArrayList<>(); for (int i = 0; i < componentsJson.length(); i++) { JSONObject componentJson = componentsJson.getJSONObject(i); String componentType = componentJson.getString("type"); if(componentTypesMap.containsKey(componentType)) { OrchidComponent component = context.getInjector().getInstance(componentTypesMap.get(componentType)); component.extractOptions(context, componentJson); component.addAssets(); components.add(component); } } } return components; }
public List<String> getComponentTemplate(OrchidComponent component) { List<String> templateNames = new ArrayList<>(); if(!EdenUtils.isEmpty(component.getTemplates())) { Collections.addAll(templateNames, component.getTemplates()); } templateNames.add(component.getKey()); return expandTemplateList(templateNames, "components"); }
@Override public void addAssets() { super.addAssets(); addCss("assets/core/deck.core.scss"); addCss("assets/extensions/goto/deck.goto.scss"); addCss("assets/extensions/menu/deck.menu.scss"); addCss("assets/extensions/navigation/deck.navigation.scss"); addCss("assets/extensions/status/deck.status.scss"); addCss("assets/extensions/scale/deck.scale.scss"); addCss("assets/themes/style/"+ deckTheme + ".scss"); addCss("assets/themes/transition/" + transitionTheme + ".scss"); addJs("assets/vendor/modernizr.custom.js"); addJs("assets/core/deck.core.js"); addJs("assets/extensions/menu/deck.menu.js"); addJs("assets/extensions/goto/deck.goto.js"); addJs("assets/extensions/status/deck.status.js"); addJs("assets/extensions/navigation/deck.navigation.js"); addJs("assets/extensions/scale/deck.scale.js"); addJs("assets/initDeck.js"); }
@Inject public ComponentHolder(OrchidContext context, JSONArray componentsJson) { this.context = context; this.componentsJson = componentsJson; Set<OrchidComponent> componentTypes = context.resolveSet(OrchidComponent.class); componentTypesMap = new HashMap<>(); for (OrchidComponent componentType : componentTypes) { componentTypesMap.put(componentType.getKey(), componentType.getClass()); } }
public boolean hasComponent(String key) { if (components == null) { for (int i = 0; i < componentsJson.length(); i++) { JSONObject componentJson = componentsJson.getJSONObject(i); String componentType = componentJson.getString("type"); if(componentType.equals(key)) { return true; } } } else { for(OrchidComponent component : components) { if(component.getKey().equals(key)) { return true; } } } return false; }