@duoduo-oba/ng-devui
Version:
DevUI components based on Angular
2 lines • 6.25 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("ng-devui/i18n"),require("@angular/common/http")):"function"==typeof define&&define.amd?define("ng-devui/common",["exports","@angular/core","@angular/common","ng-devui/i18n","@angular/common/http"],t):t(((e=e||self)["ng-devui"]=e["ng-devui"]||{},e["ng-devui"].common={}),e.ng.core,e.ng.common,e["ng-devui"].i18n,e.ng.common.http)}(this,(function(e,t,n,r,o){"use strict";var i=function(){function e(e){this.elementRef=e}return e.prototype.ngAfterViewInit=function(){this.autoFocus&&this.elementRef.nativeElement.focus()},e.decorators=[{type:t.Directive,args:[{selector:"[dAutoFocus]"}]}],e.ctorParameters=function(){return[{type:t.ElementRef}]},e.propDecorators={autoFocus:[{type:t.Input,args:["dAutoFocus"]}]},e}();var a=function(){function e(){}return e.prototype.transform=function(e,t){if(e)return r.I18nFormat.formatDate(e,t)},e.decorators=[{type:t.Pipe,args:[{name:"dDatePipe"}]}],e}(),c=function(){function e(){}return e.jumpOuterUrl=function(e,t){if(void 0===t&&(t="_blank"),void 0!==e){var n=document.createElement("a");n.style.display="none",n.target=t,n.href=e,document.body.appendChild(n);var r=document.createEvent("MouseEvents");r.initEvent("click",!1,!0),n.dispatchEvent(r),document.body.removeChild(n)}},e.downloadFile=function(e,t,n){document.querySelector("iframe[name="+(t&&t.iframename||"download")+"]")&&document.body.removeChild(document.querySelector("iframe[name="+(t&&t.iframename||"download")+"]"));var r=document.createElement("iframe");r.name=t&&t.iframename||"download",r.style.display="none";var o=document.createElement("form");o.action=e,o.method=t&&t.method||"post",o.target=t&&t.iframename||"download",o.enctype=t&&t.enctype||"application/x-www-form-urlencoded",o.style.display="none",t&&t.params&&Object.keys(t.params).forEach((function(e){var n=document.createElement("input");n.name=e,n.value=t.params[e],o.appendChild(n)}));var i=document.createElement("input");i.type="submit",o.appendChild(i),r.appendChild(o),document.body.appendChild(r),r.addEventListener("load",(function(e){try{var t=r.contentDocument;if(void 0!==n){var o=void 0;try{o=JSON.parse(t.body&&t.body.textContent)}catch(e){o=t.body&&t.body.textContent}o||(o="Error"),n(o)}}catch(e){n("Error")}document.body.removeChild(r)})),o.submit()},e.downloadFileByHttpClient=function(t,n,r,i,a){var c=r&&r.method&&r.method.toLowerCase()||"post",d=r.enctype||"application/x-www-form-urlencoded",u=r.params?new o.HttpParams({fromObject:r.params}):null,s=n,m="get"===c?u:void 0,l="post"===c?u&&u.toString():void 0,p=r.responseOption,f=Object.assign({},{body:l,observe:"response",params:m,headers:{"Content-Type":d},responseType:"arraybuffer"},{headers:r.header}),v=function(t){switch(t){case"response":return function(e){return e};case"body":return function(t){var n=t.body||t.error;return e.utf8ArrayToStr(n)};case"json":default:return function(t){var n,r=t.body||t.error;try{var o=e.utf8ArrayToStr(r);try{n=JSON.parse(o)}catch(e){n=(new DOMParser).parseFromString(o,"text/html").body.textContent}}catch(e){throw new Error("Parsing Error:"+e)}return n||(n="Error"),n}}}(p);t.request(c,s,f).subscribe((function(e){var t=e.headers.get("content-disposition"),o=e.headers.get("content-type");if(/^attachment/i.test(t)||r.downloadWithoutDispositionHeader){var c=r.filename||t&&function(e){var t=e.split(";").filter((function(e){return/^filename=/.test(e.trim())})).pop();if(t){var n=t.trim();return n=(n=n.split("=")[1]).replace(/['"]/g,""),decodeURIComponent(n)}return null}(t)||n;!function(e,t,n){if(window.navigator&&window.navigator.msSaveOrOpenBlob){var r=new Blob([e],{type:n});window.navigator.msSaveOrOpenBlob(r,t)}else if("download"in document.createElement("a")){r=new Blob([e],{type:n});var o=document.createElement("a");o.href=URL.createObjectURL(r),o.download=t,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(o.href)}else{var i=new File([e],t,{type:n}),a=URL.createObjectURL(i);window.location.assign(a),URL.revokeObjectURL(a)}}(e.body,c,o),a&&a(e)}else if(i){var d=void 0;try{d=v(e)}catch(t){d=e}i(d)}}),(function(e){if(i){var t=void 0;try{t=v(e)}catch(n){t=e}i(t)}}))},e.utf8ArrayToStr=function(e){return"undefined"!=typeof TextDecoder?new TextDecoder("utf-8").decode(e):String.fromCharCode.apply(null,new Uint8Array(e))},e}(),d=function(){function e(){this.target="_blank"}return e.prototype.onClick=function(){c.jumpOuterUrl(this.href,this.target)},e.decorators=[{type:t.Directive,args:[{selector:"[dSimulateATag]"}]}],e.ctorParameters=function(){return[]},e.propDecorators={href:[{type:t.Input}],target:[{type:t.Input}],onClick:[{type:t.HostListener,args:["click"]}]},e}();var u=function(){function e(e){var t=this;this.event="click",this.AddIframeContentDocumentClickListener=function(){var e=t.element.querySelector("iframe");if(null!==e){if(null!==e.contentDocument)e.contentDocument.addEventListener(t.event,t.dispatchClickEvent);else{var n=function(){e.contentDocument.addEventListener(t.event,t.dispatchClickEvent),e.removeEventListener("load",n)};e.addEventListener("load",n)}t.element.removeEventListener("DOMSubtreeModified",t.AddIframeContentDocumentClickListener)}},this.dispatchClickEvent=function(e){var n=document.createEvent("MouseEvents");n.initEvent(t.event,!0,!0),n.originEvent=e,t.element.dispatchEvent(n)},this.element=e.nativeElement}return e.prototype.ngAfterViewInit=function(){this.element.addEventListener("DOMSubtreeModified",this.AddIframeContentDocumentClickListener),null!==this.element.querySelector("iframe")&&this.AddIframeContentDocumentClickListener()},e.decorators=[{type:t.Directive,args:[{selector:"[dIframeEventPropagate]"}]}],e.ctorParameters=function(){return[{type:t.ElementRef}]},e.propDecorators={event:[{type:t.Input}]},e}();var s=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{imports:[n.CommonModule],exports:[i,a,d,u],declarations:[i,a,d,u],providers:[]}]}],e}();e.AutoFocusDirective=i,e.DCommonModule=s,e.DatePipe=a,e.HelperUtils=c,e.IframeEventPropagateDirective=u,e.SimulateATagDirective=d,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=ng-devui-common.umd.min.js.map