{"__symbolic":"module","version":4,"metadata":{"Required":{"__symbolic":"function"},"MaxLength":{"__symbolic":"function"},"MinLength":{"__symbolic":"function"},"StringLength":{"__symbolic":"function"},"Pattern":{"__symbolic":"function"},"Email":{"__symbolic":"function"},"Range":{"__symbolic":"function"},"Compare":{"__symbolic":"function"},"Display":{"__symbolic":"function"},"UiHint":{"__symbolic":"function"},"DisplayGroup":{"__symbolic":"function"},"Placeholder":{"__symbolic":"function"},"TemplateHint":{"__symbolic":"function"},"Hidden":{"__symbolic":"function"},"Sortable":{"__symbolic":"function"},"Readonly":{"__symbolic":"function"},"FormatPipe":{"__symbolic":"function"},"FormValidatorService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":17,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":21,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":21,"character":22}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":21,"character":39}]}],"build":[{"__symbolic":"method"}]}},"displayGroupType":{"__symbolic":"interface"},"displayType":{"__symbolic":"interface"},"formatType":{"__symbolic":"interface"},"hiddenType":{"__symbolic":"interface"},"placeHolderType":{"__symbolic":"interface"},"readonlyType":{"__symbolic":"interface"},"templateHintType":{"__symbolic":"interface"},"validatorType":{"__symbolic":"interface"},"compareType":{"__symbolic":"interface"},"emailType":{"__symbolic":"interface"},"maxlengthType":{"__symbolic":"interface"},"minlengthType":{"__symbolic":"interface"},"patternType":{"__symbolic":"interface"},"rangeType":{"__symbolic":"interface"},"requiredType":{"__symbolic":"interface"},"stringLengthType":{"__symbolic":"interface"},"FormValidatorModel":{"__symbolic":"interface"},"DataGridPaginationComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":17,"character":1},"arguments":[{"selector":"ac-datagrid-pagination","template":"<div>\n  <ul class=\"pagination float-right\" [ngClass]=\"{ 'pagination-sm': size == 'sm', 'pagination-lg': size == 'lg' }\">\n    <li [class.disabled]=\"currentPageNumber === 1 || !maxPageIndex\" class=\"page-item\">\n      <a href (click)=\"setCurrentPage(1, $event)\" aria-label=\"Previous\" class=\"page-link\">\n        <span aria-hidden=\"true\">«</span>\n      </a>\n    </li>\n    <li [class.disabled]=\"currentPageNumber === 1 || !maxPageIndex\" class=\"page-item\">\n      <a\n        href\n        aria-label=\"Previous\"\n        (click)=\"setCurrentPage(currentPageNumber - 1, $event)\"\n        class=\"page-link\">\n        <span aria-hidden=\"true\">‹</span>\n      </a>\n    </li>\n    <li\n      *ngFor=\"let index of range(pageStartNumber, pageEndNumber)\"\n      [class.active]=\"currentPageNumber === index\"\n      class=\"page-item\">\n      <a href (click)=\"setCurrentPage(index, $event)\" class=\"page-link\">\n        <span aria-hidden=\"true\">{{ index }}</span>\n      </a>\n    </li>\n    <li [class.disabled]=\"currentPageNumber === maxPageIndex || !maxPageIndex\">\n      <a class=\"page-link\"\n        href\n        (click)=\"setCurrentPage(currentPageNumber + 1, $event)\"\n        aria-label=\"Last\"\n      >\n        <span aria-hidden=\"true\">›</span>\n      </a>\n    </li>\n    <li [class.disabled]=\"currentPageNumber === maxPageIndex || !maxPageIndex\" class=\"page-item\">\n      <a href (click)=\"setCurrentPage(maxPageIndex, $event)\" aria-label=\"Last\" class=\"page-link\">\n        <span aria-hidden=\"true\">»</span>\n      </a>\n    </li>\n  </ul>\n</div>\n","styles":[""]}]}],"members":{"maxPageIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"pageNumberChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":31,"character":3}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"setCurrentPage":[{"__symbolic":"method"}],"range":[{"__symbolic":"method"}]}},"Direction":{"Ascending":0,"Descending":1},"DataGridModel":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":123,"character":21,"context":{"typeName":"T"},"module":"./lib/widgets/datagrid/models/datagrid.model"}]},{"__symbolic":"reference","name":"Type","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":123,"character":37,"context":{"typeName":"T"},"module":"./lib/widgets/datagrid/models/datagrid.model"}]},null]}],"sortColumn":[{"__symbolic":"method"}],"removeColumn":[{"__symbolic":"method"}],"addColumn":[{"__symbolic":"method"}],"editItem":[{"__symbolic":"method"}],"deleteItem":[{"__symbolic":"method"}],"createHeadersForType":[{"__symbolic":"method"}]}},"DataGridComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":62,"character":1},"arguments":[{"selector":"ac-datagrid","template":"<div class=\"row\" *ngIf=\"model && model.headers\">\n  <div class=\"col-md-12\">\n    <table class=\"table table-condensed\">\n      <colgroup class=\"colborders\" [ngStyle]=\"columnStyle ? columnStyle.group : null\">\n        <col class=\"first\" [ngStyle]=\"columnStyle ? columnStyle.first : null\" />\n        <col class=\"middle\" [ngStyle]=\"columnStyle ? columnStyle.middle : null\" />\n        <col class=\"middle\" [ngStyle]=\"columnStyle ? columnStyle.middle : null\" />\n        <col class=\"middle\" [ngStyle]=\"columnStyle ? columnStyle.middle : null\" />\n        <col class=\"last\" [ngStyle]=\"columnStyle ? columnStyle.last : null\" />\n      </colgroup>\n      <thead>\n        <tr [ngStyle]=\"columnStyle ? columnStyle.header : null\" >\n          <th *ngFor=\"let header of model.headers\"\n              [ngClass]=\"{ 'sortableHeader': header.isSortable }\"\n              [ngStyle]=\"header.uiHint || {}\"\n              [title]=\"header.desc\"\n              (click)=\"header.isSortable ? model.sortColumn(header.prop, null, header.sortCallback) : null\">\n            <span class=\"headerText\">{{ header.text }}</span>\n            <span class=\"sort\" [ngStyle]=\"columnStyle ? columnStyle.headerButton : null\" *ngIf=\"header.isSortable\">\n              <button (click)=\"model.sortColumn(header.prop, directionEnumHelper.Ascending, header.sortCallback)\"\n                      class=\"up\"\n                      [hidden]=\"model.sortDirection[header.prop] === directionEnumHelper.Descending\"\n                      [ngStyle]=\"columnStyle ? columnStyle.headerSortButton : null\">\n                <i class=\"fa fa-sort-asc\"></i>\n              </button>\n              <button (click)=\"model.sortColumn(header.prop, directionEnumHelper.Descending, header.sortCallback)\"\n                      class=\"down\"\n                      [hidden]=\"model.sortDirection[header.prop] === directionEnumHelper.Ascending\"\n                      [ngStyle]=\"columnStyle ? columnStyle.headerSortButton : null\">\n                <i class=\"fa fa-sort-desc\"></i>\n              </button>\n            </span>\n          </th>\n          <th *ngIf=\"showActions\">\n            {{ textButtonsHeader }}\n          </th>\n        </tr>\n      </thead>\n      <tbody>\n        <tr *ngIf=\"!model.totalFilteredRows\">\n          <td [attr.colspan]=\"model.headers.length\" class=\"text-center\">\n            <div class=\"alert alert-warning\">\n              <span #warningNoItems>\n                <ng-content select=\"[data-warning-noitems]\"></ng-content>\n              </span>\n              <ng-container *ngIf=\"!warningNoItems.innerHTML.trim()\">{{  textNoItems }}</ng-container>\n            </div>\n          </td>\n        </tr>\n        <tr *ngFor=\"let item of model.itemsOnCurrentPage\">\n          <td *ngFor=\"let header of model.headers\">\n            <ng-container\n              [ngTemplateOutlet]=\"getActiveTemplate(header.templateHint, header.prop)\"\n              [ngTemplateOutletContext]=\"{ $implicit: item[header.prop], pipe: header.pipe, params: header.pipeParams }\"\n            ></ng-container>\n          </td>\n          <td *ngIf=\"showActions\" [ngStyle]=\"columnStyle ? columnStyle.actionCell : null\" >\n            <button class=\"btn btn-primary btn-sm\" type=\"button\" (click)=\"model.editItem(item)\">\n              {{ textEditButton }}\n            </button>\n            <button class=\"btn btn-danger btn-sm\" type=\"button\" (click)=\"model.deleteItem(item)\">\n              {{ textDeleteButton }}\n            </button>\n          </td>\n        </tr>\n      </tbody>\n      <tfoot>\n        <tr [ngStyle]=\"columnStyle ? columnStyle.footer : null\" >\n          <td [attr.colspan]=\"model.headers.length + (showActions ? 1 : 0)\">\n            <div #footerRef>\n              <ng-content select=\"[data-footer]\"></ng-content>\n            </div>\n            <ng-container *ngIf=\"!footerRef.innerHTML.trim()\">&copy;</ng-container>\n          </td>\n        </tr>\n      </tfoot>\n    </table>\n  </div>\n</div>\n<ng-template #string let-data let-modelpipe=\"pipe\" let-params=\"params\">\n  {{ data | formatData: modelpipe: params }}\n</ng-template>\n<ng-template #boolean let-data>\n  <input type=\"checkbox\" disabled [checked]=\"data\" />\n</ng-template>\n<ng-template #date let-data let-modelpipe=\"pipe\" let-params=\"params\">\n  {{ data | formatData: modelpipe: params }}\n</ng-template>\n<ng-template #enum let-data>\n  {{ data }}\n</ng-template>\n<ng-template #number let-data let-modelpipe=\"pipe\" let-params=\"params\">\n  {{ data | formatData: modelpipe: params }}\n</ng-template>\n","styles":[".colborders col{border-right:1px solid azure}col.last{border-right:none!important}col.first{background-color:#eee}th{background:none}th.sortableHeader{cursor:pointer}.headerText{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sort{float:right}.sort button{background-color:transparent!important;border:0;border-radius:0;cursor:pointer;height:16px;padding:1px;width:16px}.sort button.up{left:0}.sort button.down{left:-16px}.rearrange{background-color:transparent;border:none;float:right;height:16px;margin:2px;width:16px}"]}]}],"members":{"stringFallback":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":87,"character":3},"arguments":["string",{"static":true}]}]}],"string":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":92,"character":3},"arguments":["string",{"static":true}]}]}],"booleanFallback":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":105,"character":3},"arguments":["boolean",{"static":true}]}]}],"boolean":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":110,"character":3},"arguments":["boolean",{"static":true}]}]}],"dateFallback":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":125,"character":3},"arguments":["date",{"static":true}]}]}],"date":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":130,"character":3},"arguments":["date",{"static":true}]}]}],"enumFallback":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":143,"character":3},"arguments":["enum",{"static":true}]}]}],"enum":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":148,"character":3},"arguments":["enum",{"static":true}]}]}],"numberFallback":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":163,"character":3},"arguments":["number",{"static":true}]}]}],"number":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":168,"character":3},"arguments":["number",{"static":true}]}]}],"externals":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":170,"character":3}}]}],"columnStyle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":177,"character":3}}]}],"model":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":183,"character":3}}]}],"showDeleteButton":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":189,"character":3}}]}],"showEditButton":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":194,"character":3}}]}],"showActions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":201,"character":3}}]}],"textDeleteButton":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":207,"character":3}}]}],"textEditButton":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":212,"character":3}}]}],"textButtonsHeader":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":217,"character":3}}]}],"textNoItems":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":229,"character":3}}]}],"filter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":244,"character":3}}]}],"reArrangeColumns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":254,"character":3}}]}],"editItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":261,"character":3}}]}],"deleteItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":268,"character":3}}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getActiveTemplate":[{"__symbolic":"method"}]}},"FormatDataPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":6,"character":1},"arguments":[{"name":"formatData"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":10,"character":39}]}],"transform":[{"__symbolic":"method"}]}},"EditorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"ac-editor","styles":["input[type=\"checkbox\"] { display: none; }","input[type=\"checkbox\"] + label:before { font-family: FontAwesome; }","input[type=\"checkbox\"] + label:before { content: \"\\f096\"; }","input[type=\"checkbox\"]:checked + label:before { content: \"\\f046\"; }","\n      input[type='checkbox'] + label {\n        display: inline-block;\n        width: 15px;\n        height: 20px;\n        margin: -1px 4px 0 0;\n        vertical-align: middle;\n        cursor: pointer;\n      }\n    "],"template":"<div class=\"form-group row\"\n    [formGroup]=\"formGroup\"\n     *ngIf=\"type != 'hidden' && formGroup\"\n     [ngClass]=\"{ 'has-danger': !formGroup.controls[name].valid && formGroup.controls[name].touched }\">\n  <label class=\"col-form-label col-md-3 col-sm-10\"\n    [attr.for]=\"name\"\n    [attr.title]=\"tooltip\" >{{ label }}{{ labelDivider }} </label>\n  <div [ngClass]=\"{ 'col-md-7 col-sm-10': inline }\">\n    <textarea *ngIf=\"type == 'textarea'\"\n            class=\"form-control\"\n            [id]=\"name\"\n            [readOnly]='readonly'\n            [formControlName]=\"name\"\n            [attr.rows]=\"getParams('rows')\"\n            [attr.cols]=\"getParams('cols')\">\n    </textarea>\n    <select *ngIf=\"type == 'enum' && enumValues\" class=\"form-control\" [id]=\"name\"\n          [formControlName]=\"name\" [disabled]='readonly'>\n      <option *ngFor=\"let option of enumValues\" [value]=\"option.key\">{{option.val}}</option>\n    </select>\n    <select *ngIf=\"type == 'list' && listValues\" class=\"form-control\" [id]=\"name\"\n          [formControlName]=\"name\" [disabled]='readonly'>\n      <option *ngFor=\"let option of listValues\" [value]=\"option.key\">{{option.val}}</option>\n    </select>\n    <input *ngIf=\"type == 'range'\" type=\"range\"\n        class=\"form-control\"\n        [placeholder]=\"waterMark\"\n        [attr.minvalue]=\"fromValue\"\n        [attr.maxvalue]=\"toValue\"\n        [attr.min]=\"fromValue\"\n        [attr.max]=\"toValue\"\n        [id]=\"name\"\n        [formControlName]=\"name\"\n        [title]=\"tooltip\" />\n    <input *ngIf=\"type == 'calendar'\" type=\"date\"\n        class=\"form-control\"\n        [placeholder]=\"waterMark\"\n        [readOnly]='readonly'\n        [id]=\"name\"\n        [formControlName]=\"name\"\n        [title]=\"tooltip\" />\n    <input *ngIf=\"type == 'number'\" type=\"number\"\n        class=\"form-control\"\n        [placeholder]=\"waterMark\"\n        [readOnly]='readonly'\n        [id]=\"name\"\n        [formControlName]=\"name\"\n        [title]=\"tooltip\" />\n    <input *ngIf=\"type == 'boolean'\" type=\"checkbox\"\n        class=\"form-control\"\n        [readOnly]='readonly'\n        [id]=\"name\"\n        [formControlName]=\"name\"\n        [title]=\"tooltip\" />\n    <label *ngIf=\"type == 'boolean'\" [attr.for]=\"name\"></label>\n    <input *ngIf=\"type == 'text' || type == ''\" [placeholder]=\"waterMark\"\n        [readOnly]='readonly'\n        type=\"text\" class=\"form-control\" [id]=\"name\" [formControlName]=\"name\" />\n    <ng-container *ngIf=\"type == 'template'\">\n        <ng-content></ng-content>\n    </ng-container>\n    <span class=\"fa fa-warning text-danger form-control-feedback\"\n        [hidden]=\"formGroup.controls[name].valid || formGroup.controls[name].pristine\"></span>\n    <small class=\"text-danger\"\n        [hidden]=\"formGroup.controls[name].valid || formGroup.controls[name].pristine\">\n    <span *ngFor=\"let error of errors\">{{ formGroup.controls[name]['messages'][error] }}</span>\n    </small>\n  </div>\n</div>\n<div>\n  <input *ngIf=\"type == 'hidden'\" [id]=\"name\" [formControlName]=\"name\" type=\"hidden\" />\n</div>\n"}]}],"members":{"name":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"labelDivider":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3}}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3}}]}],"tooltip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":3}}]}],"formGroup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3}}]}],"inline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":3}}]}],"enumValues":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":3}}]}],"listValues":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":64,"character":3}}]}],"fromValue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":3}}]}],"toValue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":3}}]}],"waterMark":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3}}]}],"readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":80,"character":3}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":84,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":85,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"getParams":[{"__symbolic":"method"}],"first":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"onValueChanged":[{"__symbolic":"method"}]}},"AutoFormComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"ac-autoform","styles":["fieldset { border-top: 1px silver solid; padding: 10px; }","legend { width: auto; padding-left: 10px; padding-right: 10px; font-size: 1em;}"],"template":"<ng-content></ng-content>\n<ng-container *ngIf=\"!ungroupedAfter\">\n  <ac-editor *ngFor=\"let editor of editors\" [name]=\"editor.editor\" [formGroup]=\"formGroup\"></ac-editor>\n</ng-container>\n<ng-container *ngIf=\"grouped()\">\n  <fieldset *ngFor=\"let group of groups\">\n    <legend [attr.title]=\"group.desc\" *ngIf=\"group.name\">{{ group.name }}</legend>\n    <ac-editor *ngFor=\"let editor of group.editors\" [name]=\"editor.editor\" [formGroup]=\"formGroup\"></ac-editor>\n  </fieldset>\n</ng-container>\n<ng-container *ngIf=\"ungroupedAfter\">\n  <ac-editor *ngFor=\"let editor of editors\" [name]=\"editor.editor\" [formGroup]=\"formGroup\"></ac-editor>\n</ng-container>\n"}]}],"members":{"formGroup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"ungroupedAfter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"grouped":[{"__symbolic":"method"}]}},"TreeViewComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"ac-tree","styles":[".treeview { list-style: none; margin-left: -25px; }"],"template":"<ul class=\"treeview\">\n  <ac-treenode\n    [node]=\"nodes\"\n    (nodeClick)=\"onNodeClick($event)\"\n    (checkChanged)=\"onCheckChanged($event)\"\n    (selectedChanged)=\"onSelectedChanged($event)\"\n    (collapseChanged)=\"onCollapseChanged($event)\"\n  ></ac-treenode>\n</ul>\n"}]}],"members":{"nodes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"nodeClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":20,"character":3}}]}],"checkChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":21,"character":3}}]}],"selectedChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":3}}]}],"collapseChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":23,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"onNodeClick":[{"__symbolic":"method"}],"onCheckChanged":[{"__symbolic":"method"}],"onSelectedChanged":[{"__symbolic":"method"}],"onCollapseChanged":[{"__symbolic":"method"}]}},"TreeViewNodeComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":29,"character":1},"arguments":[{"selector":"ac-treenode","template":"<li class=\"treeview\" (click)=\"handleClick($event)\">\n    <i class=\"ac-collapse\" [ngClass]=\"collapseClasses\" *ngIf=\"node.hasChildren\" (click)=\"handleCollapse()\"></i>\n    <i class=\"ac-collapse\" *ngIf=\"!node.hasChildren\"></i>\n    <i class=\"ac-icon\" [ngClass]=\"iconClasses\" [style.color]=\"node.options.iconColor\" *ngIf=\"!node.options.checkable\"></i>\n    <input type=\"checkbox\" [id]=\"node.name\" *ngIf=\"node.options.checkable\" \n           [checked]=\"node.stateIsChecked\" (click)=\"handleCheckChange()\">\n    <label [attr.for]=\"node.name\"></label>\n    <a class=\"ac-container\"\n          [href]=\"href\"\n          [style.color]=\"foreColor\" \n          [style.background-color]=\"backColor\" \n          (mouseover)=\"handlePreSelection(true)\"\n          (mouseout)=\"handlePreSelection(false)\"\n          (click)=\"handleSelection($event)\">\n        {{ node.text }}\n    </a>\n    <ul class=\"treeview\" *ngIf=\"node.hasChildren\" [hidden]=\"!isExpanded\">\n        <ac-treenode *ngFor=\"let child of node.children\" \n                     [node]=\"child\"\n                     (nodeClick)=\"onNodeClick($event)\" \n                     (checkChanged)=\"onCheckChanged($event)\"\n                     (selectedChanged)=\"onSelectedChanged($event)\"\n                     (collapseChanged)=\"onCollapseChanged($event)\">\n        </ac-treenode>\n    </ul>                   \n</li>","styles":["ul.treeview{list-style:none;margin-left:-2em}li.treeview{box-sizing:border-box;margin-bottom:3px;margin-left:10px}li.treeview a.ac-container{border-radius:2px;display:inline-block;padding:3px;text-decoration:none}li.treeview input[type=checkbox]{display:none}li.treeview input[type=checkbox]+label:before{content:\"\\f096\";font-family:FontAwesome}li.treeview input[type=checkbox]:checked+label:before{content:\"\\f046\"}li.treeview input[type=checkbox]+label{cursor:pointer;display:inline-block;height:20px;margin:-1px 4px 0 0;vertical-align:middle;width:15px}li.treeview i.ac-collapse{margin-left:-1.7em}li.treeview i.ac-collapse,li.treeview i.ac-icon{cursor:pointer;display:inline-block;width:15px}li.treeview .ac-node-disabled{color:silver;cursor:not-allowed}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":36,"character":26},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":36,"character":56}]}],"node":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":3}}]}],"nodeClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":54,"character":3}}]}],"checkChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":59,"character":3}}]}],"selectedChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":64,"character":3}}]}],"collapseChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":69,"character":3}}]}],"ngOnInit":[{"__symbolic":"method"}],"onNodeClick":[{"__symbolic":"method"}],"onCheckChanged":[{"__symbolic":"method"}],"onSelectedChanged":[{"__symbolic":"method"}],"onCollapseChanged":[{"__symbolic":"method"}],"handleCheckChange":[{"__symbolic":"method"}],"handleClick":[{"__symbolic":"method"}],"handleCollapse":[{"__symbolic":"method"}],"handlePreSelection":[{"__symbolic":"method"}],"handleSelection":[{"__symbolic":"method"}]},"statics":{"pfxIcon":"fa","opnIcon":"fa-plus","clsIcon":"fa-minus"}},"TreeNodeBaseModel":{"__symbolic":"interface"},"TreeNodeState":{"undefined":0,"checked":1,"disabled":2,"expanded":4,"selected":8},"TreeNodeOptions":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TreeNodeOptions"}]}]}},"TreeNodeModel":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TreeNodeOptions"},{"__symbolic":"reference","name":"TreeNodeModel"}]}],"hasDirectAncestor":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}]}},"TextTreeNodeModel":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"TreeNodeModel"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"TreeNodeOptions"},{"__symbolic":"reference","name":"TreeNodeModel"}]}]}},"TreeNodeComponentModel":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"TreeNodeModel"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Type","module":"@angular/core","arguments":[{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":30}]},{"__symbolic":"reference","name":"TreeNodeOptions"},{"__symbolic":"reference","name":"TreeNodeModel"}]}]}},"SvogvModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":24,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":25,"character":12},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":25,"character":26},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":25,"character":40},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":25,"character":61}],"declarations":[{"__symbolic":"reference","name":"DataGridComponent"},{"__symbolic":"reference","name":"DataGridPaginationComponent"},{"__symbolic":"reference","name":"TreeViewComponent"},{"__symbolic":"reference","name":"TreeViewNodeComponent"},{"__symbolic":"reference","name":"EditorComponent"},{"__symbolic":"reference","name":"AutoFormComponent"},{"__symbolic":"reference","name":"FormatDataPipe"}],"providers":[{"__symbolic":"reference","name":"FormValidatorService"}],"exports":[{"__symbolic":"reference","name":"DataGridComponent"},{"__symbolic":"reference","name":"DataGridPaginationComponent"},{"__symbolic":"reference","name":"TreeViewComponent"},{"__symbolic":"reference","name":"TreeViewNodeComponent"},{"__symbolic":"reference","name":"EditorComponent"},{"__symbolic":"reference","name":"AutoFormComponent"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"SvogvModule"},"providers":[{"__symbolic":"reference","name":"FormValidatorService"}]}}}}},"origins":{"Required":"./lib/decorators/val-required.decorator","MaxLength":"./lib/decorators/val-maxlength.decorator","MinLength":"./lib/decorators/val-minlength.decorator","StringLength":"./lib/decorators/val-stringlength.decorator","Pattern":"./lib/decorators/val-pattern.decorator","Email":"./lib/decorators/val-email.decorator","Range":"./lib/decorators/val-range.decorator","Compare":"./lib/decorators/val-compare.decorator","Display":"./lib/decorators/hint-display.decorator","UiHint":"./lib/decorators/hint-uihint.decorator","DisplayGroup":"./lib/decorators/hint-displaygroup.decorator","Placeholder":"./lib/decorators/hint-placeholder.decorator","TemplateHint":"./lib/decorators/hint-templatehint.decorator","Hidden":"./lib/decorators/hint-hidden.decorator","Sortable":"./lib/decorators/hint-sortable.decorator","Readonly":"./lib/decorators/hint-readonly.decorator","FormatPipe":"./lib/decorators/hint-formatpipe.decorator","FormValidatorService":"./lib/services/formvalidator.service","displayGroupType":"./lib/services/formvalidator.model","displayType":"./lib/services/formvalidator.model","formatType":"./lib/services/formvalidator.model","hiddenType":"./lib/services/formvalidator.model","placeHolderType":"./lib/services/formvalidator.model","readonlyType":"./lib/services/formvalidator.model","templateHintType":"./lib/services/formvalidator.model","validatorType":"./lib/services/formvalidator.model","compareType":"./lib/services/formvalidator.model","emailType":"./lib/services/formvalidator.model","maxlengthType":"./lib/services/formvalidator.model","minlengthType":"./lib/services/formvalidator.model","patternType":"./lib/services/formvalidator.model","rangeType":"./lib/services/formvalidator.model","requiredType":"./lib/services/formvalidator.model","stringLengthType":"./lib/services/formvalidator.model","FormValidatorModel":"./lib/services/formvalidator.model","DataGridPaginationComponent":"./lib/widgets/datagrid/pagination/datagridpagination.component","Direction":"./lib/widgets/datagrid/models/datagrid.model","DataGridModel":"./lib/widgets/datagrid/models/datagrid.model","DataGridComponent":"./lib/widgets/datagrid/datagrid.component","FormatDataPipe":"./lib/widgets/datagrid/pipe/formatdata.pipe","EditorComponent":"./lib/widgets/editors/editor/editor.component","AutoFormComponent":"./lib/widgets/editors/autoform/autoform.component","TreeViewComponent":"./lib/widgets/treeview/treeview.component","TreeViewNodeComponent":"./lib/widgets/treeview/treeviewnode/treeviewnode.component","TreeNodeBaseModel":"./lib/widgets/treeview/models/treenodebase.model","TreeNodeState":"./lib/widgets/treeview/models/treenodeoptions.model","TreeNodeOptions":"./lib/widgets/treeview/models/treenodeoptions.model","TreeNodeModel":"./lib/widgets/treeview/models/treenode.model","TextTreeNodeModel":"./lib/widgets/treeview/models/texttreenode.model","TreeNodeComponentModel":"./lib/widgets/treeview/models/treenodecomponent.model","SvogvModule":"./lib/svogv.module"},"importAs":"svogv"}