mis-crystal-design-system 2.3.8 → 2.3.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/mis-crystal-design-system-datepicker_v2.umd.js +17 -14
- package/bundles/mis-crystal-design-system-datepicker_v2.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system-datepicker_v2.umd.min.js +1 -1
- package/bundles/mis-crystal-design-system-datepicker_v2.umd.min.js.map +1 -1
- package/bundles/mis-crystal-design-system-table.umd.js +1 -1
- package/bundles/mis-crystal-design-system-table.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system-table.umd.min.js +1 -1
- package/bundles/mis-crystal-design-system-table.umd.min.js.map +1 -1
- package/bundles/mis-crystal-design-system-tooltip.umd.js +2 -2
- package/bundles/mis-crystal-design-system-tooltip.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system-tooltip.umd.min.js +1 -1
- package/bundles/mis-crystal-design-system-tooltip.umd.min.js.map +1 -1
- package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +1 -1
- package/esm2015/datepicker_v2/tz-dp-container/tz-dp-container.component.js +20 -17
- package/esm2015/table/table.component.js +2 -2
- package/esm2015/tooltip/tooltip.directive.js +3 -3
- package/fesm2015/mis-crystal-design-system-datepicker_v2.js +17 -14
- package/fesm2015/mis-crystal-design-system-datepicker_v2.js.map +1 -1
- package/fesm2015/mis-crystal-design-system-table.js +1 -1
- package/fesm2015/mis-crystal-design-system-table.js.map +1 -1
- package/fesm2015/mis-crystal-design-system-tooltip.js +2 -2
- package/fesm2015/mis-crystal-design-system-tooltip.js.map +1 -1
- package/package.json +1 -1
- package/tooltip/mis-crystal-design-system-tooltip.metadata.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/mis-components/table/table.component.ts","../../../projects/mis-components/table/custom-table-cell.directive.ts","../../../projects/mis-components/table/sub-table/sub-table.component.ts","../../../projects/mis-components/table/filter/filter.component.ts","../../../projects/mis-components/table/table.module.ts"],"names":["Object","create","__values","o","s","Symbol","iterator","m","i","call","length","next","value","done","TypeError","TableComponent","renderer","this","showFilter","filterName","filterData","filterContainerStyles","appliedFilters","filtersUpdated","EventEmitter","selectedPage","pages","pageSelected","tableData","subTableData","prototype","ngOnInit","_this","initializeFilters","config","paginationConfig","initializePagination","undefined","canScrollHorizontally","document","addEventListener","event","filter","isCheckBoxClicked","target","className","container","nativeElement","contains","toggleFilter","ngAfterViewInit","height","table","offsetHeight","setStyle","_e","colHeaderConfig","_f","colHeader","filters","_g","e_2","_h","checked","push","name","data","offSet","colHeadersReversed","colHeaders","toArray","reverse","colHeadersReversed_1","colHeadersReversed_1_1","header","innerText","offsetWidth","top","right","updateAppliedFilters","emit","assign","len","noOfPages","updateSelectedPage","pageNumber","getContainerHeight","getContainerWidth","width","getColHeadersRowHeight","colHeadersRowConfig","getColHeadersRowBorderTop","_a","style","borderTop","_b","getColHeadersRowBorderBottom","borderBottom","Component","args","selector","template","Renderer2","Output","ViewChild","ViewChildren","Input","CustomTableCellDirective","viewContainerRef","componentFactoryResolver","defineProperty","component","createComponent","cellData","ref","instance","cmpFactoryResolver","resolveComponentFactory","clear","setData","Directive","ViewContainerRef","ComponentFactoryResolver","SubTableComponent","TableFilterComponent","filtersData","containerStyles","filtersApplied","filtersMap","searchValue","mySort","a","b","forEach","resetFilters","applyFilters","list","values","map","updateSearchValue","updateFilter","getFiltersBasedOnSearchValue","match","RegExp","sort","getCheckedFilters","TableModule","forRoot","ngModule","providers","NgModule","declarations","imports","CommonModule","CheckboxModule","ScrollingModule","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { Filter, TableFilterComponent } from './filter/filter.component';\n\n@Component({\n selector: 'mis-table',\n templateUrl: 'table.component.html',\n styleUrls: ['table.component.css'],\n})\nexport class TableComponent implements OnInit, AfterViewInit {\n // Filter related variables\n showFilter: boolean = false;\n filterName: string = '';\n filterData: Array<Filter> = [];\n filterContainerStyles: any = {};\n appliedFilters: { [key: string]: Array<{ name: string; value: string }> } =\n {};\n @Output() filtersUpdated = new EventEmitter<{\n [key: string]: Array<{ name: string; value: string }>;\n }>();\n\n @ViewChild('filter') filter: TableFilterComponent | any;\n @ViewChildren('colHeaderRef') colHeaders: QueryList<ElementRef> | any;\n\n // Pagination related variables\n selectedPage = 1;\n pages: Array<number> = [];\n\n @Output() pageSelected = new EventEmitter<number>();\n\n @Input('tableConfig') config: TableConfig | any;\n @Input() subTableconfig: TableConfig | any;\n @Input() tableDataLoading: boolean | any;\n @Input() expandedIndex: number | any;\n @Input() tableData: Array<Array<any>> = [];\n @Input() subTableData: Array<Array<any>> = [];\n @Input() subTableDataLoading: boolean | any;\n @ViewChild('table') table: ElementRef | any;\n\n constructor(private renderer: Renderer2) { }\n\n ngOnInit(): void {\n this.initializeFilters()\n if (this.config.paginationConfig) {\n this.initializePagination();\n }\n if (this.config.canScrollHorizontally === undefined) {\n this.config.canScrollHorizontally = false;\n }\n document.addEventListener('click', (event) => {\n if (this.filter) {\n let isCheckBoxClicked = false;\n let targetElement = event.target as HTMLSpanElement;\n if (targetElement.className === 'checkmark') {\n isCheckBoxClicked = true;\n this.showFilter = true;\n }\n let isClickInsideElement = this.filter.container.nativeElement.contains(\n event.target\n );\n if (!isClickInsideElement && !isCheckBoxClicked) {\n this.toggleFilter(this.filterName);\n }\n }\n });\n }\n ngAfterViewInit() {\n if (this.config.paginationConfig) {\n let height = this.table.nativeElement.offsetHeight;\n this.renderer.setStyle(\n this.table.nativeElement,\n 'height',\n (height - 56) + 'px'\n );\n }\n }\n\n // Filter related functions\n initializeFilters() {\n for (let colHeader of this.config.colHeaderConfig) {\n if (colHeader.filters) {\n let filters = []\n for (let filter of colHeader.filters) {\n if (filter.checked) {\n filters.push({\n name: filter.name,\n value: filter.value\n })\n }\n }\n if (filters.length > 0) this.appliedFilters[colHeader.data] = filters\n }\n }\n }\n toggleFilter(filterName: string) {\n if (!this.showFilter) {\n this.filterName = filterName\n this.showFilter = true\n\n let offSet = 0;\n let colHeadersReversed = this.colHeaders.toArray().reverse();\n\n for (let header of colHeadersReversed) {\n if (header.nativeElement.innerText === filterName) break;\n offSet += header.nativeElement.offsetWidth;\n }\n this.filterContainerStyles = {\n top: '44px',\n right: offSet > 0 ? offSet - 116 + 'px' : '12px',\n };\n } else {\n this.filterName = '';\n this.filterData = [];\n this.showFilter = false;\n }\n }\n updateAppliedFilters(appliedFilters: Array<{ name: string; value: string }>) {\n if (appliedFilters.length == 0) {\n delete this.appliedFilters[this.filterName];\n } else {\n this.appliedFilters[this.filterName] = appliedFilters;\n }\n this.filtersUpdated.emit({ ...this.appliedFilters });\n this.toggleFilter(this.filterName);\n }\n\n // Pagination related functions\n initializePagination() {\n if (this.config.paginationConfig) {\n let len = this.config.paginationConfig.noOfPages;\n if (len <= 7) {\n for (let i = 1; i <= len; i++) {\n this.pages.push(i);\n }\n } else {\n this.pages = [1, 2, 3, 4, 0, len];\n }\n }\n }\n updateSelectedPage(pageNumber: number) {\n if (pageNumber < 1 || pageNumber > this.config.paginationConfig.noOfPages)\n return;\n this.selectedPage = pageNumber;\n let len = this.config.paginationConfig.noOfPages;\n if (len > 7) {\n if (pageNumber - 2 <= 1) {\n this.pages = [1, 2, 3, 4, 0, len];\n } else if (pageNumber - 2 > 1 && pageNumber + 2 < len) {\n this.pages = [1, 0, pageNumber - 1, pageNumber, pageNumber + 1, 0, len];\n } else if (pageNumber + 2 >= len) {\n this.pages = [1, 0, len - 3, len - 2, len - 1, len];\n }\n }\n this.pageSelected.emit(this.selectedPage);\n }\n\n // Main container related functions\n getContainerHeight() {\n if (this.config.height) return this.config.height;\n else return '';\n }\n getContainerWidth() {\n if (this.config.width) return this.config.width;\n else return '';\n }\n\n // Column Headers related functions\n getColHeadersRowHeight() {\n if (\n this.config.colHeadersRowConfig &&\n this.config.colHeadersRowConfig.height\n ) {\n return this.config.colHeadersRowConfig.height;\n } else return '44px';\n }\n getColHeadersRowBorderTop() {\n if (\n this.config.colHeadersRowConfig &&\n this.config.colHeadersRowConfig.style?.borderTop\n ) {\n return this.config.colHeadersRowConfig.style?.borderTop;\n } else return '';\n }\n getColHeadersRowBorderBottom() {\n if (\n this.config.colHeadersRowConfig &&\n this.config.colHeadersRowConfig.style?.borderBottom\n ) {\n return this.config.colHeadersRowConfig.style?.borderBottom;\n } else return '1px solid #E0E0E0';\n }\n}\n\nexport interface TableConfig {\n height: string | '100%';\n width: string | '100%';\n paginationConfig?: PaginationConfig | undefined | null;\n colHeadersRowConfig: RowConfig | undefined | null;\n rowConfig: RowConfig | undefined | null;\n colHeaderConfig: Array<ColHeaderConfig>;\n colConfig: Array<ColConfig>;\n canExpand?: boolean | false;\n canScrollHorizontally?: boolean | false;\n}\nexport interface PaginationConfig {\n noOfPages: number;\n rowsPerPage: number;\n totalNoOfRows: number;\n}\nexport interface RowConfig {\n height?: string | undefined | null;\n style?: {};\n}\nexport interface ColHeaderConfig {\n type: 'text' | 'number' | 'custom';\n data: any;\n componentRef?: any;\n filters?: Array<Filter> | null;\n style?: {};\n action?: any;\n}\nexport interface ColConfig {\n type: 'text' | 'number' | 'custom';\n componentRef?: any;\n style?: {};\n action?: any;\n}\n","import {\n ComponentFactoryResolver,\n Directive,\n Input,\n ViewContainerRef,\n} from '@angular/core';\n\n@Directive({\n selector: '[customTableCell]',\n})\nexport class CustomTableCellDirective {\n private ref: any;\n private component: any;\n private cellData: any;\n\n @Input() set customComponent(value: any) {\n this.component = value;\n this.createComponent();\n }\n @Input() set data(value: any) {\n this.cellData = value;\n if (this.ref) { this.ref.instance.data = this.cellData; }\n }\n\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n private componentFactoryResolver: ComponentFactoryResolver\n ) { }\n\n createComponent() {\n if (this.component) {\n const cmpFactoryResolver =\n this.componentFactoryResolver.resolveComponentFactory(this.component);\n this.viewContainerRef.clear();\n this.ref = this.viewContainerRef.createComponent(cmpFactoryResolver);\n this.setData();\n }\n }\n setData() {\n this.ref.instance.data = this.cellData;\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnInit,\n Renderer2,\n ViewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'sub-table',\n templateUrl: 'sub-table.component.html',\n styleUrls: ['sub-table.component.css'],\n})\nexport class SubTableComponent implements OnInit, AfterViewInit {\n selectedPage = 1;\n pages: Array<number> = [];\n\n @Input() config: SubTableConfig | any;\n @Input() tableData: Array<Array<any>> = [];\n @ViewChild('table') table: ElementRef | any;\n constructor(private renderer: Renderer2) { }\n\n ngOnInit() { }\n\n ngAfterViewInit() {\n if (this.config.paginationConfig) {\n let height = this.table.nativeElement.offsetHeight;\n this.renderer.setStyle(\n this.table.nativeElement,\n 'height',\n height - 56 + 'px'\n );\n }\n }\n\n // Main container related functions\n getContainerHeight() {\n if (this.config.height) return this.config.height;\n else return '';\n }\n getContainerWidth() {\n if (this.config.width) return this.config.width;\n else return '';\n }\n\n // Column Headers related functions\n getColHeadersRowHeight() {\n if (\n this.config.colHeadersRowConfig &&\n this.config.colHeadersRowConfig.height\n ) {\n return this.config.colHeadersRowConfig.height;\n } else return '44px';\n }\n getColHeadersRowBorderTop() {\n if (\n this.config.colHeadersRowConfig &&\n this.config.colHeadersRowConfig.style?.borderTop\n ) {\n return this.config.colHeadersRowConfig.style?.borderTop;\n } else return '';\n }\n getColHeadersRowBorderBottom() {\n if (\n this.config.colHeadersRowConfig &&\n this.config.colHeadersRowConfig.style?.borderBottom\n ) {\n return this.config.colHeadersRowConfig.style?.borderBottom;\n } else return '1px solid #E0E0E0';\n }\n}\n\nexport interface SubTableConfig {\n height: string | '100%';\n width: string | '100%';\n dataContainerMaxHeight: string | '400px';\n showHeader?: boolean | undefined;\n rowConfig: SubTableRowConfig | undefined | null;\n colHeaderConfig?: Array<SubTableColHeaderConfig>;\n colConfig: Array<SubTableColConfig>;\n}\n\nexport interface SubTableRowConfig {\n height?: string | undefined | null;\n style?: {};\n}\nexport interface SubTableColHeaderConfig {\n type: 'text' | 'number' | 'custom';\n data: any;\n componentRef?: any;\n style?: {};\n action?: any;\n}\nexport interface SubTableColConfig {\n type: 'text' | 'number' | 'custom';\n componentRef?: any;\n style?: {};\n action?: any;\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'mis-table-filter',\n templateUrl: 'filter.component.html',\n styleUrls: ['filter.component.css'],\n})\nexport class TableFilterComponent implements OnInit {\n @Input() filtersData: Array<Filter> = [];\n @Input() containerStyles: any = {};\n\n @Output() filtersApplied = new EventEmitter<any>();\n\n @ViewChild('mainContainer') container: ElementRef | undefined;\n\n filtersMap: any = {};\n searchValue: string = '';\n\n constructor() { }\n\n ngOnInit(): void {\n this.filtersData.forEach((filter) => {\n this.filtersMap[filter.value] = filter;\n });\n }\n resetFilters() {\n this.filtersData.forEach((filter) => {\n this.filtersMap[filter.value].checked = false;\n });\n this.filtersApplied.emit([]);\n }\n applyFilters() {\n let list = Object.values(this.filtersMap)\n .filter((filter: Filter | any) => filter.checked)\n .map((filter: Filter | any) => {\n return {\n name: filter.name,\n value: filter.value,\n };\n });\n this.filtersApplied.emit(list);\n }\n updateSearchValue(event: any) {\n this.searchValue = event.target.value;\n }\n updateFilter(data: any) {\n if (this.filtersMap[data.name]) {\n this.filtersMap[data.name].checked = !this.filtersMap[data.name].checked;\n }\n }\n getFiltersBasedOnSearchValue(): Filter[] | any {\n let list = Object.values(this.filtersMap);\n list = list.filter((filter: Filter | any) => {\n return filter.name.match(new RegExp(this.searchValue, 'i'));\n });\n return list.sort(this.mySort);\n }\n getCheckedFilters(): Filter[] | any {\n let list = Object.values(this.filtersMap);\n list = list\n .filter((filter: Filter | any) => filter.checked)\n .sort(this.mySort);\n return list;\n }\n mySort = (a: Filter | any, b: Filter | any) => {\n if (a.name < b.name) return -1;\n else if (b.name < a.name) return 1;\n else return 0;\n };\n}\nexport interface Filter {\n name: string;\n value: string;\n checked: boolean;\n}\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { TableComponent } from \"./table.component\";\nimport { CustomTableCellDirective } from \"./custom-table-cell.directive\";\nimport { SubTableComponent } from './sub-table/sub-table.component';\nimport { CommonModule } from \"@angular/common\";\nimport { TableFilterComponent } from \"./filter/filter.component\";\nimport { CheckboxModule } from 'mis-crystal-design-system/checkbox';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\n\n@NgModule({\n declarations: [\n TableComponent,\n SubTableComponent,\n TableFilterComponent,\n CustomTableCellDirective,\n ],\n imports: [\n CommonModule,\n CheckboxModule,\n ScrollingModule\n ],\n exports: [\n TableComponent,\n SubTableComponent,\n TableFilterComponent,\n CustomTableCellDirective\n ]\n})\nexport class TableModule {\n static forRoot(): ModuleWithProviders<TableModule> {\n return { ngModule: TableModule, providers: [] };\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/mis-components/table/table.component.ts","../../../projects/mis-components/table/custom-table-cell.directive.ts","../../../projects/mis-components/table/sub-table/sub-table.component.ts","../../../projects/mis-components/table/filter/filter.component.ts","../../../projects/mis-components/table/table.module.ts"],"names":["Object","create","__values","o","s","Symbol","iterator","m","i","call","length","next","value","done","TypeError","TableComponent","renderer","this","showFilter","filterName","filterData","filterContainerStyles","appliedFilters","filtersUpdated","EventEmitter","selectedPage","pages","pageSelected","tableData","subTableData","prototype","ngOnInit","_this","initializeFilters","config","paginationConfig","initializePagination","undefined","canScrollHorizontally","document","addEventListener","event","filter","isCheckBoxClicked","target","className","container","nativeElement","contains","toggleFilter","ngAfterViewInit","height","table","offsetHeight","setStyle","_e","colHeaderConfig","_f","colHeader","filters","_g","e_2","_h","checked","push","name","data","offSet","colHeadersReversed","colHeaders","toArray","reverse","colHeadersReversed_1","colHeadersReversed_1_1","header","innerText","offsetWidth","top","right","updateAppliedFilters","emit","assign","len","noOfPages","updateSelectedPage","pageNumber","getContainerHeight","getContainerWidth","width","getColHeadersRowHeight","colHeadersRowConfig","getColHeadersRowBorderTop","_a","style","borderTop","_b","getColHeadersRowBorderBottom","borderBottom","Component","args","selector","template","Renderer2","Output","ViewChild","ViewChildren","Input","CustomTableCellDirective","viewContainerRef","componentFactoryResolver","defineProperty","component","createComponent","cellData","ref","instance","cmpFactoryResolver","resolveComponentFactory","clear","setData","Directive","ViewContainerRef","ComponentFactoryResolver","SubTableComponent","TableFilterComponent","filtersData","containerStyles","filtersApplied","filtersMap","searchValue","mySort","a","b","forEach","resetFilters","applyFilters","list","values","map","updateSearchValue","updateFilter","getFiltersBasedOnSearchValue","match","RegExp","sort","getCheckedFilters","TableModule","forRoot","ngModule","providers","NgModule","declarations","imports","CommonModule","CheckboxModule","ScrollingModule","exports"],"mappings":";;;;;;;;;;;;;;oFA2G6BA,OAAOC,gBAYpBC,EAASC,GACrB,IAAIC,EAAsB,mBAAXC,QAAyBA,OAAOC,SAAUC,EAAIH,GAAKD,EAAEC,GAAII,EAAI,EAC5E,GAAID,EAAG,OAAOA,EAAEE,KAAKN,GACrB,GAAIA,GAAyB,iBAAbA,EAAEO,OAAqB,MAAO,CAC1CC,KAAM,WAEF,OADIR,GAAKK,GAAKL,EAAEO,SAAQP,OAAI,GACrB,CAAES,MAAOT,GAAKA,EAAEK,KAAMK,MAAOV,KAG5C,MAAM,IAAIW,UAAUV,EAAI,0BAA4B,mCAiF/BJ,OAAOC,wBC/J9B,SAAAc,EAAoBC,GAAAC,KAAAD,SAAAA,EA5BpBC,KAAAC,YAAsB,EACtBD,KAAAE,WAAqB,GACrBF,KAAAG,WAA4B,GAC5BH,KAAAI,sBAA6B,GAC7BJ,KAAAK,eACE,GACQL,KAAAM,eAAiB,IAAIC,EAAAA,aAQ/BP,KAAAQ,aAAe,EACfR,KAAAS,MAAuB,GAEbT,KAAAU,aAAe,IAAIH,EAAAA,aAMpBP,KAAAW,UAA+B,GAC/BX,KAAAY,aAAkC,UAM3Cd,EAAAe,UAAAC,SAAA,WAAA,IAAAC,EAAAf,KACEA,KAAKgB,oBACDhB,KAAKiB,OAAOC,kBACdlB,KAAKmB,4BAEmCC,IAAtCpB,KAAKiB,OAAOI,wBACdrB,KAAKiB,OAAOI,uBAAwB,GAEtCC,SAASC,iBAAiB,SAAS,SAACC,GAClC,GAAIT,EAAKU,OAAQ,CACf,IAAIC,GAAoB,EAEQ,cADZF,EAAMG,OACRC,YAChBF,GAAoB,EACpBX,EAAKd,YAAa,GAEOc,EAAKU,OAAOI,UAAUC,cAAcC,SAC7DP,EAAMG,SAEsBD,GAC5BX,EAAKiB,aAAajB,EAAKb,iBAK/BJ,EAAAe,UAAAoB,gBAAA,WACE,GAAIjC,KAAKiB,OAAOC,iBAAkB,CAChC,IAAIgB,EAASlC,KAAKmC,MAAML,cAAcM,aACtCpC,KAAKD,SAASsC,SACZrC,KAAKmC,MAAML,cACX,SACCI,EAAS,GAAM,QAMtBpC,EAAAe,UAAAG,kBAAA,2BACE,IAAsB,IAAAsB,EAAArD,EAAAe,KAAKiB,OAAOsB,iBAAeC,EAAAF,EAAA5C,QAAA8C,EAAA5C,KAAA4C,EAAAF,EAAA5C,OAAE,CAA9C,IAAI+C,EAASD,EAAA7C,MAChB,GAAI8C,EAAUC,QAAS,CACrB,IAAIA,EAAU,OACd,IAAmB,IAAAC,GAAAC,OAAA,EAAA3D,EAAAwD,EAAUC,UAAOG,EAAAF,EAAAjD,QAAAmD,EAAAjD,KAAAiD,EAAAF,EAAAjD,OAAE,CAAjC,IAAI+B,EAAMoB,EAAAlD,MACT8B,EAAOqB,SACTJ,EAAQK,KAAK,CACXC,KAAMvB,EAAOuB,KACbrD,MAAO8B,EAAO9B,0GAIhB+C,EAAQjD,OAAS,IAAGO,KAAKK,eAAeoC,EAAUQ,MAAQP,wGAIpE5C,EAAAe,UAAAmB,aAAA,SAAa9B,WACX,GAAKF,KAAKC,WAgBRD,KAAKE,WAAa,GAClBF,KAAKG,WAAa,GAClBH,KAAKC,YAAa,MAlBE,CACpBD,KAAKE,WAAaA,EAClBF,KAAKC,YAAa,EAElB,IAAIiD,EAAS,EACTC,EAAqBnD,KAAKoD,WAAWC,UAAUC,cAEnD,IAAmB,IAAAC,EAAAtE,EAAAkE,GAAkBK,EAAAD,EAAA7D,QAAA8D,EAAA5D,KAAA4D,EAAAD,EAAA7D,OAAE,CAAlC,IAAI+D,EAAMD,EAAA7D,MACb,GAAI8D,EAAO3B,cAAc4B,YAAcxD,EAAY,MACnDgD,GAAUO,EAAO3B,cAAc6B,8GAEjC3D,KAAKI,sBAAwB,CAC3BwD,IAAK,OACLC,MAAOX,EAAS,EAAIA,EAAS,IAAM,KAAO,UAQhDpD,EAAAe,UAAAiD,qBAAA,SAAqBzD,GACU,GAAzBA,EAAeZ,cACVO,KAAKK,eAAeL,KAAKE,YAEhCF,KAAKK,eAAeL,KAAKE,YAAcG,EAEzCL,KAAKM,eAAeyD,KAAIhF,OAAAiF,OAAA,GAAMhE,KAAKK,iBACnCL,KAAKgC,aAAahC,KAAKE,aAIzBJ,EAAAe,UAAAM,qBAAA,WACE,GAAInB,KAAKiB,OAAOC,iBAAkB,CAChC,IAAI+C,EAAMjE,KAAKiB,OAAOC,iBAAiBgD,UACvC,GAAID,GAAO,EACT,IAAK,IAAI1E,EAAI,EAAGA,GAAK0E,EAAK1E,IACxBS,KAAKS,MAAMsC,KAAKxD,QAGlBS,KAAKS,MAAQ,CAAC,EAAG,EAAG,EAAG,EAAG,EAAGwD,KAInCnE,EAAAe,UAAAsD,mBAAA,SAAmBC,GACjB,KAAIA,EAAa,GAAKA,EAAapE,KAAKiB,OAAOC,iBAAiBgD,WAAhE,CAEAlE,KAAKQ,aAAe4D,EACpB,IAAIH,EAAMjE,KAAKiB,OAAOC,iBAAiBgD,UACnCD,EAAM,IACJG,EAAa,GAAK,EACpBpE,KAAKS,MAAQ,CAAC,EAAG,EAAG,EAAG,EAAG,EAAGwD,GACpBG,EAAa,EAAI,GAAKA,EAAa,EAAIH,EAChDjE,KAAKS,MAAQ,CAAC,EAAG,EAAG2D,EAAa,EAAGA,EAAYA,EAAa,EAAG,EAAGH,GAC1DG,EAAa,GAAKH,IAC3BjE,KAAKS,MAAQ,CAAC,EAAG,EAAGwD,EAAM,EAAGA,EAAM,EAAGA,EAAM,EAAGA,KAGnDjE,KAAKU,aAAaqD,KAAK/D,KAAKQ,gBAI9BV,EAAAe,UAAAwD,mBAAA,WACE,OAAIrE,KAAKiB,OAAOiB,OAAelC,KAAKiB,OAAOiB,OAC/B,IAEdpC,EAAAe,UAAAyD,kBAAA,WACE,OAAItE,KAAKiB,OAAOsD,MAAcvE,KAAKiB,OAAOsD,MAC9B,IAIdzE,EAAAe,UAAA2D,uBAAA,WACE,OACExE,KAAKiB,OAAOwD,qBACZzE,KAAKiB,OAAOwD,oBAAoBvC,OAEzBlC,KAAKiB,OAAOwD,oBAAoBvC,OAC3B,QAEhBpC,EAAAe,UAAA6D,0BAAA,mBACE,OACE1E,KAAKiB,OAAOwD,sBACyB,QADNE,EAC/B3E,KAAKiB,OAAOwD,oBAAoBG,aAAK,IAAAD,OAAA,EAAAA,EAAEE,WAEK,QAA5CC,EAAO9E,KAAKiB,OAAOwD,oBAAoBG,aAAK,IAAAE,OAAA,EAAAA,EAAED,UAClC,IAEhB/E,EAAAe,UAAAkE,6BAAA,mBACE,OACE/E,KAAKiB,OAAOwD,sBACyB,QADNE,EAC/B3E,KAAKiB,OAAOwD,oBAAoBG,aAAK,IAAAD,OAAA,EAAAA,EAAEK,cAEK,QAA5CF,EAAO9E,KAAKiB,OAAOwD,oBAAoBG,aAAK,IAAAE,OAAA,EAAAA,EAAEE,aAClC,8CAzLjBC,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,YACVC,SAAA,0kVARAC,EAAAA,qDAmBCC,EAAAA,uBAIAC,EAAAA,UAASL,KAAA,CAAC,8BACVM,EAAAA,aAAYN,KAAA,CAAC,sCAMbI,EAAAA,uBAEAG,EAAAA,MAAKP,KAAA,CAAC,uCACNO,EAAAA,gCACAA,EAAAA,6BACAA,EAAAA,yBACAA,EAAAA,4BACAA,EAAAA,mCACAA,EAAAA,qBACAF,EAAAA,UAASL,KAAA,CAAC,6BCvBX,SAAAQ,EACUC,EACAC,GADA5F,KAAA2F,iBAAAA,EACA3F,KAAA4F,yBAAAA,SAZV7G,OAAA8G,eAAaH,EAAA7E,UAAA,kBAAe,KAA5B,SAA6BlB,GAC3BK,KAAK8F,UAAYnG,EACjBK,KAAK+F,mDAEPhH,OAAA8G,eAAaH,EAAA7E,UAAA,OAAI,KAAjB,SAAkBlB,GAChBK,KAAKgG,SAAWrG,EACZK,KAAKiG,MAAOjG,KAAKiG,IAAIC,SAASjD,KAAOjD,KAAKgG,2CAShDN,EAAA7E,UAAAkF,gBAAA,WACE,GAAI/F,KAAK8F,UAAW,CAClB,IAAMK,EACJnG,KAAK4F,yBAAyBQ,wBAAwBpG,KAAK8F,WAC7D9F,KAAK2F,iBAAiBU,QACtBrG,KAAKiG,IAAMjG,KAAK2F,iBAAiBI,gBAAgBI,GACjDnG,KAAKsG,YAGTZ,EAAA7E,UAAAyF,QAAA,WACEtG,KAAKiG,IAAIC,SAASjD,KAAOjD,KAAKgG,mCAjCjCO,EAAAA,UAASrB,KAAA,CAAC,CACTC,SAAU,iEAJVqB,EAAAA,wBAHAC,EAAAA,qEAcChB,EAAAA,oBAIAA,EAAAA,0BCGD,SAAAiB,EAAoB3G,GAAAC,KAAAD,SAAAA,EANpBC,KAAAQ,aAAe,EACfR,KAAAS,MAAuB,GAGdT,KAAAW,UAA+B,UAIxC+F,EAAA7F,UAAAC,SAAA,aAEA4F,EAAA7F,UAAAoB,gBAAA,WACE,GAAIjC,KAAKiB,OAAOC,iBAAkB,CAChC,IAAIgB,EAASlC,KAAKmC,MAAML,cAAcM,aACtCpC,KAAKD,SAASsC,SACZrC,KAAKmC,MAAML,cACX,SACAI,EAAS,GAAK,QAMpBwE,EAAA7F,UAAAwD,mBAAA,WACE,OAAIrE,KAAKiB,OAAOiB,OAAelC,KAAKiB,OAAOiB,OAC/B,IAEdwE,EAAA7F,UAAAyD,kBAAA,WACE,OAAItE,KAAKiB,OAAOsD,MAAcvE,KAAKiB,OAAOsD,MAC9B,IAIdmC,EAAA7F,UAAA2D,uBAAA,WACE,OACExE,KAAKiB,OAAOwD,qBACZzE,KAAKiB,OAAOwD,oBAAoBvC,OAEzBlC,KAAKiB,OAAOwD,oBAAoBvC,OAC3B,QAEhBwE,EAAA7F,UAAA6D,0BAAA,mBACE,OACE1E,KAAKiB,OAAOwD,sBACyB,QADNE,EAC/B3E,KAAKiB,OAAOwD,oBAAoBG,aAAK,IAAAD,OAAA,EAAAA,EAAEE,WAEK,QAA5CC,EAAO9E,KAAKiB,OAAOwD,oBAAoBG,aAAK,IAAAE,OAAA,EAAAA,EAAED,UAClC,IAEhB6B,EAAA7F,UAAAkE,6BAAA,mBACE,OACE/E,KAAKiB,OAAOwD,sBACyB,QADNE,EAC/B3E,KAAKiB,OAAOwD,oBAAoBG,aAAK,IAAAD,OAAA,EAAAA,EAAEK,cAEK,QAA5CF,EAAO9E,KAAKiB,OAAOwD,oBAAoBG,aAAK,IAAAE,OAAA,EAAAA,EAAEE,aAClC,8CA5DjBC,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,YACVC,SAAA,0uJANAC,EAAAA,6CAaCI,EAAAA,yBACAA,EAAAA,qBACAF,EAAAA,UAASL,KAAA,CAAC,6BCKX,SAAAyB,IAVS3G,KAAA4G,YAA6B,GAC7B5G,KAAA6G,gBAAuB,GAEtB7G,KAAA8G,eAAiB,IAAIvG,EAAAA,aAI/BP,KAAA+G,WAAkB,GAClB/G,KAAAgH,YAAsB,GAgDtBhH,KAAAiH,OAAS,SAACC,EAAiBC,GACzB,OAAID,EAAElE,KAAOmE,EAAEnE,MAAc,EACpBmE,EAAEnE,KAAOkE,EAAElE,KAAa,EACrB,UA/Cd2D,EAAA9F,UAAAC,SAAA,WAAA,IAAAC,EAAAf,KACEA,KAAK4G,YAAYQ,SAAQ,SAAC3F,GACxBV,EAAKgG,WAAWtF,EAAO9B,OAAS8B,MAGpCkF,EAAA9F,UAAAwG,aAAA,WAAA,IAAAtG,EAAAf,KACEA,KAAK4G,YAAYQ,SAAQ,SAAC3F,GACxBV,EAAKgG,WAAWtF,EAAO9B,OAAOmD,SAAU,KAE1C9C,KAAK8G,eAAe/C,KAAK,KAE3B4C,EAAA9F,UAAAyG,aAAA,WACE,IAAIC,EAAOxI,OAAOyI,OAAOxH,KAAK+G,YAC3BtF,QAAO,SAACA,GAAyB,OAAAA,EAAOqB,WACxC2E,KAAI,SAAChG,GACJ,MAAO,CACLuB,KAAMvB,EAAOuB,KACbrD,MAAO8B,EAAO9B,UAGpBK,KAAK8G,eAAe/C,KAAKwD,IAE3BZ,EAAA9F,UAAA6G,kBAAA,SAAkBlG,GAChBxB,KAAKgH,YAAcxF,EAAMG,OAAOhC,OAElCgH,EAAA9F,UAAA8G,aAAA,SAAa1E,GACPjD,KAAK+G,WAAW9D,EAAKD,QACvBhD,KAAK+G,WAAW9D,EAAKD,MAAMF,SAAW9C,KAAK+G,WAAW9D,EAAKD,MAAMF,UAGrE6D,EAAA9F,UAAA+G,6BAAA,WAAA,IAAA7G,EAAAf,KACMuH,EAAOxI,OAAOyI,OAAOxH,KAAK+G,YAI9B,OAHAQ,EAAOA,EAAK9F,QAAO,SAACA,GAClB,OAAOA,EAAOuB,KAAK6E,MAAM,IAAIC,OAAO/G,EAAKiG,YAAa,UAE5Ce,KAAK/H,KAAKiH,SAExBN,EAAA9F,UAAAmH,kBAAA,WACE,IAAIT,EAAOxI,OAAOyI,OAAOxH,KAAK+G,YAI9B,OAHAQ,EAAOA,EACJ9F,QAAO,SAACA,GAAyB,OAAAA,EAAOqB,WACxCiF,KAAK/H,KAAKiH,kCA3DhBhC,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,mBACVC,SAAA,ixIAICK,EAAAA,+BACAA,EAAAA,8BAEAH,EAAAA,0BAEAC,EAAAA,UAASL,KAAA,CAAC,qCCOb,SAAA+C,YACSA,EAAAC,QAAP,WACE,MAAO,CAAEC,SAAUF,EAAaG,UAAW,8BArB9CC,EAAAA,SAAQnD,KAAA,CAAC,CACRoD,aAAc,CACZxI,EACA4G,EACAC,EACAjB,GAEF6C,QAAS,CACPC,EAAAA,aACAC,EAAAA,eACAC,EAAAA,iBAEFC,QAAS,CACP7I,EACA4G,EACAC,EACAjB","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { Filter, TableFilterComponent } from './filter/filter.component';\n\n@Component({\n selector: 'mis-table',\n templateUrl: 'table.component.html',\n styleUrls: ['table.component.css'],\n})\nexport class TableComponent implements OnInit, AfterViewInit {\n // Filter related variables\n showFilter: boolean = false;\n filterName: string = '';\n filterData: Array<Filter> = [];\n filterContainerStyles: any = {};\n appliedFilters: { [key: string]: Array<{ name: string; value: string }> } =\n {};\n @Output() filtersUpdated = new EventEmitter<{\n [key: string]: Array<{ name: string; value: string }>;\n }>();\n\n @ViewChild('filter') filter: TableFilterComponent | any;\n @ViewChildren('colHeaderRef') colHeaders: QueryList<ElementRef> | any;\n\n // Pagination related variables\n selectedPage = 1;\n pages: Array<number> = [];\n\n @Output() pageSelected = new EventEmitter<number>();\n\n @Input('tableConfig') config: TableConfig | any;\n @Input() subTableconfig: TableConfig | any;\n @Input() tableDataLoading: boolean | any;\n @Input() expandedIndex: number | any;\n @Input() tableData: Array<Array<any>> = [];\n @Input() subTableData: Array<Array<any>> = [];\n @Input() subTableDataLoading: boolean | any;\n @ViewChild('table') table: ElementRef | any;\n\n constructor(private renderer: Renderer2) { }\n\n ngOnInit(): void {\n this.initializeFilters()\n if (this.config.paginationConfig) {\n this.initializePagination();\n }\n if (this.config.canScrollHorizontally === undefined) {\n this.config.canScrollHorizontally = false;\n }\n document.addEventListener('click', (event) => {\n if (this.filter) {\n let isCheckBoxClicked = true;\n let targetElement = event.target as HTMLSpanElement;\n if (targetElement.className === 'checkmark') {\n isCheckBoxClicked = true;\n this.showFilter = true;\n }\n let isClickInsideElement = this.filter.container.nativeElement.contains(\n event.target\n );\n if (!isClickInsideElement && !isCheckBoxClicked) {\n this.toggleFilter(this.filterName);\n }\n }\n });\n }\n ngAfterViewInit() {\n if (this.config.paginationConfig) {\n let height = this.table.nativeElement.offsetHeight;\n this.renderer.setStyle(\n this.table.nativeElement,\n 'height',\n (height - 56) + 'px'\n );\n }\n }\n\n // Filter related functions\n initializeFilters() {\n for (let colHeader of this.config.colHeaderConfig) {\n if (colHeader.filters) {\n let filters = []\n for (let filter of colHeader.filters) {\n if (filter.checked) {\n filters.push({\n name: filter.name,\n value: filter.value\n })\n }\n }\n if (filters.length > 0) this.appliedFilters[colHeader.data] = filters\n }\n }\n }\n toggleFilter(filterName: string) {\n if (!this.showFilter) {\n this.filterName = filterName\n this.showFilter = true\n\n let offSet = 0;\n let colHeadersReversed = this.colHeaders.toArray().reverse();\n\n for (let header of colHeadersReversed) {\n if (header.nativeElement.innerText === filterName) break;\n offSet += header.nativeElement.offsetWidth;\n }\n this.filterContainerStyles = {\n top: '44px',\n right: offSet > 0 ? offSet - 116 + 'px' : '12px',\n };\n } else {\n this.filterName = '';\n this.filterData = [];\n this.showFilter = false;\n }\n }\n updateAppliedFilters(appliedFilters: Array<{ name: string; value: string }>) {\n if (appliedFilters.length == 0) {\n delete this.appliedFilters[this.filterName];\n } else {\n this.appliedFilters[this.filterName] = appliedFilters;\n }\n this.filtersUpdated.emit({ ...this.appliedFilters });\n this.toggleFilter(this.filterName);\n }\n\n // Pagination related functions\n initializePagination() {\n if (this.config.paginationConfig) {\n let len = this.config.paginationConfig.noOfPages;\n if (len <= 7) {\n for (let i = 1; i <= len; i++) {\n this.pages.push(i);\n }\n } else {\n this.pages = [1, 2, 3, 4, 0, len];\n }\n }\n }\n updateSelectedPage(pageNumber: number) {\n if (pageNumber < 1 || pageNumber > this.config.paginationConfig.noOfPages)\n return;\n this.selectedPage = pageNumber;\n let len = this.config.paginationConfig.noOfPages;\n if (len > 7) {\n if (pageNumber - 2 <= 1) {\n this.pages = [1, 2, 3, 4, 0, len];\n } else if (pageNumber - 2 > 1 && pageNumber + 2 < len) {\n this.pages = [1, 0, pageNumber - 1, pageNumber, pageNumber + 1, 0, len];\n } else if (pageNumber + 2 >= len) {\n this.pages = [1, 0, len - 3, len - 2, len - 1, len];\n }\n }\n this.pageSelected.emit(this.selectedPage);\n }\n\n // Main container related functions\n getContainerHeight() {\n if (this.config.height) return this.config.height;\n else return '';\n }\n getContainerWidth() {\n if (this.config.width) return this.config.width;\n else return '';\n }\n\n // Column Headers related functions\n getColHeadersRowHeight() {\n if (\n this.config.colHeadersRowConfig &&\n this.config.colHeadersRowConfig.height\n ) {\n return this.config.colHeadersRowConfig.height;\n } else return '44px';\n }\n getColHeadersRowBorderTop() {\n if (\n this.config.colHeadersRowConfig &&\n this.config.colHeadersRowConfig.style?.borderTop\n ) {\n return this.config.colHeadersRowConfig.style?.borderTop;\n } else return '';\n }\n getColHeadersRowBorderBottom() {\n if (\n this.config.colHeadersRowConfig &&\n this.config.colHeadersRowConfig.style?.borderBottom\n ) {\n return this.config.colHeadersRowConfig.style?.borderBottom;\n } else return '1px solid #E0E0E0';\n }\n}\n\nexport interface TableConfig {\n height: string | '100%';\n width: string | '100%';\n paginationConfig?: PaginationConfig | undefined | null;\n colHeadersRowConfig: RowConfig | undefined | null;\n rowConfig: RowConfig | undefined | null;\n colHeaderConfig: Array<ColHeaderConfig>;\n colConfig: Array<ColConfig>;\n canExpand?: boolean | false;\n canScrollHorizontally?: boolean | false;\n}\nexport interface PaginationConfig {\n noOfPages: number;\n rowsPerPage: number;\n totalNoOfRows: number;\n}\nexport interface RowConfig {\n height?: string | undefined | null;\n style?: {};\n}\nexport interface ColHeaderConfig {\n type: 'text' | 'number' | 'custom';\n data: any;\n componentRef?: any;\n filters?: Array<Filter> | null;\n style?: {};\n action?: any;\n}\nexport interface ColConfig {\n type: 'text' | 'number' | 'custom';\n componentRef?: any;\n style?: {};\n action?: any;\n}\n","import {\n ComponentFactoryResolver,\n Directive,\n Input,\n ViewContainerRef,\n} from '@angular/core';\n\n@Directive({\n selector: '[customTableCell]',\n})\nexport class CustomTableCellDirective {\n private ref: any;\n private component: any;\n private cellData: any;\n\n @Input() set customComponent(value: any) {\n this.component = value;\n this.createComponent();\n }\n @Input() set data(value: any) {\n this.cellData = value;\n if (this.ref) { this.ref.instance.data = this.cellData; }\n }\n\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n private componentFactoryResolver: ComponentFactoryResolver\n ) { }\n\n createComponent() {\n if (this.component) {\n const cmpFactoryResolver =\n this.componentFactoryResolver.resolveComponentFactory(this.component);\n this.viewContainerRef.clear();\n this.ref = this.viewContainerRef.createComponent(cmpFactoryResolver);\n this.setData();\n }\n }\n setData() {\n this.ref.instance.data = this.cellData;\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnInit,\n Renderer2,\n ViewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'sub-table',\n templateUrl: 'sub-table.component.html',\n styleUrls: ['sub-table.component.css'],\n})\nexport class SubTableComponent implements OnInit, AfterViewInit {\n selectedPage = 1;\n pages: Array<number> = [];\n\n @Input() config: SubTableConfig | any;\n @Input() tableData: Array<Array<any>> = [];\n @ViewChild('table') table: ElementRef | any;\n constructor(private renderer: Renderer2) { }\n\n ngOnInit() { }\n\n ngAfterViewInit() {\n if (this.config.paginationConfig) {\n let height = this.table.nativeElement.offsetHeight;\n this.renderer.setStyle(\n this.table.nativeElement,\n 'height',\n height - 56 + 'px'\n );\n }\n }\n\n // Main container related functions\n getContainerHeight() {\n if (this.config.height) return this.config.height;\n else return '';\n }\n getContainerWidth() {\n if (this.config.width) return this.config.width;\n else return '';\n }\n\n // Column Headers related functions\n getColHeadersRowHeight() {\n if (\n this.config.colHeadersRowConfig &&\n this.config.colHeadersRowConfig.height\n ) {\n return this.config.colHeadersRowConfig.height;\n } else return '44px';\n }\n getColHeadersRowBorderTop() {\n if (\n this.config.colHeadersRowConfig &&\n this.config.colHeadersRowConfig.style?.borderTop\n ) {\n return this.config.colHeadersRowConfig.style?.borderTop;\n } else return '';\n }\n getColHeadersRowBorderBottom() {\n if (\n this.config.colHeadersRowConfig &&\n this.config.colHeadersRowConfig.style?.borderBottom\n ) {\n return this.config.colHeadersRowConfig.style?.borderBottom;\n } else return '1px solid #E0E0E0';\n }\n}\n\nexport interface SubTableConfig {\n height: string | '100%';\n width: string | '100%';\n dataContainerMaxHeight: string | '400px';\n showHeader?: boolean | undefined;\n rowConfig: SubTableRowConfig | undefined | null;\n colHeaderConfig?: Array<SubTableColHeaderConfig>;\n colConfig: Array<SubTableColConfig>;\n}\n\nexport interface SubTableRowConfig {\n height?: string | undefined | null;\n style?: {};\n}\nexport interface SubTableColHeaderConfig {\n type: 'text' | 'number' | 'custom';\n data: any;\n componentRef?: any;\n style?: {};\n action?: any;\n}\nexport interface SubTableColConfig {\n type: 'text' | 'number' | 'custom';\n componentRef?: any;\n style?: {};\n action?: any;\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'mis-table-filter',\n templateUrl: 'filter.component.html',\n styleUrls: ['filter.component.css'],\n})\nexport class TableFilterComponent implements OnInit {\n @Input() filtersData: Array<Filter> = [];\n @Input() containerStyles: any = {};\n\n @Output() filtersApplied = new EventEmitter<any>();\n\n @ViewChild('mainContainer') container: ElementRef | undefined;\n\n filtersMap: any = {};\n searchValue: string = '';\n\n constructor() { }\n\n ngOnInit(): void {\n this.filtersData.forEach((filter) => {\n this.filtersMap[filter.value] = filter;\n });\n }\n resetFilters() {\n this.filtersData.forEach((filter) => {\n this.filtersMap[filter.value].checked = false;\n });\n this.filtersApplied.emit([]);\n }\n applyFilters() {\n let list = Object.values(this.filtersMap)\n .filter((filter: Filter | any) => filter.checked)\n .map((filter: Filter | any) => {\n return {\n name: filter.name,\n value: filter.value,\n };\n });\n this.filtersApplied.emit(list);\n }\n updateSearchValue(event: any) {\n this.searchValue = event.target.value;\n }\n updateFilter(data: any) {\n if (this.filtersMap[data.name]) {\n this.filtersMap[data.name].checked = !this.filtersMap[data.name].checked;\n }\n }\n getFiltersBasedOnSearchValue(): Filter[] | any {\n let list = Object.values(this.filtersMap);\n list = list.filter((filter: Filter | any) => {\n return filter.name.match(new RegExp(this.searchValue, 'i'));\n });\n return list.sort(this.mySort);\n }\n getCheckedFilters(): Filter[] | any {\n let list = Object.values(this.filtersMap);\n list = list\n .filter((filter: Filter | any) => filter.checked)\n .sort(this.mySort);\n return list;\n }\n mySort = (a: Filter | any, b: Filter | any) => {\n if (a.name < b.name) return -1;\n else if (b.name < a.name) return 1;\n else return 0;\n };\n}\nexport interface Filter {\n name: string;\n value: string;\n checked: boolean;\n}\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { TableComponent } from \"./table.component\";\nimport { CustomTableCellDirective } from \"./custom-table-cell.directive\";\nimport { SubTableComponent } from './sub-table/sub-table.component';\nimport { CommonModule } from \"@angular/common\";\nimport { TableFilterComponent } from \"./filter/filter.component\";\nimport { CheckboxModule } from 'mis-crystal-design-system/checkbox';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\n\n@NgModule({\n declarations: [\n TableComponent,\n SubTableComponent,\n TableFilterComponent,\n CustomTableCellDirective,\n ],\n imports: [\n CommonModule,\n CheckboxModule,\n ScrollingModule\n ],\n exports: [\n TableComponent,\n SubTableComponent,\n TableFilterComponent,\n CustomTableCellDirective\n ]\n})\nexport class TableModule {\n static forRoot(): ModuleWithProviders<TableModule> {\n return { ngModule: TableModule, providers: [] };\n }\n}\n"]}
|
|
@@ -193,8 +193,8 @@
|
|
|
193
193
|
width: [{ type: core.Input }],
|
|
194
194
|
text: [{ type: core.Input }],
|
|
195
195
|
position: [{ type: core.Input }],
|
|
196
|
-
onMouseEnter: [{ type: core.HostListener, args: ['mouseenter',
|
|
197
|
-
onMouseLeave: [{ type: core.HostListener, args: ['mouseleave',
|
|
196
|
+
onMouseEnter: [{ type: core.HostListener, args: ['mouseenter',] }],
|
|
197
|
+
onMouseLeave: [{ type: core.HostListener, args: ['mouseleave',] }]
|
|
198
198
|
};
|
|
199
199
|
|
|
200
200
|
var ToolTipModule = /** @class */ (function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mis-crystal-design-system-tooltip.umd.js","sources":["../../../projects/mis-components/tooltip/tooltip.component.ts","../../../projects/mis-components/tooltip/tooltip.directive.ts","../../../projects/mis-components/tooltip/tooltip.module.ts","../../../projects/mis-components/tooltip/mis-crystal-design-system-tooltip.ts"],"sourcesContent":["import {AfterViewInit, Component, ElementRef, Input, OnInit, Renderer2, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'mis-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss']\n})\nexport class ToolTipComponent implements OnInit, AfterViewInit{\n\n public toolTipText: string = ''\n public toolTipWidth: string = ''\n public toolTipPosition: 'Left' | 'Right' | 'Top' | 'Bottom' = 'Bottom'\n\n @Input() set text(value: string){\n this.toolTipText = value\n this.updateToolTipPosition()\n }\n @Input() set width(value: string){\n this.toolTipWidth = value;\n this.updateToolTipPosition()\n }\n @Input() set position(value: 'Left' | 'Right' | 'Top' | 'Bottom'){\n this.toolTipPosition = value\n this.updateToolTipPosition()\n }\n\n @ViewChild('container') container: ElementRef\n\n constructor(private renderer: Renderer2) {\n }\n ngOnInit() {\n }\n ngAfterViewInit(){\n this.updateToolTipPosition()\n }\n updateToolTipPosition(){\n if(this.container){\n let width = this.container.nativeElement.offsetWidth\n if(this.toolTipPosition === 'Left'){\n this.renderer.setStyle(this.container.nativeElement, 'left', `-${width + 12}px`)\n this.renderer.setStyle(this.container.nativeElement, 'right', '')\n }\n else if(this.toolTipPosition === 'Right'){\n this.renderer.setStyle(this.container.nativeElement, 'left', '')\n this.renderer.setStyle(this.container.nativeElement, 'right', `-${width + 12}px`)\n }\n else{\n this.renderer.setStyle(this.container.nativeElement, 'left', '50%')\n this.renderer.setStyle(this.container.nativeElement, 'right', '')\n }\n }\n }\n}\n","import {\n AfterViewInit,\n ComponentFactoryResolver, ComponentRef,\n Directive,\n ElementRef, HostListener, Input,\n OnInit,\n Renderer2,\n ViewContainerRef\n} from '@angular/core';\nimport {ToolTipComponent} from './tooltip.component';\nimport {isChildNodeOf} from 'codelyzer/util/isChildNodeOf';\n\n@Directive({\n selector: '[misToolTip]'\n})\nexport class ToolTipDirective implements OnInit, AfterViewInit {\n public isToolTipDisplayed: boolean = false\n public toolTipWidth: string = ''\n public toolTipText: string = ''\n public toolTipPosition: 'Left' | 'Right' | 'Top' | 'Bottom' = 'Bottom'\n\n @Input() responsivePosition: boolean = false\n @Input() showOnHover: boolean = false\n @Input() set showToolTip(value: boolean){\n this.isToolTipDisplayed = value\n if(value) this.displayToolTip()\n else this.hideToolTip()\n }\n @Input() set width(value: string){\n this.toolTipWidth = value\n this.createToolTip()\n }\n @Input() set text(value: string){\n this.toolTipText = value\n this.createToolTip()\n }\n @Input() set position(value: 'Left' | 'Right' | 'Top' | 'Bottom'){\n this.toolTipPosition = value\n this.createToolTip()\n }\n\n @HostListener('mouseenter', ['$event']) onMouseEnter() {\n if (this.showOnHover) this.displayToolTip()\n }\n @HostListener('mouseleave', ['$event']) onMouseLeave(){\n if(this.showOnHover) this.hideToolTip()\n }\n\n private componentRef: ComponentRef<ToolTipComponent>\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private viewContainerRef: ViewContainerRef,\n private componentFactoryResolver: ComponentFactoryResolver\n ) {\n }\n\n ngOnInit() {\n this.createToolTip()\n }\n ngAfterViewInit(){\n this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'relative')\n if(this.isToolTipDisplayed) this.displayToolTip()\n else this.hideToolTip()\n if(this.isToolTipDisplayed && this.responsivePosition) this.updatePosition()\n }\n createToolTip(){\n const cmpFactoryResolver = this.componentFactoryResolver.resolveComponentFactory(ToolTipComponent);\n this.viewContainerRef.clear();\n this.componentRef = this.viewContainerRef.createComponent(cmpFactoryResolver);\n this.componentRef.instance.width = this.toolTipWidth\n this.componentRef.instance.text = this.toolTipText\n this.componentRef.instance.position = this.toolTipPosition\n }\n displayToolTip(){\n let isChild = this.elementRef.nativeElement.contains(this.componentRef.location.nativeElement)\n if(!isChild) this.renderer.appendChild(this.elementRef.nativeElement, this.componentRef.location.nativeElement)\n if(this.responsivePosition) this.updatePosition()\n }\n hideToolTip(){\n let isChild = this.elementRef.nativeElement.contains(this.componentRef.location.nativeElement)\n if(isChild) this.renderer.removeChild(this.elementRef.nativeElement, this.componentRef.location.nativeElement)\n }\n updatePosition(){\n // let rect: any = this.componentRef.location.nativeElement.children[0].getBoundingClientRect()\n // let {x, y, height, width} = rect\n //TODO: Add logic for responsive positioning\n // Use default value as priority and dont change it here 'toolTipPosition'\n // Update the position using below line\n // this.componentRef.instance.position = 'Right'\n // console.log(x, y, height, width)\n }\n}\n\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ToolTipDirective } from './tooltip.directive';\nimport {ToolTipComponent} from './tooltip.component';\n\n@NgModule({\n declarations: [ToolTipDirective, ToolTipComponent],\n imports: [CommonModule],\n exports: [ToolTipDirective, ToolTipComponent],\n entryComponents:[ToolTipComponent]\n})\nexport class ToolTipModule {\n static forRoot(): ModuleWithProviders<ToolTipModule> {\n return { ngModule: ToolTipModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Component","Renderer2","Input","ViewChild","Directive","ElementRef","ViewContainerRef","ComponentFactoryResolver","HostListener","NgModule","CommonModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mis-crystal-design-system-tooltip.umd.js","sources":["../../../projects/mis-components/tooltip/tooltip.component.ts","../../../projects/mis-components/tooltip/tooltip.directive.ts","../../../projects/mis-components/tooltip/tooltip.module.ts","../../../projects/mis-components/tooltip/mis-crystal-design-system-tooltip.ts"],"sourcesContent":["import {AfterViewInit, Component, ElementRef, Input, OnInit, Renderer2, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'mis-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss']\n})\nexport class ToolTipComponent implements OnInit, AfterViewInit{\n\n public toolTipText: string = ''\n public toolTipWidth: string = ''\n public toolTipPosition: 'Left' | 'Right' | 'Top' | 'Bottom' = 'Bottom'\n\n @Input() set text(value: string){\n this.toolTipText = value\n this.updateToolTipPosition()\n }\n @Input() set width(value: string){\n this.toolTipWidth = value;\n this.updateToolTipPosition()\n }\n @Input() set position(value: 'Left' | 'Right' | 'Top' | 'Bottom'){\n this.toolTipPosition = value\n this.updateToolTipPosition()\n }\n\n @ViewChild('container') container: ElementRef\n\n constructor(private renderer: Renderer2) {\n }\n ngOnInit() {\n }\n ngAfterViewInit(){\n this.updateToolTipPosition()\n }\n updateToolTipPosition(){\n if(this.container){\n let width = this.container.nativeElement.offsetWidth\n if(this.toolTipPosition === 'Left'){\n this.renderer.setStyle(this.container.nativeElement, 'left', `-${width + 12}px`)\n this.renderer.setStyle(this.container.nativeElement, 'right', '')\n }\n else if(this.toolTipPosition === 'Right'){\n this.renderer.setStyle(this.container.nativeElement, 'left', '')\n this.renderer.setStyle(this.container.nativeElement, 'right', `-${width + 12}px`)\n }\n else{\n this.renderer.setStyle(this.container.nativeElement, 'left', '50%')\n this.renderer.setStyle(this.container.nativeElement, 'right', '')\n }\n }\n }\n}\n","import {\n AfterViewInit,\n ComponentFactoryResolver, ComponentRef,\n Directive,\n ElementRef, HostListener, Input,\n OnInit,\n Renderer2,\n ViewContainerRef\n} from '@angular/core';\nimport {ToolTipComponent} from './tooltip.component';\nimport {isChildNodeOf} from 'codelyzer/util/isChildNodeOf';\n\n@Directive({\n selector: '[misToolTip]'\n})\nexport class ToolTipDirective implements OnInit, AfterViewInit {\n public isToolTipDisplayed: boolean = false\n public toolTipWidth: string = ''\n public toolTipText: string = ''\n public toolTipPosition: 'Left' | 'Right' | 'Top' | 'Bottom' = 'Bottom'\n\n @Input() responsivePosition: boolean = false\n @Input() showOnHover: boolean = false\n @Input() set showToolTip(value: boolean){\n this.isToolTipDisplayed = value\n if(value) this.displayToolTip()\n else this.hideToolTip()\n }\n @Input() set width(value: string){\n this.toolTipWidth = value\n this.createToolTip()\n }\n @Input() set text(value: string){\n this.toolTipText = value\n this.createToolTip()\n }\n @Input() set position(value: 'Left' | 'Right' | 'Top' | 'Bottom'){\n this.toolTipPosition = value\n this.createToolTip()\n }\n\n @HostListener('mouseenter',) onMouseEnter() {\n if (this.showOnHover) this.displayToolTip()\n }\n @HostListener('mouseleave',) onMouseLeave(){\n if(this.showOnHover) this.hideToolTip()\n }\n\n private componentRef: ComponentRef<ToolTipComponent>\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private viewContainerRef: ViewContainerRef,\n private componentFactoryResolver: ComponentFactoryResolver\n ) {\n }\n\n ngOnInit() {\n this.createToolTip()\n }\n ngAfterViewInit(){\n this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'relative')\n if(this.isToolTipDisplayed) this.displayToolTip()\n else this.hideToolTip()\n if(this.isToolTipDisplayed && this.responsivePosition) this.updatePosition()\n }\n createToolTip(){\n const cmpFactoryResolver = this.componentFactoryResolver.resolveComponentFactory(ToolTipComponent);\n this.viewContainerRef.clear();\n this.componentRef = this.viewContainerRef.createComponent(cmpFactoryResolver);\n this.componentRef.instance.width = this.toolTipWidth\n this.componentRef.instance.text = this.toolTipText\n this.componentRef.instance.position = this.toolTipPosition\n }\n displayToolTip(){\n let isChild = this.elementRef.nativeElement.contains(this.componentRef.location.nativeElement)\n if(!isChild) this.renderer.appendChild(this.elementRef.nativeElement, this.componentRef.location.nativeElement)\n if(this.responsivePosition) this.updatePosition()\n }\n hideToolTip(){\n let isChild = this.elementRef.nativeElement.contains(this.componentRef.location.nativeElement)\n if(isChild) this.renderer.removeChild(this.elementRef.nativeElement, this.componentRef.location.nativeElement)\n }\n updatePosition(){\n // let rect: any = this.componentRef.location.nativeElement.children[0].getBoundingClientRect()\n // let {x, y, height, width} = rect\n //TODO: Add logic for responsive positioning\n // Use default value as priority and dont change it here 'toolTipPosition'\n // Update the position using below line\n // this.componentRef.instance.position = 'Right'\n // console.log(x, y, height, width)\n }\n}\n\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ToolTipDirective } from './tooltip.directive';\nimport {ToolTipComponent} from './tooltip.component';\n\n@NgModule({\n declarations: [ToolTipDirective, ToolTipComponent],\n imports: [CommonModule],\n exports: [ToolTipDirective, ToolTipComponent],\n entryComponents:[ToolTipComponent]\n})\nexport class ToolTipModule {\n static forRoot(): ModuleWithProviders<ToolTipModule> {\n return { ngModule: ToolTipModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Component","Renderer2","Input","ViewChild","Directive","ElementRef","ViewContainerRef","ComponentFactoryResolver","HostListener","NgModule","CommonModule"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(t,
|
|
1
|
+
!function(t,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("@angular/core"),require("@angular/common")):"function"==typeof define&&define.amd?define("mis-crystal-design-system/tooltip",["exports","@angular/core","@angular/common"],o):o(((t="undefined"!=typeof globalThis?globalThis:t||self)["mis-crystal-design-system"]=t["mis-crystal-design-system"]||{},t["mis-crystal-design-system"].tooltip={}),t.ng.core,t.ng.common)}(this,(function(t,o,e){"use strict";var i=function(){function t(t){this.renderer=t,this.toolTipText="",this.toolTipWidth="",this.toolTipPosition="Bottom"}return Object.defineProperty(t.prototype,"text",{set:function(t){this.toolTipText=t,this.updateToolTipPosition()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"width",{set:function(t){this.toolTipWidth=t,this.updateToolTipPosition()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"position",{set:function(t){this.toolTipPosition=t,this.updateToolTipPosition()},enumerable:!1,configurable:!0}),t.prototype.ngOnInit=function(){},t.prototype.ngAfterViewInit=function(){this.updateToolTipPosition()},t.prototype.updateToolTipPosition=function(){if(this.container){var t=this.container.nativeElement.offsetWidth;"Left"===this.toolTipPosition?(this.renderer.setStyle(this.container.nativeElement,"left","-"+(t+12)+"px"),this.renderer.setStyle(this.container.nativeElement,"right","")):"Right"===this.toolTipPosition?(this.renderer.setStyle(this.container.nativeElement,"left",""),this.renderer.setStyle(this.container.nativeElement,"right","-"+(t+12)+"px")):(this.renderer.setStyle(this.container.nativeElement,"left","50%"),this.renderer.setStyle(this.container.nativeElement,"right",""))}},t}();i.decorators=[{type:o.Component,args:[{selector:"mis-tooltip",template:"<div id=\"tooltip-container\" [hidden]=\"toolTipText.length < 1\"\n #container\n [ngStyle]=\"{'width': toolTipWidth.length > 0? toolTipWidth : ''}\"\n [ngClass]=\"{\n 'left': toolTipPosition === 'Left',\n 'right': toolTipPosition === 'Right',\n 'top': toolTipPosition === 'Top',\n 'bottom': toolTipPosition === 'Bottom'\n }\"\n>\n <div id=\"tooltip\">\n <div id=\"tooltip-text\">{{toolTipText}}</div>\n <span\n id=\"arrow\"\n [ngClass]=\"{\n 'arrow-left': toolTipPosition === 'Left',\n 'arrow-right': toolTipPosition === 'Right',\n 'arrow-top': toolTipPosition === 'Top',\n 'arrow-bottom': toolTipPosition === 'Bottom'\n }\"\n ></span>\n </div>\n</div>\n",styles:["#tooltip-container{position:absolute;z-index:1}#tooltip-container.top{left:50%;transform:translateX(-50%);top:-48px}#tooltip-container.bottom{left:50%;transform:translateX(-50%);bottom:-48px}#tooltip-container.left,#tooltip-container.right{top:50%;transform:translateY(-50%)}#tooltip{position:relative;display:block;padding:8px 12px;border-radius:8px;color:#fff;background:#181f33;font-family:Lato,sans-serif;font-style:normal;font-weight:400;font-size:14px;line-height:20px;text-align:center;letter-spacing:.2px}#tooltip-text{width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#arrow{position:absolute;height:12px;width:12px;background:#181f33;z-index:1}.arrow-top{bottom:-6px}.arrow-bottom,.arrow-top{left:50%;transform:translateX(-50%) rotate(-45deg);-webkit-transform:translateX(-50%) rotate(-45deg)}.arrow-bottom{top:-6px}.arrow-left{right:-6px}.arrow-left,.arrow-right{top:50%;transform:translateY(-50%) rotate(-45deg);-webkit-transform:translateY(-50%) rotate(-45deg)}.arrow-right{left:-6px}"]}]}],i.ctorParameters=function(){return[{type:o.Renderer2}]},i.propDecorators={text:[{type:o.Input}],width:[{type:o.Input}],position:[{type:o.Input}],container:[{type:o.ViewChild,args:["container"]}]};var n=function(){function t(t,o,e,i){this.elementRef=t,this.renderer=o,this.viewContainerRef=e,this.componentFactoryResolver=i,this.isToolTipDisplayed=!1,this.toolTipWidth="",this.toolTipText="",this.toolTipPosition="Bottom",this.responsivePosition=!1,this.showOnHover=!1}return Object.defineProperty(t.prototype,"showToolTip",{set:function(t){this.isToolTipDisplayed=t,t?this.displayToolTip():this.hideToolTip()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"width",{set:function(t){this.toolTipWidth=t,this.createToolTip()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"text",{set:function(t){this.toolTipText=t,this.createToolTip()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"position",{set:function(t){this.toolTipPosition=t,this.createToolTip()},enumerable:!1,configurable:!0}),t.prototype.onMouseEnter=function(){this.showOnHover&&this.displayToolTip()},t.prototype.onMouseLeave=function(){this.showOnHover&&this.hideToolTip()},t.prototype.ngOnInit=function(){this.createToolTip()},t.prototype.ngAfterViewInit=function(){this.renderer.setStyle(this.elementRef.nativeElement,"position","relative"),this.isToolTipDisplayed?this.displayToolTip():this.hideToolTip(),this.isToolTipDisplayed&&this.responsivePosition&&this.updatePosition()},t.prototype.createToolTip=function(){var t=this.componentFactoryResolver.resolveComponentFactory(i);this.viewContainerRef.clear(),this.componentRef=this.viewContainerRef.createComponent(t),this.componentRef.instance.width=this.toolTipWidth,this.componentRef.instance.text=this.toolTipText,this.componentRef.instance.position=this.toolTipPosition},t.prototype.displayToolTip=function(){this.elementRef.nativeElement.contains(this.componentRef.location.nativeElement)||this.renderer.appendChild(this.elementRef.nativeElement,this.componentRef.location.nativeElement),this.responsivePosition&&this.updatePosition()},t.prototype.hideToolTip=function(){this.elementRef.nativeElement.contains(this.componentRef.location.nativeElement)&&this.renderer.removeChild(this.elementRef.nativeElement,this.componentRef.location.nativeElement)},t.prototype.updatePosition=function(){},t}();n.decorators=[{type:o.Directive,args:[{selector:"[misToolTip]"}]}],n.ctorParameters=function(){return[{type:o.ElementRef},{type:o.Renderer2},{type:o.ViewContainerRef},{type:o.ComponentFactoryResolver}]},n.propDecorators={responsivePosition:[{type:o.Input}],showOnHover:[{type:o.Input}],showToolTip:[{type:o.Input}],width:[{type:o.Input}],text:[{type:o.Input}],position:[{type:o.Input}],onMouseEnter:[{type:o.HostListener,args:["mouseenter"]}],onMouseLeave:[{type:o.HostListener,args:["mouseleave"]}]};var r=function(){function t(){}return t.forRoot=function(){return{ngModule:t,providers:[]}},t}();r.decorators=[{type:o.NgModule,args:[{declarations:[n,i],imports:[e.CommonModule],exports:[n,i],entryComponents:[i]}]}],t.ToolTipComponent=i,t.ToolTipDirective=n,t.ToolTipModule=r,Object.defineProperty(t,"__esModule",{value:!0})}));
|
|
2
2
|
//# sourceMappingURL=mis-crystal-design-system-tooltip.umd.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../projects/mis-components/tooltip/tooltip.component.ts","../../../projects/mis-components/tooltip/tooltip.directive.ts","../../../projects/mis-components/tooltip/tooltip.module.ts"],"names":["ToolTipComponent","renderer","this","toolTipText","toolTipWidth","toolTipPosition","Object","defineProperty","prototype","value","updateToolTipPosition","ngOnInit","ngAfterViewInit","container","width","nativeElement","offsetWidth","setStyle","Component","args","selector","template","Renderer2","Input","ViewChild","ToolTipDirective","elementRef","viewContainerRef","componentFactoryResolver","isToolTipDisplayed","responsivePosition","showOnHover","displayToolTip","hideToolTip","createToolTip","onMouseEnter","onMouseLeave","updatePosition","cmpFactoryResolver","resolveComponentFactory","clear","componentRef","createComponent","instance","text","position","contains","location","appendChild","removeChild","Directive","ElementRef","ViewContainerRef","ComponentFactoryResolver","HostListener","ToolTipModule","forRoot","ngModule","providers","NgModule","declarations","imports","CommonModule","exports","entryComponents"],"mappings":"qfA4BE,SAAAA,EAAoBC,GAAAC,KAAAD,SAAAA,EAnBbC,KAAAC,YAAsB,GACtBD,KAAAE,aAAuB,GACvBF,KAAAG,gBAAuD,gBAE9DC,OAAAC,eAAaP,EAAAQ,UAAA,OAAI,KAAjB,SAAkBC,GAChBP,KAAKC,YAAcM,EACnBP,KAAKQ,yDAEPJ,OAAAC,eAAaP,EAAAQ,UAAA,QAAK,KAAlB,SAAmBC,GACjBP,KAAKE,aAAeK,EACpBP,KAAKQ,yDAEPJ,OAAAC,eAAaP,EAAAQ,UAAA,WAAQ,KAArB,SAAsBC,GACpBP,KAAKG,gBAAkBI,EACvBP,KAAKQ,yDAOPV,EAAAQ,UAAAG,SAAA,aAEAX,EAAAQ,UAAAI,gBAAA,WACEV,KAAKQ,yBAEPV,EAAAQ,UAAAE,sBAAA,WACE,GAAGR,KAAKW,UAAU,CAChB,IAAIC,EAAQZ,KAAKW,UAAUE,cAAcC,YACb,SAAzBd,KAAKG,iBACNH,KAAKD,SAASgB,SAASf,KAAKW,UAAUE,cAAe,OAAQ,KAAID,EAAQ,IAAE,MAC3EZ,KAAKD,SAASgB,SAASf,KAAKW,UAAUE,cAAe,QAAS,KAE/B,UAAzBb,KAAKG,iBACXH,KAAKD,SAASgB,SAASf,KAAKW,UAAUE,cAAe,OAAQ,IAC7Db,KAAKD,SAASgB,SAASf,KAAKW,UAAUE,cAAe,QAAS,KAAID,EAAQ,IAAE,QAG5EZ,KAAKD,SAASgB,SAASf,KAAKW,UAAUE,cAAe,OAAQ,OAC7Db,KAAKD,SAASgB,SAASf,KAAKW,UAAUE,cAAe,QAAS,gCA9CrEG,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,cACVC,SAAA,oyDAJ2DC,EAAAA,2CAa1DC,EAAAA,qBAIAA,EAAAA,wBAIAA,EAAAA,yBAKAC,EAAAA,UAASL,KAAA,CAAC,iCCuBX,SAAAM,EACUC,EACAzB,EACA0B,EACAC,GAHA1B,KAAAwB,WAAAA,EACAxB,KAAAD,SAAAA,EACAC,KAAAyB,iBAAAA,EACAzB,KAAA0B,yBAAAA,EArCH1B,KAAA2B,oBAA8B,EAC9B3B,KAAAE,aAAuB,GACvBF,KAAAC,YAAsB,GACtBD,KAAAG,gBAAuD,SAErDH,KAAA4B,oBAA8B,EAC9B5B,KAAA6B,aAAuB,SAChCzB,OAAAC,eAAakB,EAAAjB,UAAA,cAAW,KAAxB,SAAyBC,GACvBP,KAAK2B,mBAAqBpB,EACvBA,EAAOP,KAAK8B,iBACV9B,KAAK+B,+CAEZ3B,OAAAC,eAAakB,EAAAjB,UAAA,QAAK,KAAlB,SAAmBC,GACjBP,KAAKE,aAAeK,EACpBP,KAAKgC,iDAEP5B,OAAAC,eAAakB,EAAAjB,UAAA,OAAI,KAAjB,SAAkBC,GAChBP,KAAKC,YAAcM,EACnBP,KAAKgC,iDAEP5B,OAAAC,eAAakB,EAAAjB,UAAA,WAAQ,KAArB,SAAsBC,GACpBP,KAAKG,gBAAkBI,EACvBP,KAAKgC,
|
|
1
|
+
{"version":3,"sources":["../../../projects/mis-components/tooltip/tooltip.component.ts","../../../projects/mis-components/tooltip/tooltip.directive.ts","../../../projects/mis-components/tooltip/tooltip.module.ts"],"names":["ToolTipComponent","renderer","this","toolTipText","toolTipWidth","toolTipPosition","Object","defineProperty","prototype","value","updateToolTipPosition","ngOnInit","ngAfterViewInit","container","width","nativeElement","offsetWidth","setStyle","Component","args","selector","template","Renderer2","Input","ViewChild","ToolTipDirective","elementRef","viewContainerRef","componentFactoryResolver","isToolTipDisplayed","responsivePosition","showOnHover","displayToolTip","hideToolTip","createToolTip","onMouseEnter","onMouseLeave","updatePosition","cmpFactoryResolver","resolveComponentFactory","clear","componentRef","createComponent","instance","text","position","contains","location","appendChild","removeChild","Directive","ElementRef","ViewContainerRef","ComponentFactoryResolver","HostListener","ToolTipModule","forRoot","ngModule","providers","NgModule","declarations","imports","CommonModule","exports","entryComponents"],"mappings":"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","sourcesContent":["import {AfterViewInit, Component, ElementRef, Input, OnInit, Renderer2, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'mis-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss']\n})\nexport class ToolTipComponent implements OnInit, AfterViewInit{\n\n public toolTipText: string = ''\n public toolTipWidth: string = ''\n public toolTipPosition: 'Left' | 'Right' | 'Top' | 'Bottom' = 'Bottom'\n\n @Input() set text(value: string){\n this.toolTipText = value\n this.updateToolTipPosition()\n }\n @Input() set width(value: string){\n this.toolTipWidth = value;\n this.updateToolTipPosition()\n }\n @Input() set position(value: 'Left' | 'Right' | 'Top' | 'Bottom'){\n this.toolTipPosition = value\n this.updateToolTipPosition()\n }\n\n @ViewChild('container') container: ElementRef\n\n constructor(private renderer: Renderer2) {\n }\n ngOnInit() {\n }\n ngAfterViewInit(){\n this.updateToolTipPosition()\n }\n updateToolTipPosition(){\n if(this.container){\n let width = this.container.nativeElement.offsetWidth\n if(this.toolTipPosition === 'Left'){\n this.renderer.setStyle(this.container.nativeElement, 'left', `-${width + 12}px`)\n this.renderer.setStyle(this.container.nativeElement, 'right', '')\n }\n else if(this.toolTipPosition === 'Right'){\n this.renderer.setStyle(this.container.nativeElement, 'left', '')\n this.renderer.setStyle(this.container.nativeElement, 'right', `-${width + 12}px`)\n }\n else{\n this.renderer.setStyle(this.container.nativeElement, 'left', '50%')\n this.renderer.setStyle(this.container.nativeElement, 'right', '')\n }\n }\n }\n}\n","import {\n AfterViewInit,\n ComponentFactoryResolver, ComponentRef,\n Directive,\n ElementRef, HostListener, Input,\n OnInit,\n Renderer2,\n ViewContainerRef\n} from '@angular/core';\nimport {ToolTipComponent} from './tooltip.component';\nimport {isChildNodeOf} from 'codelyzer/util/isChildNodeOf';\n\n@Directive({\n selector: '[misToolTip]'\n})\nexport class ToolTipDirective implements OnInit, AfterViewInit {\n public isToolTipDisplayed: boolean = false\n public toolTipWidth: string = ''\n public toolTipText: string = ''\n public toolTipPosition: 'Left' | 'Right' | 'Top' | 'Bottom' = 'Bottom'\n\n @Input() responsivePosition: boolean = false\n @Input() showOnHover: boolean = false\n @Input() set showToolTip(value: boolean){\n this.isToolTipDisplayed = value\n if(value) this.displayToolTip()\n else this.hideToolTip()\n }\n @Input() set width(value: string){\n this.toolTipWidth = value\n this.createToolTip()\n }\n @Input() set text(value: string){\n this.toolTipText = value\n this.createToolTip()\n }\n @Input() set position(value: 'Left' | 'Right' | 'Top' | 'Bottom'){\n this.toolTipPosition = value\n this.createToolTip()\n }\n\n @HostListener('mouseenter',) onMouseEnter() {\n if (this.showOnHover) this.displayToolTip()\n }\n @HostListener('mouseleave',) onMouseLeave(){\n if(this.showOnHover) this.hideToolTip()\n }\n\n private componentRef: ComponentRef<ToolTipComponent>\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private viewContainerRef: ViewContainerRef,\n private componentFactoryResolver: ComponentFactoryResolver\n ) {\n }\n\n ngOnInit() {\n this.createToolTip()\n }\n ngAfterViewInit(){\n this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'relative')\n if(this.isToolTipDisplayed) this.displayToolTip()\n else this.hideToolTip()\n if(this.isToolTipDisplayed && this.responsivePosition) this.updatePosition()\n }\n createToolTip(){\n const cmpFactoryResolver = this.componentFactoryResolver.resolveComponentFactory(ToolTipComponent);\n this.viewContainerRef.clear();\n this.componentRef = this.viewContainerRef.createComponent(cmpFactoryResolver);\n this.componentRef.instance.width = this.toolTipWidth\n this.componentRef.instance.text = this.toolTipText\n this.componentRef.instance.position = this.toolTipPosition\n }\n displayToolTip(){\n let isChild = this.elementRef.nativeElement.contains(this.componentRef.location.nativeElement)\n if(!isChild) this.renderer.appendChild(this.elementRef.nativeElement, this.componentRef.location.nativeElement)\n if(this.responsivePosition) this.updatePosition()\n }\n hideToolTip(){\n let isChild = this.elementRef.nativeElement.contains(this.componentRef.location.nativeElement)\n if(isChild) this.renderer.removeChild(this.elementRef.nativeElement, this.componentRef.location.nativeElement)\n }\n updatePosition(){\n // let rect: any = this.componentRef.location.nativeElement.children[0].getBoundingClientRect()\n // let {x, y, height, width} = rect\n //TODO: Add logic for responsive positioning\n // Use default value as priority and dont change it here 'toolTipPosition'\n // Update the position using below line\n // this.componentRef.instance.position = 'Right'\n // console.log(x, y, height, width)\n }\n}\n\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ToolTipDirective } from './tooltip.directive';\nimport {ToolTipComponent} from './tooltip.component';\n\n@NgModule({\n declarations: [ToolTipDirective, ToolTipComponent],\n imports: [CommonModule],\n exports: [ToolTipDirective, ToolTipComponent],\n entryComponents:[ToolTipComponent]\n})\nexport class ToolTipModule {\n static forRoot(): ModuleWithProviders<ToolTipModule> {\n return { ngModule: ToolTipModule, providers: [] };\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OnInit } from "@angular/core";
|
|
2
2
|
import { ICurrentMonth, ICurrentMonthDates, IDatePickerData, IWeekDay } from "../models/dp-config.model";
|
|
3
|
-
import { ToastService } from
|
|
3
|
+
import { ToastService } from "mis-crystal-design-system/toast";
|
|
4
4
|
export declare class TzDpContainerComponent implements OnInit {
|
|
5
5
|
private toast;
|
|
6
6
|
data: IDatePickerData;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Component, Inject } from "@angular/core";
|
|
2
2
|
import { CONTAINER_DATA, DATE_FORMAT } from "../datepicker-constants";
|
|
3
|
-
import { parseZone } from
|
|
3
|
+
import { parseZone } from "moment-timezone";
|
|
4
4
|
import { getMonth } from "../utils";
|
|
5
|
-
import { ToastService } from
|
|
5
|
+
import { ToastService } from "mis-crystal-design-system/toast";
|
|
6
6
|
export class TzDpContainerComponent {
|
|
7
7
|
constructor(data, toast) {
|
|
8
8
|
var _a, _b, _c, _d;
|
|
@@ -10,7 +10,7 @@ export class TzDpContainerComponent {
|
|
|
10
10
|
this.parseZoneInstance = (...args) => {
|
|
11
11
|
return parseZone(...args);
|
|
12
12
|
};
|
|
13
|
-
this.rawWeekDays = [
|
|
13
|
+
this.rawWeekDays = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"];
|
|
14
14
|
this.weekDays = [];
|
|
15
15
|
this.currentMonthDates = [];
|
|
16
16
|
this.isPreviousMonthDisabled = false;
|
|
@@ -49,20 +49,20 @@ export class TzDpContainerComponent {
|
|
|
49
49
|
const currentInstance = this.parseZoneInstance().year(this.currentYearNumber).month(this.currentMonthNumber);
|
|
50
50
|
const minDate = this.parseZoneInstance(this.data.dpConfig.minDate, this.data.dpConfig.format);
|
|
51
51
|
if (minDate.isValid()) {
|
|
52
|
-
this.isPreviousMonthDisabled = minDate.isSameOrAfter(currentInstance,
|
|
52
|
+
this.isPreviousMonthDisabled = minDate.isSameOrAfter(currentInstance, "month");
|
|
53
53
|
}
|
|
54
54
|
const maxDate = this.parseZoneInstance(this.data.dpConfig.maxDate, this.data.dpConfig.format);
|
|
55
55
|
if (maxDate.isValid()) {
|
|
56
|
-
this.isNextMonthDisabled = maxDate.
|
|
56
|
+
this.isNextMonthDisabled = maxDate.isBefore(currentInstance, "month");
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
navigateMonth(direction) {
|
|
60
60
|
let thisMonth = parseZone().year(this.currentYearNumber).month(this.currentMonthNumber);
|
|
61
61
|
if (direction === "NEXT") {
|
|
62
|
-
thisMonth = thisMonth.add(1,
|
|
62
|
+
thisMonth = thisMonth.add(1, "month");
|
|
63
63
|
}
|
|
64
64
|
else if (direction === "PREVIOUS") {
|
|
65
|
-
thisMonth = thisMonth.subtract(1,
|
|
65
|
+
thisMonth = thisMonth.subtract(1, "month");
|
|
66
66
|
}
|
|
67
67
|
this.currentMonthNumber = thisMonth.month();
|
|
68
68
|
this.currentMonth = getMonth(this.currentMonthNumber);
|
|
@@ -73,23 +73,26 @@ export class TzDpContainerComponent {
|
|
|
73
73
|
generateDates(month, currentYearNumber) {
|
|
74
74
|
var _a;
|
|
75
75
|
let dates = [];
|
|
76
|
-
const
|
|
77
|
-
for (let startDate = 1; startDate <=
|
|
78
|
-
|
|
76
|
+
const daysInMonth = parseZone().year(currentYearNumber).month(month).daysInMonth();
|
|
77
|
+
for (let startDate = 1; startDate <= daysInMonth; startDate++) {
|
|
78
|
+
const date = parseZone().year(currentYearNumber).month(month).date(startDate);
|
|
79
|
+
const dateString = date.format(this.data.dpConfig.format);
|
|
80
|
+
let isDisabledDay = this.data.datesDisabled.some((d) => d === dateString);
|
|
79
81
|
const minDate = parseZone(this.data.dpConfig.minDate, this.data.dpConfig.format);
|
|
80
82
|
if (!isDisabledDay && minDate.isValid()) {
|
|
81
|
-
isDisabledDay = minDate.isAfter(
|
|
83
|
+
isDisabledDay = minDate.isAfter(date, "day");
|
|
82
84
|
}
|
|
83
85
|
const maxDate = parseZone(this.data.dpConfig.maxDate, this.data.dpConfig.format);
|
|
84
86
|
if (!isDisabledDay && maxDate.isValid()) {
|
|
85
|
-
isDisabledDay = maxDate.isBefore(
|
|
87
|
+
isDisabledDay = maxDate.isBefore(date, "day");
|
|
86
88
|
}
|
|
87
89
|
dates.push({
|
|
88
90
|
date: startDate,
|
|
89
|
-
weekDay:
|
|
90
|
-
isCurrentDay: this.parseZoneInstance(
|
|
91
|
-
|
|
92
|
-
|
|
91
|
+
weekDay: date.day(),
|
|
92
|
+
isCurrentDay: this.parseZoneInstance({ year: currentYearNumber, month, date: startDate }).format(this.data.dpConfig.format) ===
|
|
93
|
+
parseZone().format(this.data.dpConfig.format),
|
|
94
|
+
isSelectedDay: date.format(this.data.dpConfig.format) === this.data.date,
|
|
95
|
+
toastMessage: ((_a = this.data.messages.find((q) => date.format(this.data.dpConfig.format) === q.date)) === null || _a === void 0 ? void 0 : _a.message) || "",
|
|
93
96
|
isDisabledDay,
|
|
94
97
|
});
|
|
95
98
|
}
|
|
@@ -120,4 +123,4 @@ TzDpContainerComponent.ctorParameters = () => [
|
|
|
120
123
|
{ type: undefined, decorators: [{ type: Inject, args: [CONTAINER_DATA,] }] },
|
|
121
124
|
{ type: ToastService }
|
|
122
125
|
];
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHotZHAtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2RhdGVwaWNrZXJfdjIvdHotZHAtY29udGFpbmVyL3R6LWRwLWNvbnRhaW5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFPOUQsTUFBTSxPQUFPLHNCQUFzQjtJQWNqQyxZQUFvQyxJQUFxQixFQUFVLEtBQW1COztRQUFuQixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBWjlFLHNCQUFpQixHQUFHLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRTtZQUN0QyxPQUFPLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQztRQUNNLGdCQUFXLEdBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUNqRixhQUFRLEdBQWUsRUFBRSxDQUFDO1FBSTFCLHNCQUFpQixHQUF5QixFQUFFLENBQUM7UUFDN0MsNEJBQXVCLEdBQVksS0FBSyxDQUFDO1FBQ3pDLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQUduQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixnQkFBSSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxRQUFRLDBDQUFFLFFB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S0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUF1QjtRQUMvQixJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztZQUFFLE9BQU87UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1NBQ2hKO1FBQ0QsSUFBSSxHQUFHLENBQUMsWUFBWSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDOzs7WUF0SEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQix5NUZBQStDOzthQUVoRDs7OzRDQWVjLE1BQU0sU0FBQyxjQUFjO1lBckIzQixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDT05UQUlORVJfREFUQSwgREFURV9GT1JNQVQgfSBmcm9tIFwiLi4vZGF0ZXBpY2tlci1jb25zdGFudHNcIjtcbmltcG9ydCB7IElDdXJyZW50TW9udGgsIElDdXJyZW50TW9udGhEYXRlcywgSURhdGVQaWNrZXJEYXRhLCBJV2Vla0RheSB9IGZyb20gXCIuLi9tb2RlbHMvZHAtY29uZmlnLm1vZGVsXCI7XG5pbXBvcnQgeyBwYXJzZVpvbmUsIE1vbWVudCB9IGZyb20gJ21vbWVudC10aW1lem9uZSc7XG5pbXBvcnQgeyBnZXRNb250aCB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnbWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS90b2FzdCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1pcy10ei1kcFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3R6LWRwLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vdHotZHAtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBUekRwQ29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgZGF0YTogSURhdGVQaWNrZXJEYXRhO1xuICBwcml2YXRlIHBhcnNlWm9uZUluc3RhbmNlID0gKC4uLmFyZ3MpID0+IHtcbiAgICByZXR1cm4gcGFyc2Vab25lKC4uLmFyZ3MpO1xuICB9O1xuICBwcml2YXRlIHJhd1dlZWtEYXlzOiBzdHJpbmdbXSA9IFsnU1VOJywgJ01PTicsICdUVUUnLCAnV0VEJywgJ1RIVScsICdGUkknLCAnU0FUJ11cbiAgd2Vla0RheXM6IElXZWVrRGF5W10gPSBbXTtcbiAgY3VycmVudE1vbnRoTnVtYmVyOiBudW1iZXI7XG4gIGN1cnJlbnRNb250aDogSUN1cnJlbnRNb250aDtcbiAgY3VycmVudFllYXJOdW1iZXI6IG51bWJlcjtcbiAgY3VycmVudE1vbnRoRGF0ZXM6IElDdXJyZW50TW9udGhEYXRlc1tdID0gW107XG4gIGlzUHJldmlvdXNNb250aERpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzTmV4dE1vbnRoRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KENPTlRBSU5FUl9EQVRBKSBkYXRhOiBJRGF0ZVBpY2tlckRhdGEsIHByaXZhdGUgdG9hc3Q6IFRvYXN0U2VydmljZSkge1xuICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgaWYgKHRoaXMuZGF0YT8uZHBDb25maWc/LnRpbWV6b25lKSB7XG4gICAgICB0aGlzLnBhcnNlWm9uZUluc3RhbmNlID0gKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgcmV0dXJuIHBhcnNlWm9uZSguLi5hcmdzKS50eih0aGlzLmRhdGEuZHBDb25maWcudGltZXpvbmUpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmN1cnJlbnRNb250aE51bWJlciA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UoKS5tb250aCgpO1xuICAgIHRoaXMuY3VycmVudE1vbnRoID0gZ2V0TW9udGgodGhpcy5jdXJyZW50TW9udGhOdW1iZXIpO1xuICAgIHRoaXMuY3VycmVudFllYXJOdW1iZXIgPSB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKCkueWVhcigpO1xuICAgIHRoaXMud2Vla0RheXMgPSB0aGlzLnJhd1dlZWtEYXlzLm1hcCgoZGF5LCBpbmRleCkgPT4gKHtcbiAgICAgIGxhYmVsOiBgJHtkYXlbMF19JHtkYXkuc2xpY2UoMSkudG9Mb3dlckNhc2UoKX1gLFxuICAgICAgaXNDdXJyZW50RGF5OiB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKCkuZGF5KCkgPT09IGluZGV4LFxuICAgIH0pKTtcbiAgICBpZiAoIXRoaXMuZGF0YT8uZHBDb25maWc/LmZvcm1hdCkge1xuICAgICAgdGhpcy5kYXRhLmRwQ29uZmlnID0ge1xuICAgICAgICAuLi50aGlzLmRhdGEuZHBDb25maWcsXG4gICAgICAgIGZvcm1hdDogREFURV9GT1JNQVQsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudERhdGVJbnN0YW5jZSgpO1xuICAgIHRoaXMuY2FsY3VsYXRlTWluTWF4RGF5cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjdXJyZW50RGF0ZUluc3RhbmNlKCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGVkRGF0ZSA9IHBhcnNlWm9uZSh0aGlzLmRhdGEuZGF0ZSwgdGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCk7XG4gICAgaWYgKHNlbGVjdGVkRGF0ZS5pc1ZhbGlkKCkpIHtcbiAgICAgIHRoaXMuY3VycmVudFllYXJOdW1iZXIgPSBzZWxlY3RlZERhdGUueWVhcigpO1xuICAgICAgdGhpcy5jdXJyZW50TW9udGhOdW1iZXIgPSBzZWxlY3RlZERhdGUubW9udGgoKTtcbiAgICAgIHRoaXMuY3VycmVudE1vbnRoID0gZ2V0TW9udGgodGhpcy5jdXJyZW50TW9udGhOdW1iZXIpO1xuICAgIH1cbiAgICB0aGlzLmN1cnJlbnRNb250aERhdGVzID0gdGhpcy5nZW5lcmF0ZURhdGVzKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyLCB0aGlzLmN1cnJlbnRZZWFyTnVtYmVyKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlTWluTWF4RGF5cygpIHtcbiAgICBjb25zdCBjdXJyZW50SW5zdGFuY2UgPSB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKCkueWVhcih0aGlzLmN1cnJlbnRZZWFyTnVtYmVyKS5tb250aCh0aGlzLmN1cnJlbnRNb250aE51bWJlcik7XG4gICAgY29uc3QgbWluRGF0ZSA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UodGhpcy5kYXRhLmRwQ29uZmlnLm1pbkRhdGUsIHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpO1xuICAgIGlmIChtaW5EYXRlLmlzVmFsaWQoKSkge1xuICAgICAgdGhpcy5pc1ByZXZpb3VzTW9udGhEaXNhYmxlZCA9IG1pbkRhdGUuaXNTYW1lT3JBZnRlcihjdXJyZW50SW5zdGFuY2UsICdtb250aCcpO1xuICAgIH1cbiAgICBjb25zdCBtYXhEYXRlID0gdGhpcy5wYXJzZVpvbmVJbnN0YW5jZSh0aGlzLmRhdGEuZHBDb25maWcubWF4RGF0ZSwgdGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCk7XG4gICAgaWYgKG1heERhdGUuaXNWYWxpZCgpKSB7XG4gICAgICB0aGlzLmlzTmV4dE1vbnRoRGlzYWJsZWQgPSBtYXhEYXRlLmlzU2FtZU9yQmVmb3JlKGN1cnJlbnRJbnN0YW5jZSwgJ21vbnRoJyk7XG4gICAgfVxuICB9XG5cbiAgbmF2aWdhdGVNb250aChkaXJlY3Rpb246IFwiTkVYVFwiIHwgXCJQUkVWSU9VU1wiKTogdm9pZCB7XG4gICAgbGV0IHRoaXNNb250aDogTW9tZW50ID0gcGFyc2Vab25lKCkueWVhcih0aGlzLmN1cnJlbnRZZWFyTnVtYmVyKS5tb250aCh0aGlzLmN1cnJlbnRNb250aE51bWJlcik7XG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gXCJORVhUXCIpIHtcbiAgICAgIHRoaXNNb250aCA9IHRoaXNNb250aC5hZGQoMSwgJ21vbnRoJyk7XG4gICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPT09IFwiUFJFVklPVVNcIikge1xuICAgICAgdGhpc01vbnRoID0gdGhpc01vbnRoLnN1YnRyYWN0KDEsICdtb250aCcpO1xuICAgIH1cbiAgICB0aGlzLmN1cnJlbnRNb250aE51bWJlciA9IHRoaXNNb250aC5tb250aCgpO1xuICAgIHRoaXMuY3VycmVudE1vbnRoID0gZ2V0TW9udGgodGhpcy5jdXJyZW50TW9udGhOdW1iZXIpO1xuICAgIHRoaXMuY3VycmVudFllYXJOdW1iZXIgPSB0aGlzTW9udGgueWVhcigpO1xuICAgIHRoaXMuY3VycmVudE1vbnRoRGF0ZXMgPSB0aGlzLmdlbmVyYXRlRGF0ZXModGhpcy5jdXJyZW50TW9udGhOdW1iZXIsIHRoaXMuY3VycmVudFllYXJOdW1iZXIpO1xuICAgIHRoaXMuY2FsY3VsYXRlTWluTWF4RGF5cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZURhdGVzKG1vbnRoOiBudW1iZXIsIGN1cnJlbnRZZWFyTnVtYmVyOiBudW1iZXIpOiBJQ3VycmVudE1vbnRoRGF0ZXNbXSB7XG4gICAgbGV0IGRhdGVzOiBJQ3VycmVudE1vbnRoRGF0ZXNbXSA9IFtdO1xuICAgIGNvbnN0IHRoaXNNb250aCA9IHBhcnNlWm9uZSgpLnllYXIoY3VycmVudFllYXJOdW1iZXIpLm1vbnRoKG1vbnRoKTtcbiAgICBmb3IgKGxldCBzdGFydERhdGUgPSAxOyBzdGFydERhdGUgPD0gdGhpc01vbnRoLmVuZE9mKCdtb250aCcpLmRhdGUoKTsgc3RhcnREYXRlKyspIHtcbiAgICAgIGxldCBpc0Rpc2FibGVkRGF5ID0gdGhpcy5kYXRhLmRhdGVzRGlzYWJsZWQuc29tZShkID0+IGQgPT09IHRoaXNNb250aC5kYXRlKHN0YXJ0RGF0ZSkuZm9ybWF0KHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpKTtcbiAgICAgIGNvbnN0IG1pbkRhdGUgPSBwYXJzZVpvbmUodGhpcy5kYXRhLmRwQ29uZmlnLm1pbkRhdGUsIHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpO1xuICAgICAgaWYgKCFpc0Rpc2FibGVkRGF5ICYmIG1pbkRhdGUuaXNWYWxpZCgpKSB7XG4gICAgICAgIGlzRGlzYWJsZWREYXkgPSBtaW5EYXRlLmlzQWZ0ZXIodGhpc01vbnRoLmRhdGUoc3RhcnREYXRlKSwgJ2RheScpO1xuICAgICAgfVxuICAgICAgY29uc3QgbWF4RGF0ZSA9IHBhcnNlWm9uZSh0aGlzLmRhdGEuZHBDb25maWcubWF4RGF0ZSwgdGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCk7XG4gICAgICBpZiAoIWlzRGlzYWJsZWREYXkgJiYgbWF4RGF0ZS5pc1ZhbGlkKCkpIHtcbiAgICAgICAgaXNEaXNhYmxlZERheSA9IG1heERhdGUuaXNCZWZvcmUodGhpc01vbnRoLmRhdGUoc3RhcnREYXRlKSwgJ2RheScpO1xuICAgICAgfVxuICAgICAgZGF0ZXMucHVzaCh7XG4gICAgICAgIGRhdGU6IHN0YXJ0RGF0ZSxcbiAgICAgICAgd2Vla0RheTogdGhpc01vbnRoLmRhdGUoc3RhcnREYXRlKS5kYXkoKSxcbiAgICAgICAgaXNDdXJyZW50RGF5OiB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKCkueWVhcihjdXJyZW50WWVhck51bWJlcikubW9udGgobW9udGgpLmRhdGUoc3RhcnREYXRlKS5kYXRlKHN0YXJ0RGF0ZSkuaXNTYW1lKHBhcnNlWm9uZSgpLCAnZGF5JyksXG4gICAgICAgIGlzU2VsZWN0ZWREYXk6IHRoaXNNb250aC5kYXRlKHN0YXJ0RGF0ZSkuaXNTYW1lKHBhcnNlWm9uZSh0aGlzLmRhdGEuZGF0ZSwgdGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCksICdkYXknKSxcbiAgICAgICAgdG9hc3RNZXNzYWdlOiB0aGlzLmRhdGEubWVzc2FnZXMuZmluZChxID0+IHRoaXNNb250aC5kYXRlKHN0YXJ0RGF0ZSkuaXNTYW1lKHBhcnNlWm9uZShxLmRhdGUsIHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpLCAnZGF5JykpPy5tZXNzYWdlIHx8ICcnLFxuICAgICAgICBpc0Rpc2FibGVkRGF5LFxuICAgICAgfSk7XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSBkYXRlc1swXS53ZWVrRGF5OyBpID4gMDsgaS0tKSB7XG4gICAgICBkYXRlcy51bnNoaWZ0KHsgZGF0ZTogMCwgd2Vla0RheTogaSAtIDEgfSk7XG4gICAgfVxuICAgIHJldHVybiBkYXRlcztcbiAgfVxuXG4gIHNlbGVjdERheShkYXk6IElDdXJyZW50TW9udGhEYXRlcykge1xuICAgIGlmIChkYXkuZGF0ZSA8PSAwKSByZXR1cm47XG4gICAgaWYgKCFkYXkuaXNEaXNhYmxlZERheSkge1xuICAgICAgdGhpcy5kYXRhLmRhdGVDaGFuZ2UocGFyc2Vab25lKCkueWVhcih0aGlzLmN1cnJlbnRZZWFyTnVtYmVyKS5tb250aCh0aGlzLmN1cnJlbnRNb250aE51bWJlcikuZGF0ZShkYXkuZGF0ZSkuZm9ybWF0KHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpKTtcbiAgICB9XG4gICAgaWYgKGRheS50b2FzdE1lc3NhZ2UpIHtcbiAgICAgIHRoaXMudG9hc3QuZGlzcGxheU1zZyhkYXkudG9hc3RNZXNzYWdlLCA0MDAwKTtcbiAgICB9XG4gIH1cblxufVxuIl19
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHotZHAtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2RhdGVwaWNrZXJfdjIvdHotZHAtY29udGFpbmVyL3R6LWRwLWNvbnRhaW5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFPL0QsTUFBTSxPQUFPLHNCQUFzQjtJQWNqQyxZQUFvQyxJQUFxQixFQUFVLEtBQW1COztRQUFuQixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBWjlFLHNCQUFpQixHQUFHLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRTtZQUN0QyxPQUFPLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQztRQUNNLGdCQUFXLEdBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsRixhQUFRLEdBQWUsRUFBRSxDQUFDO1FBSTFCLHNCQUFpQixHQUF5QixFQUFFLENBQUM7UUFDN0MsNEJBQXVCLEdBQVksS0FBSyxDQUFDO1FBQ3pDLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQUduQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixnQkFBSSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxRQUFRLDBDQUFFLFFB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LFNBQVMsQ0FBQyxHQUF1QjtRQUMvQixJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztZQUFFLE9BQU87UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQ2xCLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQ3pILENBQUM7U0FDSDtRQUNELElBQUksR0FBRyxDQUFDLFlBQVksRUFBRTtZQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQy9DO0lBQ0gsQ0FBQzs7O1lBNUhGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFDckIseTVGQUErQzs7YUFFaEQ7Ozs0Q0FlYyxNQUFNLFNBQUMsY0FBYztZQXJCM0IsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ09OVEFJTkVSX0RBVEEsIERBVEVfRk9STUFUIH0gZnJvbSBcIi4uL2RhdGVwaWNrZXItY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBJQ3VycmVudE1vbnRoLCBJQ3VycmVudE1vbnRoRGF0ZXMsIElEYXRlUGlja2VyRGF0YSwgSVdlZWtEYXkgfSBmcm9tIFwiLi4vbW9kZWxzL2RwLWNvbmZpZy5tb2RlbFwiO1xuaW1wb3J0IHsgcGFyc2Vab25lLCBNb21lbnQsIHR6IH0gZnJvbSBcIm1vbWVudC10aW1lem9uZVwiO1xuaW1wb3J0IHsgZ2V0TW9udGggfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gXCJtaXMtY3J5c3RhbC1kZXNpZ24tc3lzdGVtL3RvYXN0XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtaXMtdHotZHBcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90ei1kcC1jb250YWluZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3R6LWRwLWNvbnRhaW5lci5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgVHpEcENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGRhdGE6IElEYXRlUGlja2VyRGF0YTtcbiAgcHJpdmF0ZSBwYXJzZVpvbmVJbnN0YW5jZSA9ICguLi5hcmdzKSA9PiB7XG4gICAgcmV0dXJuIHBhcnNlWm9uZSguLi5hcmdzKTtcbiAgfTtcbiAgcHJpdmF0ZSByYXdXZWVrRGF5czogc3RyaW5nW10gPSBbXCJTVU5cIiwgXCJNT05cIiwgXCJUVUVcIiwgXCJXRURcIiwgXCJUSFVcIiwgXCJGUklcIiwgXCJTQVRcIl07XG4gIHdlZWtEYXlzOiBJV2Vla0RheVtdID0gW107XG4gIGN1cnJlbnRNb250aE51bWJlcjogbnVtYmVyO1xuICBjdXJyZW50TW9udGg6IElDdXJyZW50TW9udGg7XG4gIGN1cnJlbnRZZWFyTnVtYmVyOiBudW1iZXI7XG4gIGN1cnJlbnRNb250aERhdGVzOiBJQ3VycmVudE1vbnRoRGF0ZXNbXSA9IFtdO1xuICBpc1ByZXZpb3VzTW9udGhEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc05leHRNb250aERpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChDT05UQUlORVJfREFUQSkgZGF0YTogSURhdGVQaWNrZXJEYXRhLCBwcml2YXRlIHRvYXN0OiBUb2FzdFNlcnZpY2UpIHtcbiAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgIGlmICh0aGlzLmRhdGE/LmRwQ29uZmlnPy50aW1lem9uZSkge1xuICAgICAgdGhpcy5wYXJzZVpvbmVJbnN0YW5jZSA9ICguLi5hcmdzKSA9PiB7XG4gICAgICAgIHJldHVybiBwYXJzZVpvbmUoLi4uYXJncykudHoodGhpcy5kYXRhLmRwQ29uZmlnLnRpbWV6b25lKTtcbiAgICAgIH07XG4gICAgfVxuICAgIHRoaXMuY3VycmVudE1vbnRoTnVtYmVyID0gdGhpcy5wYXJzZVpvbmVJbnN0YW5jZSgpLm1vbnRoKCk7XG4gICAgdGhpcy5jdXJyZW50TW9udGggPSBnZXRNb250aCh0aGlzLmN1cnJlbnRNb250aE51bWJlcik7XG4gICAgdGhpcy5jdXJyZW50WWVhck51bWJlciA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UoKS55ZWFyKCk7XG4gICAgdGhpcy53ZWVrRGF5cyA9IHRoaXMucmF3V2Vla0RheXMubWFwKChkYXksIGluZGV4KSA9PiAoe1xuICAgICAgbGFiZWw6IGAke2RheVswXX0ke2RheS5zbGljZSgxKS50b0xvd2VyQ2FzZSgpfWAsXG4gICAgICBpc0N1cnJlbnREYXk6IHRoaXMucGFyc2Vab25lSW5zdGFuY2UoKS5kYXkoKSA9PT0gaW5kZXgsXG4gICAgfSkpO1xuICAgIGlmICghdGhpcy5kYXRhPy5kcENvbmZpZz8uZm9ybWF0KSB7XG4gICAgICB0aGlzLmRhdGEuZHBDb25maWcgPSB7XG4gICAgICAgIC4uLnRoaXMuZGF0YS5kcENvbmZpZyxcbiAgICAgICAgZm9ybWF0OiBEQVRFX0ZPUk1BVCxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50RGF0ZUluc3RhbmNlKCk7XG4gICAgdGhpcy5jYWxjdWxhdGVNaW5NYXhEYXlzKCk7XG4gIH1cblxuICBwcml2YXRlIGN1cnJlbnREYXRlSW5zdGFuY2UoKTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0ZWREYXRlID0gcGFyc2Vab25lKHRoaXMuZGF0YS5kYXRlLCB0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KTtcbiAgICBpZiAoc2VsZWN0ZWREYXRlLmlzVmFsaWQoKSkge1xuICAgICAgdGhpcy5jdXJyZW50WWVhck51bWJlciA9IHNlbGVjdGVkRGF0ZS55ZWFyKCk7XG4gICAgICB0aGlzLmN1cnJlbnRNb250aE51bWJlciA9IHNlbGVjdGVkRGF0ZS5tb250aCgpO1xuICAgICAgdGhpcy5jdXJyZW50TW9udGggPSBnZXRNb250aCh0aGlzLmN1cnJlbnRNb250aE51bWJlcik7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudE1vbnRoRGF0ZXMgPSB0aGlzLmdlbmVyYXRlRGF0ZXModGhpcy5jdXJyZW50TW9udGhOdW1iZXIsIHRoaXMuY3VycmVudFllYXJOdW1iZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVNaW5NYXhEYXlzKCkge1xuICAgIGNvbnN0IGN1cnJlbnRJbnN0YW5jZSA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UoKS55ZWFyKHRoaXMuY3VycmVudFllYXJOdW1iZXIpLm1vbnRoKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyKTtcbiAgICBjb25zdCBtaW5EYXRlID0gdGhpcy5wYXJzZVpvbmVJbnN0YW5jZSh0aGlzLmRhdGEuZHBDb25maWcubWluRGF0ZSwgdGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCk7XG4gICAgaWYgKG1pbkRhdGUuaXNWYWxpZCgpKSB7XG4gICAgICB0aGlzLmlzUHJldmlvdXNNb250aERpc2FibGVkID0gbWluRGF0ZS5pc1NhbWVPckFmdGVyKGN1cnJlbnRJbnN0YW5jZSwgXCJtb250aFwiKTtcbiAgICB9XG4gICAgY29uc3QgbWF4RGF0ZSA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UodGhpcy5kYXRhLmRwQ29uZmlnLm1heERhdGUsIHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpO1xuICAgIGlmIChtYXhEYXRlLmlzVmFsaWQoKSkge1xuICAgICAgdGhpcy5pc05leHRNb250aERpc2FibGVkID0gbWF4RGF0ZS5pc0JlZm9yZShjdXJyZW50SW5zdGFuY2UsIFwibW9udGhcIik7XG4gICAgfVxuICB9XG5cbiAgbmF2aWdhdGVNb250aChkaXJlY3Rpb246IFwiTkVYVFwiIHwgXCJQUkVWSU9VU1wiKTogdm9pZCB7XG4gICAgbGV0IHRoaXNNb250aDogTW9tZW50ID0gcGFyc2Vab25lKCkueWVhcih0aGlzLmN1cnJlbnRZZWFyTnVtYmVyKS5tb250aCh0aGlzLmN1cnJlbnRNb250aE51bWJlcik7XG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gXCJORVhUXCIpIHtcbiAgICAgIHRoaXNNb250aCA9IHRoaXNNb250aC5hZGQoMSwgXCJtb250aFwiKTtcbiAgICB9IGVsc2UgaWYgKGRpcmVjdGlvbiA9PT0gXCJQUkVWSU9VU1wiKSB7XG4gICAgICB0aGlzTW9udGggPSB0aGlzTW9udGguc3VidHJhY3QoMSwgXCJtb250aFwiKTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50TW9udGhOdW1iZXIgPSB0aGlzTW9udGgubW9udGgoKTtcbiAgICB0aGlzLmN1cnJlbnRNb250aCA9IGdldE1vbnRoKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyKTtcbiAgICB0aGlzLmN1cnJlbnRZZWFyTnVtYmVyID0gdGhpc01vbnRoLnllYXIoKTtcbiAgICB0aGlzLmN1cnJlbnRNb250aERhdGVzID0gdGhpcy5nZW5lcmF0ZURhdGVzKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyLCB0aGlzLmN1cnJlbnRZZWFyTnVtYmVyKTtcbiAgICB0aGlzLmNhbGN1bGF0ZU1pbk1heERheXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVEYXRlcyhtb250aDogbnVtYmVyLCBjdXJyZW50WWVhck51bWJlcjogbnVtYmVyKTogSUN1cnJlbnRNb250aERhdGVzW10ge1xuICAgIGxldCBkYXRlczogSUN1cnJlbnRNb250aERhdGVzW10gPSBbXTtcbiAgICBjb25zdCBkYXlzSW5Nb250aCA9IHBhcnNlWm9uZSgpLnllYXIoY3VycmVudFllYXJOdW1iZXIpLm1vbnRoKG1vbnRoKS5kYXlzSW5Nb250aCgpO1xuICAgIGZvciAobGV0IHN0YXJ0RGF0ZSA9IDE7IHN0YXJ0RGF0ZSA8PSBkYXlzSW5Nb250aDsgc3RhcnREYXRlKyspIHtcbiAgICAgIGNvbnN0IGRhdGUgPSBwYXJzZVpvbmUoKS55ZWFyKGN1cnJlbnRZZWFyTnVtYmVyKS5tb250aChtb250aCkuZGF0ZShzdGFydERhdGUpO1xuICAgICAgY29uc3QgZGF0ZVN0cmluZyA9IGRhdGUuZm9ybWF0KHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpO1xuICAgICAgbGV0IGlzRGlzYWJsZWREYXkgPSB0aGlzLmRhdGEuZGF0ZXNEaXNhYmxlZC5zb21lKChkKSA9PiBkID09PSBkYXRlU3RyaW5nKTtcbiAgICAgIGNvbnN0IG1pbkRhdGUgPSBwYXJzZVpvbmUodGhpcy5kYXRhLmRwQ29uZmlnLm1pbkRhdGUsIHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpO1xuICAgICAgaWYgKCFpc0Rpc2FibGVkRGF5ICYmIG1pbkRhdGUuaXNWYWxpZCgpKSB7XG4gICAgICAgIGlzRGlzYWJsZWREYXkgPSBtaW5EYXRlLmlzQWZ0ZXIoZGF0ZSwgXCJkYXlcIik7XG4gICAgICB9XG4gICAgICBjb25zdCBtYXhEYXRlID0gcGFyc2Vab25lKHRoaXMuZGF0YS5kcENvbmZpZy5tYXhEYXRlLCB0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KTtcbiAgICAgIGlmICghaXNEaXNhYmxlZERheSAmJiBtYXhEYXRlLmlzVmFsaWQoKSkge1xuICAgICAgICBpc0Rpc2FibGVkRGF5ID0gbWF4RGF0ZS5pc0JlZm9yZShkYXRlLCBcImRheVwiKTtcbiAgICAgIH1cbiAgICAgIGRhdGVzLnB1c2goe1xuICAgICAgICBkYXRlOiBzdGFydERhdGUsXG4gICAgICAgIHdlZWtEYXk6IGRhdGUuZGF5KCksXG4gICAgICAgIGlzQ3VycmVudERheTpcbiAgICAgICAgICB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKHsgeWVhcjogY3VycmVudFllYXJOdW1iZXIsIG1vbnRoLCBkYXRlOiBzdGFydERhdGUgfSkuZm9ybWF0KHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpID09PVxuICAgICAgICAgIHBhcnNlWm9uZSgpLmZvcm1hdCh0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KSxcbiAgICAgICAgaXNTZWxlY3RlZERheTogZGF0ZS5mb3JtYXQodGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCkgPT09IHRoaXMuZGF0YS5kYXRlLFxuICAgICAgICB0b2FzdE1lc3NhZ2U6IHRoaXMuZGF0YS5tZXNzYWdlcy5maW5kKChxKSA9PiBkYXRlLmZvcm1hdCh0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KSA9PT0gcS5kYXRlKT8ubWVzc2FnZSB8fCBcIlwiLFxuICAgICAgICBpc0Rpc2FibGVkRGF5LFxuICAgICAgfSk7XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSBkYXRlc1swXS53ZWVrRGF5OyBpID4gMDsgaS0tKSB7XG4gICAgICBkYXRlcy51bnNoaWZ0KHsgZGF0ZTogMCwgd2Vla0RheTogaSAtIDEgfSk7XG4gICAgfVxuICAgIHJldHVybiBkYXRlcztcbiAgfVxuXG4gIHNlbGVjdERheShkYXk6IElDdXJyZW50TW9udGhEYXRlcykge1xuICAgIGlmIChkYXkuZGF0ZSA8PSAwKSByZXR1cm47XG4gICAgaWYgKCFkYXkuaXNEaXNhYmxlZERheSkge1xuICAgICAgdGhpcy5kYXRhLmRhdGVDaGFuZ2UoXG4gICAgICAgIHBhcnNlWm9uZSgpLnllYXIodGhpcy5jdXJyZW50WWVhck51bWJlcikubW9udGgodGhpcy5jdXJyZW50TW9udGhOdW1iZXIpLmRhdGUoZGF5LmRhdGUpLmZvcm1hdCh0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGRheS50b2FzdE1lc3NhZ2UpIHtcbiAgICAgIHRoaXMudG9hc3QuZGlzcGxheU1zZyhkYXkudG9hc3RNZXNzYWdlLCA0MDAwKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|