(wrapper, props, cardName = '', cardType = '', cardView = '')
| 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 = ' < Show Activities'; |
| 654 | wrapper.appendChild(sidebarToggle); |
| 655 | |
| 656 | const sidebar = document.createElement('div'); |
no test coverage detected