@nent/core
Version:
4 lines • 2.65 kB
JavaScript
/*!
* NENT 2022
*/
import{r as t,h as i,H as s,a as o}from"./index-916ca544.js";import{f as n,w as e}from"./logging-5a93c8af.js";import{a as r}from"./state-27a8a5bc.js";import{c as a,r as h}from"./remote-0f753d9a.js";import{D as d}from"./interfaces-8c5cd1b8.js";import{r as l}from"./visits-b52975ad.js";import{s as m}from"./state-adf07580.js";import{s as c}from"./strings-47d55561.js";import{C as p}from"./state-subscriber-eb44164a.js";import"./index-4bfabbbd.js";import"./tokens-78f8cdbe.js";import"./factory-acbf0d3d.js";import"./index-f7016b94.js";import"./values-ddfac998.js";import"./promises-584c4ece.js";import"./mutex-e5645c85.js";import"./memory-0d63dacd.js";const v=class{constructor(i){t(this,i),this.match=null,this.exactMatch=!1,this.contentElement=null,this.pageTitle="",this.pageDescription="",this.pageKeywords="",this.pageRobots="none",this.exact=!0,this.visit="once",this.mode="cors",this.resolveTokens=!1,this.noCache=!1,this.debug=!1}get parentView(){return this.el.closest("n-view")}componentWillLoad(){n(this.debug,`n-view-prompt: ${this.path} loading`),this.contentKey=`rem-content-${c(this.contentSrc||"none")}`,m.router&&this.parentView?(this.route=m.router.createRoute(this.el,this.parentView,(t=>{this.match=t?Object.assign({},t):null,this.exactMatch=(null==t?void 0:t.isExact)||!1})),r.dataEnabled&&this.resolveTokens&&(this.dataSubscription=new p(this,"dataEnabled",d.DataChanged))):e(`n-view-prompt: ${this.path} cannot load outside of an n-views element`)}async componentWillRender(){var t;n(this.debug,`n-view-prompt: ${this.path} will render`),(null===(t=this.match)||void 0===t?void 0:t.isExact)&&(n(this.debug,`n-view-prompt: ${this.path} matched exact`),this.contentSrc&&null==this.contentElement&&(this.contentElement=await a(window,this.contentSrc,this.mode,this.contentKey,this.resolveTokens,"content")),await l(this.visit,this.path))}render(){var t;return n(this.debug,`n-view-prompt: ${this.path} render`),h(this.el,`#${this.contentKey}`,this.contentElement),i(s,{hidden:!(null===(t=this.match)||void 0===t?void 0:t.isExact)},i("slot",null),i("slot",{name:"content"}))}async componentDidRender(){var t,i,s,o;(null===(i=null===(t=this.route)||void 0===t?void 0:t.match)||void 0===i?void 0:i.isExact)||(null===(s=this.contentElement)||void 0===s||s.remove(),this.noCache&&(this.contentElement=null)),await(null===(o=this.route)||void 0===o?void 0:o.loadCompleted())}disconnectedCallback(){var t,i;null===(t=this.dataSubscription)||void 0===t||t.destroy(),null===(i=this.route)||void 0===i||i.destroy()}get el(){return o(this)}};v.style=":host{display:block}:host([hidden]){display:none}";export{v as n_view_prompt}