define(["views","methods"], function(routeViews,routeMethods) { // https://www15.cradle2careertx.xyz/portal/admin/ // https://www15.cradle2careertx.xyz/portal/sponsor/ // https://www15.cradle2careertx.xyz/portal/email/ // https://www15.cradle2careertx.xyz/portal/dashboard/ function AppManager(app,afsconfig,afspayments){ let self = this; self._props_ = {}; self.container = {}; self.container.views = {}; self.routeViews = routeViews; self.app = app; self.afsconfig = afsconfig; self.domain = afsconfig.managed_domain; self.afspayments = afspayments; let notif = []; for(let i=0; i < afsconfig.notifications.length; i++){ // console.log(afsconfig.notifications[i].json.reference_acct + " | " + afsconfig.user.email) if(afsconfig.notifications[i].json.reference_acct==afsconfig.user.email){ notif.push(afsconfig.notifications[i]); } } self.sponsorships = notif; self.sponsor = {}; } // mmmmm function ___add_request_object(self){ if(self.sponsor.afssponsorship.sponsorship.json["request"]==undefined){ self.sponsor.afssponsorship.sponsorship.json["request"] = { "url":"core/php/request.php", "onsubmit":"api_submit_form_become_a_member", "dataupload":"api_upload_data", "fileupload":"api_upload_file", "savedirectory": "sponsors/files" }; } } function __remove_file_input(self){ let $el = $("#image_logo_upload"); $el.wrap('
').closest( 'form').get(0).reset(); $el.unwrap(); } AppManager.prototype = { init: function(appendto){ let self = this; self.container.views.rootview = routeViews.createRootView(self); document.getElementById(appendto).appendChild(self.container.views.rootview.getHtml()); }, _root_view: { createSponsorshipCards: function(self){ // console.log(self) self.sponsor._tmp = {}; self.sponsor.afssponsorship = new AFSSponsorship(self.app, self.afsconfig, self.afspayments); let cards = ""; let sponsorshipList = []; self.sponsor.selected_sponsorship = null; for(let i=0; i < self.sponsorships.length; i++){ // console.log(self.sponsor.afssponsorship.sponsorships[i]); self.sponsor.afssponsorship.sponsorship = self.sponsorships[i]; cards = (cards=="") ? self.afsconfig.html.card_sponsor : (self.afsconfig.html.card_sponsor + cards); console.log(cards) console.log(self.afsconfig.html) cards = self.sponsor.afssponsorship.variablesReplace(cards,"normal"); let id = "manage_sponsorship_btn"+i; if(self.sponsor.afssponsorship.sponsorship.json.account.status==0){ cards = self.sponsor.afssponsorship.sanitizeReplace(cards, "description", "Pending", "normal"); cards = self.sponsor.afssponsorship.sanitizeReplace(cards, "manage_button", "", "normal"); }else if(self.sponsor.afssponsorship.sponsorship.json.account.status==1){ cards = self.sponsor.afssponsorship.sanitizeReplace(cards, "description", "Active", "normal"); cards = self.sponsor.afssponsorship.sanitizeReplace(cards, "manage_button", `manage`, "normal"); sponsorshipList.push({id:id, sponsorship: self.sponsor.afssponsorship}); }else if(self.sponsor.afssponsorship.sponsorship.json.account.status==2){ cards = self.sponsor.afssponsorship.sanitizeReplace(cards, "description", "Denied", "normal"); cards = self.sponsor.afssponsorship.sanitizeReplace(cards, "manage_button", "", "normal"); sponsorshipList.push({id:id, sponsorship: self.sponsor.afssponsorship}); } } // console.log(self.afsconfig.html.index); self.sponsor._tmp.sponsorshipList = sponsorshipList; return self.app.factory.container({ body: self.afsconfig.html.index, listener: function(e){ let cardhtml = self.app.utils.convertStringToHTMLNode(cards); document.getElementById("main_container1").appendChild(cardhtml); } }); }, _listener_sponsorship_card: function(e,self){ let sponsorshipList = self.sponsor._tmp.sponsorshipList; // console.log(sponsorshipList); for (let index = 0; index < sponsorshipList.length; index++) { const element = sponsorshipList[index]; $("#"+element.id).on('click',function(e){ e.preventDefault(); self.selected_sponsorship = element.sponsorship; self.container.views.rootview.render('view2'); }); } }, createSponsorshipView: function(self){ let x = self.sponsor.afssponsorship.variablesReplace(afsconfig.html.sponsorship_view,"normal"); return x; }, _listener_sponsorship_sponsor_dashboard: function(e,self){ $('#image_logo_upload_btn').on('click',function(event){ event.preventDefault(); self.__upload(); }); self.__getimagesize("image_logo_upload"); self.__display_logo_image(); } }, __display_logo_image: function(){ let self = this; let userid = self.afsconfig.user.id; console.log(self.selected_sponsorship.sponsorship) let sponsorship = self.selected_sponsorship.sponsorship; if(sponsorship.json.brand==undefined || sponsorship.json.brand.images==undefined){ return; } let filename = sponsorship.json.brand.images[0].new_name; let systemuser = self.domain.SystemUser; let savedirectory = self.sponsor.afssponsorship.sponsorship.json.request.savedirectory; let urlparams = `api_download_file=true&userid=${userid}&file=${filename}&savedirectory=${savedirectory}&systemuser=${systemuser}`; // mmmmm let x = `
Cradle2Career

`; $("#logo_images").empty(); $("#logo_images").append(x); }, __getimagesize: function(id){ let self = this; var _URL = window.URL || window.webkitURL; $("#"+id).on("change",function(e) { var file, img; if ((file = this.files[0])) { img = new Image(); img.onload = function(event) { // console.log(this.width + " " + this.height); self.__upload_file = file; }; img.onerror = function() { alert( "not a valid file: " + file.type + "- use only PNG,JPG,JPEG,SVG,GIF"); __remove_file_input(self); }; img.src = _URL.createObjectURL(file); } }); }, __upload: function(){ let self = this; ___add_request_object(self); let file = self.__upload_file; if(file==undefined || file==null){ return; } // console.log(file); // console.log(self.sponsor.afssponsorship.sponsorship.json); let filedataobject = { original_name: file.name, new_name: self.sponsor.afssponsorship.sponsorship.json.reference_abbr + "_" + self.sponsor.afssponsorship.___filenameGenerator(32) + "." + file.name.split('.').pop(), category: self.sponsor.afssponsorship.sponsorship.json.category, savedirectory: self.sponsor.afssponsorship.sponsorship.json.request.savedirectory } if(self.sponsor.afssponsorship.sponsorship.json.brand==undefined){ self.sponsor.afssponsorship.sponsorship.json.brand = {}; self.sponsor.afssponsorship.sponsorship.json.brand.images = []; } let old_images = self.sponsor.afssponsorship.sponsorship.json.brand.images; self.sponsor.afssponsorship.sponsorship.json.brand.images = []; self.sponsor.afssponsorship.sponsorship.json.brand.images.push(filedataobject); let formData = new FormData(); let datauploadUrl = self.sponsor.afssponsorship.sponsorship.json.request.dataupload; let fileuploadUrl = self.sponsor.afssponsorship.sponsorship.json.request.fileupload; let systemuser = self.domain.SystemUser; formData.append(fileuploadUrl, file); formData.append(datauploadUrl, JSON.stringify(filedataobject)); formData.append("systemuser", systemuser); formData.append("savedirectory", self.sponsor.afssponsorship.sponsorship.json.request.savedirectory); let req = new XMLHttpRequest(); req.addEventListener('progress', function(e) { var done = e.position || e.loaded, total = e.totalSize || e.total; // console.log(filedataobject.original_name + ' progress: ' + (Math.floor(done/total*1000)/10) + '%'); }, false); if ( req.upload ) { self.upload_in_progress = true; req.upload.onprogress = function(e) { var done = e.position || e.loaded, total = e.totalSize || e.total; // console.log(filedataobject.original_name + ' req.upload progress: ' + done + ' / ' + total + ' = ' + (Math.floor(done/total*1000)/10) + '%'); }; } req.onreadystatechange = function(e) { if ( 4 == this.readyState ) { console.log(this.responseText); self.upload_in_progress = false; let url = self.domain.Address + "/core/php/request.php"; $.post(url,{ update_notifications_json: true, mysql_id: self.sponsor.afssponsorship.sponsorship.json.mysql_id, data: JSON.stringify(self.sponsor.afssponsorship.sponsorship.json) },function(resp){ // mmmmm self.__display_logo_image(); for(let m=0; m < old_images.length; m++){ setTimeout(function(){ // do a marked for deletetest here // console.log(old_images) $.post(url,{ delete_file: true, filename: old_images[m].new_name, systemuser: systemuser, savedirectory: "sponsors/files" },function(resp){ // console.log(resp); }); },500); } // console.log(resp); }); __remove_file_input(self); } }; let requesturl = self.domain.Address + "/" + self.sponsor.afssponsorship.sponsorship.json.request.url req.open("POST", requesturl); // req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); req.send(formData); } }; return AppManager; });