Skip to content

Instantly share code, notes, and snippets.

@xjsender
Last active May 3, 2020 13:14
Show Gist options
  • Select an option

  • Save xjsender/265d237fbeafebabff6c8669f9359fff to your computer and use it in GitHub Desktop.

Select an option

Save xjsender/265d237fbeafebabff6c8669f9359fff to your computer and use it in GitHub Desktop.
Read JSON from Lightning compnent
tags = [
"aura:expression",
"aura:html",
"aura:if",
"aura:iteration",
"aura:renderIf",
"aura:template",
"aura:text",
"aura:unescapedHtml",
"auraStorage:init",
"force:canvasApp",
"force:inputField",
"force:outputField",
"force:recordData",
"force:recordEdit",
"force:recordPreview",
"force:recordView",
"forceChatter:feed",
"forceChatter:fullFeed",
"forceChatter:publisher",
"forceCommunity:appLauncher",
"forceCommunity:navigationMenuBase",
"forceCommunity:notifications",
"forceCommunity:routeLink",
"forceCommunity:waveDashboard",
"lightning:accordion",
"lightning:accordionSection",
"lightning:avatar",
"lightning:badge",
"lightning:breadcrumb",
"lightning:breadcrumbs",
"lightning:button",
"lightning:buttonGroup",
"lightning:buttonIcon",
"lightning:buttonIconStateful",
"lightning:buttonMenu",
"lightning:buttonStateful",
"lightning:card",
"lightning:checkboxGroup",
"lightning:clickToDial",
"lightning:combobox",
"lightning:container",
"lightning:datatable",
"lightning:dualListbox",
"lightning:dynamicIcon",
"lightning:fileCard",
"lightning:fileUpload",
"lightning:flexipageRegionInfo",
"lightning:flow",
"lightning:formattedAddress",
"lightning:formattedEmail",
"lightning:formattedLocation",
"lightning:formattedName",
"lightning:formattedPhone",
"lightning:formattedRichText",
"lightning:formattedText",
"lightning:formattedTime",
"lightning:formattedUrl",
"lightning:helptext",
"lightning:icon",
"lightning:inputAddress",
"lightning:inputField",
"lightning:inputLocation",
"lightning:inputName",
"lightning:layout",
"lightning:layoutItem",
"lightning:listView",
"lightning:menuItem",
"lightning:outputField",
"lightning:pill",
"lightning:pillContainer",
"lightning:progressBar",
"lightning:progressIndicator",
"lightning:radioGroup",
"lightning:recordEditForm",
"lightning:recordViewForm",
"lightning:relativeDateTime",
"lightning:select",
"lightning:slider",
"lightning:spinner",
"lightning:textarea",
"lightning:tile",
"lightning:tree",
"lightning:treeGrid",
"lightning:utilityBarAPI",
"lightning:verticalNavigation",
"lightning:verticalNavigationItem",
"lightning:verticalNavigationItemBadge",
"lightning:verticalNavigationItemIcon",
"lightning:verticalNavigationOverflow",
"lightning:verticalNavigationSection",
"lightning:workspaceAPI",
"ltng:require",
"ui:actionMenuItem",
"ui:button",
"ui:checkboxMenuItem",
"ui:inputCheckbox",
"ui:inputCurrency",
"ui:inputDate",
"ui:inputDateTime",
"ui:inputDefaultError",
"ui:inputEmail",
"ui:inputNumber",
"ui:inputPhone",
"ui:inputRadio",
"ui:inputRichText",
"ui:inputSecret",
"ui:inputSelect",
"ui:inputSelectOption",
"ui:inputText",
"ui:inputTextArea",
"ui:inputURL",
"ui:menu",
"ui:menuItem",
"ui:menuItemSeparator",
"ui:menuList",
"ui:menuTrigger",
"ui:menuTriggerLink",
"ui:message",
"ui:outputCheckbox",
"ui:outputCurrency",
"ui:outputDate",
"ui:outputDateTime",
"ui:outputEmail",
"ui:outputNumber",
"ui:outputPhone",
"ui:outputRichText",
"ui:outputText",
"ui:outputTextArea",
"ui:outputURL",
"ui:radioMenuItem",
"ui:scrollerWrapper",
"ui:spinner",
"wave:waveDashboard",
"aura:expression",
"aura:html",
"aura:if",
"aura:iteration",
"aura:renderIf",
"aura:template",
"aura:text",
"aura:unescapedHtml",
"auraStorage:init",
"force:canvasApp",
"force:inputField",
"force:outputField",
"force:recordData",
"force:recordEdit",
"force:recordPreview",
"force:recordView",
"forceChatter:feed",
"forceChatter:fullFeed",
"forceChatter:publisher",
"forceCommunity:appLauncher",
"forceCommunity:navigationMenuBase",
"forceCommunity:notifications",
"forceCommunity:routeLink",
"forceCommunity:waveDashboard",
"lightning:accordion",
"lightning:accordionSection",
"lightning:avatar",
"lightning:badge",
"lightning:breadcrumb",
"lightning:breadcrumbs",
"lightning:button",
"lightning:buttonGroup",
"lightning:buttonIcon",
"lightning:buttonIconStateful",
"lightning:buttonMenu",
"lightning:buttonStateful",
"lightning:card",
"lightning:checkboxGroup",
"lightning:clickToDial",
"lightning:combobox",
"lightning:container",
"lightning:datatable",
"lightning:dualListbox",
"lightning:dynamicIcon",
"lightning:fileCard",
"lightning:fileUpload",
"lightning:flexipageRegionInfo",
"lightning:flow",
"lightning:formattedAddress",
"lightning:formattedEmail",
"lightning:formattedLocation",
"lightning:formattedName",
"lightning:formattedPhone",
"lightning:formattedRichText",
"lightning:formattedText",
"lightning:formattedTime",
"lightning:formattedUrl",
"lightning:helptext",
"lightning:icon",
"lightning:inputAddress",
"lightning:inputField",
"lightning:inputLocation",
"lightning:inputName",
"lightning:layout",
"lightning:layoutItem",
"lightning:listView",
"lightning:menuItem",
"lightning:outputField",
"lightning:pill",
"lightning:pillContainer",
"lightning:progressBar",
"lightning:progressIndicator",
"lightning:radioGroup",
"lightning:recordEditForm",
"lightning:recordViewForm",
"lightning:relativeDateTime",
"lightning:select",
"lightning:slider",
"lightning:spinner",
"lightning:textarea",
"lightning:tile",
"lightning:tree",
"lightning:treeGrid",
"lightning:utilityBarAPI",
"lightning:verticalNavigation",
"lightning:verticalNavigationItem",
"lightning:verticalNavigationItemBadge",
"lightning:verticalNavigationItemIcon",
"lightning:verticalNavigationOverflow",
"lightning:verticalNavigationSection",
"lightning:workspaceAPI",
"ltng:require",
"ui:actionMenuItem",
"ui:button",
"ui:checkboxMenuItem",
"ui:inputCheckbox",
"ui:inputCurrency",
"ui:inputDate",
"ui:inputDateTime",
"ui:inputDefaultError",
"ui:inputEmail",
"ui:inputNumber",
"ui:inputPhone",
"ui:inputRadio",
"ui:inputRichText",
"ui:inputSecret",
"ui:inputSelect",
"ui:inputSelectOption",
"ui:inputText",
"ui:inputTextArea",
"ui:inputURL",
"ui:menu",
"ui:menuItem",
"ui:menuItemSeparator",
"ui:menuList",
"ui:menuTrigger",
"ui:menuTriggerLink",
"ui:message",
"ui:outputCheckbox",
"ui:outputCurrency",
"ui:outputDate",
"ui:outputDateTime",
"ui:outputEmail",
"ui:outputNumber",
"ui:outputPhone",
"ui:outputRichText",
"ui:outputText",
"ui:outputTextArea",
"ui:outputURL",
"ui:radioMenuItem",
"ui:scrollerWrapper",
"ui:spinner",
"wave:waveDashboard"
]
from .salesforce.lib.lightning import tag_defs
for tag in tags:
if tag not in tag_defs:
print (tag)
var tagName = $("li[aria-selected='true'] .slds-tree__item-label").text().trim();
attribs = [];
$(".table-container tbody tr").each(function(idx) {
tds = $(this).children();
console.log(tds);
attrib = {
"name": tds.eq(0).text(),
"type": tds.eq(1).text().trim(),
"access": tds.eq(2).text().trim(),
"required": tds.eq(3).text().indexOf('Yes') != -1,
"description": tds.eq(5).text().trim()
}
attribs.push(attrib);
});
console.log(JSON.stringify(attribs, null, 4));
// var tag = {};
// tag[tagName] = {
// "simple": false,
// "type": "aura",
// "attribs": attribs
// };
// console.log(JSON.stringify(tag, null, '\t'));
// // 打印所有的Tag Name
// var tagNames = [];
// var regTagName = /^[a-z]+\:[a-z]+$/i;
// $(".tree-label span").each(function(idx) {
// var nodeName = $(this).text().trim();
// if (regTagName.test(nodeName)) {
// console.log(nodeName);
// tagNames.push(nodeName);
// }
// });
// console.log(tagNames);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment