MCPcopy Index your code
hub / github.com/SmartTokenLabs/TokenScript / render

Method render

bootstrap-js/tokenscript-bootstrap.js:599–806  ·  view source on GitHub ↗
(wrapper, props, cardName = '', cardType = '', cardView = '')

Source from the content-addressed store, hash-verified

597
598
599 async render(wrapper, props, cardName = '', cardType = '', cardView = ''){
600 // console.log('render ' +cardName+ ' ' +cardType+ ' ' + cardView);
601 // console.log(JSON.stringify(props));
602
603 cardName = cardName ? cardName : this.cardName;
604 cardType = cardType ? cardType : this.cardType;
605 cardView = cardView ? cardView : this.viewType;
606
607 // console.log('render ' +cardName+ ' ' +cardType+ '' + cardView);
608
609 let cardHtml = '';
610
611 // get card-view html
612 let selector = 'ts:cards/ts:card[@name="' + cardName + '"][@type="' + cardType + '"][1]';
613 let cardNode = getXMLItem(this.xmlDoc, selector, this.tokenXMLNode );
614 if (!cardNode) {
615 this.debug && console.log('cant see card for >>>'+selector+'<<<');
616 if (cardName =='main' && cardType =="token" ) cardHtml = '<h2 style="text-transform: uppercase;">' + this.tokenName + '</h2>';
617 }
618 else {
619 let cardHtmlNode = getXMLItem(
620 this.xmlDoc,
621 'ts:'+cardView+'[@xml:lang="' + this.lang + '"][1]',
622 cardNode,
623 'ts:'+cardView+'[@xml:lang="' + this.fallbackLang + '"][1]' );
624
625 cardHtml = cardHtmlNode ? cardHtmlNode.innerHTML : '';
626
627 this.debug && console.log('renderCardView started for name=' + cardName + '; type = ' + cardType + '; itemType=' + cardView);
628
629 // console.log('cardHtml');
630 // console.log(cardHtml);
631 }
632
633
634 // create wrapper for token instance iframe
635 const iframeWrap = document.createElement('div');
636 if (cardName=='main' && cardType=="token"){
637 iframeWrap.setAttribute('data-tokenid',this.tokenID);
638 iframeWrap.setAttribute('data-distinct-name',this.distinctName);
639 iframeWrap.classList.add('ts_tokenitem_wrap');
640 } else {
641 iframeWrap.classList.add('ts_activity_wrap');
642
643 }
644 iframeWrap.setAttribute('data-props',JSON.stringify(props));
645
646 wrapper.appendChild(iframeWrap);
647
648 let activityNode = getXMLItem(this.xmlDoc,'ts:cards/ts:card[@type="activity"][1]', this.tokenXMLNode);
649
650 if (cardName=='main' && cardType=="token" && activityNode) {
651 const sidebarToggle = document.createElement('div');
652 sidebarToggle.classList.add('sidebar_toggle');
653 sidebarToggle.innerHTML = ' &lt; Show Activities';
654 wrapper.appendChild(sidebarToggle);
655
656 const sidebar = document.createElement('div');

Callers 2

renderActivityItemMethod · 0.95
negotiateFunction · 0.95

Calls 8

renderPropsMethod · 0.95
runMainDataChangedMethod · 0.95
insertScriptMethod · 0.95
replace_allMethod · 0.95
decodeHtmlMethod · 0.95
getXMLItemFunction · 0.90
is_ethereum_existsMethod · 0.80
is_web3_existsMethod · 0.80

Tested by

no test coverage detected