// Save draft campaign app // =============================================== // Takes in data obj, an element to append to, and utility functions // // Uses Campaign's dataset // var saveDraft = (function(){ 'use strict' var errServerError = 'Oops, server error, please try to save again in few seconds.', errNoName = 'Oh! It looks like you haven\'t provided a name yet. Please do so before saving a draft.'; return newDraft; function newDraft(d, uid, did, fns){ return new Draft(d, uid, did, fns); } function Draft(d, uid, did, fns){ d = d.clean(d); if(!d.name){ fns.setError(errNoName); return; } if(!!did && did.length > 0){ apiRequest('PUT', "campaignDraft", did, d, redirect); } else { apiRequest('POST', "campaignDrafts", uid, d, redirect); } function redirect(e, s){ if(s === 200) pop('Pop!', 'Dashboard - Campaigns', '/dashboard/campaigns'); else fns.setErrors(getErrorMsg(e, errServerError)); } } })();