angular-datatables
Version:
Angular directive for DataTables
10 lines (9 loc) • 4.68 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs"),require("@angular/common")):"function"==typeof define&&define.amd?define(["exports","@angular/core","rxjs","@angular/common"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).angular=e.angular||{},e.angular.datatables={}),e.ng.core,null,e.ng.common)}(this,(function(e,t,n,r){"use strict";function o(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var i=o(t),a=function(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))},l=function(){function e(e,t,n){this.el=e,this.vcr=t,this.renderer=n,this.dtOptions={}}return e.prototype.ngOnInit=function(){var e=this;this.dtTrigger?this.dtTrigger.subscribe((function(t){e.displayTable(t)})):this.displayTable(null)},e.prototype.ngOnDestroy=function(){this.dtTrigger&&this.dtTrigger.unsubscribe(),this.dt&&this.dt.destroy(!0)},e.prototype.displayTable=function(e){var t=this;e&&(this.dtOptions=e),this.dtInstance=new Promise((function(e,n){Promise.resolve(t.dtOptions).then((function(r){0===Object.keys(r).length&&0===$("tbody tr",t.el.nativeElement).length?n("Both the table and dtOptions cannot be empty"):(r.columns&&r.columns.forEach((function(e){var n;""===(null!==(n=e.id)&&void 0!==n?n:"").trim()&&(e.id=t.getColumnUniqueId())})),setTimeout((function(){var n={rowCallback:function(e,n,o){if(r.columns){var i=r.columns;t.applyNgPipeTransform(e,i),t.applyNgRefTemplate(e,i,n)}r.rowCallback&&r.rowCallback(e,n,o)}};n=Object.assign({},r,n),t.dt=$(t.el.nativeElement).DataTable(n),e(t.dt)})))}))}))},e.prototype.applyNgPipeTransform=function(e,t){t.filter((function(e){return e.ngPipeInstance&&!e.ngTemplateRef})).forEach((function(n){var r=n.ngPipeInstance,o=n.ngPipeArgs||[],i=t.filter((function(e){return!1!==e.visible})).findIndex((function(e){return e.id===n.id})),l=e.childNodes.item(i),s=$(l).text(),c=r.transform.apply(r,a([s],o,!1));$(l).text(c)}))},e.prototype.applyNgRefTemplate=function(e,t,n){var r=this;t.filter((function(e){return e.ngTemplateRef&&!e.ngPipeInstance})).forEach((function(o){var i=o.ngTemplateRef,a=i.ref,l=i.context,s=t.filter((function(e){return!1!==e.visible})).findIndex((function(e){return e.id===o.id})),c=e.childNodes.item(s);$(c).html("");var u=Object.assign({},l,null==l?void 0:l.userData,{adtData:n}),p=r.vcr.createEmbeddedView(a,u);r.renderer.appendChild(c,p.rootNodes[0])}))},e.prototype.getColumnUniqueId=function(){for(var e="",t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",n=0;n<6;n++){var r=Math.floor(62*Math.random());e+=t.charAt(r)}return e.trim()},e.ɵfac=i.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"17.0.2",ngImport:i,type:e,deps:[{token:i.ElementRef},{token:i.ViewContainerRef},{token:i.Renderer2}],target:i.ɵɵFactoryTarget.Directive}),e.ɵdir=i.ɵɵngDeclareDirective({minVersion:"14.0.0",version:"17.0.2",type:e,selector:"[datatable]",inputs:{dtOptions:"dtOptions",dtTrigger:"dtTrigger"},ngImport:i}),e}();i.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"17.0.2",ngImport:i,type:l,decorators:[{type:t.Directive,args:[{selector:"[datatable]"}]}],ctorParameters:function(){return[{type:i.ElementRef},{type:i.ViewContainerRef},{type:i.Renderer2}]},propDecorators:{dtOptions:[{type:t.Input}],dtTrigger:[{type:t.Input}]}});
/**
* @license
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://raw.githubusercontent.com/l-lin/angular-datatables/master/LICENSE
*/
var s=function(){function e(){}return e.forRoot=function(){return{ngModule:e}},e.ɵfac=i.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"17.0.2",ngImport:i,type:e,deps:[],target:i.ɵɵFactoryTarget.NgModule}),e.ɵmod=i.ɵɵngDeclareNgModule({minVersion:"14.0.0",version:"17.0.2",ngImport:i,type:e,declarations:[l],imports:[r.CommonModule],exports:[l]}),e.ɵinj=i.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"17.0.2",ngImport:i,type:e,imports:[r.CommonModule]}),e}();i.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"17.0.2",ngImport:i,type:s,decorators:[{type:t.NgModule,args:[{imports:[r.CommonModule],declarations:[l],exports:[l]}]}]}),e.DataTableDirective=l,e.DataTablesModule=s,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=angular-datatables.umd.min.js.map