CDI4 days ago

SENIOR DIGITAL MARKETING & BRAND OFFICER

Non precisé
Post A Job Post A Job Marketing & Communications (Uganda)

Job Description

window.notificationMessages = []; Help us serve you better & stand to win a $200 Samsung phone & data bundles! Complete a short survey here Complete survey Help us serve you better & stand to win a $200 Samsung phone & data bundles! Complete a short survey here Complete survey Verify Employer Account Now Activate let hasCheckedBrowserAlert = false;

function bannerSlider(initialBanners = []) { return { banners: Array.isArray(initialBanners) ? initialBanners : [], activeSlide: 1, timer: null, hydrated: false,

init() { this.hydrated = true;

this.$nextTick(() => { this.deferLoop();

});

},

loop() { if (this.banners.length > 1 && !this.timer) { this.timer = setInterval(() => { this.activeSlide = (this.activeSlide % this.banners.length) + 1;

}, 5000);

} },

deferLoop() { if (this.banners.length this.loop();

if ("requestIdleCallback" in window) { requestIdleCallback(start, { timeout: 6000 }); } else { setTimeout(start, 5000); } },

pause() { if (this.timer) { clearInterval(this.timer); this.timer = null; } },

resume() { this.deferLoop(); },

resetLoop() { if (this.timer) { clearInterval(this.timer); this.timer = null; } this.deferLoop(); },

setSlide(num) { this.activeSlide = num; this.resetLoop(); },

nextSlide() { if (!this.banners.length) return;

this.activeSlide = this.activeSlide === this.banners.length

? 1

: this.activeSlide + 1;

this.resetLoop(); },

prevSlide() { if (!this.banners.length) return;

this.activeSlide = this.activeSlide === 1 ? this.banners.length : this.activeSlide - 1;

this.resetLoop(); },

addBanner(banner) { const alreadyExists = this.banners.some( b => b.banner_type === banner.banner_type, );

if (!alreadyExists) { this.banners.unshift(banner); } },

deferBrowserAlertBanner() { const run = () => this.showBrowserAlertBanner();

if ("requestIdleCallback" in window) { requestIdleCallback(run, { timeout: 8000 }); } else { setTimeout(run, 6000); } },

showBrowserAlertBanner() { const maxRetries = 10; const retryInterval = 300;

const browserAlertBanner = { icon: "speakerphone", banner_text: Authorise this browser to receive instant browser alerts., banner_cta_event: "onesignal_subscribe", banner_type: "browser_alert", };

return new Promise((resolve) => { let retries = 0;

const interval = setInterval(() => { if (typeof window.checkIfHasOnesignalPlayerId === "function") { clearInterval(interval);

if (!hasCheckedBrowserAlert) { hasCheckedBrowserAlert = true;

window.checkIfHasOnesignalPlayerId((result) => { if (result) { this.addBanner(browserAlertBanner); resolve(browserAlertBanner); } else { resolve(false); }

});

} else { resolve(false); } } else { retries++;

if (retries >= maxRetries) { clearInterval(interval); resolve(false); } } }, retryInterval);

});

},

hideBrowserAlertBanner() { this.banners = this.banners.filter( banner => banner.banner_type !== "browser_alert", ); this.activeSlide = 1; }, }; } Find a Job + + + + Search const TopSearch = { handleSubmit: function (event) { event.preventDefault(); event.stopPropagation();

const form = event.target;

const getValue = (name) => { if (form[name]) { if (form[name].type) { if (["select-one", "text", "hidden"].indexOf(form[name].type) > -1) { return form[name].value; } if (["checkbox", "radio"].indexOf(form[name].type) > -1 && form[name].checked) { return form[name].value; } } else if (form[name].length) { return form[name].value; } }

return ""; };

const experienceLevel = getValue("experience[]") || getValue("experience"); const jobFunction = getValue("job_function[]") || getValue("job_function"); const industry = getValue("industry[]") || getValue("industry"); const location = getValue("location[]") || getValue("location"); const workType = getValue("work_type"); const term = getValue("q"); const sortBy = getValue("sort_by");

// If the logged in user is authenticated // Append authenticated value to make url unique/different to logged out url // same action is happening in SearchFilterViewComposer // line 589 in the multiSearchFilterHref function const authenticated = document.getElementById("authenticated").value; let toUrl = ""; if (industry.trim() && jobFunction.trim()) { const segments = [jobFunction, location, workType].filter((x) => x); toUrl = ${segments.join("/")}?industry=${industry}; } else { const segments = [jobFunction, industry, location, workType].filter((x) => x); toUrl = segments.join("/"); }

if (experienceLevel) { toUrl += ${toUrl.indexOf("?") === -1 ? "?" : "&"}experience=${experienceLevel}; }

if (term.trim()) { toUrl += ${toUrl.indexOf("?") === -1 ? "?" : "&"}q=${encodeURI(term.replace(" ", "+"))}; }

if (sortBy.trim()) { toUrl += ${toUrl.indexOf("?") === -1 ? "?" : "&"}sort=${sortBy}; }

if (authenticated === "true") { toUrl += ${toUrl.indexOf("?") === -1 ? "?" : "&"}authenticated=${Date.now()}; }

const wholeUrl = `${form.getAttribute("action")}/${toUrl.to

---

**

[Click the Apply button below to see the contact details]

Ready to apply?

Safety Reminder

Never pay money to get an interview. Taf4All will never contact you to request application fees.

You might also be interested in

NO

Senior Marketing Specialist

Non preciséPost A Job Post A Job Marketing & Communications

Senior Marketing Specialist chez Non precisé à Post A Job Post A Job Marketing & Communications.

Stage
2 months ago
NO

Senior Claims Officer

Non preciséPost A Job Post A Job Health & Safety Banking, Fi

Senior Claims Officer chez Non precisé à Post A Job Post A Job Health & Safety Banking, Fi.

CDI
about 2 months ago
NO

Senior Payroll Officer

Non preciséPost A Job Post A Job Accounting, Auditing & Fina

Senior Payroll Officer chez Non precisé à Post A Job Post A Job Accounting, Auditing & Fina.

CDI
2 months ago