{"version":3,"file":"LogoUploader.js","sources":["requirejs/custom-imprinting/LogoUploader.js"],"sourcesContent":["define([\"require\", \"exports\", \"UI/FileUploader\", \"UI/StatusIndicator\", \"custom-imprinting/Trademark\", \"UI/Context\"], function (require, exports, FileUploader_1, StatusIndicator_1, Trademark_1, Context_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.LogoUploadForm = void 0;\n class LogoUploadForm extends StatusIndicator_1.StatusIndicator {\n constructor(type, url) {\n super({\n Delay: 500,\n DefaultError: 'Your logo was not saved. Please try again. If this problem continues, please contact our Website Technical Assistance Team by calling 877-619-2174.'\n });\n this.AddUrl = '/myaccount/logomanager/addlogo';\n this.AcceptedTypes = '.png,.jpg,.jpeg,.gif,.webp,.tiff,.bmp,.svg,.eps,.ai,.psd,.indd,.cdr,.pdf';\n this.Cancel = () => {\n this.ResetForm();\n };\n this.Edit = (trademark, url) => {\n this.initializeMode(trademark, this.Editing);\n this.Url(url);\n };\n this.Delete = (trademark, url) => {\n this.initializeMode(trademark, this.Deleting);\n this.Url(url);\n };\n this.initializeMode = (trademark, mode) => {\n mode(true);\n this.Reset();\n this.Trademark(trademark);\n };\n this.loadTrademarkData = (trademark) => {\n if (trademark) {\n this.Name(trademark.Name());\n this.Description(trademark.Description());\n this.ImagePath(trademark.ImagePath());\n }\n };\n this.HandleSubmit = (data, event) => {\n if (this.GetStatus() === StatusIndicator_1.Status.Loading) {\n return;\n }\n let payload = this.BuildPayload(data, this.Editing() || this.Deleting());\n this.SetStatus(StatusIndicator_1.Status.Loading);\n this.SendLogo(payload, this.Url());\n };\n this.handleError = response => {\n if (response.errors) {\n this.Errors(response.errors);\n }\n Context_1.default.IsDev() && console.log(\"Error:\", response);\n this.ClearFields();\n this.SetStatusAfterDelay(StatusIndicator_1.Status.Error);\n };\n this.Type = type || \"\";\n this.TypeId = this.Type.toLowerCase().replace(' ', '-');\n this.Url = ko.observable(url || this.AddUrl);\n this.Name = ko.observable('');\n this.Description = ko.observable('');\n this.ImagePath = ko.observable('');\n this.Trademark = ko.observable(null);\n this.Trademark.subscribe(this.loadTrademarkData);\n let uploaderOptions = {\n Id: this.Type.toLowerCase().replace(' ', '-') + 'logo-upload',\n Name: 'TrademarkLogo',\n AcceptedFileTypes: this.AcceptedTypes,\n AcceptsMultiple: false,\n ActionText: 'Upload a Logo',\n ButtonClass: 'sbtn-secondary'\n };\n this.FileUploader = new FileUploader_1.FileUploader(uploaderOptions);\n this.FileUpload = ko.computed(() => this.GetFile(this.FileUploader.FileList()));\n this.UploadedTrademark = ko.observable(null);\n this.Progress = ko.observable(0);\n this.Editing = ko.observable(false);\n this.Deleting = ko.observable(false);\n this.ShowForm = ko.computed(() => {\n return this.FileUploader.HasFiles() || ((this.Editing() || this.Deleting()) && this.Trademark() !== null);\n });\n this.FileUpload.subscribe(file => file && this.Name(file.name));\n this.FileUploader.HasFiles.subscribe(hasFiles => {\n if (hasFiles) {\n this.Reset();\n }\n });\n }\n GetFile(list) {\n return list && list.length > 0 ? list[0] : null;\n }\n ResetForm() {\n this.ClearFields();\n this.Reset();\n }\n ClearFields() {\n this.Name('');\n this.Description('');\n this.ImagePath('');\n this.Trademark(null);\n this.UploadedTrademark(null);\n this.FileUploader.ClearFiles();\n this.Editing(false);\n this.Deleting(false);\n this.Url(this.AddUrl);\n }\n BuildPayload(form, excludeFile) {\n let data = new FormData(form);\n data.append(\"type\", this.Type.replace(\"Imprinting\", \"Printing\"));\n if (!excludeFile) {\n data.append(\"file\", this.FileUpload());\n }\n return data;\n }\n SendLogo(payload, url) {\n $.ajax({\n url: url,\n type: 'POST',\n data: payload,\n contentType: false,\n processData: false,\n xhr: () => {\n var xhr = $.ajaxSettings.xhr();\n xhr.upload.onprogress = (e) => {\n if (e.lengthComputable) {\n let progress = e.loaded / e.total * 100;\n this.Progress(progress);\n Context_1.default.IsDev() && console.log(progress);\n }\n };\n return xhr;\n }\n }).done((response) => {\n if (response.success && response.trademark) {\n Context_1.default.IsDev() && console.log(\"Success:\", response);\n this.UploadedTrademark(this.Deleting() ? this.Trademark() : new Trademark_1.Trademark(response.trademark));\n this.ClearFields();\n this.SetStatusAfterDelay(StatusIndicator_1.Status.Success);\n }\n else {\n this.handleError(response);\n }\n }).fail(this.handleError);\n }\n }\n exports.LogoUploadForm = LogoUploadForm;\n});\n//# sourceMappingURL=LogoUploader.js.map"],"names":["define","require","exports","FileUploader_1","StatusIndicator_1","Trademark_1","Context_1","Object","defineProperty","value","LogoUploadForm","StatusIndicator","constructor","type","url","super","Delay","DefaultError","this","AddUrl","AcceptedTypes","Cancel","ResetForm","Edit","trademark","initializeMode","Editing","Url","Delete","Deleting","mode","Reset","Trademark","loadTrademarkData","Name","Description","ImagePath","HandleSubmit","data","event","GetStatus","Status","Loading","payload","BuildPayload","SetStatus","SendLogo","handleError","response","errors","Errors","default","IsDev","console","log","ClearFields","SetStatusAfterDelay","Error","Type","TypeId","toLowerCase","replace","ko","observable","subscribe","uploaderOptions","Id","AcceptedFileTypes","AcceptsMultiple","ActionText","ButtonClass","FileUploader","FileUpload","computed","GetFile","FileList","UploadedTrademark","Progress","ShowForm","HasFiles","file","name","hasFiles","list","length","ClearFiles","form","excludeFile","let","FormData","append","$","ajax","contentType","processData","xhr","ajaxSettings","upload","onprogress","e","lengthComputable","progress","loaded","total","done","success","Success","fail"],"mappings":"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"}