@@ -521,41 +521,48 @@ export function createOc(oc) {
521521 let isRendering = dataRendering == "true" ;
522522 let isRendered = dataRendered == "true" ;
523523
524- if ( ! isRendering && ! isRendered ) {
525- logInfo ( MESSAGES_RETRIEVING ) ;
526- setAttribute ( dataRenderingAttribute , true ) ;
527- if ( ! DISABLE_LOADER ) {
528- component . innerHTML =
529- '<div class="oc-loading">' + MESSAGES_LOADING_COMPONENT + "</div>" ;
530- }
524+ if ( isRendered ) {
525+ callback ( ) ;
526+ return ;
527+ }
528+ if ( isRendering ) {
529+ timeout ( ( ) => {
530+ oc . renderNestedComponent ( component , callback ) ;
531+ } , POLLING_INTERVAL ) ;
532+ return ;
533+ }
531534
532- oc . renderByHref (
533- {
534- href : getAttribute ( "href" ) ,
535- id : getAttribute ( "id" ) ,
536- element : component ,
537- } ,
538- ( err , data ) => {
539- if ( err || ! data ) {
540- setAttribute ( dataRenderingAttribute , false ) ;
541- setAttribute ( dataRenderedAttribute , false ) ;
542- setAttribute ( "data-failed" , true ) ;
543- component . innerHTML = "" ;
544- oc . events . fire ( "oc:failed" , {
545- originalError : err ,
546- data : data ,
547- component,
548- } ) ;
549- logError ( err ) ;
550- callback ( ) ;
551- } else {
552- processHtml ( component , data , callback ) ;
553- }
554- } ,
555- ) ;
556- } else {
557- timeout ( callback , POLLING_INTERVAL ) ;
535+ logInfo ( MESSAGES_RETRIEVING ) ;
536+ setAttribute ( dataRenderingAttribute , true ) ;
537+ if ( ! DISABLE_LOADER ) {
538+ component . innerHTML =
539+ '<div class="oc-loading">' + MESSAGES_LOADING_COMPONENT + "</div>" ;
558540 }
541+
542+ oc . renderByHref (
543+ {
544+ href : getAttribute ( "href" ) ,
545+ id : getAttribute ( "id" ) ,
546+ element : component ,
547+ } ,
548+ ( err , data ) => {
549+ if ( err || ! data ) {
550+ setAttribute ( dataRenderingAttribute , false ) ;
551+ setAttribute ( dataRenderedAttribute , false ) ;
552+ setAttribute ( "data-failed" , true ) ;
553+ component . innerHTML = "" ;
554+ oc . events . fire ( "oc:failed" , {
555+ originalError : err ,
556+ data : data ,
557+ component,
558+ } ) ;
559+ logError ( err ) ;
560+ callback ( ) ;
561+ } else {
562+ processHtml ( component , data , callback ) ;
563+ }
564+ } ,
565+ ) ;
559566 } ) ;
560567 } ;
561568
0 commit comments