var base_api; var base_url; var daycare = new Object; // ================================================================================================================= // Menu Execute // ----------------------------------------------------------------------------------------------------------------- var __calon_pengganti_load_block_page=((obj)=>{ let obj_data = {}; let class_name = obj.model; obj_data['target'] = 'div_page_' + obj['id']; if( obj.code!=undefined && obj.code!=null ){ obj_data['code'] = obj.code; } let data_as_string = JSON.stringify( obj_data ); let obj_page = document.getElementById( 'div_page_' + obj['id'] ); let instance = eval(`new ${class_name}(${data_as_string})`); console.log(instance); }); var load_block_page=((block_data)=>{ // console.log(block_data); let ajax_parm = { url: base_url + '/load/block', data: { block: block_data['block'] } }; // console.log( ajax_parm ); ajax_post(ajax_parm).done((o)=>{ if( o.status ){ let obj_page = document.getElementById( 'div_page_' + block_data['id'] ); if( o.data!='' ){ $( obj_page ).append( $( o.data ) ); } } }); }); var menu_execute=((menu_id)=>{ let dcid = document.querySelector("meta[name='dcid']").getAttribute('content'); let curr_menu_id = document.querySelector("meta[name='mnid']").getAttribute('content'); if( curr_menu_id!=menu_id ){ document.querySelector("meta[name='mnid']").setAttribute('content',menu_id); let ajax_parm = { 'url': base_api + '/load/data', 'data': { 'table': 'view_0104_daycare_page_blocks', 'where': 'daycare_id=' + dcid + ' AND menu_id=' + menu_id, 'order': 'num_order' } }; ajax_post(ajax_parm).done((o)=>{ if( o.status ){ let head_page = document.getElementById('head-page'); let main_page = document.getElementById('main-page'); $(head_page).empty(); $(main_page).empty(); block_list = o.data; for( let idx in block_list ){ let item = block_list[idx]; // console.log(item); let div_prepare = create_tag_element({'tag':'div','attributes':{'id':'div_page_' + item['id'] }}); document.getElementById( item['page_area'] ).appendChild( div_prepare ); // setTimeout( load_block_page( item ), 100 ); load_block_page( item ); } } }); } }); // ================================================================================================================= // Generate Header // ----------------------------------------------------------------------------------------------------------------- var generate_header_content_daycare_title=(()=>{ let obj_header_title = document.getElementById('daycare_title_header'); let obj_text_1 = create_tag_element({ 'tag': 'span', 'attributes': {'class':'text-secondary'} }); let obj_text_2 = create_tag_element({ 'tag': 'span', 'attributes': {'class':'text-primary text-nowrap'} }); obj_text_1.appendChild( document.createTextNode('Little') ); obj_text_2.appendChild( document.createTextNode('White Rabbits') ); $(obj_header_title).empty(); obj_header_title.appendChild( obj_text_1 ); obj_header_title.appendChild( document.createTextNode(' ') ); obj_header_title.appendChild( obj_text_2 ); }); var generate_header_content_address=(()=>{ let obj_addr_head = document.getElementById( 'profile_address_header' ); let obj_icon = create_tag_element({'tag':'i','attributes':{'class':'fas fa-map-marker-alt fa-lg me-2 text-secondary'}}); let obj_text = new Object; if( daycare.profile.map_url!=undefined ){ obj_text = create_tag_element({'tag':'a','attributes':{ 'href' : daycare.profile.map_url, 'target':'_blank', 'class': 'text-white' }}); } else { obj_text = create_tag_element({'tag':'span'}); } obj_text.appendChild( document.createTextNode( daycare.profile.full_address ) ); $(obj_addr_head).empty(); obj_addr_head.appendChild( obj_icon ); obj_addr_head.appendChild( obj_text ); }); var generate_header_content_socmed=(()=>{ let dbdata = new daycare_dbdata(); dbdata.socmed().done((o)=>{ if(o.status){ app_vars['socmed'] = o.data; let obj_some_head = document.getElementById( 'profile_socmed_header' ); $(obj_some_head).empty(); // email let obj_icon_email = create_tag_element({'tag':'i','attributes':{'class':'fas fa-envelope text-secondary'}}); let obj_email = create_tag_element({ 'tag':'a', 'attributes':{ 'href': 'mailto:' + daycare.profile.email, 'class': 'btn btn-light btn-sm-square rounded-circle me-1', }}); obj_email.appendChild( obj_icon_email ); obj_some_head.appendChild( obj_email ); // other socmed for( let key in daycare.socmed ){ let row = daycare.socmed[key]; if( row.value!=null ){ let icon_socmed = new Object; let href_socmed = new Object; let str_href = String( row.url ).replace( '{account}', row.value ); icon_socmed = create_tag_element({'tag':'i','attributes':{'class':row.font_icon + ' text-secondary' }}); href_socmed = create_tag_element({ 'tag':'a', 'attributes':{ 'href': str_href, 'class': 'btn btn-light btn-sm-square rounded-circle me-1', 'target': '_blank' } }); href_socmed.appendChild( icon_socmed ); obj_some_head.appendChild( href_socmed ); } } } }); }); // ----------------------------------------------------------------------------------------------------------------- var generate_header=(()=>{ // -------------------------------------- // header generate_header_content_address(); generate_header_content_socmed(); generate_header_content_daycare_title(); document.getElementById('daycare_profile_phone').appendChild( document.createTextNode( daycare.profile.phone ) ); // -------------------------------------- }); // ----------------------------------------------------------------------------------------------------------------- // ================================================================================================================= // Generate Menu // ----------------------------------------------------------------------------------------------------------------- var generate_sub_menu=((sub_data)=>{ let obj_div = new Object; let keys = Object.keys(sub_data); if( keys.length>0 ){ obj_div = create_tag_element({'tag':'div','attributes':{'class':'dropdown-menu m-0 bg-secondary'}, 'css':{'border-radius':'0px'}}); for( let key in sub_data ){ let row = sub_data[key]; if( row.is_active==1 ){ let href = create_tag_element({'tag':'a','attributes':{'class':'dropdown-item'}, 'css':{'cursor':'pointer'}}); href.appendChild( document.createTextNode( row['title'] ) ); href.addEventListener('click',()=>{ menu_execute( row['id'] ); }); obj_div.appendChild( href ); if( row['hassub'] ){ sub_div = generate_sub_menu( row['sub'] ); if( sub_div!=null ){ obj_div.appendChild( sub_div ); } } } } return obj_div; } else { return null; } }); var generate_menu=(()=>{ let app_vars = JSON.parse( atob( document.querySelector("meta[name='app_vars']").getAttribute('content') ) ); let web_main_menu = document.getElementById('web_main_menu'); let data_menu = app_vars['menu']; $(web_main_menu).empty(); for( let key in data_menu ){ let row = data_menu[key]; if( row.is_active==1 ){ let obj_div = create_tag_element({'tag':'div','attributes':{'class':'nav-item dropdown'},'css':{'border-radius':'0px'}}); let obj_href = create_tag_element({'tag':'a', 'attributes':{'class':'nav-link dropdown-toggle' }, 'css':{'cursor':'pointer'} }); obj_href.appendChild( document.createTextNode( row['title'] ) ); obj_href.addEventListener('click',()=>{ menu_execute( row['id'] ); }); obj_div.appendChild( obj_href ); if( row['hassub'] ){ let sub_menu = generate_sub_menu( row['sub'] ); if( sub_menu!=null ){ obj_div.appendChild( sub_menu ); } } web_main_menu.appendChild( obj_div ); } } // console.log( app_vars['menu'] ); }); // ----------------------------------------------------------------------------------------------------------------- // ================================================================================================================= // Generate Footer // ----------------------------------------------------------------------------------------------------------------- var generate_footer_content_workday=(()=>{ let base_api = atob( document.querySelector("meta[name='uapi']").getAttribute('content') ); let dcid = document.querySelector("meta[name='dcid']").getAttribute('content'); let div_workday_footer = document.getElementById('workday_footer'); let ajax_parm = { url: base_api + '/load/data', data: { table: 'workdays' } }; ajax_post(ajax_parm).done((o)=>{ if(o.status){ let obj_data = []; for(let x in o.data){ let row = o.data[x]; if( row['daycare_id']==dcid ){ let status = row['status']; let index = row['num_order'] + '_' + row['id']; if( obj_data[status]==undefined ){ obj_data[status] = []; } obj_data[status][index] = row; } } // $(div_workday_footer).empty(); // // active days if( obj_data[1]!=undefined && obj_data[1]!=[] ){ let div_row_active = create_tag_element({'tag':'div','attributes':{'class':'row'}}); for( let _x in obj_data[1] ){ let item = obj_data[1][_x]; let div_item_name = create_tag_element({'tag':'div','attributes':{'class':'d-block'}}); let div_item_time = create_tag_element({'tag':'div','attributes':{'class':'d-block'}}); div_item_name.appendChild( document.createTextNode( item['day_name'] ) ); div_item_time.appendChild( document.createTextNode( item['day_time'] ) ); div_row_active.appendChild( div_item_name ); div_row_active.appendChild( div_item_time ); // console.log(item); } div_workday_footer.appendChild( div_row_active ); } // // vacant days if( obj_data[0]!=undefined && obj_data[0]!=[] ){ let div_row_vacant = create_tag_element({'tag':'div','attributes':{ 'class': 'bg-warning-transparent mt-3 px-3 pt-1 pb-4 text-center' }, 'css':{'border-radius':'5px'}}); let div_row_vacant_caption = create_tag_element({'tag':'div','attributes':{'class':'text-danger fw-bold pt-3 text-center'},'css':{'font-size':'1.2em'}}); let div_row_vacant_sprt = create_tag_element({'tag':'hr','attributes':{'class':'my-2 mx-0 p-1 text-danger'}}); div_row_vacant_caption.appendChild( document.createTextNode('TUTUP') ); div_row_vacant.appendChild( div_row_vacant_caption ); div_row_vacant.appendChild( div_row_vacant_sprt ); // console.log( obj_data[0] ); let div_row_vacant_list = create_tag_element({'tag':'div','attributes':{'class':'text-danger fw-bold text-center'}}); let nLoop = 0; for( let _x in obj_data[0] ){ let item = obj_data[0][_x]; let text = document.createTextNode( item['day_name'] ); if( nLoop>0 ){ div_row_vacant_list.appendChild( document.createElement('br') ); } div_row_vacant_list.appendChild( text ); nLoop++; } div_row_vacant.appendChild( div_row_vacant_list ); div_workday_footer.appendChild( div_row_vacant ); } } }); }); var generate_footer_content_socmed=(()=>{ let obj_some_foot = document.getElementById('profile_socmed_footer'); $(obj_some_foot).empty(); // -------------------------------------- // phone let obj_p_phone = create_tag_element({ 'tag': 'p', 'attributes': {'class':'footer-icon d-flex row'}, }) let obj_div_phone = create_tag_element({ 'tag':'div', 'attributes': {'class':'text-primary text-start'}, }) let obj_icon_phone = create_tag_element({ 'tag': 'i', 'attributes': {'class':'fa fa-phone fa-fw fa-lg text-primary mx-2'} }); obj_div_phone.appendChild( obj_icon_phone ); obj_div_phone.appendChild( document.createTextNode( daycare.profile.phone ) ); obj_p_phone.appendChild( obj_div_phone ); obj_some_foot.appendChild( obj_p_phone ); // -------------------------------------- // email let obj_p_email = create_tag_element({ 'tag': 'p', 'attributes': {'class':'footer-icon d-flex row'}, }); let obj_div_email = create_tag_element({ 'tag':'div', 'attributes': {'class':'text-primary text-start'}, }); let obj_href_email = create_tag_element({ 'tag': 'a', 'attributes': {'href':'mailto:' + daycare.profile.email } }); let obj_icon_email = create_tag_element({ 'tag': 'i', 'attributes': {'class':'fas fa-envelope fa-fw fa-lg text-primary mx-2'} }); obj_href_email.appendChild( obj_icon_email ); obj_href_email.appendChild( document.createTextNode('Email Us') ); obj_div_email.appendChild( obj_href_email ); obj_p_email.appendChild( obj_div_email ); obj_some_foot.appendChild( obj_p_email ); // -------------------------------------- // others for( let key in daycare.socmed ){ let row = daycare.socmed[key]; if( row.value != null ){ let obj_p = new Object; let obj_div = new Object; let obj_divs = new Object; let obj_href = new Object; let obj_icon = new Object; let str_href = String( row['url'] ).replace('{account}',row['value']); let str_text = row['name']; obj_icon = create_tag_element({'tag':'i', 'attributes': {'class':row['font_icon'] + ' fa-fw fa-lg text-primary mx-2' }}); obj_href = create_tag_element({'tag':'a', 'attributes': {'href': str_href, 'target': '_blank' }}); obj_divs = create_tag_element({'tag':'div', 'attributes': {'class':'text-primary text-start'}}); obj_div = create_tag_element({'tag':'div', 'attributes': {'class':'footer-icon d-flex row'}}); obj_p = create_tag_element({'tag':'p'}); obj_href.appendChild( obj_icon ); obj_href.appendChild( document.createTextNode( str_text ) ); obj_divs.appendChild( obj_href ); obj_div.appendChild( obj_divs ); obj_p.appendChild( obj_div ); obj_some_foot.appendChild( obj_p ); } } // -------------------------------------- }); var generate_footer_content_address=(()=>{ let div_profile_map = document.getElementById('profile_map_footer'); let div_profile_address = document.getElementById('profile_address_footer'); div_profile_address.setAttribute('src',null); $(div_profile_address).empty(); if( daycare.profile.map!=undefined && daycare.profile.map!=null ){ div_profile_map.setAttribute('src',daycare.profile.map); } if( daycare.profile.map_url!=undefined && daycare.profile.map_url!=null ){ div_profile_address.setAttribute('href',daycare.profile.map_url); } if( daycare.profile.full_address!=undefined && daycare.profile.full_address!=null ){ div_profile_address.appendChild( document.createTextNode( daycare.profile.full_address ) ); } else { div_profile_address.appendChild( document.createTextNode( daycare.profile.address ) ); } }); var generate_footer_content_galleries=(()=>{ let div_img_list = document.getElementById('galleries_footer'); let str_img_list = document.querySelector("meta[name='img_list']").getAttribute('content'); let img_list = JSON.parse(str_img_list); $(div_img_list).empty(); for( let _ni in img_list ){ let img_file = img_list[_ni]; let div_0 = create_tag_element({'tag':'div','attributes':{'class':'col-2'}}); let div_1 = create_tag_element({'tag':'div','attributes':{'class':'footer-galary-img rounded-circle border border-primary'}}); let img = create_tag_element({'tag':'img','attributes':{'class':'img-fluid rounded-circle p-2','alt':''}}); img.setAttribute('src','assets/img/galleries/' + img_file ); div_1.appendChild( img ); div_0.appendChild( div_1 ); div_img_list.appendChild( div_0 ); } }); // ----------------------------------------------------------------------------------------------------------------- var generate_footer=(()=>{ // -------------------------------------- // footer // -------------------------------------- generate_footer_content_workday(); generate_footer_content_socmed(); generate_footer_content_address(); generate_footer_content_galleries(); // -------------------------------------- }); // ----------------------------------------------------------------------------------------------------------------- var load_default_page=(()=>{ if( app_vars['default']==undefined ){ dbdata.menu_default().done((o)=>{ if( o.status ){ app_vars['default'] = o.data; let def_menu_page = app_vars['default']; menu_execute( def_menu_page['id'] ); } }); } else { let def_menu_page = app_vars['default']; menu_execute( def_menu_page['id'] ); } }); doc_ready(()=>{ // console.log('doc web is ready'); // base_api = atob( document.querySelector("meta[name='uapi']").getAttribute('content') ); base_url = atob( document.querySelector("meta[name='uweb']").getAttribute('content') ); // console.log(base_api); // console.log(base_url); load_daycare_data().done(()=>{ // daycare = app_vars; // generate_header(); generate_menu(); generate_footer(); // load_default_page(); $('#link-home-page').on('click',()=>{ load_default_page(); }); // }); });