export class Post {
    componentDidLoad() {
        this.postRender();
    }
    componentDidUpdate() {
        this.postRender();
    }
    postRender() {
        let titleField = this.el.querySelector('.field--name-title');
        let bodyField = this.el.querySelector('.field--name-content');
        if (this.data.title)
            titleField.innerHTML = this.data.title.rendered;
        if (this.data.content) {
            bodyField.innerHTML = this.data.content.rendered;
        }
        else {
            bodyField.innerHTML = '';
        }
    }
    parsePost(post) {
        console.log(post);
        // let type = post.type.split('--')[1];
        // switch (type) {
        //     case 'app':
        //         // this.postData = JSON.parse(post.field_json[0].value);
        //         break;
        //     case 'iframe':
        //         // code block
        //         break;
        //     case 'page':
        //         // code block
        //         break;
        //     default:
        //     // code block
        // }
        return post;
    }
    render() {
        if (this.dataJson) {
            var post = this.parsePost(JSON.parse(this.dataJson));
            this.data = post;
        }
        return (h("article", { class: 'post post-type-' + post.type + ' clearfix', id: 'post-' + post.id },
            h("header", null,
                h("h2", { class: "field field--name-title" })),
            h("div", { class: "content clearfix" },
                h("div", { class: "field field--name-content" }),
                post.type == 'iframe' && post.url &&
                    h("div", { class: "field field--name-url" },
                        h("ema-iframe", { src: post.url, width: post.width, height: post.height })))));
    }
    static get is() { return "ema-post"; }
    static get properties() { return {
        "data": {
            "state": true
        },
        "dataJson": {
            "type": String,
            "attr": "data-json"
        },
        "el": {
            "elementRef": true
        }
    }; }
    static get style() { return "/**style-placeholder:ema-post:**/"; }
}
// import { Component, Input, OnChanges } from '@angular/core';
// import { DomSanitizer, SafeHtml, SafeResourceUrl } from '@angular/platform-browser';
//
// @Component({
//     selector: 'ab-wordpress-post',
//     template: `
//     <div *ngIf="post" class="post post-type-{{ post.type }} clearfix" post="post" id="post-{{ post.id }}">
//
//         <h3 *ngIf="trustedTitle" class="title" [innerHTML]="trustedTitle"></h3>
//
//         <div [ngSwitch]="post.type">
//
//             <ng-container *ngSwitchDefault>
//                 <div *ngIf="trustedContent" [innerHTML]="trustedContent" class="content"></div>
//             </ng-container>
//
//             <ng-container *ngSwitchCase="'iframe'">
//                 <iframe [src]="trustedUrl" width="{{ post.width }}" height="{{ post.height }}"  frameborder="0" style="visibility:hidden;" onload="this.style.visibility='visible';" allowtransparency=”true”></iframe>
//             </ng-container>
//             <ng-container *ngSwitchCase="'app'">
//                 <iframe [src]="trustedUrl" width="{{ post.width }}" height="{{ post.height }}"  frameborder="0" style="visibility:hidden;" onload="this.style.visibility='visible';" allowtransparency=”true”></iframe>
//                 <script>
//                     var app_server_app_data = {{ post.json | json }}
//                 </script>
//             </ng-container>
//
//         </div>
//
//     </div>
//     `
// })
// export class WordpressPostComponent implements OnChanges {
//     @Input() options: any = {title: true};
//     @Input() post: any;
//     public trustedTitle: SafeHtml;
//     public trustedContent: SafeHtml;
//     public trustedUrl: SafeResourceUrl;
//     public postData: any;
//
//     constructor(private _sanitizer: DomSanitizer) { }
//
//     parse(post) {
//         if (post.title) {
//             this.trustedTitle = this._sanitizer.bypassSecurityTrustHtml(post.title.rendered);
//         }
//         if (post.content) {
//             this.trustedContent = this._sanitizer.bypassSecurityTrustHtml(post.content.rendered);
//         }
//         if (post.url) {
//             this.trustedUrl = this._sanitizer.bypassSecurityTrustResourceUrl(post.url);
//         }
//         switch (post.type) {
//             case 'app':
//                 this.postData = JSON.parse(post.json);
//                 break;
//             case 'iframe':
//                 // code block
//                 break;
//             default:
//             // code block
//         }
//     }
//
//     // trustAsHtml(content) {
//     //     console.log('trustAsHtml');
//     //     return this._sanitizer.bypassSecurityTrustHtml(content);
//     // };
//     // trustAsUrl(url) {
//     //     console.log('trustAsUrl',url);
//     //     return this._sanitizer.bypassSecurityTrustResourceUrl(url);
//     // };
//
//     ngOnChanges(changes) {
//         if (!this.post) {
//             return;
//         }
//         this.parse(this.post);
//     }
//
// }
//# sourceMappingURL=post.js.map