{"__symbolic":"module","version":4,"metadata":{"FormioGrid":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":19,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":20,"character":4},{"__symbolic":"reference","module":"@crmcheap/angular-formio","name":"FormioModule","line":21,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":22,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"ngx-bootstrap/pagination","name":"PaginationModule","line":23,"character":4},"member":"forRoot"}}],"declarations":[{"__symbolic":"reference","name":"FormioGridComponent"},{"__symbolic":"reference","name":"FormGridHeaderComponent"},{"__symbolic":"reference","name":"FormGridBodyComponent"},{"__symbolic":"reference","name":"FormGridFooterComponent"},{"__symbolic":"reference","name":"SubmissionGridHeaderComponent"},{"__symbolic":"reference","name":"SubmissionGridBodyComponent"},{"__symbolic":"reference","name":"SubmissionGridFooterComponent"},{"__symbolic":"reference","name":"GridHeaderComponent"},{"__symbolic":"reference","name":"GridBodyComponent"},{"__symbolic":"reference","name":"GridFooterComponent"}],"exports":[{"__symbolic":"reference","name":"FormioGridComponent"}],"entryComponents":[{"__symbolic":"reference","name":"FormGridHeaderComponent"},{"__symbolic":"reference","name":"FormGridBodyComponent"},{"__symbolic":"reference","name":"FormGridFooterComponent"},{"__symbolic":"reference","name":"SubmissionGridHeaderComponent"},{"__symbolic":"reference","name":"SubmissionGridBodyComponent"},{"__symbolic":"reference","name":"SubmissionGridFooterComponent"}],"providers":[{"__symbolic":"reference","module":"@crmcheap/angular-formio","name":"FormioAlerts","line":49,"character":4}]}]}],"members":{}},"GridHeaderComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"template":""}]}],"members":{"actionAllowed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"sort":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":9,"character":3}}]}],"template":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":10,"character":3},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":10,"character":13},{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor"}],"load":[{"__symbolic":"method"}]}},"GridFooterComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"template":""}]}],"members":{"header":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"body":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"createText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"actionAllowed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"pageChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":14,"character":3}}]}],"createItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":15,"character":3}}]}],"template":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":16,"character":3},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":16,"character":13},{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor"}]}},"GridBodyComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"template":""}]}],"members":{"header":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"actionAllowed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"rowSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":11,"character":3}}]}],"rowAction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":12,"character":3}}]}],"template":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":13,"character":3},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":13,"character":13},{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor"}],"load":[{"__symbolic":"method"}],"onRowSelect":[{"__symbolic":"method"}],"onRowAction":[{"__symbolic":"method"}],"setRows":[{"__symbolic":"method"}]}},"FormGridHeaderComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"GridHeaderComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"form-grid-header","template":"<ng-template>\n  <thead>\n    <tr>\n      <th>\n        <div class=\"row\">\n          <div class=\"col-sm-8\">\n            <a (click)=\"sort.emit(header)\">\n              {{ header.label }}&nbsp;<span [ngClass]=\"{'glyphicon-triangle-top fa-caret-up': (header.sort === 'asc'), 'glyphicon-triangle-bottom fa-caret-down': (header.sort === 'desc')}\" class=\"glyphicon fa\" *ngIf=\"header.sort\"></span>\n            </a>\n          </div>\n          <div class=\"col-sm-4\">\n            Operations\n          </div>\n        </div>\n      </th>\n    </tr>\n  </thead>\n</ng-template>\n"}]}],"members":{"load":[{"__symbolic":"method"}]}},"FormGridBodyComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"GridBodyComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"form-grid-body","template":"<ng-template>\n  <tbody *ngIf=\"rows\">\n    <tr *ngFor=\"let form of rows\">\n      <td>\n        <div class=\"row\">\n          <div class=\"col-sm-8\">\n            <a routerLink=\"{{form._id}}/view\" (click)=\"onRowSelect($event, form)\"><h5>{{ form.title }}</h5></a>\n          </div>\n          <div class=\"col-sm-4\">\n            <button *ngIf=\"actionAllowed('formView')\" class=\"btn btn-outline-secondary btn-sm form-btn\" (click)=\"onRowAction($event, form, 'view')\"><span class=\"fa fa-pencil\"></span> Enter Data</button>&nbsp;\n            <button *ngIf=\"actionAllowed('submissionIndex')\" class=\"btn btn-outline-secondary btn-sm form-btn\" (click)=\"onRowAction($event, form, 'submission')\"><span class=\"fa fa-list-alt\"></span> View Data</button>&nbsp;\n            <button *ngIf=\"actionAllowed('formEdit')\" class=\"btn btn-outline-secondary btn-sm form-btn\" (click)=\"onRowAction($event, form, 'edit')\"><span class=\"fa fa-edit\"></span> Edit Form</button>&nbsp;\n            <button *ngIf=\"actionAllowed('formDelete')\" class=\"btn btn-danger btn-sm form-btn\" (click)=\"onRowAction($event, form, 'delete')\"><span class=\"fa fa-trash\"></span></button>\n          </div>\n        </div>\n      </td>\n    </tr>\n  </tbody>\n</ng-template>\n","styles":[".form-btn{font-size:.75rem;margin:2px 0}"]}]}],"members":{"load":[{"__symbolic":"method"}]}},"FormGridFooterComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"GridFooterComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":6,"character":17},"member":"None"},"template":"<ng-template #footer let-position=\"position\">\n  <thead class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.top\">\n    <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\"></ng-container>\n  </thead>\n  <tfoot class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.bottom\">\n    <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\"></ng-container>\n  </tfoot>\n</ng-template>\n\n<ng-template #defaultFooterTemplate>\n  <tr>\n    <td *ngIf=\"header\" [colSpan]=\"header.numHeaders\">\n      <button *ngIf=\"actionAllowed('formCreate')\" class=\"btn btn-primary pull-left float-left\" (click)=\"createItem.emit('form')\"><i class=\"glyphicon glyphicon-plus fa fa-plus\"></i> {{ createText }}</button>\n      <span class=\"pull-right float-right item-counter\"><span class=\"page-num\">{{ body.firstItem }} - {{ body.lastItem }}</span> / {{ body.total }} total</span>\n      <pagination [totalItems]=\"body.total\" [itemsPerPage]=\"body.limit\" [(ngModel)]=\"body.skip\" (pageChanged)=\"pageChanged.emit($event)\" [maxSize]=\"size\" class=\"justify-content-center pagination-sm\">\n      </pagination>\n    </td>\n  </tr>\n</ng-template>\n","styles":["tfoot.formio-grid-footer td{padding:.3rem}tfoot.formio-grid-footer .page-num{font-size:1.4em}tfoot.formio-grid-footer ul.pagination{margin-bottom:0;margin-top:5px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"SubmissionGridHeaderComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"GridHeaderComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"template":"<ng-template>\n  <thead>\n    <tr>\n      <th *ngFor=\"let header of headers\">\n        <a (click)=\"sort.emit(header)\">\n          {{ header.label }}&nbsp;<span [ngClass]=\"{'glyphicon-triangle-top': (header.sort === 'asc'), 'glyphicon-triangle-bottom': (header.sort === 'desc')}\" class=\"glyphicon\" *ngIf=\"header.sort\"></span>\n        </a>\n      </th>\n    </tr>\n  </thead>\n</ng-template>\n"}]}],"members":{"load":[{"__symbolic":"method"}],"setHeader":[{"__symbolic":"method"}],"getHeaderForColumn":[{"__symbolic":"method"}],"getHeaderForComponent":[{"__symbolic":"method"}],"setComponentsHeaders":[{"__symbolic":"method"}],"setComponents":[{"__symbolic":"method"}]}},"SubmissionGridBodyComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"GridBodyComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"template":"<ng-template>\n  <tbody>\n    <tr *ngFor=\"let row of rows\" (click)=\"onRowSelect($event, row)\">\n      <td *ngFor=\"let rowHeader of header.headers\" [innerHTML]=\"view(row, rowHeader)\"></td>\n    </tr>\n  </tbody>\n</ng-template>\n"}]}],"members":{"load":[{"__symbolic":"method"}],"view":[{"__symbolic":"method"}]}},"SubmissionGridFooterComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"GridFooterComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":6,"character":17},"member":"None"},"template":"<ng-template #footer let-position=\"position\">\n  <thead class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.top\">\n    <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\"></ng-container>\n  </thead>\n  <tfoot class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.bottom\">\n    <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\"></ng-container>\n  </tfoot>\n</ng-template>\n\n<ng-template #defaultFooterTemplate>\n  <tr>\n    <td *ngIf=\"header\" [colSpan]=\"header.numHeaders\">\n      <button *ngIf=\"actionAllowed('submissionCreate') && createText\" class=\"btn btn-primary pull-left float-left\" (click)=\"createItem.emit('form')\"><i class=\"glyphicon glyphicon-plus fa fa-plus\"></i> {{ createText }}</button>\n      <span class=\"pull-right float-right item-counter\"><span class=\"page-num\">{{ body.firstItem }} - {{ body.lastItem }}</span> / {{ body.total }} total</span>\n      <pagination [totalItems]=\"body.total\" [itemsPerPage]=\"body.limit\" [(ngModel)]=\"body.skip\" (pageChanged)=\"pageChanged.emit($event)\" [maxSize]=\"size\" class=\"justify-content-center pagination-sm\"></pagination>\n    </td>\n  </tr>\n</ng-template>\n","styles":["tfoot.formio-grid-footer td{padding:.3rem}tfoot.formio-grid-footer .page-num{font-size:1.4em}tfoot.formio-grid-footer ul.pagination{margin-bottom:0;margin-top:5px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"FormioGridComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":26,"character":1},"arguments":[{"selector":"formio-grid","template":"<ng-template #headerTemplate></ng-template>\n<ng-template #bodyTemplate></ng-template>\n<ng-template #footerTemplate></ng-template>\n<div class=\"formio-grid\">\n  <formio-alerts [alerts]=\"alerts\"></formio-alerts>\n  <table class=\"table table-bordered table-striped table-hover\">\n    <ng-container *ngIf=\"initialized && [footerPositions.top, footerPositions.both].indexOf(footerPosition) !== -1\"\n      [ngTemplateOutlet]=\"footer.template\" [ngTemplateOutletContext]=\"{ position: footerPositions.top }\">\n    </ng-container>\n    <ng-container *ngIf=\"initialized\"\n      [ngTemplateOutlet]=\"header.template\"></ng-container>\n    <formio-loader [isLoading]=\"isLoading\"></formio-loader>\n    <ng-container *ngIf=\"initialized\" [ngTemplateOutlet]=\"body.template\"></ng-container>\n    <ng-container *ngIf=\"initialized && [footerPositions.bottom, footerPositions.both].indexOf(footerPosition) !== -1\"\n      [ngTemplateOutlet]=\"footer.template\" [ngTemplateOutletContext]=\"{ position: footerPositions.bottom }\">\n    </ng-container>\n  </table>\n</div>\n","styles":[".formio-grid{position:relative;width:100%}.grid-refresh{height:400px;width:100%}"]}]}],"members":{"footerPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"src":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"onForm":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"query":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"refresh":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"columns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3}}]}],"gridType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":3}}]}],"components":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":3}}]}],"formio":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3}}]}],"createText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":3}}]}],"isActionAllowed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3}}]}],"select":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":45,"character":3}}]}],"rowSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":46,"character":3}}]}],"rowAction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":47,"character":3}}]}],"createItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":48,"character":3}}]}],"error":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":49,"character":3}}]}],"headerElement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":50,"character":3},"arguments":["headerTemplate",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":50,"character":38},"static":true}]}]}],"bodyElement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":51,"character":3},"arguments":["bodyTemplate",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":51,"character":36},"static":true}]}]}],"footerElement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":52,"character":3},"arguments":["footerTemplate",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":52,"character":38},"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@crmcheap/angular-formio","name":"FormioAlerts","line":63,"character":19},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":64,"character":22},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":65,"character":17}]}],"createComponent":[{"__symbolic":"method"}],"loadGrid":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"actionAllowed":[{"__symbolic":"method"}],"onError":[{"__symbolic":"method"}],"refreshGrid":[{"__symbolic":"method"}],"setPage":[{"__symbolic":"method"}],"sortColumn":[{"__symbolic":"method"}],"pageChanged":[{"__symbolic":"method"}]}}},"origins":{"FormioGrid":"./grid.module","GridHeaderComponent":"./GridHeaderComponent","GridFooterComponent":"./GridFooterComponent","GridBodyComponent":"./GridBodyComponent","FormGridHeaderComponent":"./form/FormGridHeader.component","FormGridBodyComponent":"./form/FormGridBody.component","FormGridFooterComponent":"./form/FormGridFooter.component","SubmissionGridHeaderComponent":"./submission/SubmissionGridHeader.component","SubmissionGridBodyComponent":"./submission/SubmissionGridBody.component","SubmissionGridFooterComponent":"./submission/SubmissionGridFooter.component","FormioGridComponent":"./grid.component"},"importAs":"@crmcheap/angular-formio/grid"}