@@ -15,7 +15,7 @@ export function load(url) {
1515 const res = await fetch ( url ) ;
1616 const data = await res . json ( ) ;
1717 const subscriber = locker . user . isSubscriber ( ) ;
18- const dma = await locker . user . isInDMA ( ) ;
18+ const dma = subscriber ? true : await locker . user . isInDMA ( ) ;
1919
2020 // Load WPS zones
2121 if ( data . base ) {
@@ -62,69 +62,66 @@ export function load(url) {
6262
6363 // Render
6464 if ( show ) {
65- renderZone ( config )
66- }
67- } ) ;
68-
69- resolve ( ) ;
70- } ) ;
71- }
65+ const zone = new Zone ( config . id ) ;
66+
67+ // Zephr connection
68+ if ( config . zephr ) {
69+ const { feature, dataset } = config . zephr ;
70+
71+ if ( dataset ) {
72+ dataset . forEach ( d => {
73+ const { type, name, value} = d ;
74+
75+ switch ( type ) {
76+ case "subscriber" :
77+ zone . dataset [ name ] = subscriber ;
78+ break ;
79+ case "dma" :
80+ zone . dataset [ name ] = dma ;
81+ break ;
82+ case "config" :
83+ zone . dataset [ name ] = locker . getConfig ( value ) ;
84+ break ;
85+ default :
86+ zone . dataset [ name ] = value ;
87+ }
88+ } ) ;
89+ }
7290
73- /**
74- * Renders a zone by config
75- * @param config {object} a zone config object
76- */
91+ zone . zephr ( feature ) ;
92+ }
7793
78- function renderZone ( config ) {
79- const zone = new Zone ( config . id ) ;
94+ // Add classes
95+ if ( config . classList ) {
96+ zone . classList . add ( ...config . classList )
97+ }
8098
81- // Zephr connection
82- if ( config . zephr ) {
83- const { feature, dataset } = config . zephr ;
99+ // Add type
100+ if ( config . type ) {
101+ zone . dataset . type = config . type ;
102+ }
84103
85- if ( dataset ) {
86- dataset . forEach ( d => {
87- const { type, name , value} = d ;
104+ // Placement
105+ if ( config . placement ) {
106+ const { type, value} = config . placement ;
88107
89- switch ( type ) {
90- case "config" :
91- zone . dataset [ name ] = locker . getConfig ( value ) ;
92- break ;
93- default :
94- zone . dataset [ name ] = value ;
108+ switch ( type ) {
109+ case "query" :
110+ zone . vip = document . querySelector ( value ) ;
111+ break
112+ case "before" :
113+ zone . before ( value ) ;
114+ break ;
115+ case "after" :
116+ zone . after ( value ) ;
117+ break ;
118+ default :
119+ zone . vip = value ;
120+ }
95121 }
96- } ) ;
97- }
122+ }
123+ } ) ;
98124
99- zone . zephr ( feature ) ;
100- }
101-
102- // Add classes
103- if ( config . classList ) {
104- zone . classList . add ( ...config . classList )
105- }
106-
107- // Add type
108- if ( config . type ) {
109- zone . dataset . type = config . type ;
110- }
111-
112- // Placement
113- if ( config . placement ) {
114- const { type, value} = config . placement ;
115-
116- switch ( type ) {
117- case "query" :
118- zone . vip = document . querySelector ( value ) ;
119- break
120- case "before" :
121- zone . before ( value ) ;
122- break ;
123- case "after" :
124- zone . after ( value ) ;
125- break ;
126- default :
127- zone . vip = value ;
128- }
129- }
125+ resolve ( ) ;
126+ } ) ;
130127}
0 commit comments