@ngageoint/mage.web-core-lib 6.2.2
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/README.md +24 -0
- package/bundles/ngageoint-mage.web-core-lib-common.umd.js +146 -0
- package/bundles/ngageoint-mage.web-core-lib-common.umd.js.map +1 -0
- package/bundles/ngageoint-mage.web-core-lib-common.umd.min.js +2 -0
- package/bundles/ngageoint-mage.web-core-lib-common.umd.min.js.map +1 -0
- package/bundles/ngageoint-mage.web-core-lib-event.umd.js +14 -0
- package/bundles/ngageoint-mage.web-core-lib-event.umd.js.map +1 -0
- package/bundles/ngageoint-mage.web-core-lib-event.umd.min.js +2 -0
- package/bundles/ngageoint-mage.web-core-lib-event.umd.min.js.map +1 -0
- package/bundles/ngageoint-mage.web-core-lib-feed.umd.js +114 -0
- package/bundles/ngageoint-mage.web-core-lib-feed.umd.js.map +1 -0
- package/bundles/ngageoint-mage.web-core-lib-feed.umd.min.js +2 -0
- package/bundles/ngageoint-mage.web-core-lib-feed.umd.min.js.map +1 -0
- package/bundles/ngageoint-mage.web-core-lib-paging.umd.js +313 -0
- package/bundles/ngageoint-mage.web-core-lib-paging.umd.js.map +1 -0
- package/bundles/ngageoint-mage.web-core-lib-paging.umd.min.js +16 -0
- package/bundles/ngageoint-mage.web-core-lib-paging.umd.min.js.map +1 -0
- package/bundles/ngageoint-mage.web-core-lib-plugin.umd.js +11 -0
- package/bundles/ngageoint-mage.web-core-lib-plugin.umd.js.map +1 -0
- package/bundles/ngageoint-mage.web-core-lib-plugin.umd.min.js +2 -0
- package/bundles/ngageoint-mage.web-core-lib-plugin.umd.min.js.map +1 -0
- package/bundles/ngageoint-mage.web-core-lib-static-icon.umd.js +391 -0
- package/bundles/ngageoint-mage.web-core-lib-static-icon.umd.js.map +1 -0
- package/bundles/ngageoint-mage.web-core-lib-static-icon.umd.min.js +2 -0
- package/bundles/ngageoint-mage.web-core-lib-static-icon.umd.min.js.map +1 -0
- package/bundles/ngageoint-mage.web-core-lib-user.umd.js +492 -0
- package/bundles/ngageoint-mage.web-core-lib-user.umd.js.map +1 -0
- package/bundles/ngageoint-mage.web-core-lib-user.umd.min.js +16 -0
- package/bundles/ngageoint-mage.web-core-lib-user.umd.min.js.map +1 -0
- package/bundles/ngageoint-mage.web-core-lib.umd.js +32 -0
- package/bundles/ngageoint-mage.web-core-lib.umd.js.map +1 -0
- package/bundles/ngageoint-mage.web-core-lib.umd.min.js +2 -0
- package/bundles/ngageoint-mage.web-core-lib.umd.min.js.map +1 -0
- package/common/mage-common.module.d.ts +7 -0
- package/common/ngageoint-mage.web-core-lib-common.d.ts +5 -0
- package/common/package.json +12 -0
- package/common/public-api.d.ts +2 -0
- package/common/xhr-img.component.d.ts +58 -0
- package/esm2015/common/mage-common.module.js +26 -0
- package/esm2015/common/ngageoint-mage.web-core-lib-common.js +5 -0
- package/esm2015/common/public-api.js +3 -0
- package/esm2015/common/xhr-img.component.js +109 -0
- package/esm2015/event/event-read.service.js +3 -0
- package/esm2015/event/event.model.js +1 -0
- package/esm2015/event/ngageoint-mage.web-core-lib-event.js +5 -0
- package/esm2015/event/public-api.js +2 -0
- package/esm2015/feed/feed.model.js +1 -0
- package/esm2015/feed/feed.service.js +105 -0
- package/esm2015/feed/ngageoint-mage.web-core-lib-feed.js +5 -0
- package/esm2015/feed/public-api.js +2 -0
- package/esm2015/mage-core-lib.module.js +20 -0
- package/esm2015/ngageoint-mage.web-core-lib.js +5 -0
- package/esm2015/paging/ngageoint-mage.web-core-lib-paging.js +5 -0
- package/esm2015/paging/paging.cdk-data-source.adapter.js +52 -0
- package/esm2015/paging/paging.model.js +25 -0
- package/esm2015/paging/public-api.js +3 -0
- package/esm2015/plugin/ngageoint-mage.web-core-lib-plugin.js +4 -0
- package/esm2015/plugin/plugin.model.js +1 -0
- package/esm2015/plugin/public-api.js +1 -0
- package/esm2015/public-api.js +5 -0
- package/esm2015/static-icon/ngageoint-mage.web-core-lib-static-icon.js +5 -0
- package/esm2015/static-icon/public-api.js +7 -0
- package/esm2015/static-icon/static-icon-form-field/static-icon-form-field.component.js +152 -0
- package/esm2015/static-icon/static-icon-img/static-icon-img.component.js +35 -0
- package/esm2015/static-icon/static-icon-select/static-icon-select.component.js +61 -0
- package/esm2015/static-icon/static-icon.model.js +10 -0
- package/esm2015/static-icon/static-icon.module.js +55 -0
- package/esm2015/static-icon/static-icon.service.js +82 -0
- package/esm2015/user/ngageoint-mage.web-core-lib-user.js +5 -0
- package/esm2015/user/public-api.js +4 -0
- package/esm2015/user/user-read.service.js +40 -0
- package/esm2015/user/user-select/user-select.component.js +165 -0
- package/esm2015/user/user.model.js +1 -0
- package/esm2015/user/user.module.js +65 -0
- package/esm5/common/mage-common.module.js +30 -0
- package/esm5/common/ngageoint-mage.web-core-lib-common.js +5 -0
- package/esm5/common/public-api.js +3 -0
- package/esm5/common/xhr-img.component.js +112 -0
- package/esm5/event/event-read.service.js +3 -0
- package/esm5/event/event.model.js +1 -0
- package/esm5/event/ngageoint-mage.web-core-lib-event.js +5 -0
- package/esm5/event/public-api.js +2 -0
- package/esm5/feed/feed.model.js +1 -0
- package/esm5/feed/feed.service.js +108 -0
- package/esm5/feed/ngageoint-mage.web-core-lib-feed.js +5 -0
- package/esm5/feed/public-api.js +2 -0
- package/esm5/mage-core-lib.module.js +24 -0
- package/esm5/ngageoint-mage.web-core-lib.js +5 -0
- package/esm5/paging/ngageoint-mage.web-core-lib-paging.js +5 -0
- package/esm5/paging/paging.cdk-data-source.adapter.js +60 -0
- package/esm5/paging/paging.model.js +25 -0
- package/esm5/paging/public-api.js +3 -0
- package/esm5/plugin/ngageoint-mage.web-core-lib-plugin.js +4 -0
- package/esm5/plugin/plugin.model.js +1 -0
- package/esm5/plugin/public-api.js +1 -0
- package/esm5/public-api.js +5 -0
- package/esm5/static-icon/ngageoint-mage.web-core-lib-static-icon.js +5 -0
- package/esm5/static-icon/public-api.js +7 -0
- package/esm5/static-icon/static-icon-form-field/static-icon-form-field.component.js +157 -0
- package/esm5/static-icon/static-icon-img/static-icon-img.component.js +38 -0
- package/esm5/static-icon/static-icon-select/static-icon-select.component.js +65 -0
- package/esm5/static-icon/static-icon.model.js +10 -0
- package/esm5/static-icon/static-icon.module.js +59 -0
- package/esm5/static-icon/static-icon.service.js +84 -0
- package/esm5/user/ngageoint-mage.web-core-lib-user.js +5 -0
- package/esm5/user/public-api.js +4 -0
- package/esm5/user/user-read.service.js +42 -0
- package/esm5/user/user-select/user-select.component.js +175 -0
- package/esm5/user/user.model.js +1 -0
- package/esm5/user/user.module.js +69 -0
- package/event/event-read.service.d.ts +11 -0
- package/event/event.model.d.ts +6 -0
- package/event/ngageoint-mage.web-core-lib-event.d.ts +5 -0
- package/event/package.json +12 -0
- package/event/public-api.d.ts +2 -0
- package/feed/feed.model.d.ts +83 -0
- package/feed/feed.service.d.ts +40 -0
- package/feed/ngageoint-mage.web-core-lib-feed.d.ts +5 -0
- package/feed/package.json +12 -0
- package/feed/public-api.d.ts +2 -0
- package/fesm2015/ngageoint-mage.web-core-lib-common.js +137 -0
- package/fesm2015/ngageoint-mage.web-core-lib-common.js.map +1 -0
- package/fesm2015/ngageoint-mage.web-core-lib-event.js +10 -0
- package/fesm2015/ngageoint-mage.web-core-lib-event.js.map +1 -0
- package/fesm2015/ngageoint-mage.web-core-lib-feed.js +111 -0
- package/fesm2015/ngageoint-mage.web-core-lib-feed.js.map +1 -0
- package/fesm2015/ngageoint-mage.web-core-lib-paging.js +83 -0
- package/fesm2015/ngageoint-mage.web-core-lib-paging.js.map +1 -0
- package/fesm2015/ngageoint-mage.web-core-lib-plugin.js +4 -0
- package/fesm2015/ngageoint-mage.web-core-lib-plugin.js.map +1 -0
- package/fesm2015/ngageoint-mage.web-core-lib-static-icon.js +379 -0
- package/fesm2015/ngageoint-mage.web-core-lib-static-icon.js.map +1 -0
- package/fesm2015/ngageoint-mage.web-core-lib-user.js +267 -0
- package/fesm2015/ngageoint-mage.web-core-lib-user.js.map +1 -0
- package/fesm2015/ngageoint-mage.web-core-lib.js +30 -0
- package/fesm2015/ngageoint-mage.web-core-lib.js.map +1 -0
- package/fesm5/ngageoint-mage.web-core-lib-common.js +142 -0
- package/fesm5/ngageoint-mage.web-core-lib-common.js.map +1 -0
- package/fesm5/ngageoint-mage.web-core-lib-event.js +10 -0
- package/fesm5/ngageoint-mage.web-core-lib-event.js.map +1 -0
- package/fesm5/ngageoint-mage.web-core-lib-feed.js +113 -0
- package/fesm5/ngageoint-mage.web-core-lib-feed.js.map +1 -0
- package/fesm5/ngageoint-mage.web-core-lib-paging.js +90 -0
- package/fesm5/ngageoint-mage.web-core-lib-paging.js.map +1 -0
- package/fesm5/ngageoint-mage.web-core-lib-plugin.js +4 -0
- package/fesm5/ngageoint-mage.web-core-lib-plugin.js.map +1 -0
- package/fesm5/ngageoint-mage.web-core-lib-static-icon.js +392 -0
- package/fesm5/ngageoint-mage.web-core-lib-static-icon.js.map +1 -0
- package/fesm5/ngageoint-mage.web-core-lib-user.js +280 -0
- package/fesm5/ngageoint-mage.web-core-lib-user.js.map +1 -0
- package/fesm5/ngageoint-mage.web-core-lib.js +33 -0
- package/fesm5/ngageoint-mage.web-core-lib.js.map +1 -0
- package/mage-core-lib.module.d.ts +6 -0
- package/ngageoint-mage.web-core-lib.d.ts +5 -0
- package/package.json +35 -0
- package/paging/ngageoint-mage.web-core-lib-paging.d.ts +5 -0
- package/paging/package.json +12 -0
- package/paging/paging.cdk-data-source.adapter.d.ts +20 -0
- package/paging/paging.model.d.ts +27 -0
- package/paging/public-api.d.ts +2 -0
- package/plugin/ngageoint-mage.web-core-lib-plugin.d.ts +5 -0
- package/plugin/package.json +12 -0
- package/plugin/plugin.model.d.ts +13 -0
- package/plugin/public-api.d.ts +1 -0
- package/public-api.d.ts +1 -0
- package/static-icon/ngageoint-mage.web-core-lib-static-icon.d.ts +5 -0
- package/static-icon/package.json +12 -0
- package/static-icon/public-api.d.ts +6 -0
- package/static-icon/static-icon-form-field/static-icon-form-field.component.d.ts +31 -0
- package/static-icon/static-icon-img/static-icon-img.component.d.ts +12 -0
- package/static-icon/static-icon-select/static-icon-select.component.d.ts +21 -0
- package/static-icon/static-icon.model.d.ts +19 -0
- package/static-icon/static-icon.module.d.ts +13 -0
- package/static-icon/static-icon.service.d.ts +20 -0
- package/user/ngageoint-mage.web-core-lib-user.d.ts +5 -0
- package/user/package.json +12 -0
- package/user/public-api.d.ts +4 -0
- package/user/user-read.service.d.ts +24 -0
- package/user/user-select/user-select.component.d.ts +38 -0
- package/user/user.model.d.ts +85 -0
- package/user/user.module.d.ts +16 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@ngageoint/mage.web-core-lib/user/user-read.service.ts","ng://@ngageoint/mage.web-core-lib/user/user-select/user-select.component.html","ng://@ngageoint/mage.web-core-lib/user/user-select/user-select.component.ts","ng://@ngageoint/mage.web-core-lib/user/user.module.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","UserReadService","http","search","which","queryParams","page_size","String","pageSize","page","pageIndex","term","includeTotalCount","total","get","USER_READ_BASE_URL","params","core","ɵɵinject","HttpClient","factory","ɵfac","providedIn","USER_READ_SERVICE","InjectionToken","i0.ɵɵelementStart","i0.ɵɵtext","i0.ɵɵelementEnd","i0.ɵɵadvance","i0.ɵɵtextInterpolate1","i0.ɵɵtextInterpolate2","i0.ɵɵtextInterpolate","UserSelectComponent","userService","baseFindParams","freeze","nextPageScrollThreshold","searchTermDebounceTime","trackByUserId","x","id","users","totalCount","searchTerm$","Subject","currentSearchTerm","currentFetch","defineProperty","closed","ngOnInit","_this","pipe","distinctUntilChanged","debounceTime","subscribe","unsubscribe","fetchNextPage","ngOnChanges","changes","ngAfterViewInit","writeValue","userSelect","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","onOpen","onScroll","_a","end","onScrollToEnd","nextPage","pageForItemIndex","findParams","concat","items","ɵɵdirectiveInject","selectors","viewQuery","rf","ctx","NgSelectComponent","provide","NG_VALUE_ACCESSOR","multi","useExisting","forwardRef","ɵɵNgOnChangesFeature","decls","vars","consts","template","i0.ɵɵlistener","$event","i0.ɵɵtemplate","i0.ɵɵproperty","loading","MageUserModule","imports","CommonModule","FormsModule","ReactiveFormsModule","ScrollingModule","MatAutocompleteModule","MatDialogModule","MatFormFieldModule","MatInputModule","MatListModule","MatSelectModule","NgSelectModule","declarations","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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\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 function __createBinding(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, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = 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\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\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 __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\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 (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = 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, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { HttpClient } from '@angular/common/http'\nimport { InjectionToken, Injectable } from '@angular/core'\nimport { PageOf, PagingParameters } from '@ngageoint/mage.web-core-lib/paging'\nimport { Observable } from 'rxjs'\nimport { User } from './user.model'\n\nexport const USER_READ_BASE_URL = '/api/next-users'\n\ntype SearchQueryParams = {\n page_size: string,\n page: string,\n term?: string,\n total?: 'true' | 'false'\n}\n\nconst reqKeys: { [SearchParamKey in keyof UserSearchParams]: string } = {\n term: 'term',\n pageSize: 'page_size',\n pageIndex: 'page',\n includeTotalCount: 'total',\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserReadService {\n\n constructor(private http: HttpClient) { }\n\n search(which: UserSearchParams): Observable<PageOf<UserSearchResult>> {\n const queryParams: SearchQueryParams = {\n page_size: String(which.pageSize),\n page: String(which.pageIndex),\n }\n if (typeof which.term === 'string') {\n queryParams.term = which.term\n }\n if (typeof which.includeTotalCount === 'boolean') {\n queryParams.total = which.includeTotalCount ? 'true' : 'false'\n }\n return this.http.get<PageOf<UserSearchResult>>(`${USER_READ_BASE_URL}/search`, {\n params: queryParams\n })\n }\n}\n\nexport interface UserSearchParams extends PagingParameters {\n term?: string | null | undefined\n}\n\nexport type UserSearchResult = Pick<User, 'id' | 'username' | 'displayName' | 'email' | 'active' | 'enabled'> & {\n /**\n * A reduction of all the phone numbers to a single string\n */\n allPhones?: string | null | undefined\n}\n\nexport const USER_READ_SERVICE = new InjectionToken<UserReadService>('UserReadService')","<ng-select [items]=\"users\"\n [typeahead]=\"searchTerm$\"\n [virtualScroll]=\"true\"\n [loading]=\"loading\"\n [trackByFn]=\"trackByUserId\"\n appendTo=\"body\"\n placeholder=\"Choose a user\"\n bindLabel=\"displayName\"\n (open)=\"onOpen()\"\n (scroll)=\"onScroll($event)\"\n (scrollToEnd)=\"onScrollToEnd()\"\n >\n <ng-template ng-header-tmp>\n <small class=\"form-text text-muted\">{{totalCount}} matching users</small>\n </ng-template>\n <ng-template class=\"user-option\" ng-option-tmp let-user=\"item\" let-index=\"index\">\n <div class=\"user-option\">\n <p class=\"user-option__line primary\">{{user.displayName}} ({{user.username}})</p>\n <p class=\"user-option__line detail\">{{user.email || '[no email]'}}</p>\n <p class=\"user-option__line detail\">{{user.allPhones || '[no phone]'}}</p>\n </div>\n </ng-template>\n</ng-select>\n","import { AfterViewInit, Component, Input, OnChanges, SimpleChanges, ViewChild, forwardRef, OnInit } from '@angular/core'\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms'\nimport { NgSelectComponent } from '@ng-select/ng-select'\nimport { User } from '../user.model'\nimport { UserReadService, UserSearchParams, UserSearchResult } from '../user-read.service'\nimport { pageForItemIndex, itemRangeOfPage } from '@ngageoint/mage.web-core-lib/paging'\nimport { Subject, BehaviorSubject, SubscriptionLike, Unsubscribable } from 'rxjs'\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators'\nimport { X } from '@angular/cdk/keycodes'\n\n@Component({\n selector: 'mage-user-select',\n templateUrl: './user-select.component.html',\n styleUrls: [\n './user-select.component.scss'\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: forwardRef(() => UserSelectComponent)\n }\n ]\n})\nexport class UserSelectComponent implements OnInit, OnChanges, AfterViewInit, ControlValueAccessor {\n\n readonly baseFindParams: Readonly<UserSearchParams> = Object.freeze({\n pageSize: 100,\n pageIndex: 0,\n term: null\n })\n readonly nextPageScrollThreshold = 15\n readonly searchTermDebounceTime = 500\n readonly trackByUserId: (x: User) => User['id'] = x => x.id\n get loading(): boolean {\n return !!this.currentFetch && !this.currentFetch.closed\n }\n\n users: UserSearchResult[] = []\n totalCount = 0\n searchTerm$ = new Subject<string | null>()\n currentSearchTerm: string | null = null\n @ViewChild(NgSelectComponent, { static: true })\n userSelect: NgSelectComponent\n\n private currentFetch: SubscriptionLike | null = null\n\n constructor(private userService: UserReadService) { }\n\n ngOnInit() {\n this.searchTerm$.pipe(\n distinctUntilChanged(),\n debounceTime(this.searchTermDebounceTime),\n )\n .subscribe(x => {\n this.currentSearchTerm = x\n this.users = []\n this.totalCount = 0\n if (this.currentFetch) {\n this.currentFetch.unsubscribe()\n this.currentFetch = null\n }\n this.fetchNextPage()\n })\n }\n\n ngOnChanges(changes: SimpleChanges) {\n }\n\n ngAfterViewInit() {\n }\n\n writeValue(x: User | null): void {\n this.userSelect.writeValue(x)\n }\n\n registerOnChange(fn: (...args: any[]) => any): void {\n this.userSelect.registerOnChange(fn)\n }\n\n registerOnTouched(fn: (...args: any[]) => any): void {\n this.userSelect.registerOnTouched(fn)\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.userSelect.setDisabledState(isDisabled)\n }\n\n onOpen() {\n if (this.users.length === 0) {\n this.fetchNextPage()\n }\n }\n\n onScroll({ end }: { start: number, end: number }) {\n if (end < this.users.length - this.nextPageScrollThreshold || this.users.length === this.totalCount) {\n return\n }\n this.fetchNextPage()\n }\n\n onScrollToEnd() {\n\n }\n\n fetchNextPage() {\n if (this.currentFetch) {\n if (this.currentFetch.closed) {\n this.currentFetch = null\n }\n else {\n return\n }\n }\n const nextPage = pageForItemIndex(this.users.length, this.baseFindParams.pageSize)\n const findParams: UserSearchParams = {\n ...this.baseFindParams,\n pageIndex: nextPage\n }\n if (this.currentSearchTerm) {\n findParams.term = this.currentSearchTerm\n }\n this.currentFetch = this.userService.search(findParams).subscribe(page => {\n this.users = this.users.concat(page.items)\n if (typeof page.totalCount === 'number') {\n this.totalCount = page.totalCount\n }\n })\n }\n}","import { ScrollingModule } from '@angular/cdk/scrolling'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms'\nimport { MatAutocompleteModule } from '@angular/material/autocomplete'\nimport { MatDialogModule } from '@angular/material/dialog'\nimport { MatFormFieldModule } from '@angular/material/form-field'\nimport { MatInputModule } from '@angular/material/input'\nimport { MatListModule } from '@angular/material/list'\nimport { MatSelectModule } from '@angular/material/select'\nimport { UserSelectComponent } from './user-select/user-select.component'\nimport { NgSelectModule } from '@ng-select/ng-select'\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n ScrollingModule,\n MatAutocompleteModule,\n MatDialogModule,\n MatFormFieldModule,\n MatInputModule,\n MatListModule,\n MatSelectModule,\n NgSelectModule,\n ],\n declarations: [\n UserSelectComponent\n ],\n exports: [\n UserSelectComponent\n ]\n})\nexport class MageUserModule {\n\n}"]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
(function (global, factory) {
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('@ngageoint/mage.web-core-lib', ['exports', '@angular/core', '@angular/common'], factory) :
|
|
4
|
+
(global = global || self, factory((global.ngageoint = global.ngageoint || {}, global.ngageoint.mage = global.ngageoint.mage || {}, global.ngageoint.mage['web-core-lib'] = {}), global.ng.core, global.ng.common));
|
|
5
|
+
}(this, (function (exports, core, common) { 'use strict';
|
|
6
|
+
|
|
7
|
+
var MageCoreLibModule = /** @class */ (function () {
|
|
8
|
+
function MageCoreLibModule() {
|
|
9
|
+
}
|
|
10
|
+
MageCoreLibModule.ɵmod = core.ɵɵdefineNgModule({ type: MageCoreLibModule });
|
|
11
|
+
MageCoreLibModule.ɵinj = core.ɵɵdefineInjector({ factory: function MageCoreLibModule_Factory(t) { return new (t || MageCoreLibModule)(); }, imports: [[
|
|
12
|
+
common.CommonModule
|
|
13
|
+
]] });
|
|
14
|
+
return MageCoreLibModule;
|
|
15
|
+
}());
|
|
16
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && core.ɵɵsetNgModuleScope(MageCoreLibModule, { imports: [common.CommonModule] }); })();
|
|
17
|
+
/*@__PURE__*/ (function () { core.ɵsetClassMetadata(MageCoreLibModule, [{
|
|
18
|
+
type: core.NgModule,
|
|
19
|
+
args: [{
|
|
20
|
+
declarations: [],
|
|
21
|
+
imports: [
|
|
22
|
+
common.CommonModule
|
|
23
|
+
]
|
|
24
|
+
}]
|
|
25
|
+
}], null, null); })();
|
|
26
|
+
|
|
27
|
+
exports.MageCoreLibModule = MageCoreLibModule;
|
|
28
|
+
|
|
29
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
30
|
+
|
|
31
|
+
})));
|
|
32
|
+
//# sourceMappingURL=ngageoint-mage.web-core-lib.umd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngageoint-mage.web-core-lib.umd.js","sources":["ng://@ngageoint/mage.web-core-lib/mage-core-lib.module.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule\n ]\n})\nexport class MageCoreLibModule { }\n"],"names":["CommonModule","NgModule"],"mappings":";;;;;;;QAKA;SAMkC;+DAArB,iBAAiB;2HAAjB,iBAAiB,kBAJnB;oBACPA,mBAAY;iBACb;gCATH;KAKA,IAMkC;8FAArB,iBAAiB,cAH1BA,mBAAY;wDAGH,iBAAiB;kBAN7BC,aAAQ;mBAAC;oBACR,YAAY,EAAE,EAAE;oBAChB,OAAO,EAAE;wBACPD,mBAAY;qBACb;iBACF;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@angular/core"),require("@angular/common")):"function"==typeof define&&define.amd?define("@ngageoint/mage.web-core-lib",["exports","@angular/core","@angular/common"],n):n(((e=e||self).ngageoint=e.ngageoint||{},e.ngageoint.mage=e.ngageoint.mage||{},e.ngageoint.mage["web-core-lib"]={}),e.ng.core,e.ng.common)}(this,(function(e,n,o){"use strict";var t=function(){function e(){}return e.ɵmod=n.ɵɵdefineNgModule({type:e}),e.ɵinj=n.ɵɵdefineInjector({factory:function(n){return new(n||e)},imports:[[o.CommonModule]]}),e}();("undefined"==typeof ngJitMode||ngJitMode)&&n.ɵɵsetNgModuleScope(t,{imports:[o.CommonModule]}),e.MageCoreLibModule=t,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
|
+
//# sourceMappingURL=ngageoint-mage.web-core-lib.umd.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ng://@ngageoint/mage.web-core-lib/mage-core-lib.module.ts"],"names":["MageCoreLibModule","imports","CommonModule"],"mappings":"gcAKA,SAAAA,4CAMaA,iEAAAA,IAAiBC,QAAA,CAJnB,CACPC,EAAAA,uFAGSF,EAAiB,CAAAC,QAAA,CAH1BC,EAAAA","sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule\n ]\n})\nexport class MageCoreLibModule { }\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./xhr-img.component";
|
|
3
|
+
import * as i2 from "@angular/platform-browser";
|
|
4
|
+
export declare class MageCommonModule {
|
|
5
|
+
static ɵmod: i0.ɵɵNgModuleDefWithMeta<MageCommonModule, [typeof i1.XhrImgComponent], [typeof i2.BrowserModule], [typeof i1.XhrImgComponent]>;
|
|
6
|
+
static ɵinj: i0.ɵɵInjectorDef<MageCommonModule>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"main": "../bundles/ngageoint-mage.web-core-lib-common.umd.js",
|
|
3
|
+
"module": "../fesm5/ngageoint-mage.web-core-lib-common.js",
|
|
4
|
+
"es2015": "../fesm2015/ngageoint-mage.web-core-lib-common.js",
|
|
5
|
+
"esm5": "../esm5/common/ngageoint-mage.web-core-lib-common.js",
|
|
6
|
+
"esm2015": "../esm2015/common/ngageoint-mage.web-core-lib-common.js",
|
|
7
|
+
"fesm5": "../fesm5/ngageoint-mage.web-core-lib-common.js",
|
|
8
|
+
"fesm2015": "../fesm2015/ngageoint-mage.web-core-lib-common.js",
|
|
9
|
+
"typings": "ngageoint-mage.web-core-lib-common.d.ts",
|
|
10
|
+
"sideEffects": false,
|
|
11
|
+
"name": "@ngageoint/mage.web-core-lib/common"
|
|
12
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { InjectionToken, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { HttpClient } from '@angular/common/http';
|
|
3
|
+
import { DomSanitizer, SafeUrl } from '@angular/platform-browser';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* This is a simple interface that includes the [methods](https://www.w3.org/TR/FileAPI/#creating-revoking)
|
|
7
|
+
* from the [URL API](https://developer.mozilla.org/en-US/docs/Web/API/URL) for
|
|
8
|
+
* managing blob URLs. This allows a service to be injected into
|
|
9
|
+
* `XhrImgComponent` and overridden for testing.
|
|
10
|
+
*/
|
|
11
|
+
export interface ObjectUrlService {
|
|
12
|
+
createObjectURL: (typeof URL)['createObjectURL'];
|
|
13
|
+
revokeObjectURL: (typeof URL)['revokeObjectURL'];
|
|
14
|
+
}
|
|
15
|
+
export declare const OBJECT_URL_SERVICE: InjectionToken<ObjectUrlService>;
|
|
16
|
+
/**
|
|
17
|
+
* This component allows fetching images by `XMLHttpRequest` rather than the
|
|
18
|
+
* browser's native mechanism. These image requests are subject to HTTP
|
|
19
|
+
* interceptors that can add authorization headers to the request instead of
|
|
20
|
+
* using cache-defeating URL query parameters to set an auth token. Applying
|
|
21
|
+
* headers to the browser's native `img` requests is impossible, so a query
|
|
22
|
+
* parameter is necessary for authorization, but adding the parameter to the
|
|
23
|
+
* URL effectively bypasses the browser's caching mechanism when the auth token
|
|
24
|
+
* changes for images that
|
|
25
|
+
* should otherwise be subject to caching.
|
|
26
|
+
*
|
|
27
|
+
* The catch to fetching images by XHR is the response must be fetched as a
|
|
28
|
+
* `Blob`. The user then gets a browser-specific URL for the blob by
|
|
29
|
+
* `URL.createObjectURL(blob)`, which can then be assigned to the `src`
|
|
30
|
+
* attribute of an `img` tag. These blob URLs must then be "revoked" by
|
|
31
|
+
* `URL.revokeObjectURL(url)` in order to reclaim object URL's associated
|
|
32
|
+
* resources. See [Mozilla's docs](https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications#example_using_object_urls_to_display_images)
|
|
33
|
+
* on the subject.
|
|
34
|
+
*
|
|
35
|
+
* To use the component, simply add the tag to a template and bind the `src`
|
|
36
|
+
* attribute to the source URL of the desired image.
|
|
37
|
+
* ```
|
|
38
|
+
* <mage-xhr-img [src]="someComponent.imageUrlRequiresAuth"></mage-xhr-img>
|
|
39
|
+
* ```
|
|
40
|
+
* The component encapsulates the logic of creating and releasing the object
|
|
41
|
+
* URLs for the image data, preventing memory leaks.
|
|
42
|
+
*/
|
|
43
|
+
export declare class XhrImgComponent implements OnChanges, OnDestroy {
|
|
44
|
+
private objectUrlService;
|
|
45
|
+
private http;
|
|
46
|
+
private sanitizer;
|
|
47
|
+
sourceUrl: string | null;
|
|
48
|
+
safeBlobUrl: SafeUrl | null;
|
|
49
|
+
private blobUrl;
|
|
50
|
+
private subscription;
|
|
51
|
+
constructor(objectUrlService: ObjectUrlService, http: HttpClient, sanitizer: DomSanitizer);
|
|
52
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
53
|
+
ngOnDestroy(): void;
|
|
54
|
+
onImgLoad(): void;
|
|
55
|
+
private disposeCurrent;
|
|
56
|
+
static ɵfac: i0.ɵɵFactoryDef<XhrImgComponent, never>;
|
|
57
|
+
static ɵcmp: i0.ɵɵComponentDefWithMeta<XhrImgComponent, "mage-xhr-img", never, { "sourceUrl": "src"; }, {}, never, never>;
|
|
58
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { BrowserModule } from '@angular/platform-browser';
|
|
3
|
+
import { XhrImgComponent } from './xhr-img.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class MageCommonModule {
|
|
6
|
+
}
|
|
7
|
+
MageCommonModule.ɵmod = i0.ɵɵdefineNgModule({ type: MageCommonModule });
|
|
8
|
+
MageCommonModule.ɵinj = i0.ɵɵdefineInjector({ factory: function MageCommonModule_Factory(t) { return new (t || MageCommonModule)(); }, imports: [[
|
|
9
|
+
BrowserModule
|
|
10
|
+
]] });
|
|
11
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(MageCommonModule, { declarations: [XhrImgComponent], imports: [BrowserModule], exports: [XhrImgComponent] }); })();
|
|
12
|
+
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(MageCommonModule, [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
imports: [
|
|
16
|
+
BrowserModule
|
|
17
|
+
],
|
|
18
|
+
declarations: [
|
|
19
|
+
XhrImgComponent
|
|
20
|
+
],
|
|
21
|
+
exports: [
|
|
22
|
+
XhrImgComponent
|
|
23
|
+
]
|
|
24
|
+
}]
|
|
25
|
+
}], null, null); })();
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnZS1jb21tb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nYWdlb2ludC9tYWdlLndlYi1jb3JlLWxpYi9jb21tb24vIiwic291cmNlcyI6WyJtYWdlLWNvbW1vbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBOztBQWFyRCxNQUFNLE9BQU8sZ0JBQWdCOztvREFBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0Isa0JBVmxCO1lBQ1AsYUFBYTtTQUNkO3dGQVFVLGdCQUFnQixtQkFOekIsZUFBZSxhQUhmLGFBQWEsYUFNYixlQUFlO2tEQUdOLGdCQUFnQjtjQVg1QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLGFBQWE7aUJBQ2Q7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLGVBQWU7aUJBQ2hCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxlQUFlO2lCQUNoQjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInXG5pbXBvcnQgeyBYaHJJbWdDb21wb25lbnQgfSBmcm9tICcuL3hoci1pbWcuY29tcG9uZW50J1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQnJvd3Nlck1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBYaHJJbWdDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFhockltZ0NvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1hZ2VDb21tb25Nb2R1bGUge30iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdhZ2VvaW50LW1hZ2Uud2ViLWNvcmUtbGliLWNvbW1vbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ2FnZW9pbnQvbWFnZS53ZWItY29yZS1saWIvY29tbW9uLyIsInNvdXJjZXMiOlsibmdhZ2VvaW50LW1hZ2Uud2ViLWNvcmUtbGliLWNvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './xhr-img.component';
|
|
2
|
+
export * from './mage-common.module';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ2FnZW9pbnQvbWFnZS53ZWItY29yZS1saWIvY29tbW9uLyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFBO0FBQ25DLGNBQWMsc0JBQXNCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3hoci1pbWcuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9tYWdlLWNvbW1vbi5tb2R1bGUnIl19
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { Component, Inject, InjectionToken, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common/http";
|
|
4
|
+
import * as i2 from "@angular/platform-browser";
|
|
5
|
+
const selector = 'mage-xhr-img';
|
|
6
|
+
export const OBJECT_URL_SERVICE = new InjectionToken(`${selector}.objectUrlService`);
|
|
7
|
+
/**
|
|
8
|
+
* This component allows fetching images by `XMLHttpRequest` rather than the
|
|
9
|
+
* browser's native mechanism. These image requests are subject to HTTP
|
|
10
|
+
* interceptors that can add authorization headers to the request instead of
|
|
11
|
+
* using cache-defeating URL query parameters to set an auth token. Applying
|
|
12
|
+
* headers to the browser's native `img` requests is impossible, so a query
|
|
13
|
+
* parameter is necessary for authorization, but adding the parameter to the
|
|
14
|
+
* URL effectively bypasses the browser's caching mechanism when the auth token
|
|
15
|
+
* changes for images that
|
|
16
|
+
* should otherwise be subject to caching.
|
|
17
|
+
*
|
|
18
|
+
* The catch to fetching images by XHR is the response must be fetched as a
|
|
19
|
+
* `Blob`. The user then gets a browser-specific URL for the blob by
|
|
20
|
+
* `URL.createObjectURL(blob)`, which can then be assigned to the `src`
|
|
21
|
+
* attribute of an `img` tag. These blob URLs must then be "revoked" by
|
|
22
|
+
* `URL.revokeObjectURL(url)` in order to reclaim object URL's associated
|
|
23
|
+
* resources. See [Mozilla's docs](https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications#example_using_object_urls_to_display_images)
|
|
24
|
+
* on the subject.
|
|
25
|
+
*
|
|
26
|
+
* To use the component, simply add the tag to a template and bind the `src`
|
|
27
|
+
* attribute to the source URL of the desired image.
|
|
28
|
+
* ```
|
|
29
|
+
* <mage-xhr-img [src]="someComponent.imageUrlRequiresAuth"></mage-xhr-img>
|
|
30
|
+
* ```
|
|
31
|
+
* The component encapsulates the logic of creating and releasing the object
|
|
32
|
+
* URLs for the image data, preventing memory leaks.
|
|
33
|
+
*/
|
|
34
|
+
export class XhrImgComponent {
|
|
35
|
+
constructor(objectUrlService, http, sanitizer) {
|
|
36
|
+
this.objectUrlService = objectUrlService;
|
|
37
|
+
this.http = http;
|
|
38
|
+
this.sanitizer = sanitizer;
|
|
39
|
+
this.sourceUrl = null;
|
|
40
|
+
this.safeBlobUrl = null;
|
|
41
|
+
}
|
|
42
|
+
ngOnChanges(changes) {
|
|
43
|
+
if (!changes.sourceUrl) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (changes.sourceUrl.isFirstChange() && !this.sourceUrl) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
this.disposeCurrent();
|
|
50
|
+
if (!this.sourceUrl) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
this.subscription = this.http.get(this.sourceUrl, { responseType: 'blob' })
|
|
54
|
+
.subscribe(x => {
|
|
55
|
+
this.objectUrlService.revokeObjectURL(this.blobUrl);
|
|
56
|
+
this.blobUrl = this.objectUrlService.createObjectURL(x);
|
|
57
|
+
this.safeBlobUrl = this.sanitizer.bypassSecurityTrustUrl(this.blobUrl);
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
ngOnDestroy() {
|
|
61
|
+
this.disposeCurrent();
|
|
62
|
+
}
|
|
63
|
+
onImgLoad() {
|
|
64
|
+
this.disposeCurrent();
|
|
65
|
+
}
|
|
66
|
+
disposeCurrent() {
|
|
67
|
+
if (this.blobUrl) {
|
|
68
|
+
this.objectUrlService.revokeObjectURL(this.blobUrl);
|
|
69
|
+
}
|
|
70
|
+
if (this.subscription) {
|
|
71
|
+
this.subscription.unsubscribe();
|
|
72
|
+
}
|
|
73
|
+
this.blobUrl = null;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
XhrImgComponent.ɵfac = function XhrImgComponent_Factory(t) { return new (t || XhrImgComponent)(i0.ɵɵdirectiveInject(OBJECT_URL_SERVICE), i0.ɵɵdirectiveInject(i1.HttpClient), i0.ɵɵdirectiveInject(i2.DomSanitizer)); };
|
|
77
|
+
XhrImgComponent.ɵcmp = i0.ɵɵdefineComponent({ type: XhrImgComponent, selectors: [["mage-xhr-img"]], inputs: { sourceUrl: ["src", "sourceUrl"] }, features: [i0.ɵɵProvidersFeature([
|
|
78
|
+
{
|
|
79
|
+
provide: OBJECT_URL_SERVICE,
|
|
80
|
+
useValue: URL
|
|
81
|
+
}
|
|
82
|
+
]), i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [[3, "load"]], template: function XhrImgComponent_Template(rf, ctx) { if (rf & 1) {
|
|
83
|
+
i0.ɵɵelementStart(0, "img", 0);
|
|
84
|
+
i0.ɵɵlistener("load", function XhrImgComponent_Template_img_load_0_listener() { return ctx.onImgLoad(); });
|
|
85
|
+
i0.ɵɵelementEnd();
|
|
86
|
+
} if (rf & 2) {
|
|
87
|
+
i0.ɵɵattribute("src", ctx.safeBlobUrl, i0.ɵɵsanitizeUrl);
|
|
88
|
+
} }, styles: ["img[_ngcontent-%COMP%] { height: 100%; width: 100% }"] });
|
|
89
|
+
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(XhrImgComponent, [{
|
|
90
|
+
type: Component,
|
|
91
|
+
args: [{
|
|
92
|
+
selector: `${selector}`,
|
|
93
|
+
template: `<img [attr.src]="safeBlobUrl" (load)="onImgLoad()"/>`,
|
|
94
|
+
styles: [`img { height: 100%; width: 100% }`],
|
|
95
|
+
providers: [
|
|
96
|
+
{
|
|
97
|
+
provide: OBJECT_URL_SERVICE,
|
|
98
|
+
useValue: URL
|
|
99
|
+
}
|
|
100
|
+
]
|
|
101
|
+
}]
|
|
102
|
+
}], function () { return [{ type: undefined, decorators: [{
|
|
103
|
+
type: Inject,
|
|
104
|
+
args: [OBJECT_URL_SERVICE]
|
|
105
|
+
}] }, { type: i1.HttpClient }, { type: i2.DomSanitizer }]; }, { sourceUrl: [{
|
|
106
|
+
type: Input,
|
|
107
|
+
args: ['src']
|
|
108
|
+
}] }); })();
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGhyLWltZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmdhZ2VvaW50L21hZ2Uud2ViLWNvcmUtbGliL2NvbW1vbi8iLCJzb3VyY2VzIjpbInhoci1pbWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQXVDLE1BQU0sZUFBZSxDQUFBOzs7O0FBS3pILE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQTtBQVkvQixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBbUIsR0FBRyxRQUFRLG1CQUFtQixDQUFDLENBQUE7QUFFdEc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJHO0FBWUgsTUFBTSxPQUFPLGVBQWU7SUFTMUIsWUFBZ0QsZ0JBQWtDLEVBQVUsSUFBZ0IsRUFBVSxTQUF1QjtRQUE3RixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFON0ksY0FBUyxHQUFrQixJQUFJLENBQUE7UUFDL0IsZ0JBQVcsR0FBbUIsSUFBSSxDQUFBO0lBSzhHLENBQUM7SUFFakosV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ3RCLE9BQU07U0FDUDtRQUNELElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDeEQsT0FBTTtTQUNQO1FBQ0QsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ25CLE9BQU07U0FDUDtRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQzthQUN4RSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDYixJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUNuRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDdkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUN4RSxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFBO0lBQ3ZCLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFBO0lBQ3ZCLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtTQUNwRDtRQUNELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFBO1NBQ2hDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUE7SUFDckIsQ0FBQzs7OEVBOUNVLGVBQWUsdUJBU04sa0JBQWtCO29EQVQzQixlQUFlLCtHQVBmO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsUUFBUSxFQUFFLEdBQUc7YUFDZDtTQUNGO1FBUFUsOEJBQW9EO1FBQXRCLHVGQUFRLGVBQVcsSUFBQztRQUFsRCxpQkFBb0Q7O1FBQS9DLHdEQUF3Qjs7a0RBUzdCLGVBQWU7Y0FYM0IsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxHQUFHLFFBQVEsRUFBRTtnQkFDdkIsUUFBUSxFQUFFLHNEQUFzRDtnQkFDaEUsTUFBTSxFQUFFLENBQUUsbUNBQW1DLENBQUU7Z0JBQy9DLFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsa0JBQWtCO3dCQUMzQixRQUFRLEVBQUUsR0FBRztxQkFDZDtpQkFDRjthQUNGOztzQkFVYyxNQUFNO3VCQUFDLGtCQUFrQjs7a0JBUHJDLEtBQUs7bUJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJ1xuXG5jb25zdCBzZWxlY3RvciA9ICdtYWdlLXhoci1pbWcnXG5cbi8qKlxuICogVGhpcyBpcyBhIHNpbXBsZSBpbnRlcmZhY2UgdGhhdCBpbmNsdWRlcyB0aGUgW21ldGhvZHNdKGh0dHBzOi8vd3d3LnczLm9yZy9UUi9GaWxlQVBJLyNjcmVhdGluZy1yZXZva2luZylcbiAqIGZyb20gdGhlIFtVUkwgQVBJXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvVVJMKSBmb3JcbiAqIG1hbmFnaW5nIGJsb2IgVVJMcy4gIFRoaXMgYWxsb3dzIGEgc2VydmljZSB0byBiZSBpbmplY3RlZCBpbnRvXG4gKiBgWGhySW1nQ29tcG9uZW50YCBhbmQgb3ZlcnJpZGRlbiBmb3IgdGVzdGluZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPYmplY3RVcmxTZXJ2aWNlIHtcbiAgY3JlYXRlT2JqZWN0VVJMOiAodHlwZW9mIFVSTClbJ2NyZWF0ZU9iamVjdFVSTCddXG4gIHJldm9rZU9iamVjdFVSTDogKHR5cGVvZiBVUkwpWydyZXZva2VPYmplY3RVUkwnXVxufVxuZXhwb3J0IGNvbnN0IE9CSkVDVF9VUkxfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYmplY3RVcmxTZXJ2aWNlPihgJHtzZWxlY3Rvcn0ub2JqZWN0VXJsU2VydmljZWApXG5cbi8qKlxuICogVGhpcyBjb21wb25lbnQgYWxsb3dzIGZldGNoaW5nIGltYWdlcyBieSBgWE1MSHR0cFJlcXVlc3RgIHJhdGhlciB0aGFuIHRoZVxuICogYnJvd3NlcidzIG5hdGl2ZSBtZWNoYW5pc20uICBUaGVzZSBpbWFnZSByZXF1ZXN0cyBhcmUgc3ViamVjdCB0byBIVFRQXG4gKiBpbnRlcmNlcHRvcnMgdGhhdCBjYW4gYWRkIGF1dGhvcml6YXRpb24gaGVhZGVycyB0byB0aGUgcmVxdWVzdCBpbnN0ZWFkIG9mXG4gKiB1c2luZyBjYWNoZS1kZWZlYXRpbmcgVVJMIHF1ZXJ5IHBhcmFtZXRlcnMgdG8gc2V0IGFuIGF1dGggdG9rZW4uICBBcHBseWluZ1xuICogaGVhZGVycyB0byB0aGUgYnJvd3NlcidzIG5hdGl2ZSBgaW1nYCByZXF1ZXN0cyBpcyBpbXBvc3NpYmxlLCBzbyBhIHF1ZXJ5XG4gKiBwYXJhbWV0ZXIgaXMgbmVjZXNzYXJ5IGZvciBhdXRob3JpemF0aW9uLCBidXQgYWRkaW5nIHRoZSBwYXJhbWV0ZXIgdG8gdGhlXG4gKiBVUkwgZWZmZWN0aXZlbHkgYnlwYXNzZXMgdGhlIGJyb3dzZXIncyBjYWNoaW5nIG1lY2hhbmlzbSB3aGVuIHRoZSBhdXRoIHRva2VuXG4gKiBjaGFuZ2VzIGZvciBpbWFnZXMgdGhhdFxuICogc2hvdWxkIG90aGVyd2lzZSBiZSBzdWJqZWN0IHRvIGNhY2hpbmcuXG4gKlxuICogVGhlIGNhdGNoIHRvIGZldGNoaW5nIGltYWdlcyBieSBYSFIgaXMgdGhlIHJlc3BvbnNlIG11c3QgYmUgZmV0Y2hlZCBhcyBhXG4gKiBgQmxvYmAuICBUaGUgdXNlciB0aGVuIGdldHMgYSBicm93c2VyLXNwZWNpZmljIFVSTCBmb3IgdGhlIGJsb2IgYnlcbiAqIGBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpYCwgd2hpY2ggY2FuIHRoZW4gYmUgYXNzaWduZWQgdG8gdGhlIGBzcmNgXG4gKiBhdHRyaWJ1dGUgb2YgYW4gYGltZ2AgdGFnLiAgVGhlc2UgYmxvYiBVUkxzIG11c3QgdGhlbiBiZSBcInJldm9rZWRcIiBieVxuICogYFVSTC5yZXZva2VPYmplY3RVUkwodXJsKWAgaW4gb3JkZXIgdG8gcmVjbGFpbSBvYmplY3QgVVJMJ3MgYXNzb2NpYXRlZFxuICogcmVzb3VyY2VzLiAgU2VlIFtNb3ppbGxhJ3MgZG9jc10oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0ZpbGUvVXNpbmdfZmlsZXNfZnJvbV93ZWJfYXBwbGljYXRpb25zI2V4YW1wbGVfdXNpbmdfb2JqZWN0X3VybHNfdG9fZGlzcGxheV9pbWFnZXMpXG4gKiBvbiB0aGUgc3ViamVjdC5cbiAqXG4gKiBUbyB1c2UgdGhlIGNvbXBvbmVudCwgc2ltcGx5IGFkZCB0aGUgdGFnIHRvIGEgdGVtcGxhdGUgYW5kIGJpbmQgdGhlIGBzcmNgXG4gKiBhdHRyaWJ1dGUgdG8gdGhlIHNvdXJjZSBVUkwgb2YgdGhlIGRlc2lyZWQgaW1hZ2UuXG4gKiBgYGBcbiAqIDxtYWdlLXhoci1pbWcgW3NyY109XCJzb21lQ29tcG9uZW50LmltYWdlVXJsUmVxdWlyZXNBdXRoXCI+PC9tYWdlLXhoci1pbWc+XG4gKiBgYGBcbiAqIFRoZSBjb21wb25lbnQgZW5jYXBzdWxhdGVzIHRoZSBsb2dpYyBvZiBjcmVhdGluZyBhbmQgcmVsZWFzaW5nIHRoZSBvYmplY3RcbiAqIFVSTHMgZm9yIHRoZSBpbWFnZSBkYXRhLCBwcmV2ZW50aW5nIG1lbW9yeSBsZWFrcy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBgJHtzZWxlY3Rvcn1gLFxuICB0ZW1wbGF0ZTogYDxpbWcgW2F0dHIuc3JjXT1cInNhZmVCbG9iVXJsXCIgKGxvYWQpPVwib25JbWdMb2FkKClcIi8+YCxcbiAgc3R5bGVzOiBbIGBpbWcgeyBoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlIH1gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE9CSkVDVF9VUkxfU0VSVklDRSxcbiAgICAgIHVzZVZhbHVlOiBVUkxcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgWGhySW1nQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgnc3JjJylcbiAgc291cmNlVXJsOiBzdHJpbmcgfCBudWxsID0gbnVsbFxuICBzYWZlQmxvYlVybDogU2FmZVVybCB8IG51bGwgPSBudWxsXG5cbiAgcHJpdmF0ZSBibG9iVXJsOiBzdHJpbmdcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvblxuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoT0JKRUNUX1VSTF9TRVJWSUNFKSBwcml2YXRlIG9iamVjdFVybFNlcnZpY2U6IE9iamVjdFVybFNlcnZpY2UsIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKCFjaGFuZ2VzLnNvdXJjZVVybCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLnNvdXJjZVVybC5pc0ZpcnN0Q2hhbmdlKCkgJiYgIXRoaXMuc291cmNlVXJsKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgdGhpcy5kaXNwb3NlQ3VycmVudCgpXG4gICAgaWYgKCF0aGlzLnNvdXJjZVVybCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5odHRwLmdldCh0aGlzLnNvdXJjZVVybCwgeyByZXNwb25zZVR5cGU6ICdibG9iJyB9KVxuICAgICAgLnN1YnNjcmliZSh4ID0+IHtcbiAgICAgICAgdGhpcy5vYmplY3RVcmxTZXJ2aWNlLnJldm9rZU9iamVjdFVSTCh0aGlzLmJsb2JVcmwpXG4gICAgICAgIHRoaXMuYmxvYlVybCA9IHRoaXMub2JqZWN0VXJsU2VydmljZS5jcmVhdGVPYmplY3RVUkwoeClcbiAgICAgICAgdGhpcy5zYWZlQmxvYlVybCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RVcmwodGhpcy5ibG9iVXJsKVxuICAgICAgfSlcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGlzcG9zZUN1cnJlbnQoKVxuICB9XG5cbiAgb25JbWdMb2FkKCkge1xuICAgIHRoaXMuZGlzcG9zZUN1cnJlbnQoKVxuICB9XG5cbiAgcHJpdmF0ZSBkaXNwb3NlQ3VycmVudCgpIHtcbiAgICBpZiAodGhpcy5ibG9iVXJsKSB7XG4gICAgICB0aGlzLm9iamVjdFVybFNlcnZpY2UucmV2b2tlT2JqZWN0VVJMKHRoaXMuYmxvYlVybClcbiAgICB9XG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXG4gICAgfVxuICAgIHRoaXMuYmxvYlVybCA9IG51bGxcbiAgfVxufSJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const EVENT_READ_SERVICE = new InjectionToken('EventReadService');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtcmVhZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nYWdlb2ludC9tYWdlLndlYi1jb3JlLWxpYi9ldmVudC8iLCJzb3VyY2VzIjpbImV2ZW50LXJlYWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBYTlDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFtQixrQkFBa0IsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgUGFnaW5nUGFyYW1ldGVycyB9IGZyb20gJ0BuZ2FnZW9pbnQvbWFnZS53ZWItY29yZS1saWIvcGFnaW5nJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBNYWdlRXZlbnQgfSBmcm9tICcuL2V2ZW50Lm1vZGVsJ1xuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50UmVhZFNlcnZpY2Uge1xuICBmaW5kKHdoaWNoOiBFdmVudFJlYWRQYXJhbXMpOiBPYnNlcnZhYmxlPE1hZ2VFdmVudFtdPlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50UmVhZFBhcmFtcyB7XG4gIHBhZ2U6IFBhZ2luZ1BhcmFtZXRlcnNcbn1cblxuZXhwb3J0IGNvbnN0IEVWRU5UX1JFQURfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxFdmVudFJlYWRTZXJ2aWNlPignRXZlbnRSZWFkU2VydmljZScpIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQubW9kZWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmdhZ2VvaW50L21hZ2Uud2ViLWNvcmUtbGliL2V2ZW50LyIsInNvdXJjZXMiOlsiZXZlbnQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTWFnZUV2ZW50IHtcbiAgaWQ6IG51bWJlclxuICBuYW1lOiBzdHJpbmdcbiAgZGVzY3JpcHRpb246IHN0cmluZ1xuICBmZWVkSWRzOiBzdHJpbmdbXVxufSJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdhZ2VvaW50LW1hZ2Uud2ViLWNvcmUtbGliLWV2ZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nYWdlb2ludC9tYWdlLndlYi1jb3JlLWxpYi9ldmVudC8iLCJzb3VyY2VzIjpbIm5nYWdlb2ludC1tYWdlLndlYi1jb3JlLWxpYi1ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './event-read.service';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ2FnZW9pbnQvbWFnZS53ZWItY29yZS1saWIvZXZlbnQvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLGNBQWMsc0JBQXNCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2V2ZW50Lm1vZGVsJ1xuZXhwb3J0ICogZnJvbSAnLi9ldmVudC1yZWFkLnNlcnZpY2UnIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ2FnZW9pbnQvbWFnZS53ZWItY29yZS1saWIvZmVlZC8iLCJzb3VyY2VzIjpbImZlZWQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZlYXR1cmUsIEZlYXR1cmVDb2xsZWN0aW9uIH0gZnJvbSAnZ2VvanNvbic7XG5pbXBvcnQgeyBSZWdpc3RlcmVkU3RhdGljSWNvblJlZmVyZW5jZSwgU291cmNlVXJsU3RhdGljSWNvblJlZmVyZW5jZSwgU3RhdGljSWNvblJlZmVyZW5jZSB9IGZyb20gJ0BuZ2FnZW9pbnQvbWFnZS53ZWItY29yZS1saWIvc3RhdGljLWljb24nXG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVlZCB7XG4gIGlkOiBzdHJpbmc7XG4gIHNlcnZpY2U6IHN0cmluZztcbiAgdG9waWM6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgc3VtbWFyeT86IHN0cmluZztcbiAgaWNvbj86IFJlZ2lzdGVyZWRTdGF0aWNJY29uUmVmZXJlbmNlO1xuICBtYXBTdHlsZT86IFJlZ2lzdGVyZWRNYXBTdHlsZTtcbiAgaXRlbVRlbXBvcmFsUHJvcGVydHk/OiBzdHJpbmc7XG4gIGl0ZW1QcmltYXJ5UHJvcGVydHk/OiBzdHJpbmc7XG4gIGl0ZW1TZWNvbmRhcnlQcm9wZXJ0eT86IHN0cmluZztcbiAgaXRlbXNIYXZlU3BhdGlhbERpbWVuc2lvbj86IGJvb2xlYW47XG4gIGl0ZW1zSGF2ZUlkZW50aXR5PzogYm9vbGVhbjtcbiAgY29uc3RhbnRQYXJhbXM/OiBhbnk7XG4gIHZhcmlhYmxlUGFyYW1zU2NoZW1hPzogYW55O1xuICB1cGRhdGVGcmVxdWVuY3lTZWNvbmRzPzogbnVtYmVyO1xuICBpdGVtUHJvcGVydGllc1NjaGVtYT86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBTdHlsZSB7XG4gIGljb24/OiBTb3VyY2VVcmxTdGF0aWNJY29uUmVmZXJlbmNlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJlZE1hcFN0eWxlIHtcbiAgaWNvbj86IFJlZ2lzdGVyZWRTdGF0aWNJY29uUmVmZXJlbmNlO1xufVxuXG5leHBvcnQgdHlwZSBTdHlsZWRGZWF0dXJlID0gRmVhdHVyZSAmIHsgc3R5bGU6IE1hcFN0eWxlIH1cbmV4cG9ydCBpbnRlcmZhY2UgRmVlZENvbnRlbnQge1xuICBpdGVtczogRmVhdHVyZUNvbGxlY3Rpb25cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXJ2aWNlVHlwZSB7XG4gIC8qKlxuICAgKiBXZWxsLWtub3duIGlkZW50aWZpZXIgdGhhdCB0aGUgZmVlZCBwbHVnaW4gY3JlYXRvciBhc3NpZ25zXG4gICAqL1xuICBwbHVnaW5TZXJ2aWNlVHlwZUlkOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBNQUdFIHNlcnZlciBnZW5lcmF0ZXMgdG8gcmVmZXJlbmNlIHRoZSBzZXJ2aWNlIHR5cGVcbiAgICovXG4gIGlkOiBzdHJpbmdcbiAgdGl0bGU6IHN0cmluZ1xuICBzdW1tYXJ5OiBzdHJpbmdcbiAgY29uZmlnU2NoZW1hOiBhbnlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXJ2aWNlIHtcbiAgaWQ6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlIHwgc3RyaW5nXG4gIHN1bW1hcnk6IHN0cmluZyB8IG51bGxcbiAgY29uZmlnOiBhbnlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZWVkVG9waWMge1xuICBpZDogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBzdW1tYXJ5Pzogc3RyaW5nO1xuICBpY29uPzogU291cmNlVXJsU3RhdGljSWNvblJlZmVyZW5jZTtcbiAgcGFyYW1zU2NoZW1hPzogYW55O1xuICB1cGRhdGVGcmVxdWVuY3lTZWNvbmRzPzogbnVtYmVyO1xuICBpdGVtc0hhdmVJZGVudGl0eT86IGJvb2xlYW47XG4gIGl0ZW1zSGF2ZVNwYXRpYWxEaW1lbnNpb24/OiBib29sZWFuO1xuICBpdGVtVGVtcG9yYWxQcm9wZXJ0eT86IHN0cmluZztcbiAgaXRlbVByaW1hcnlQcm9wZXJ0eT86IHN0cmluZztcbiAgaXRlbVNlY29uZGFyeVByb3BlcnR5Pzogc3RyaW5nO1xuICBpdGVtUHJvcGVydGllc1NjaGVtYT86IGFueTtcbiAgbWFwU3R5bGU/OiBNYXBTdHlsZVxufVxuXG5leHBvcnQgdHlwZSBGZWVkRXhwYW5kZWQgPSBPbWl0PEZlZWQsICdzZXJ2aWNlJyB8ICd0b3BpYyc+ICYge1xuICBzZXJ2aWNlOiBTZXJ2aWNlLFxuICB0b3BpYzogRmVlZFRvcGljXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVlZENvbnRlbnQge1xuICBmZWVkOiBzdHJpbmdcbiAgdmFyaWFibGVQYXJhbXM/OiBhbnlcbiAgaXRlbXM6IEZlYXR1cmVDb2xsZWN0aW9uXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVlZFByZXZpZXcge1xuICBmZWVkOiBGZWVkXG4gIGNvbnRlbnQ/OiBGZWVkQ29udGVudFxufVxuXG5leHBvcnQgdHlwZSBGZWVkUG9zdCA9IFBhcnRpYWw8T21pdDxGZWVkLCAnc2VydmljZScgfCAndG9waWMnIHwgJ2ljb24nPj4gJiBQaWNrPEZlZWQsICdzZXJ2aWNlJyB8ICd0b3BpYyc+ICYge1xuICBpY29uPzogU3RhdGljSWNvblJlZmVyZW5jZVxufVxuIl19
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, Subject } from 'rxjs';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common/http";
|
|
6
|
+
export class FeedService {
|
|
7
|
+
constructor(http) {
|
|
8
|
+
this.http = http;
|
|
9
|
+
// TODO: there is probably a better solution than maintaining this map here
|
|
10
|
+
this._feeds = new BehaviorSubject([]);
|
|
11
|
+
this.feeds = this._feeds.asObservable();
|
|
12
|
+
this._feedItems = new Map();
|
|
13
|
+
}
|
|
14
|
+
feedItems(feedId) {
|
|
15
|
+
return this._feedItems.get(feedId).asObservable();
|
|
16
|
+
}
|
|
17
|
+
fetchAllFeeds() {
|
|
18
|
+
return this.http.get('/api/feeds/');
|
|
19
|
+
}
|
|
20
|
+
fetchFeed(feedId) {
|
|
21
|
+
return this.http.get(`/api/feeds/${feedId}`);
|
|
22
|
+
}
|
|
23
|
+
fetchService(serviceId) {
|
|
24
|
+
return this.http.get(`/api/feeds/services/${serviceId}`);
|
|
25
|
+
}
|
|
26
|
+
createService(service) {
|
|
27
|
+
return this.http.post(`/api/feeds/services`, service);
|
|
28
|
+
}
|
|
29
|
+
fetchServices() {
|
|
30
|
+
return this.http.get(`/api/feeds/services`);
|
|
31
|
+
}
|
|
32
|
+
fetchServiceFeeds(serviceId) {
|
|
33
|
+
return this.http.get(`/api/feeds/services/${serviceId}/feeds`);
|
|
34
|
+
}
|
|
35
|
+
fetchServiceType(serviceTypeId) {
|
|
36
|
+
return this.http.get(`/api/feeds/service_types/${serviceTypeId}`);
|
|
37
|
+
}
|
|
38
|
+
fetchTopics(serviceId) {
|
|
39
|
+
return this.http.get(`/api/feeds/services/${serviceId}/topics`);
|
|
40
|
+
}
|
|
41
|
+
previewFeed(serviceId, topicId, feedSpec, opts) {
|
|
42
|
+
opts = opts || {};
|
|
43
|
+
const skipContentFetch = opts.skipContentFetch === true;
|
|
44
|
+
return this.http.post(`/api/feeds/services/${serviceId}/topics/${topicId}/feed_preview?skip_content_fetch=${skipContentFetch}`, { feed: feedSpec });
|
|
45
|
+
}
|
|
46
|
+
fetchTopic(serviceId, topicId) {
|
|
47
|
+
return this.http.get(`/api/feeds/services/${serviceId}/topics/${topicId}`);
|
|
48
|
+
}
|
|
49
|
+
fetchServiceTypes() {
|
|
50
|
+
return this.http.get(`/api/feeds/service_types`);
|
|
51
|
+
}
|
|
52
|
+
createFeed(serviceId, topicId, feedConfiguration) {
|
|
53
|
+
return this.http.post(`/api/feeds/services/${serviceId}/topics/${topicId}/feeds`, feedConfiguration);
|
|
54
|
+
}
|
|
55
|
+
updateFeed(feed) {
|
|
56
|
+
return this.http.put(`/api/feeds/${feed.id}`, feed);
|
|
57
|
+
}
|
|
58
|
+
deleteFeed(feed) {
|
|
59
|
+
return this.http.delete(`/api/feeds/${feed.id}`, { responseType: 'text' });
|
|
60
|
+
}
|
|
61
|
+
deleteService(service) {
|
|
62
|
+
console.log('delete');
|
|
63
|
+
return this.http.delete(`/api/feeds/services/${service.id}`, { responseType: 'text' });
|
|
64
|
+
}
|
|
65
|
+
fetchFeeds(eventId) {
|
|
66
|
+
const subject = new Subject();
|
|
67
|
+
this.http.get(`/api/events/${eventId}/feeds`).subscribe(feeds => {
|
|
68
|
+
feeds.map(feed => {
|
|
69
|
+
feed.id = feed.id.toString();
|
|
70
|
+
return feed;
|
|
71
|
+
});
|
|
72
|
+
feeds.forEach(feed => {
|
|
73
|
+
let feedItems = this._feedItems.get(feed.id);
|
|
74
|
+
if (!feedItems) {
|
|
75
|
+
feedItems = new BehaviorSubject([]);
|
|
76
|
+
this._feedItems.set(feed.id, feedItems);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
subject.next(feeds);
|
|
80
|
+
this._feeds.next(feeds);
|
|
81
|
+
});
|
|
82
|
+
return subject;
|
|
83
|
+
}
|
|
84
|
+
fetchFeedItems(event, feed) {
|
|
85
|
+
const feedItems = this._feedItems.get(feed.id);
|
|
86
|
+
return this.http.post(`/api/events/${event.id}/feeds/${feed.id}/content`, {}).pipe(map(content => {
|
|
87
|
+
const features = content.items.features;
|
|
88
|
+
features.forEach((feature) => {
|
|
89
|
+
feature.id = String(feature.id);
|
|
90
|
+
feature.properties = feature.properties || {};
|
|
91
|
+
});
|
|
92
|
+
feedItems.next(features);
|
|
93
|
+
return content;
|
|
94
|
+
}));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
FeedService.ɵfac = function FeedService_Factory(t) { return new (t || FeedService)(i0.ɵɵinject(i1.HttpClient)); };
|
|
98
|
+
FeedService.ɵprov = i0.ɵɵdefineInjectable({ token: FeedService, factory: FeedService.ɵfac, providedIn: 'root' });
|
|
99
|
+
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(FeedService, [{
|
|
100
|
+
type: Injectable,
|
|
101
|
+
args: [{
|
|
102
|
+
providedIn: 'root'
|
|
103
|
+
}]
|
|
104
|
+
}], function () { return [{ type: i1.HttpClient }]; }, null); })();
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nYWdlb2ludC9tYWdlLndlYi1jb3JlLWxpYi9mZWVkLyIsInNvdXJjZXMiOlsiZmVlZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDM0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBOzs7QUFXcEMsTUFBTSxPQUFPLFdBQVc7SUFFdEIsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUVwQywyRUFBMkU7UUFDbkUsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLFVBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXBDLGVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBMkMsQ0FBQztJQU5oQyxDQUFDO0lBT3pDLFNBQVMsQ0FBQyxNQUFjO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFjLGFBQWEsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYztRQUN0QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFlLGNBQWMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVUsdUJBQXVCLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUE2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QUFJLEVBQUUsQ0FBQTtZQUMvQyxDQUFDLENBQUMsQ0FBQTtZQUNGLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDeEIsT0FBTyxPQUFPLENBQUE7UUFDaEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7O3NFQWxIVSxXQUFXO21EQUFYLFdBQVcsV0FBWCxXQUFXLG1CQUZWLE1BQU07a0RBRVAsV0FBVztjQUh2QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJ2dlb2pzb24nXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBGZWVkLCBGZWVkQ29udGVudCwgRmVlZEV4cGFuZGVkLCBGZWVkUG9zdCwgRmVlZFByZXZpZXcsIEZlZWRUb3BpYywgU2VydmljZSwgU2VydmljZVR5cGUsIFN0eWxlZEZlYXR1cmUgfSBmcm9tICcuL2ZlZWQubW9kZWwnXG5cblxuZXhwb3J0IGludGVyZmFjZSBGZWVkUHJldmlld09wdGlvbnMge1xuICBza2lwQ29udGVudEZldGNoPzogYm9vbGVhblxufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGZWVkU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7IH1cblxuICAvLyBUT0RPOiB0aGVyZSBpcyBwcm9iYWJseSBhIGJldHRlciBzb2x1dGlvbiB0aGFuIG1haW50YWluaW5nIHRoaXMgbWFwIGhlcmVcbiAgcHJpdmF0ZSBfZmVlZHMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFycmF5PEZlZWQ+PihbXSk7XG4gIHJlYWRvbmx5IGZlZWRzID0gdGhpcy5fZmVlZHMuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSBfZmVlZEl0ZW1zID0gbmV3IE1hcDxzdHJpbmcsIEJlaGF2aW9yU3ViamVjdDxBcnJheTxGZWF0dXJlPj4+KCk7XG4gIGZlZWRJdGVtcyhmZWVkSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8QXJyYXk8RmVhdHVyZT4+IHtcbiAgICByZXR1cm4gdGhpcy5fZmVlZEl0ZW1zLmdldChmZWVkSWQpLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZmV0Y2hBbGxGZWVkcygpOiBPYnNlcnZhYmxlPEFycmF5PEZlZWQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXJyYXk8RmVlZD4+KCcvYXBpL2ZlZWRzLycpO1xuICB9XG5cbiAgZmV0Y2hGZWVkKGZlZWRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxGZWVkRXhwYW5kZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxGZWVkRXhwYW5kZWQ+KGAvYXBpL2ZlZWRzLyR7ZmVlZElkfWApO1xuICB9XG5cbiAgZmV0Y2hTZXJ2aWNlKHNlcnZpY2VJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxTZXJ2aWNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2VydmljZT4oYC9hcGkvZmVlZHMvc2VydmljZXMvJHtzZXJ2aWNlSWR9YCk7XG4gIH1cblxuICBjcmVhdGVTZXJ2aWNlKHNlcnZpY2U6IHsgdGl0bGU6IHN0cmluZywgc3VtbWFyeT86IHN0cmluZywgc2VydmljZVR5cGU6IHN0cmluZywgY29uZmlnOiBhbnl9KTogT2JzZXJ2YWJsZTxTZXJ2aWNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFNlcnZpY2U+KGAvYXBpL2ZlZWRzL3NlcnZpY2VzYCwgc2VydmljZSk7XG4gIH1cblxuICBmZXRjaFNlcnZpY2VzKCk6IE9ic2VydmFibGU8QXJyYXk8U2VydmljZT4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcnJheTxTZXJ2aWNlPj4oYC9hcGkvZmVlZHMvc2VydmljZXNgKTtcbiAgfVxuXG4gIGZldGNoU2VydmljZUZlZWRzKHNlcnZpY2VJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBcnJheTxGZWVkPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFycmF5PEZlZWQ+PihgL2FwaS9mZWVkcy9zZXJ2aWNlcy8ke3NlcnZpY2VJZH0vZmVlZHNgKTtcbiAgfVxuXG4gIGZldGNoU2VydmljZVR5cGUoc2VydmljZVR5cGVJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxTZXJ2aWNlVHlwZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFNlcnZpY2VUeXBlPihgL2FwaS9mZWVkcy9zZXJ2aWNlX3R5cGVzLyR7c2VydmljZVR5cGVJZH1gKTtcbiAgfVxuXG4gIGZldGNoVG9waWNzKHNlcnZpY2VJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBcnJheTxGZWVkVG9waWM+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXJyYXk8RmVlZFRvcGljPj4oYC9hcGkvZmVlZHMvc2VydmljZXMvJHtzZXJ2aWNlSWR9L3RvcGljc2ApO1xuICB9XG5cbiAgcHJldmlld0ZlZWQoc2VydmljZUlkOiBzdHJpbmcsIHRvcGljSWQ6IHN0cmluZywgZmVlZFNwZWM6IFBhcnRpYWw8T21pdDxGZWVkUG9zdCwgJ3NlcnZpY2UnIHwgJ3RvcGljJz4+LCBvcHRzPzogRmVlZFByZXZpZXdPcHRpb25zKTogT2JzZXJ2YWJsZTxGZWVkUHJldmlldz4ge1xuICAgIG9wdHMgPSBvcHRzIHx8IHt9XG4gICAgY29uc3Qgc2tpcENvbnRlbnRGZXRjaDogYm9vbGVhbiA9IG9wdHMuc2tpcENvbnRlbnRGZXRjaCA9PT0gdHJ1ZVxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxGZWVkUHJldmlldz4oXG4gICAgICBgL2FwaS9mZWVkcy9zZXJ2aWNlcy8ke3NlcnZpY2VJZH0vdG9waWNzLyR7dG9waWNJZH0vZmVlZF9wcmV2aWV3P3NraXBfY29udGVudF9mZXRjaD0ke3NraXBDb250ZW50RmV0Y2h9YCxcbiAgICAgIHsgZmVlZDogZmVlZFNwZWMgfSk7XG4gIH1cblxuICBmZXRjaFRvcGljKHNlcnZpY2VJZDogc3RyaW5nLCB0b3BpY0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEZlZWRUb3BpYz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEZlZWRUb3BpYz4oYC9hcGkvZmVlZHMvc2VydmljZXMvJHtzZXJ2aWNlSWR9L3RvcGljcy8ke3RvcGljSWR9YCk7XG4gIH1cblxuICBmZXRjaFNlcnZpY2VUeXBlcygpOiBPYnNlcnZhYmxlPEFycmF5PFNlcnZpY2VUeXBlPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFycmF5PFNlcnZpY2VUeXBlPj4oYC9hcGkvZmVlZHMvc2VydmljZV90eXBlc2ApO1xuICB9XG5cbiAgY3JlYXRlRmVlZChzZXJ2aWNlSWQ6IHN0cmluZywgdG9waWNJZDogc3RyaW5nLCBmZWVkQ29uZmlndXJhdGlvbjogYW55KTogT2JzZXJ2YWJsZTxGZWVkRXhwYW5kZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8RmVlZEV4cGFuZGVkPihgL2FwaS9mZWVkcy9zZXJ2aWNlcy8ke3NlcnZpY2VJZH0vdG9waWNzLyR7dG9waWNJZH0vZmVlZHNgLCBmZWVkQ29uZmlndXJhdGlvbik7XG4gIH1cblxuICB1cGRhdGVGZWVkKGZlZWQ6IFBhcnRpYWw8T21pdDxGZWVkUG9zdCwgJ2lkJz4+ICYgUGljazxGZWVkLCAnaWQnPik6IE9ic2VydmFibGU8RmVlZEV4cGFuZGVkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8RmVlZEV4cGFuZGVkPihgL2FwaS9mZWVkcy8ke2ZlZWQuaWR9YCwgZmVlZCk7XG4gIH1cblxuICBkZWxldGVGZWVkKGZlZWQ6IEZlZWQgfCBGZWVkRXhwYW5kZWQpOiBPYnNlcnZhYmxlPHt9PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYC9hcGkvZmVlZHMvJHtmZWVkLmlkfWAsIHtyZXNwb25zZVR5cGU6ICd0ZXh0J30pO1xuICB9XG5cbiAgZGVsZXRlU2VydmljZShzZXJ2aWNlOiBTZXJ2aWNlKTogT2JzZXJ2YWJsZTx7fT4ge1xuICAgIGNvbnNvbGUubG9nKCdkZWxldGUnKVxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAvYXBpL2ZlZWRzL3NlcnZpY2VzLyR7c2VydmljZS5pZH1gLCB7IHJlc3BvbnNlVHlwZTogJ3RleHQnIH0pO1xuICB9XG5cbiAgZmV0Y2hGZWVkcyhldmVudElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPEFycmF5PEZlZWQ+PiB7XG4gICAgY29uc3Qgc3ViamVjdCA9IG5ldyBTdWJqZWN0PEFycmF5PEZlZWQ+PigpO1xuICAgIHRoaXMuaHR0cC5nZXQ8QXJyYXk8RmVlZD4+KGAvYXBpL2V2ZW50cy8ke2V2ZW50SWR9L2ZlZWRzYCkuc3Vic2NyaWJlKGZlZWRzID0+IHtcbiAgICAgIGZlZWRzLm1hcChmZWVkID0+IHtcbiAgICAgICAgZmVlZC5pZCA9IGZlZWQuaWQudG9TdHJpbmcoKTtcbiAgICAgICAgcmV0dXJuIGZlZWQ7XG4gICAgICB9KTtcblxuICAgICAgZmVlZHMuZm9yRWFjaChmZWVkID0+IHtcbiAgICAgICAgbGV0IGZlZWRJdGVtcyA9IHRoaXMuX2ZlZWRJdGVtcy5nZXQoZmVlZC5pZCk7XG4gICAgICAgIGlmICghZmVlZEl0ZW1zKSB7XG4gICAgICAgICAgZmVlZEl0ZW1zID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcnJheTxGZWF0dXJlPj4oW10pO1xuICAgICAgICAgIHRoaXMuX2ZlZWRJdGVtcy5zZXQoZmVlZC5pZCwgZmVlZEl0ZW1zKTtcbiAgICAgICAgfVxuICAgICAgfSlcblxuICAgICAgc3ViamVjdC5uZXh0KGZlZWRzKTtcbiAgICAgIHRoaXMuX2ZlZWRzLm5leHQoZmVlZHMpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHN1YmplY3Q7XG4gIH1cblxuICBmZXRjaEZlZWRJdGVtcyhldmVudDogYW55LCBmZWVkOiBGZWVkKTogT2JzZXJ2YWJsZTxGZWVkQ29udGVudD4ge1xuICAgIGNvbnN0IGZlZWRJdGVtcyA9IHRoaXMuX2ZlZWRJdGVtcy5nZXQoZmVlZC5pZClcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8RmVlZENvbnRlbnQ+KGAvYXBpL2V2ZW50cy8ke2V2ZW50LmlkfS9mZWVkcy8ke2ZlZWQuaWR9L2NvbnRlbnRgLCB7fSkucGlwZShcbiAgICAgIG1hcChjb250ZW50ID0+IHtcbiAgICAgICAgY29uc3QgZmVhdHVyZXMgPSBjb250ZW50Lml0ZW1zLmZlYXR1cmVzXG4gICAgICAgIGZlYXR1cmVzLmZvckVhY2goKGZlYXR1cmU6IFN0eWxlZEZlYXR1cmUpID0+IHtcbiAgICAgICAgICBmZWF0dXJlLmlkID0gU3RyaW5nKGZlYXR1cmUuaWQpXG4gICAgICAgICAgZmVhdHVyZS5wcm9wZXJ0aWVzID0gZmVhdHVyZS5wcm9wZXJ0aWVzIHx8IHt9XG4gICAgICAgIH0pXG4gICAgICAgIGZlZWRJdGVtcy5uZXh0KGZlYXR1cmVzKVxuICAgICAgICByZXR1cm4gY29udGVudFxuICAgICAgfSlcbiAgICApXG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdhZ2VvaW50LW1hZ2Uud2ViLWNvcmUtbGliLWZlZWQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmdhZ2VvaW50L21hZ2Uud2ViLWNvcmUtbGliL2ZlZWQvIiwic291cmNlcyI6WyJuZ2FnZW9pbnQtbWFnZS53ZWItY29yZS1saWItZmVlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './feed.service';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ2FnZW9pbnQvbWFnZS53ZWItY29yZS1saWIvZmVlZC8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsY0FBYyxnQkFBZ0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmVlZC5tb2RlbCdcbmV4cG9ydCAqIGZyb20gJy4vZmVlZC5zZXJ2aWNlJyJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class MageCoreLibModule {
|
|
5
|
+
}
|
|
6
|
+
MageCoreLibModule.ɵmod = i0.ɵɵdefineNgModule({ type: MageCoreLibModule });
|
|
7
|
+
MageCoreLibModule.ɵinj = i0.ɵɵdefineInjector({ factory: function MageCoreLibModule_Factory(t) { return new (t || MageCoreLibModule)(); }, imports: [[
|
|
8
|
+
CommonModule
|
|
9
|
+
]] });
|
|
10
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(MageCoreLibModule, { imports: [CommonModule] }); })();
|
|
11
|
+
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(MageCoreLibModule, [{
|
|
12
|
+
type: NgModule,
|
|
13
|
+
args: [{
|
|
14
|
+
declarations: [],
|
|
15
|
+
imports: [
|
|
16
|
+
CommonModule
|
|
17
|
+
]
|
|
18
|
+
}]
|
|
19
|
+
}], null, null); })();
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnZS1jb3JlLWxpYi5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmdhZ2VvaW50L21hZ2Uud2ViLWNvcmUtbGliLyIsInNvdXJjZXMiOlsibWFnZS1jb3JlLWxpYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBVS9DLE1BQU0sT0FBTyxpQkFBaUI7O3FEQUFqQixpQkFBaUI7aUhBQWpCLGlCQUFpQixrQkFKbkI7WUFDUCxZQUFZO1NBQ2I7d0ZBRVUsaUJBQWlCLGNBSDFCLFlBQVk7a0RBR0gsaUJBQWlCO2NBTjdCLFFBQVE7ZUFBQztnQkFDUixZQUFZLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxFQUFFO29CQUNQLFlBQVk7aUJBQ2I7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1hZ2VDb3JlTGliTW9kdWxlIHsgfVxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdhZ2VvaW50LW1hZ2Uud2ViLWNvcmUtbGliLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nYWdlb2ludC9tYWdlLndlYi1jb3JlLWxpYi8iLCJzb3VyY2VzIjpbIm5nYWdlb2ludC1tYWdlLndlYi1jb3JlLWxpYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdhZ2VvaW50LW1hZ2Uud2ViLWNvcmUtbGliLXBhZ2luZy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ2FnZW9pbnQvbWFnZS53ZWItY29yZS1saWIvcGFnaW5nLyIsInNvdXJjZXMiOlsibmdhZ2VvaW50LW1hZ2Uud2ViLWNvcmUtbGliLXBhZ2luZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|