@micropermit/client-angular 0.4.4-alpha3 → 0.4.4
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/micropermit-client-angular.umd.js.map +1 -1
- package/bundles/micropermit-client-angular.umd.min.js.map +1 -1
- package/esm2015/lib/directives/linkfield.directive.js +1 -1
- package/esm2015/lib/links/callablelink.js +1 -1
- package/esm5/lib/directives/linkfield.directive.js +1 -1
- package/esm5/lib/links/callablelink.js +1 -1
- package/fesm2015/micropermit-client-angular.js.map +1 -1
- package/fesm5/micropermit-client-angular.js.map +1 -1
- package/lib/links/callablelink.d.ts +1 -1
- package/micropermit-client-angular.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"micropermit-client-angular.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@micropermit/client-angular/lib/paramutils.ts","ng://@micropermit/client-angular/lib/links/callablelink.ts","ng://@micropermit/client-angular/lib/links/linkfield.ts","ng://@micropermit/client-angular/lib/microobject.ts","ng://@micropermit/client-angular/lib/error/microerror.ts","ng://@micropermit/client-angular/lib/microclient.service.ts","ng://@micropermit/client-angular/lib/components/loadingindicator.component.ts","ng://@micropermit/client-angular/lib/pipes/linkfield.pipe.ts","ng://@micropermit/client-angular/lib/components/errorindicator.component.ts","ng://@micropermit/client-angular/lib/directives/linkfield.directive.ts","ng://@micropermit/client-angular/lib/directives/call-link.directive.ts","ng://@micropermit/client-angular/lib/directives/micro-link-validate.directive.ts","ng://@micropermit/client-angular/lib/microclient.module.ts","ng://@micropermit/client-angular/lib/link-field-paging-support.ts","ng://@micropermit/client-angular/lib/links/mock-linkfield.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\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++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\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 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) : new P(function (resolve) { resolve(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 __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n 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}\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 __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","export class ParamUtils {\n\n private static plusRegex = new RegExp('\\\\+');\n private static slashRegex = new RegExp('/', 'g');\n private static multiEqualRegex = new RegExp('=+$', 'g');\n private static minusRegex = new RegExp('-', 'g');\n private static underscoreRegex = new RegExp('_', 'g');\n\n public static addParam(url: string, key: string, value: string, replaceExisting: boolean = true): string {\n const hasQueryParams = url.indexOf('?') >= 0;\n if (!hasQueryParams) {\n url += '?';\n }\n\n const existingParam: string = ParamUtils.getParam(url, key);\n if (existingParam != null && replaceExisting) {\n url = url.replace(key + '=' + existingParam, key + '=' + value);\n } else {\n if (hasQueryParams) {\n url += '&';\n }\n url += key + '=' + value;\n }\n\n return url;\n }\n\n public static setParams(url: string, params: Object): string {\n const splitted = url.split('?');\n\n let resURL = splitted[0];\n let first = true;\n\n for (const key in params) {\n if (params.hasOwnProperty(key)) {\n if (first) {\n resURL += '?';\n first = false;\n }\n\n resURL += key + '=' + params[key];\n }\n }\n return resURL;\n }\n\n public static getParams(url: string): Object {\n const splitted = url.split('?');\n if (splitted.length < 2) {\n return {};\n }\n\n const queryStr = splitted[1];\n const params = {};\n\n const paramsStrs = queryStr.split('&');\n for (const paramStr of paramsStrs) {\n const splittedParamStr = paramStr.split('=', 2);\n const key = splittedParamStr[0];\n\n if (splittedParamStr.length === 2) {\n params[key] = splittedParamStr[1];\n } else {\n params[key] = null;\n }\n }\n return params;\n }\n\n public static base64UrlEncode(toEncode: string): string {\n return btoa(toEncode)\n .replace(ParamUtils.plusRegex, '-')\n .replace(ParamUtils.slashRegex, '_')\n .replace(ParamUtils.multiEqualRegex, '');\n }\n\n public static base64UrlDecode(toDecode: string): string {\n toDecode = (toDecode + '===').slice(0, toDecode.length + (toDecode.length % 4));\n return atob(\n toDecode\n .replace(ParamUtils.minusRegex, '+')\n .replace(ParamUtils.underscoreRegex, '/')\n );\n }\n\n public static needsBase64UrlEncoding(toCheck: any): boolean {\n if (toCheck == null) {\n return false;\n } else {\n return typeof toCheck === 'object';\n }\n }\n\n public static getParam(url: string, name: string, urlDecode: boolean = false): string {\n const paramsQueryIdx = url.indexOf('?');\n url = url.substr(paramsQueryIdx);\n const regExp = (new RegExp('[?&]' + encodeURIComponent(name) + '=([^&]*)'));\n const match = regExp.exec(url);\n if (match) {\n if (urlDecode && match[1]) {\n return this.base64UrlDecode(match[1]);\n } else {\n return match[1];\n }\n } else {\n return null;\n }\n }\n}\n","import {MicroClient} from '../microclient.service';\nimport {Observable} from 'rxjs';\nimport {MicroObject} from '../microobject';\nimport {ParamUtils} from '../paramutils';\n\nexport class CallableLink<T> {\n\n constructor(\n protected link: string,\n protected microClient: MicroClient,\n protected callParams: object = null,\n protected requestOptions: object = null\n ) {\n }\n\n public serializeTo: (link: string, callParams: object, requestOptions: object, value: any, isInitialized: boolean) => any = LinkSerializer.DONT_SERIALIZE;\n\n hasLink(): Boolean {\n return this.link != null;\n }\n\n getLink(): string {\n return this.link;\n }\n\n getQueryParam(key: string, urlDecode: boolean = false) {\n return ParamUtils.getParam(this.link, key, urlDecode);\n }\n\n getSignedParams(): MicroObject | MicroObject[] {\n let params = this.getSignedMicroObjectParam('params');\n if (params == null) {\n params = this.getSignedMicroObjectParam('bParams');\n }\n return params;\n }\n\n getOpenParams(copy: boolean = false): MicroObject | MicroObject[] {\n let params: MicroObject | MicroObject[] = this.getMicroObjectParam('oParams');\n if (params == null) {\n params = this.getMicroObjectParam('bOParams');\n } else {\n if (copy) {\n params = MicroObject.fromString(JSON.stringify(params), this.microClient);\n }\n\n if (this.callParams) {\n params = Object.assign(params, this.callParams);\n }\n }\n return params;\n }\n\n getOptions(): MicroObject {\n let options = this.getMicroObjectParam('options');\n\n if (this.requestOptions) {\n if (options == null) {\n options = new MicroObject();\n }\n options = Object.assign(options, this.requestOptions);\n }\n\n return options;\n }\n\n private getSignedMicroObjectParam(key: string): MicroObject {\n const paramsStr = ParamUtils.getParam(this.link, key, false);\n let params = null;\n if (paramsStr) {\n const splitted = paramsStr.split('.');\n if (splitted.length !== 3) {\n throw new Error('Expected a signed query param to have a JWT like structure');\n }\n params = MicroObject.fromString(atob(splitted[1]), this.microClient);\n }\n return params;\n }\n\n getMicroObjectParam(key: string): MicroObject {\n const paramsStr = ParamUtils.getParam(this.link, key, true);\n let params = null;\n if (paramsStr) {\n params = MicroObject.fromString(paramsStr, this.microClient);\n }\n return params;\n }\n\n call(onNext: (T) => void): Promise<T> {\n return this.callWith(null, null, onNext);\n }\n\n callWith(params: object = null, requestOptions: object = null, onNext: (T) => void): Promise<T> {\n return <Promise<T>>this.callWithObs(params, requestOptions).toPromise().then(onNext);\n }\n\n callWithObs(params: object = null, requestOptions: object = null): Observable<T> {\n if (this.link == null) {\n throw Error('Can\\'t use callWithObs without a provided link');\n }\n if (this.microClient == null) {\n throw Error('Can\\'t use callWithObs without a provided microClient');\n }\n\n let paramsToUse = null;\n if (this.callParams != null) {\n paramsToUse = Object.assign(new MicroObject(), this.callParams);\n }\n if (params) {\n if (paramsToUse == null) {\n paramsToUse = new MicroObject();\n }\n paramsToUse = Object.assign(paramsToUse, params);\n }\n\n let optionsToUse = null;\n if (this.requestOptions != null) {\n optionsToUse = Object.assign(new MicroObject(), this.requestOptions);\n }\n if (requestOptions) {\n if (optionsToUse == null) {\n optionsToUse = new MicroObject();\n }\n optionsToUse = Object.assign(optionsToUse, requestOptions);\n }\n\n return <Observable<T>> this.microClient.load(this.link, paramsToUse, optionsToUse);\n }\n\n copy(): CallableLink<T> {\n return new CallableLink(this.link, this.microClient, this.callParams, this.requestOptions);\n }\n\n withCallParams(callParams: object, requestOptions: object = this.requestOptions) {\n return new CallableLink(this.link, this.microClient, callParams, requestOptions);\n }\n\n toJSON(): any {\n if (this.serializeTo) {\n return this.serializeTo(this.link, this.callParams, this.requestOptions, undefined, undefined);\n } else {\n return undefined;\n }\n }\n}\n\n// @dynamic\nexport class LinkSerializer {\n public static DONT_SERIALIZE = function () {\n return undefined;\n };\n\n public static AS_LINK = function (link: string) {\n return link;\n };\n\n public static AS_VALUE_IF_INITIALIZED = function (link: string, callParams: object, requestOptions: object, value: any, isInitialized: boolean) {\n if (isInitialized) {\n return value;\n } else {\n return undefined;\n }\n };\n}\n","import {defer, Observable, ReplaySubject} from 'rxjs';\nimport {MicroClient, MicroClientLoadError} from '../microclient.service';\nimport {CallableLink, LinkSerializer} from './callablelink';\nimport {map, take} from 'rxjs/operators';\n\nexport class LinkField<T> extends CallableLink<T> {\n private value: T;\n private initialized = false;\n private _getPromise: Promise<T>;\n\n private valueSubj: ReplaySubject<T>;\n\n public serializeTo: (link: string, callParams: object, requestOptions: object, value: T, isInitialized: boolean) => any = LinkSerializer.AS_VALUE_IF_INITIALIZED;\n\n constructor(\n link: string,\n microClient: MicroClient,\n initialValue: T = null,\n initialized: boolean = false,\n callParams: object = null,\n requestOptions: object = null\n ) {\n super(link, microClient, callParams, requestOptions);\n if (initialized) {\n this.set(initialValue);\n }\n }\n\n static from<T extends (object | object[])>(value: T): LinkField<T> {\n return new LinkField(null, null, value, true);\n }\n\n get(callback?: (T) => void): Promise<T> {\n if (callback) {\n this.getObs().subscribe(callback);\n return null;\n }\n return this.getPromise();\n }\n\n getPromise(): Promise<T> {\n if (!this._getPromise) {\n this._getPromise = this.getObs().toPromise();\n }\n return this._getPromise;\n }\n\n private intervalId = null;\n private isRefreshing = false;\n\n refresh(interval?: number, errorHandler?: (error: MicroClientLoadError) => void) {\n if (interval) {\n this.stopRefresh();\n }\n let resCb = () => {\n this.isRefreshing = false;\n };\n this.isRefreshing = true;\n this.initWithObs().subscribe(resCb, (error: MicroClientLoadError) => {\n resCb();\n if (errorHandler) {\n errorHandler(error);\n }\n }, resCb);\n\n if (interval) {\n this.intervalId = setInterval(() => {\n if (!this.isRefreshing) {\n this.isRefreshing = true;\n this.initWithObs().subscribe(resCb, (error: MicroClientLoadError) => {\n resCb();\n if (errorHandler) {\n errorHandler(error);\n }\n }, resCb);\n }\n }, interval);\n }\n }\n\n stopRefresh() {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n }\n }\n\n listenObs(): Observable<T> {\n //TODO handle listeners in case of intermidiate uninitialize (new valueSubj)\n if (this.valueSubj) {\n return this.valueSubj;\n } else {\n let valueSubj = new ReplaySubject<T>(1);\n this.valueSubj = valueSubj;\n return defer(() => {\n this.initWithObs(null, null).subscribe((value: T) => {\n if (this.valueSubj !== valueSubj) {\n valueSubj.next(value);\n valueSubj.complete();\n }\n });\n return valueSubj;\n });\n }\n }\n\n getObs(): Observable<T> {\n return this.listenObs().pipe(\n take(1)\n );\n }\n\n set(value: T): T {\n const oldValue = this.value;\n this.value = value;\n this.initialized = true;\n if (!this.valueSubj) {\n this.valueSubj = new ReplaySubject<T>(1);\n }\n this.valueSubj.next(value);\n this._getPromise = null;\n\n return oldValue;\n }\n\n isInitialized(): boolean {\n return this.initialized;\n }\n\n uninitialize() {\n this.value = null;\n this.initialized = false;\n this.valueSubj = null;\n this._getPromise = null;\n }\n\n copyUninitialized(): LinkField<T> {\n let copy = this.copy();\n copy.uninitialize();\n return copy;\n }\n\n getInitializedValue(): T {\n if (!this.isInitialized()) {\n throw new Error('Can\\'t get the intialized value for a LinkField that hasn\\'t been initialized');\n }\n return this.value;\n }\n\n initWith(parms: object = null, requestOptions: object = null, callback: (T) => void) {\n this.initWithObs(parms, requestOptions).subscribe(callback);\n }\n\n initWithObs(params: object = null, requestOptions: object = null): Observable<T> {\n return this.callWithObs(params, requestOptions).pipe(\n map((value) => {\n this.set(<T>value);\n return value;\n })\n );\n }\n\n withCallParams(callParams: object, requestOptions: object = this.requestOptions): LinkField<T> {\n return new LinkField(this.link, this.microClient, this.value, this.initialized, callParams, requestOptions);\n }\n\n copy(withValue?: T): LinkField<T> {\n if (withValue === undefined) {\n return new LinkField(this.link, this.microClient, this.value, this.initialized, this.callParams, this.requestOptions);\n } else {\n return new LinkField(this.link, this.microClient, withValue, true, this.callParams, this.requestOptions);\n }\n }\n\n toJSON(): any {\n if (this.serializeTo) {\n return this.serializeTo(this.link, this.callParams, this.requestOptions, this.value, this.isInitialized());\n } else {\n return undefined;\n }\n }\n}\n\n","import {MicroClient} from './microclient.service';\nimport {LinkField} from './links/linkfield';\nimport {CallableLink, LinkSerializer} from './links/callablelink';\nimport {MicroError} from './error/microerror';\nimport * as _ from 'lodash';\n\nexport interface MicroObject {\n __meta: MicroObjectMetadata;\n}\n\nexport class MicroObject implements MicroObject {\n public static META_KEY = '__meta';\n\n __meta: MicroObjectMetadata = undefined;\n\n public static deepCopy<T extends object | object[]>(toCopy: T, client?: MicroClient): T {\n return <T>_.cloneDeepWith(toCopy, MicroObject.deepCopyCustomizer);\n }\n\n private static deepCopyCustomizer(value) {\n if (value instanceof MicroClient) {\n return value;\n }\n return undefined;\n }\n\n\n public static fromString<T extends object>(str: string, client: MicroClient, prototype: T = null): T | T[] {\n const obj = JSON.parse(str);\n return this.fromObject(obj, client, prototype);\n }\n\n public static fromObject<T extends object>(obj: any, client: MicroClient, prototype: T = null): T | T[] {\n if (obj === null) {\n return null;\n }\n\n if (Array.isArray(obj)) {\n const objArr: T[] = obj;\n for (let i = 0; i < objArr.length; i++) {\n const elem = objArr[i];\n if (typeof elem === 'object') {\n objArr[i] = <T>MicroObject.fromObject(elem, client, prototype);\n }\n }\n return objArr;\n } else {\n for (const field in obj) {\n if (field !== MicroObject.META_KEY && obj.hasOwnProperty(field)) {\n const fieldValue = obj[field];\n if (fieldValue) {\n if (fieldValue instanceof Object || Array.isArray(fieldValue)) {\n obj[field] = MicroObject.fromObject(fieldValue, client, prototype);\n }\n }\n }\n }\n\n const src = prototype == null ? MicroObject.prototype : prototype;\n const microObject: MicroObject = Object.assign(Object.create(src), obj);\n\n\n MicroObject.attachMetadataObject(microObject, client);\n\n return <T>microObject;\n }\n\n }\n\n private static attachMetadataObject(microObject: MicroObject, client: MicroClient) {\n const rawMeta: MicroObjectMetadata = microObject != null ? microObject[MicroObject.META_KEY] : null;\n if (rawMeta != null) {\n let clientToUse = client;\n if (rawMeta.permitToken) {\n if (client.getEntryPoint() != null) {\n clientToUse = client.createChildClientForEntryPoint(microObject);\n }\n }\n\n microObject.__meta = MicroObjectMetadata.fromObject(microObject.__meta, clientToUse);\n\n MicroObject.attachLinkFields(microObject.__meta, microObject, clientToUse);\n MicroObject.attachCallableLinks(microObject.__meta, microObject, clientToUse);\n\n } else {\n return null;\n }\n }\n\n private static attachLinkFields(meta: MicroObjectMetadata, microObject: MicroObject, client: MicroClient) {\n meta.forEachLink((linkName, linkUrl) => {\n const value = microObject[linkName];\n microObject[linkName] = new LinkField(linkUrl, client, value, value !== undefined);\n });\n }\n\n private static attachCallableLinks(meta: MicroObjectMetadata, microObject: MicroObject, client: MicroClient) {\n meta.forEachAction((linkName, linkUrl) => {\n microObject[linkName] = new CallableLink(linkUrl, client);\n });\n }\n}\n\nexport class MicroObjectMetadata {\n links: any;\n actions: any;\n permitToken: string;\n nextPage: LinkField<any>;\n error: MicroError;\n\n\n static fromObject(obj: object, client: MicroClient): MicroObjectMetadata {\n const objMetadata = Object.assign(new MicroObjectMetadata(), obj);\n\n if (objMetadata.nextPage != null) {\n objMetadata.nextPage = new LinkField(<any>objMetadata.nextPage, client);\n objMetadata.nextPage.serializeTo = LinkSerializer.AS_LINK;\n }\n\n return objMetadata;\n }\n\n public getLinkUrl(key: string): string {\n return this.links[key];\n }\n\n public hasLink(key: string): boolean {\n return this.links[key] != null;\n }\n\n public forEachLink(op: (linkName: string, link: string) => void) {\n for (const link in this.links) {\n if (this.links.hasOwnProperty(link)) {\n op(link, this.links[link]);\n }\n }\n }\n\n public forEachAction(op: (linkName: string, link: string) => void) {\n for (const link in this.actions) {\n if (this.actions.hasOwnProperty(link)) {\n op(link, this.actions[link]);\n }\n }\n }\n\n\n}\n","export class MicroError {\n timestamp: number;\n errorMessage: string;\n atService: string;\n atEndpoint: string;\n instanceID: string;\n httpEquivCode: number;\n cause: MicroError;\n errorID: string;\n errorType: Array<String>;\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient, HttpErrorResponse, HttpHeaders} from '@angular/common/http';\nimport {MicroObject} from './microobject';\nimport {Observable, ReplaySubject, Subject, throwError} from 'rxjs';\nimport {catchError, finalize, map, take, shareReplay} from 'rxjs/operators';\nimport {ParamUtils} from './paramutils';\nimport {MicroError} from './error/microerror';\n\n@Injectable()\nexport class MicroClient {\n\n private authHeader: string;\n private permitToken: string;\n private entryPoint: MicroObject;\n\n private entryPointSubject: ReplaySubject<MicroObject> = new ReplaySubject<MicroObject>();\n\n private urlRewriter: (string) => string;\n private defaultErrorHandler: (httpError: HttpErrorResponse, microError: MicroObject) => void;\n public usePost = true;\n public sendAsPermitTokenHeader = true;\n public sendAsMultipartFormData = false;\n\n constructor(private httpClient: HttpClient) {\n\n }\n\n public setSendAsPermitTokenHeader(sendAsPermitTokenHeader: boolean) {\n this.sendAsPermitTokenHeader = sendAsPermitTokenHeader;\n }\n\n public setAuthToken(token: string) {\n this.authHeader = 'Bearer ' + token;\n this.permitToken = token;\n }\n\n public setAuthHeader(authHeader: string) {\n this.authHeader = authHeader;\n }\n\n public getEntryPoint(): any {\n return this.entryPoint;\n }\n\n public waitForEntryPoint(cb?: (entryPoint: any) => void): Promise<any> {\n if (cb != null) {\n this.entryPointSubject.subscribe(cb);\n return null;\n }\n return this.entryPointSubject.toPromise();\n }\n\n public copyAuthAndEntrypointOf(other: MicroClient) {\n this.authHeader = other.authHeader;\n this.permitToken = other.permitToken;\n this.entryPoint = other.entryPoint;\n }\n\n public setEntryPoint<T extends MicroObject>(entryPoint: any) {\n if (entryPoint == null) {\n this.authHeader = null;\n this.entryPoint = null;\n this.permitToken = null;\n } else {\n this.entryPoint = entryPoint;\n if (this.entryPoint.__meta && this.entryPoint.__meta.permitToken) {\n this.setAuthToken(this.entryPoint.__meta.permitToken);\n } else {\n throw Error('Expected the entryPoint to contain a \"permitToken\" within the \"__meta\" field');\n }\n this.entryPointSubject.next(entryPoint);\n }\n }\n\n public setDefaultErrorHandler(handler: (httpError: HttpErrorResponse, microError: MicroObject) => void) {\n this.defaultErrorHandler = handler;\n }\n\n public handleError(httpErr: HttpErrorResponse) {\n if (this.defaultErrorHandler) {\n const microError = MicroClient.toMicroError(httpErr);\n if (microError) {\n const microResultObj: MicroObject = <MicroObject>MicroObject.fromObject(httpErr.error, this);\n this.defaultErrorHandler(httpErr, microResultObj);\n } else {\n this.defaultErrorHandler(httpErr, null);\n }\n }\n }\n\n public ignite<T>(\n url: string,\n username: String = null,\n password: String = null,\n headers: object = {}\n ): Observable<T> {\n if (this.urlRewriter) {\n url = this.urlRewriter(url);\n }\n\n let requestHeaders = new HttpHeaders();\n for (const headerKey in headers) {\n if (headers.hasOwnProperty(headerKey)) {\n requestHeaders = requestHeaders.set(headerKey, headers[headerKey]);\n }\n }\n\n if (username != null || password != null) {\n requestHeaders = requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n return this.httpClient.get(url, {\n headers: requestHeaders\n }).pipe(\n map(val => {\n const entryPoint = MicroObject.fromObject(val, this);\n this.setEntryPoint(entryPoint);\n return entryPoint as T;\n }),\n this.catchAndHandleError()\n );\n }\n\n public load<T>(\n url: string,\n params?: object,\n requestOptions?: object\n ): Observable<T> {\n let requestHeaders = new HttpHeaders();\n if (this.authHeader) {\n requestHeaders = requestHeaders.set('Authorization', this.authHeader);\n\n if (this.sendAsPermitTokenHeader) {\n requestHeaders = requestHeaders.set('MicroPermitToken', this.permitToken);\n }\n }\n\n let oParams = params;\n if (params != null || this.usePost) {\n const existingParamsStr = ParamUtils.getParam(url, 'oParams', true);\n let existingParams;\n if (existingParamsStr) {\n existingParams = JSON.parse(existingParamsStr);\n } else {\n existingParams = {};\n }\n oParams = Object.assign(existingParams, params);\n }\n\n let options = requestOptions;\n if (requestOptions != null || this.usePost) {\n const prevOptionsStr = ParamUtils.getParam(url, 'options', true);\n if (prevOptionsStr) {\n options = JSON.parse(prevOptionsStr);\n } else {\n options = {};\n }\n\n options = Object.assign(options, requestOptions);\n }\n\n const queryParams = ParamUtils.getParams(url);\n\n let httpObs = null;\n if (this.usePost) {\n\n let bOParams;\n const encBOParams = queryParams['bOParams'];\n if (encBOParams) {\n bOParams = JSON.parse(ParamUtils.base64UrlDecode(encBOParams));\n }\n const body = {\n params: queryParams['params'],\n oParams: oParams,\n bParams: queryParams['bParams'],\n bOParams: bOParams,\n options: options,\n };\n\n delete queryParams['params'];\n delete queryParams['oParams'];\n delete queryParams['bParams'];\n delete queryParams['bOParams'];\n delete queryParams['options'];\n\n url = ParamUtils.setParams(url, queryParams);\n\n if (this.urlRewriter) {\n url = this.urlRewriter(url);\n }\n\n httpObs = this.httpClient.post(url, this.encodeBody(body), {\n headers: requestHeaders\n });\n } else {\n if (oParams) {\n queryParams['oParams'] = ParamUtils.base64UrlEncode(JSON.stringify(oParams));\n }\n\n if (options) {\n queryParams['options'] = ParamUtils.base64UrlEncode(JSON.stringify(options));\n }\n url = ParamUtils.setParams(url, queryParams);\n\n if (this.urlRewriter) {\n url = this.urlRewriter(url);\n }\n\n httpObs = this.httpClient.get(url, {\n headers: requestHeaders\n });\n }\n\n httpObs = httpObs.pipe(\n map(val => {\n return MicroObject.fromObject(val, this);\n }),\n this.catchAndHandleError()\n );\n\n return httpObs;\n }\n\n private encodeBody(body: any): any {\n if (this.sendAsMultipartFormData) {\n let formData = new FormData();\n let paramBlob = new Blob([JSON.stringify(body)], {type: \"application/json\"})\n formData.append('*', paramBlob);\n return formData;\n } else {\n return body;\n }\n }\n\n private catchAndHandleError<T>(): ((source: Observable<T>) => Observable<T>) {\n return (source: Observable<T>) => {\n return source.pipe(\n catchError(err => {\n let loadError = new MicroClientLoadError(err, (errToHandle) => {\n this.handleError(errToHandle);\n });\n return throwError(loadError).pipe(\n finalize(() => {\n if (!loadError.shouldPreventDefault()) {\n loadError.handleDefault();\n }\n })\n );\n })\n );\n };\n }\n\n public createChildClientForEntryPoint(entryPoint: MicroObject): MicroClient {\n if (entryPoint.__meta && entryPoint.__meta.permitToken) {\n const childClient: MicroClient = Object.create(this, {\n entryPoint: {\n configurable: true,\n enumerable: true,\n writable: true\n },\n authHeader: {\n configurable: true,\n enumerable: true,\n writable: true\n },\n permitToken: {\n configurable: true,\n enumerable: true,\n writable: true\n }\n });\n childClient.setEntryPoint(entryPoint);\n return childClient;\n } else {\n throw new Error('The supplied value can\\'t be used to construct a child MicroClient because it doesn\\'t contain metadata with a permitToken ');\n }\n }\n\n public setURLRewriter(rewriter: (string) => string) {\n this.urlRewriter = rewriter;\n }\n\n public static toMicroError(httpResponse: HttpErrorResponse): MicroError {\n const res = httpResponse.error;\n if (res && res.__meta && res.__meta.error) {\n return Object.assign(new MicroError(), res.__meta.error);\n }\n return null;\n }\n\n private static staticContentRegExp = new RegExp('[a-zA-Z0-9]://.*(:[0-9]+)?(/.*)*/static(/.*(\\\\?.*)?(#.*)?)?');\n\n public static guessMicroComponentBaseURL(): string {\n const href = window.location.href;\n\n // Last URL-Segement is static\n if (MicroClient.staticContentRegExp.test(href)) {\n return href.replace(new RegExp('/static/.*'), '')\n .replace(new RegExp('/#/.*'), '');\n } else {\n if (window.location.protocol.startsWith('file')) {\n return 'http://localhost:8080';\n } else {\n return window.location.protocol + '//' + window.location.hostname + ':8080';\n }\n }\n }\n\n public static guessMicroComponentAuthorizeURL(): string {\n return this.guessMicroComponentBaseURL() + '/authorize';\n }\n}\n\nexport class MicroClientLoadError {\n private handled = false;\n private doPreventDefault = false;\n\n constructor(private error: any, private defaultHandler: (err: any) => void) {\n\n }\n\n public handleDefault() {\n if (this.defaultHandler) {\n this.defaultHandler(this.error);\n this.handled = true;\n }\n }\n\n public handleError(handler: (error: any) => void) {\n handler(this.error);\n this.handled = true;\n }\n\n public isHandled(): boolean {\n return this.handled;\n }\n\n public shouldPreventDefault(): boolean {\n return this.doPreventDefault;\n }\n\n public preventDefault(): void {\n this.doPreventDefault = true;\n }\n\n public hasDefaultHandler(): boolean {\n return this.defaultHandler != null;\n }\n}\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'mc-loadingindicator',\n template: `\n <div id=\"container\">\n <div id=\"bar\"></div>\n </div>\n `,\n styles: [`\n #container {\n display: block;\n overflow: hidden;\n width: 100%;\n height: 5px;\n -webkit-transform: translate(0, 0) scale(1, 1);\n transform: translate(0, 0) scale(1, 1);\n background-color: #aad1f9;\n }\n #container #bar {\n transition: all .2s linear;\n -webkit-animation: query 0.8s infinite cubic-bezier(0.39, 0.575, 0.565, 1);\n animation: query 0.8s infinite cubic-bezier(0.39, 0.575, 0.565, 1);\n transition: -webkit-transform .2s linear;\n transition: transform .2s linear;\n background-color: #106cc8;\n width: 100%;\n height: 5px;\n }\n @keyframes query {\n 0% {\n opacity: 1;\n transform: translateX(35%) scale(0.3, 1);\n }\n 100% {\n opacity: 0;\n transform: translateX(-50%) scale(0, 1);\n }\n }\n `]\n})\nexport class MicroClientLoadingIndicatorComponent { }\n","import {LinkField} from '../links/linkfield';\nimport {PipeTransform, Pipe, OnDestroy, ChangeDetectorRef} from '@angular/core';\nimport {MicroObject} from '../microobject';\nimport {AsyncPipe} from '@angular/common';\n\n@Pipe({name: 'linkField', pure: false})\nexport class LinkFieldPipe implements OnDestroy, PipeTransform {\n\n private asyncPipe: AsyncPipe;\n\n constructor(changeDetectorRef: ChangeDetectorRef) {\n this.asyncPipe = new AsyncPipe(changeDetectorRef);\n }\n\n ngOnDestroy(): void {\n this.asyncPipe.ngOnDestroy();\n }\n\n transform<T extends (object | object[])>(linkField: LinkField<T>): any {\n if (linkField == null) {\n return null;\n }\n if (linkField instanceof LinkField) {\n return this.asyncPipe.transform(linkField.getObs());\n } else {\n // return linkField;\n throw new Error('Can\\'t use the linkField pipe with a value which isn\\'t an instance of LinkField');\n }\n }\n\n}\n","import {Component, Input} from '@angular/core';\nimport {MicroClientLoadError} from '../microclient.service';\n\n@Component({\n selector: 'mc-errorindicator',\n template: `\n <div class=\"blinking-error\" [class.clickable]=\"error.hasDefaultHandler()\" (click)=\"onClick()\"></div>\n `,\n styles: [`\n .blinking-error {\n background-image: linear-gradient(to right, tomato 0%, darkred 50%, tomato 100%);\n animation: blinkingText 0.5s 1;\n height: 5px;\n }\n\n .blinking-error.clickable {\n cursor: pointer;\n }\n\n @keyframes blinkingText {\n 0% {\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n }\n `]\n})\nexport class MicroClientErrorIndicatorComponent {\n @Input()\n error: MicroClientLoadError;\n\n onClick() {\n this.error.handleDefault();\n }\n}\n","import {\n Directive,\n Input,\n TemplateRef,\n ViewContainerRef,\n ComponentFactoryResolver,\n ComponentFactory,\n DoCheck,\n OnDestroy, ChangeDetectorRef, Output, EventEmitter, OnChanges, SimpleChanges\n} from '@angular/core';\nimport {LinkField} from '../links/linkfield';\nimport {MicroObject} from '../microobject';\nimport {Observable, Subscription} from 'rxjs';\nimport {MicroClientLoadingIndicatorComponent} from '../components/loadingindicator.component';\nimport {MicroClientErrorIndicatorComponent} from '../components/errorindicator.component';\nimport {finalize} from 'rxjs/operators';\nimport {MicroClientLoadError} from '../microclient.service';\n\n@Directive({\n selector: '[linkField][linkFieldFrom]'\n})\nexport class LinkFieldDirective<T> implements DoCheck, OnDestroy, OnChanges {\n private _from: LinkField<T> | T;\n private _loadingTemplate: TemplateRef<any>;\n private _errorTemplate: TemplateRef<any>;\n private _defaultLoadingComponent: ComponentFactory<MicroClientLoadingIndicatorComponent>;\n private _defaultErrorComponent: ComponentFactory<MicroClientErrorIndicatorComponent>;\n\n private isDirty = true;\n private isLoading = false;\n private loadedResult: T = null;\n private hasResult = false;\n\n private lastObs: Observable<T>;\n private subscription: Subscription = null;\n\n private currentContext: LinkFieldContext<T>;\n\n constructor(\n private _viewContainer: ViewContainerRef,\n private _template: TemplateRef<LinkFieldContext<T>>,\n private componentResolver: ComponentFactoryResolver,\n private changeDetectorRef: ChangeDetectorRef\n ) {\n this._defaultLoadingComponent = componentResolver.resolveComponentFactory(MicroClientLoadingIndicatorComponent);\n this._defaultErrorComponent = componentResolver.resolveComponentFactory(MicroClientErrorIndicatorComponent);\n }\n\n @Input()\n set linkFieldFrom(from: LinkField<T> | T) {\n this._from = from;\n }\n\n @Input()\n set linkFieldLoadingTemplate(loadingTemplate: TemplateRef<any>) {\n if (loadingTemplate) {\n this._loadingTemplate = loadingTemplate;\n }\n this.updateIfDirty(true);\n }\n\n @Input()\n set linkFieldErrorTemplate(errorTemplate: TemplateRef<any>) {\n if (errorTemplate) {\n this._errorTemplate = errorTemplate;\n }\n this.updateIfDirty(true);\n }\n\n @Input()\n set linkFieldTemplate(value: TemplateRef<LinkFieldContext<T>>) {\n if (value) {\n this._template = value;\n }\n }\n\n @Input()\n linkFieldDefaultErrorHandling = false;\n\n @Input()\n linkFieldValueChange: (T) => void;\n\n @Input()\n linkFieldParams: object = null;\n\n\n private load() {\n if (this._from) {\n if (this._from instanceof LinkField) {\n this.setLoading(true);\n this.lastObs = this._from.listenObs();\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n this.subscription = this.lastObs.pipe(\n finalize(() => {\n this.setLoading(false);\n })\n ).subscribe((loadedResult: T) => {\n this.setLoadedResult(loadedResult);\n if (this.linkFieldValueChange) {\n this.linkFieldValueChange(loadedResult);\n }\n }, (loadError: MicroClientLoadError) => {\n if (!this.linkFieldDefaultErrorHandling) {\n loadError.preventDefault();\n }\n this.setError(loadError);\n });\n } else {\n this.setLoadedResult(this._from);\n // this.setLoadedResult(this._from);\n // throw new Error('Can\\'t use the linkField directive with a from value which isn\\'t an instance of LinkField');\n }\n }\n }\n\n\n ngDoCheck() {\n this.updateIfDirty();\n }\n\n ngOnDestroy() {\n this.clear();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.linkFieldFrom) {\n if (!(this._from instanceof LinkField)) {\n this._from = LinkField.from(this._from as any);\n }\n if (changes.linkFieldFrom.previousValue !== changes.linkFieldFrom.currentValue) {\n this.clear();\n this.load();\n }\n }\n\n if (changes.linkFieldParams && this.linkFieldParams) {\n let link = this._from as LinkField<T>;\n this._from = link.withCallParams(this.linkFieldParams);\n }\n }\n\n private setError(error: MicroClientLoadError) {\n this._viewContainer.remove();\n if (this._errorTemplate) {\n this._viewContainer.createEmbeddedView(this._errorTemplate, {\n $implicit: error\n });\n } else {\n let errorComponentInstance = this._viewContainer.createComponent(this._defaultErrorComponent);\n errorComponentInstance.instance['error'] = error;\n }\n }\n\n\n private setLoading(loading: boolean) {\n this.isLoading = loading;\n if (this.isLoading) {\n if (this._loadingTemplate) {\n this._viewContainer.remove();\n this._viewContainer.createEmbeddedView(this._loadingTemplate);\n } else {\n this._viewContainer.remove();\n this._viewContainer.createComponent(this._defaultLoadingComponent);\n }\n }\n }\n\n private setLoadedResult(result: T) {\n this.hasResult = true;\n this.loadedResult = result;\n if (this.currentContext == null) {\n this.currentContext = new LinkFieldContext<T>(result);\n this.isDirty = true;\n } else {\n this.currentContext.$implicit = result;\n this.changeDetectorRef.markForCheck();\n }\n if (!this._viewContainer || !this._template) {\n this.isDirty = true;\n } else {\n if (this.isDirty) {\n this._viewContainer.remove();\n this._viewContainer.createEmbeddedView(this._template, this.currentContext);\n this.isDirty = false;\n }\n }\n }\n\n private updateIfDirty(ignoreDirty: boolean = false) {\n if ((this.isDirty || ignoreDirty) && this._loadingTemplate && this._from && this._template && this._viewContainer) {\n if (this.hasResult) {\n this.setLoadedResult(this.loadedResult);\n }\n this.isDirty = false;\n }\n }\n\n private clear() {\n this.hasResult = false;\n this.loadedResult = null;\n this.isDirty = false;\n if (this.subscription) {\n this.subscription.unsubscribe();\n this.subscription = null;\n }\n this.lastObs = null;\n this.currentContext = null;\n }\n}\n\nexport class LinkFieldContext<T> {\n\n constructor(public $implicit: T) {\n }\n}\n","import {\n ComponentFactory,\n ComponentFactoryResolver,\n Directive, ElementRef, EmbeddedViewRef,\n EventEmitter, HostListener,\n Input, OnDestroy, OnInit,\n Output, Renderer2,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport {MicroObject} from '../microobject';\nimport {CallableLink} from '../links/callablelink';\nimport {MicroError} from '../error/microerror';\n\n@Directive({\n selector: '[callLink]'\n})\nexport class CallLinkDirective {\n @Input()\n callLink: CallableLink<MicroObject | MicroObject[]>;\n\n @Output()\n callStatusChange: EventEmitter<CallStatus> = new EventEmitter();\n\n @Output()\n callSucess: EventEmitter<MicroObject | MicroObject[]> = new EventEmitter();\n\n @Output()\n callFinish: EventEmitter<void> = new EventEmitter();\n\n @Output()\n callError: EventEmitter<MicroError> = new EventEmitter();\n\n @Output()\n callStart: EventEmitter<void> = new EventEmitter();\n\n @Input()\n callOptions: object;\n\n @Input()\n callParameters: object;\n\n @HostListener('click')\n onClick() {\n this.callLink.callWithObs(this.callParameters, this.callOptions).subscribe((response) => {\n this.callSucess.emit(response);\n this.callStatusChange.emit(new CallStatus(this.callLink, CallState.SUCCESS, response, null));\n }, (error) => {\n this.callError.emit(error);\n this.callStatusChange.emit(new CallStatus(this.callLink, CallState.ERROR, null, error));\n }, () => {\n this.callFinish.emit();\n });\n this.callStatusChange.emit(new CallStatus(this.callLink, CallState.CALLING, null, null));\n }\n}\n\nexport class CallStatus {\n constructor(\n public link: CallableLink<MicroObject | MicroObject[]>,\n public state: CallState,\n public response: MicroObject | MicroObject[],\n public error: MicroError\n ) {\n }\n}\n\nexport enum CallState {\n CALLING,\n SUCCESS,\n ERROR\n}\n","import {Directive, forwardRef, Input} from '@angular/core';\nimport {\n AbstractControl,\n FormGroup,\n NG_ASYNC_VALIDATORS,\n ValidationErrors,\n Validator\n} from '@angular/forms';\nimport {Observable, timer} from 'rxjs';\nimport {map, switchMap} from 'rxjs/operators';\nimport {CallableLink} from '../links/callablelink';\n\n@Directive({\n selector: '[microLinkValidate]',\n providers: [\n {\n provide: NG_ASYNC_VALIDATORS,\n useExisting: forwardRef(() => MicroLinkValidateDirective),\n multi: true\n }\n ],\n exportAs: 'microValidator'\n})\nexport class MicroLinkValidateDirective implements Validator {\n\n private UNSET = \"\"\n\n @Input()\n microLinkValidate: CallableLink<any>\n\n @Input()\n microLinkValidateField: string = null\n\n @Input()\n microLinkValidateValue: any = this.UNSET\n\n @Input()\n microLinkValidateDebounce = 500;\n\n public result:any;\n\n\n validate(control: AbstractControl): Observable<ValidationErrors | null> {\n return timer(this.microLinkValidateDebounce).pipe(\n switchMap(() => {\n let validateValue = this.microLinkValidateValue\n if (validateValue === this.UNSET) {\n validateValue = control.value\n }\n\n let obj = {}\n if (this.microLinkValidateField) {\n obj[this.microLinkValidateField] = validateValue\n } else {\n obj = validateValue\n }\n\n return this.microLinkValidate.callWithObs(obj, null).pipe(\n map(validationRes => {\n let hasErrors = false\n if (this.microLinkValidateField) {\n if (validationRes[this.microLinkValidateField] != null) {\n hasErrors = true\n }\n } else {\n for (let key in validationRes) {\n if (validationRes[key] != null) {\n hasErrors = true\n }\n }\n }\n if (hasErrors) {\n this.result = validationRes\n return {\n validateMicroLink: this.result\n }\n\n } else {\n this.result = null\n return null\n }\n })\n )\n })\n )\n }\n\n getControlName(control: AbstractControl) {\n let controlName = null;\n let parent = control.parent;\n\n // only such parent, which is FormGroup, has a dictionary\n // with control-names as a key and a form-control as a value\n if (parent instanceof FormGroup) {\n // now we will iterate those keys (i.e. names of controls)\n Object.keys(parent.controls).forEach((name) => {\n // and compare the passed control and\n // a child control of a parent - with provided name (we iterate them all)\n if (control === parent.controls[name]) {\n // both are same: control passed to Validator\n // and this child - are the same references\n controlName = name;\n }\n });\n }\n // we either found a name or simply return null\n return controlName;\n }\n\n}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport {MicroClientLoadingIndicatorComponent} from './components/loadingindicator.component';\nimport {LinkFieldPipe} from './pipes/linkfield.pipe';\nimport {LinkFieldDirective} from './directives/linkfield.directive';\nimport {MicroClient} from './microclient.service';\nimport {HttpClientModule} from '@angular/common/http';\nimport {CallLinkDirective} from './directives/call-link.directive';\nimport {MicroClientErrorIndicatorComponent} from './components/errorindicator.component';\nimport {MicroLinkValidateDirective} from './directives/micro-link-validate.directive';\n\n@NgModule({\n entryComponents: [\n MicroClientLoadingIndicatorComponent,\n MicroClientErrorIndicatorComponent\n ],\n imports: [\n HttpClientModule\n ],\n declarations: [\n LinkFieldPipe,\n LinkFieldDirective,\n CallLinkDirective,\n MicroClientLoadingIndicatorComponent,\n MicroClientErrorIndicatorComponent,\n MicroLinkValidateDirective\n ],\n exports: [\n LinkFieldPipe,\n LinkFieldDirective,\n CallLinkDirective,\n MicroClientErrorIndicatorComponent,\n MicroClientLoadingIndicatorComponent,\n MicroLinkValidateDirective\n ]\n})\nexport class MicroClientModule {\n static forClientRoot(): ModuleWithProviders<MicroClientModule> {\n return {\n ngModule: MicroClientModule,\n providers: [\n MicroClient\n ]\n };\n }\n}\n","import {ChangeDetectorRef} from '@angular/core';\nimport {Observable, Subscription} from 'rxjs';\nimport {LinkField} from './links/linkfield';\nimport {MicroObject} from './microobject';\n\nexport class LinkFieldPagingSupport {\n\n constructor(\n private pageLink: LinkField<MicroObject[]>,\n private changeDetectorRef: ChangeDetectorRef,\n public pageLimit: number = 200\n ) {\n }\n\n private sorts: SortInfo[] = null;\n\n public isLoading = false;\n private loadedCompletely = false;\n private hasLoaded = false;\n private _rows: any[] = null;\n private loadingSubscription: Subscription = null;\n\n public rowsChangeCallback: (rows: any[]) => void;\n public isLoadingCallback: (isLoading: boolean) => void;\n\n get rows(): any[] {\n if (!this.hasLoaded) {\n this.loadNextPage();\n }\n return this._rows;\n }\n\n public static from(\n pageLink: LinkField<MicroObject[]>,\n changeDetectorRef: ChangeDetectorRef,\n pageLimit: number = 200\n ): LinkFieldPagingSupport {\n return new LinkFieldPagingSupport(pageLink, changeDetectorRef, pageLimit);\n }\n\n public applySort(sorts: SortInfo[], externalSorting = true) {\n this.hasLoaded = false;\n this.sorts = null;\n this._rows = null;\n\n if (externalSorting) {\n this.sorts = sorts;\n this.loadNextPage();\n } else {\n if (!this.loadedCompletely) {\n this.loadNextPage(null);\n } else {\n this.changeDetectorRef.detectChanges();\n }\n }\n\n }\n\n private loadingCallback = () => {\n this.setLoading(false);\n };\n\n public loadNextPage(pageSize: number = this.pageLimit, resultCallback: ((page: any[], all: any[]) => void) = null) {\n if (this.pageLink && !this.isLoading) {\n if (this.loadingSubscription) {\n this.loadingSubscription.unsubscribe();\n this.loadingSubscription = null;\n }\n\n this.hasLoaded = true;\n this.loadedCompletely = false;\n if (this._rows == null) {\n this.setLoading(true);\n\n const reqOptions: any = {};\n if (this.sorts != null) {\n reqOptions.sorting = this.sorts;\n }\n if (pageSize != null) {\n reqOptions.pageSize = pageSize;\n }\n\n\n this.loadingSubscription = this.pageLink.initWithObs(null, reqOptions).subscribe((firstPage) => {\n this.setRows(firstPage, resultCallback);\n }, this.loadingCallback, this.loadingCallback);\n } else {\n const lastRow = this.lastRow();\n if (lastRow) {\n if (lastRow.__meta.nextPage) {\n let reqOptions = null;\n if (pageSize != null) {\n reqOptions = {\n pageSize: pageSize\n };\n }\n\n const nextPageObs: Observable<MicroObject[]> = lastRow.__meta.nextPage.initWithObs(null, reqOptions);\n if (nextPageObs) {\n this.setLoading(true);\n this.loadingSubscription = nextPageObs.subscribe((nextPage) => {\n this.setRows(nextPage, resultCallback);\n }, this.loadingCallback, this.loadingCallback);\n }\n }\n }\n }\n } else if (!this.pageLink) {\n this.clearRows();\n }\n }\n\n public loadEverything() {\n this.loadNextPage(null);\n }\n\n private lastRow(): MicroObject {\n return this._rows[this._rows.length - 1];\n }\n\n private setRows(additionalPage: any[], loadCallback: ((page: any[], all: any[]) => void)) {\n if (this._rows) {\n this._rows = [...this.rows, ...additionalPage];\n } else {\n this._rows = additionalPage;\n }\n if (loadCallback) {\n loadCallback(additionalPage, this._rows);\n }\n this.reflectChanges();\n }\n\n private clearRows() {\n if (this._rows != null) {\n this._rows = null;\n this.reflectChanges();\n }\n }\n\n private reflectChanges() {\n const lastRow = this.lastRow();\n if (lastRow && lastRow.__meta) {\n this.loadedCompletely = lastRow.__meta.nextPage == null;\n } else {\n this.loadedCompletely = false;\n }\n\n if (this.rowsChangeCallback) {\n this.rowsChangeCallback(this._rows);\n }\n this.changeDetectorRef.detectChanges();\n }\n\n private setLoading(isLoading: boolean) {\n this.isLoading = isLoading;\n if (this.isLoadingCallback) {\n this.isLoadingCallback(this.isLoading);\n }\n this.changeDetectorRef.detectChanges();\n }\n\n public dispose() {\n this.rowsChangeCallback = null;\n this.isLoadingCallback = null;\n }\n\n public setPageLink(pageLink: LinkField<MicroObject[]>) {\n this.clearState();\n this.pageLink = pageLink;\n this.loadNextPage();\n }\n\n public hasLoadedCompletely(): boolean {\n return this.loadedCompletely;\n }\n\n public init(rowsChangeCallback: (rows: any[]) => void, isLoadingCallback: ((isLoading: boolean) => void) = null) {\n this.rowsChangeCallback = rowsChangeCallback;\n this.isLoadingCallback = isLoadingCallback;\n }\n\n private clearState() {\n this.isLoading = false;\n this.loadedCompletely = false;\n this.hasLoaded = false;\n this._rows = null;\n if (this.loadingSubscription) {\n this.loadingSubscription.unsubscribe();\n this.loadingSubscription = null;\n }\n }\n}\n\nexport class SortInfo {\n constructor(public field: string, public dir: string) {\n this.dir = dir.toUpperCase();\n if (!(this.dir === 'ASC' || this.dir === 'DESC')) {\n throw Error('dir can only be \\'ASC\\' or \\'DESC\\'');\n }\n }\n}\n","import {LinkField} from './linkfield';\nimport {Observable, of} from 'rxjs';\nimport {delay} from 'rxjs/operators';\n\nexport class MockLinkField<T extends (object | object[])> extends LinkField<T> {\n constructor(private valueToLoad: any, private delay: number) {\n super(null, null);\n }\n\n callWithObs(params: object = null, requestOptions: object = null): Observable<T> {\n return of(this.valueToLoad).pipe(\n delay(this.delay)\n );\n }\n}"],"names":["tslib_1.__values","tslib_1.__extends","ReplaySubject","defer","take","map","_.cloneDeepWith","HttpHeaders","catchError","throwError","finalize","Injectable","HttpClient","Component","AsyncPipe","Pipe","ChangeDetectorRef","Input","Directive","ViewContainerRef","TemplateRef","ComponentFactoryResolver","EventEmitter","Output","HostListener","timer","switchMap","FormGroup","NG_ASYNC_VALIDATORS","forwardRef","NgModule","HttpClientModule","of","delay"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"micropermit-client-angular.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@micropermit/client-angular/lib/paramutils.ts","ng://@micropermit/client-angular/lib/links/callablelink.ts","ng://@micropermit/client-angular/lib/links/linkfield.ts","ng://@micropermit/client-angular/lib/microobject.ts","ng://@micropermit/client-angular/lib/error/microerror.ts","ng://@micropermit/client-angular/lib/microclient.service.ts","ng://@micropermit/client-angular/lib/components/loadingindicator.component.ts","ng://@micropermit/client-angular/lib/pipes/linkfield.pipe.ts","ng://@micropermit/client-angular/lib/components/errorindicator.component.ts","ng://@micropermit/client-angular/lib/directives/linkfield.directive.ts","ng://@micropermit/client-angular/lib/directives/call-link.directive.ts","ng://@micropermit/client-angular/lib/directives/micro-link-validate.directive.ts","ng://@micropermit/client-angular/lib/microclient.module.ts","ng://@micropermit/client-angular/lib/link-field-paging-support.ts","ng://@micropermit/client-angular/lib/links/mock-linkfield.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\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++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\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 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) : new P(function (resolve) { resolve(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 __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n 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}\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 __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","export class ParamUtils {\n\n private static plusRegex = new RegExp('\\\\+');\n private static slashRegex = new RegExp('/', 'g');\n private static multiEqualRegex = new RegExp('=+$', 'g');\n private static minusRegex = new RegExp('-', 'g');\n private static underscoreRegex = new RegExp('_', 'g');\n\n public static addParam(url: string, key: string, value: string, replaceExisting: boolean = true): string {\n const hasQueryParams = url.indexOf('?') >= 0;\n if (!hasQueryParams) {\n url += '?';\n }\n\n const existingParam: string = ParamUtils.getParam(url, key);\n if (existingParam != null && replaceExisting) {\n url = url.replace(key + '=' + existingParam, key + '=' + value);\n } else {\n if (hasQueryParams) {\n url += '&';\n }\n url += key + '=' + value;\n }\n\n return url;\n }\n\n public static setParams(url: string, params: Object): string {\n const splitted = url.split('?');\n\n let resURL = splitted[0];\n let first = true;\n\n for (const key in params) {\n if (params.hasOwnProperty(key)) {\n if (first) {\n resURL += '?';\n first = false;\n }\n\n resURL += key + '=' + params[key];\n }\n }\n return resURL;\n }\n\n public static getParams(url: string): Object {\n const splitted = url.split('?');\n if (splitted.length < 2) {\n return {};\n }\n\n const queryStr = splitted[1];\n const params = {};\n\n const paramsStrs = queryStr.split('&');\n for (const paramStr of paramsStrs) {\n const splittedParamStr = paramStr.split('=', 2);\n const key = splittedParamStr[0];\n\n if (splittedParamStr.length === 2) {\n params[key] = splittedParamStr[1];\n } else {\n params[key] = null;\n }\n }\n return params;\n }\n\n public static base64UrlEncode(toEncode: string): string {\n return btoa(toEncode)\n .replace(ParamUtils.plusRegex, '-')\n .replace(ParamUtils.slashRegex, '_')\n .replace(ParamUtils.multiEqualRegex, '');\n }\n\n public static base64UrlDecode(toDecode: string): string {\n toDecode = (toDecode + '===').slice(0, toDecode.length + (toDecode.length % 4));\n return atob(\n toDecode\n .replace(ParamUtils.minusRegex, '+')\n .replace(ParamUtils.underscoreRegex, '/')\n );\n }\n\n public static needsBase64UrlEncoding(toCheck: any): boolean {\n if (toCheck == null) {\n return false;\n } else {\n return typeof toCheck === 'object';\n }\n }\n\n public static getParam(url: string, name: string, urlDecode: boolean = false): string {\n const paramsQueryIdx = url.indexOf('?');\n url = url.substr(paramsQueryIdx);\n const regExp = (new RegExp('[?&]' + encodeURIComponent(name) + '=([^&]*)'));\n const match = regExp.exec(url);\n if (match) {\n if (urlDecode && match[1]) {\n return this.base64UrlDecode(match[1]);\n } else {\n return match[1];\n }\n } else {\n return null;\n }\n }\n}\n","import {MicroClient} from '../microclient.service';\nimport {Observable} from 'rxjs';\nimport {MicroObject} from '../microobject';\nimport {ParamUtils} from '../paramutils';\n\nexport class CallableLink<T> {\n\n constructor(\n protected link: string,\n protected microClient: MicroClient,\n protected callParams: object = null,\n protected requestOptions: object = null\n ) {\n }\n\n public serializeTo: (link: string, callParams: object, requestOptions: object, value: any, isInitialized: boolean) => any = LinkSerializer.DONT_SERIALIZE;\n\n hasLink(): Boolean {\n return this.link != null;\n }\n\n getLink(): string {\n return this.link;\n }\n\n getQueryParam(key: string, urlDecode: boolean = false) {\n return ParamUtils.getParam(this.link, key, urlDecode);\n }\n\n getSignedParams(): MicroObject | MicroObject[] {\n let params = this.getSignedMicroObjectParam('params');\n if (params == null) {\n params = this.getSignedMicroObjectParam('bParams');\n }\n return params;\n }\n\n getOpenParams(copy: boolean = false): MicroObject | MicroObject[] {\n let params: MicroObject | MicroObject[] = this.getMicroObjectParam('oParams');\n if (params == null) {\n params = this.getMicroObjectParam('bOParams');\n } else {\n if (copy) {\n params = MicroObject.fromString(JSON.stringify(params), this.microClient);\n }\n\n if (this.callParams) {\n params = Object.assign(params, this.callParams);\n }\n }\n return params;\n }\n\n getOptions(): MicroObject {\n let options = this.getMicroObjectParam('options');\n\n if (this.requestOptions) {\n if (options == null) {\n options = new MicroObject();\n }\n options = Object.assign(options, this.requestOptions);\n }\n\n return options;\n }\n\n private getSignedMicroObjectParam(key: string): MicroObject {\n const paramsStr = ParamUtils.getParam(this.link, key, false);\n let params = null;\n if (paramsStr) {\n const splitted = paramsStr.split('.');\n if (splitted.length !== 3) {\n throw new Error('Expected a signed query param to have a JWT like structure');\n }\n params = MicroObject.fromString(atob(splitted[1]), this.microClient);\n }\n return params;\n }\n\n getMicroObjectParam(key: string): MicroObject {\n const paramsStr = ParamUtils.getParam(this.link, key, true);\n let params = null;\n if (paramsStr) {\n params = MicroObject.fromString(paramsStr, this.microClient);\n }\n return params;\n }\n\n call(onNext: (T) => void): Promise<T> {\n return this.callWith(null, null, onNext);\n }\n\n callWith(params: object = null, requestOptions: object = null, onNext: (T) => void): Promise<T> {\n return <Promise<T>>this.callWithObs(params, requestOptions).toPromise().then(onNext);\n }\n\n callWithObs(params: object = null, requestOptions: object = null): Observable<T> {\n if (this.link == null) {\n throw Error('Can\\'t use callWithObs without a provided link');\n }\n if (this.microClient == null) {\n throw Error('Can\\'t use callWithObs without a provided microClient');\n }\n\n let paramsToUse = null;\n if (this.callParams != null) {\n paramsToUse = Object.assign(new MicroObject(), this.callParams);\n }\n if (params) {\n if (paramsToUse == null) {\n paramsToUse = new MicroObject();\n }\n paramsToUse = Object.assign(paramsToUse, params);\n }\n\n let optionsToUse = null;\n if (this.requestOptions != null) {\n optionsToUse = Object.assign(new MicroObject(), this.requestOptions);\n }\n if (requestOptions) {\n if (optionsToUse == null) {\n optionsToUse = new MicroObject();\n }\n optionsToUse = Object.assign(optionsToUse, requestOptions);\n }\n\n return <Observable<T>>this.microClient.load(this.link, paramsToUse, optionsToUse);\n }\n\n copy(): CallableLink<T> {\n return new CallableLink(this.link, this.microClient, this.callParams, this.requestOptions);\n }\n\n withCallParams(callParams: object, requestOptions: object = this.requestOptions): CallableLink<T> {\n return new CallableLink(this.link, this.microClient, callParams, requestOptions);\n }\n\n toJSON(): any {\n if (this.serializeTo) {\n return this.serializeTo(this.link, this.callParams, this.requestOptions, undefined, undefined);\n } else {\n return undefined;\n }\n }\n}\n\n// @dynamic\nexport class LinkSerializer {\n public static DONT_SERIALIZE = function () {\n return undefined;\n };\n\n public static AS_LINK = function (link: string) {\n return link;\n };\n\n public static AS_VALUE_IF_INITIALIZED = function (link: string, callParams: object, requestOptions: object, value: any, isInitialized: boolean) {\n if (isInitialized) {\n return value;\n } else {\n return undefined;\n }\n };\n}\n","import {defer, Observable, ReplaySubject} from 'rxjs';\nimport {MicroClient, MicroClientLoadError} from '../microclient.service';\nimport {CallableLink, LinkSerializer} from './callablelink';\nimport {map, take} from 'rxjs/operators';\n\nexport class LinkField<T> extends CallableLink<T> {\n private value: T;\n private initialized = false;\n private _getPromise: Promise<T>;\n\n private valueSubj: ReplaySubject<T>;\n\n public serializeTo: (link: string, callParams: object, requestOptions: object, value: T, isInitialized: boolean) => any = LinkSerializer.AS_VALUE_IF_INITIALIZED;\n\n constructor(\n link: string,\n microClient: MicroClient,\n initialValue: T = null,\n initialized: boolean = false,\n callParams: object = null,\n requestOptions: object = null\n ) {\n super(link, microClient, callParams, requestOptions);\n if (initialized) {\n this.set(initialValue);\n }\n }\n\n static from<T extends (object | object[])>(value: T): LinkField<T> {\n return new LinkField(null, null, value, true);\n }\n\n get(callback?: (T) => void): Promise<T> {\n if (callback) {\n this.getObs().subscribe(callback);\n return null;\n }\n return this.getPromise();\n }\n\n getPromise(): Promise<T> {\n if (!this._getPromise) {\n this._getPromise = this.getObs().toPromise();\n }\n return this._getPromise;\n }\n\n private intervalId = null;\n private isRefreshing = false;\n\n refresh(interval?: number, errorHandler?: (error: MicroClientLoadError) => void) {\n if (interval) {\n this.stopRefresh();\n }\n let resCb = () => {\n this.isRefreshing = false;\n };\n this.isRefreshing = true;\n this.initWithObs().subscribe(resCb, (error: MicroClientLoadError) => {\n resCb();\n if (errorHandler) {\n errorHandler(error);\n }\n }, resCb);\n\n if (interval) {\n this.intervalId = setInterval(() => {\n if (!this.isRefreshing) {\n this.isRefreshing = true;\n this.initWithObs().subscribe(resCb, (error: MicroClientLoadError) => {\n resCb();\n if (errorHandler) {\n errorHandler(error);\n }\n }, resCb);\n }\n }, interval);\n }\n }\n\n stopRefresh() {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n }\n }\n\n listenObs(): Observable<T> {\n //TODO handle listeners in case of intermidiate uninitialize (new valueSubj)\n if (this.valueSubj) {\n return this.valueSubj;\n } else {\n let valueSubj = new ReplaySubject<T>(1);\n this.valueSubj = valueSubj;\n return defer(() => {\n this.initWithObs(null, null).subscribe((value: T) => {\n if (this.valueSubj !== valueSubj) {\n valueSubj.next(value);\n valueSubj.complete();\n }\n });\n return valueSubj;\n });\n }\n }\n\n getObs(): Observable<T> {\n return this.listenObs().pipe(\n take(1)\n );\n }\n\n set(value: T): T {\n const oldValue = this.value;\n this.value = value;\n this.initialized = true;\n if (!this.valueSubj) {\n this.valueSubj = new ReplaySubject<T>(1);\n }\n this.valueSubj.next(value);\n this._getPromise = null;\n\n return oldValue;\n }\n\n isInitialized(): boolean {\n return this.initialized;\n }\n\n uninitialize() {\n this.value = null;\n this.initialized = false;\n this.valueSubj = null;\n this._getPromise = null;\n }\n\n copyUninitialized(): LinkField<T> {\n let copy = this.copy();\n copy.uninitialize();\n return copy;\n }\n\n getInitializedValue(): T {\n if (!this.isInitialized()) {\n throw new Error('Can\\'t get the intialized value for a LinkField that hasn\\'t been initialized');\n }\n return this.value;\n }\n\n initWith(parms: object = null, requestOptions: object = null, callback: (T) => void) {\n this.initWithObs(parms, requestOptions).subscribe(callback);\n }\n\n initWithObs(params: object = null, requestOptions: object = null): Observable<T> {\n return this.callWithObs(params, requestOptions).pipe(\n map((value) => {\n this.set(<T>value);\n return value;\n })\n );\n }\n\n withCallParams(callParams: object, requestOptions: object = this.requestOptions): LinkField<T> {\n return new LinkField(this.link, this.microClient, this.value, this.initialized, callParams, requestOptions);\n }\n\n copy(withValue?: T): LinkField<T> {\n if (withValue === undefined) {\n return new LinkField(this.link, this.microClient, this.value, this.initialized, this.callParams, this.requestOptions);\n } else {\n return new LinkField(this.link, this.microClient, withValue, true, this.callParams, this.requestOptions);\n }\n }\n\n toJSON(): any {\n if (this.serializeTo) {\n return this.serializeTo(this.link, this.callParams, this.requestOptions, this.value, this.isInitialized());\n } else {\n return undefined;\n }\n }\n}\n\n","import {MicroClient} from './microclient.service';\nimport {LinkField} from './links/linkfield';\nimport {CallableLink, LinkSerializer} from './links/callablelink';\nimport {MicroError} from './error/microerror';\nimport * as _ from 'lodash';\n\nexport interface MicroObject {\n __meta: MicroObjectMetadata;\n}\n\nexport class MicroObject implements MicroObject {\n public static META_KEY = '__meta';\n\n __meta: MicroObjectMetadata = undefined;\n\n public static deepCopy<T extends object | object[]>(toCopy: T, client?: MicroClient): T {\n return <T>_.cloneDeepWith(toCopy, MicroObject.deepCopyCustomizer);\n }\n\n private static deepCopyCustomizer(value) {\n if (value instanceof MicroClient) {\n return value;\n }\n return undefined;\n }\n\n\n public static fromString<T extends object>(str: string, client: MicroClient, prototype: T = null): T | T[] {\n const obj = JSON.parse(str);\n return this.fromObject(obj, client, prototype);\n }\n\n public static fromObject<T extends object>(obj: any, client: MicroClient, prototype: T = null): T | T[] {\n if (obj === null) {\n return null;\n }\n\n if (Array.isArray(obj)) {\n const objArr: T[] = obj;\n for (let i = 0; i < objArr.length; i++) {\n const elem = objArr[i];\n if (typeof elem === 'object') {\n objArr[i] = <T>MicroObject.fromObject(elem, client, prototype);\n }\n }\n return objArr;\n } else {\n for (const field in obj) {\n if (field !== MicroObject.META_KEY && obj.hasOwnProperty(field)) {\n const fieldValue = obj[field];\n if (fieldValue) {\n if (fieldValue instanceof Object || Array.isArray(fieldValue)) {\n obj[field] = MicroObject.fromObject(fieldValue, client, prototype);\n }\n }\n }\n }\n\n const src = prototype == null ? MicroObject.prototype : prototype;\n const microObject: MicroObject = Object.assign(Object.create(src), obj);\n\n\n MicroObject.attachMetadataObject(microObject, client);\n\n return <T>microObject;\n }\n\n }\n\n private static attachMetadataObject(microObject: MicroObject, client: MicroClient) {\n const rawMeta: MicroObjectMetadata = microObject != null ? microObject[MicroObject.META_KEY] : null;\n if (rawMeta != null) {\n let clientToUse = client;\n if (rawMeta.permitToken) {\n if (client.getEntryPoint() != null) {\n clientToUse = client.createChildClientForEntryPoint(microObject);\n }\n }\n\n microObject.__meta = MicroObjectMetadata.fromObject(microObject.__meta, clientToUse);\n\n MicroObject.attachLinkFields(microObject.__meta, microObject, clientToUse);\n MicroObject.attachCallableLinks(microObject.__meta, microObject, clientToUse);\n\n } else {\n return null;\n }\n }\n\n private static attachLinkFields(meta: MicroObjectMetadata, microObject: MicroObject, client: MicroClient) {\n meta.forEachLink((linkName, linkUrl) => {\n const value = microObject[linkName];\n microObject[linkName] = new LinkField(linkUrl, client, value, value !== undefined);\n });\n }\n\n private static attachCallableLinks(meta: MicroObjectMetadata, microObject: MicroObject, client: MicroClient) {\n meta.forEachAction((linkName, linkUrl) => {\n microObject[linkName] = new CallableLink(linkUrl, client);\n });\n }\n}\n\nexport class MicroObjectMetadata {\n links: any;\n actions: any;\n permitToken: string;\n nextPage: LinkField<any>;\n error: MicroError;\n\n\n static fromObject(obj: object, client: MicroClient): MicroObjectMetadata {\n const objMetadata = Object.assign(new MicroObjectMetadata(), obj);\n\n if (objMetadata.nextPage != null) {\n objMetadata.nextPage = new LinkField(<any>objMetadata.nextPage, client);\n objMetadata.nextPage.serializeTo = LinkSerializer.AS_LINK;\n }\n\n return objMetadata;\n }\n\n public getLinkUrl(key: string): string {\n return this.links[key];\n }\n\n public hasLink(key: string): boolean {\n return this.links[key] != null;\n }\n\n public forEachLink(op: (linkName: string, link: string) => void) {\n for (const link in this.links) {\n if (this.links.hasOwnProperty(link)) {\n op(link, this.links[link]);\n }\n }\n }\n\n public forEachAction(op: (linkName: string, link: string) => void) {\n for (const link in this.actions) {\n if (this.actions.hasOwnProperty(link)) {\n op(link, this.actions[link]);\n }\n }\n }\n\n\n}\n","export class MicroError {\n timestamp: number;\n errorMessage: string;\n atService: string;\n atEndpoint: string;\n instanceID: string;\n httpEquivCode: number;\n cause: MicroError;\n errorID: string;\n errorType: Array<String>;\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient, HttpErrorResponse, HttpHeaders} from '@angular/common/http';\nimport {MicroObject} from './microobject';\nimport {Observable, ReplaySubject, Subject, throwError} from 'rxjs';\nimport {catchError, finalize, map, take, shareReplay} from 'rxjs/operators';\nimport {ParamUtils} from './paramutils';\nimport {MicroError} from './error/microerror';\n\n@Injectable()\nexport class MicroClient {\n\n private authHeader: string;\n private permitToken: string;\n private entryPoint: MicroObject;\n\n private entryPointSubject: ReplaySubject<MicroObject> = new ReplaySubject<MicroObject>();\n\n private urlRewriter: (string) => string;\n private defaultErrorHandler: (httpError: HttpErrorResponse, microError: MicroObject) => void;\n public usePost = true;\n public sendAsPermitTokenHeader = true;\n public sendAsMultipartFormData = false;\n\n constructor(private httpClient: HttpClient) {\n\n }\n\n public setSendAsPermitTokenHeader(sendAsPermitTokenHeader: boolean) {\n this.sendAsPermitTokenHeader = sendAsPermitTokenHeader;\n }\n\n public setAuthToken(token: string) {\n this.authHeader = 'Bearer ' + token;\n this.permitToken = token;\n }\n\n public setAuthHeader(authHeader: string) {\n this.authHeader = authHeader;\n }\n\n public getEntryPoint(): any {\n return this.entryPoint;\n }\n\n public waitForEntryPoint(cb?: (entryPoint: any) => void): Promise<any> {\n if (cb != null) {\n this.entryPointSubject.subscribe(cb);\n return null;\n }\n return this.entryPointSubject.toPromise();\n }\n\n public copyAuthAndEntrypointOf(other: MicroClient) {\n this.authHeader = other.authHeader;\n this.permitToken = other.permitToken;\n this.entryPoint = other.entryPoint;\n }\n\n public setEntryPoint<T extends MicroObject>(entryPoint: any) {\n if (entryPoint == null) {\n this.authHeader = null;\n this.entryPoint = null;\n this.permitToken = null;\n } else {\n this.entryPoint = entryPoint;\n if (this.entryPoint.__meta && this.entryPoint.__meta.permitToken) {\n this.setAuthToken(this.entryPoint.__meta.permitToken);\n } else {\n throw Error('Expected the entryPoint to contain a \"permitToken\" within the \"__meta\" field');\n }\n this.entryPointSubject.next(entryPoint);\n }\n }\n\n public setDefaultErrorHandler(handler: (httpError: HttpErrorResponse, microError: MicroObject) => void) {\n this.defaultErrorHandler = handler;\n }\n\n public handleError(httpErr: HttpErrorResponse) {\n if (this.defaultErrorHandler) {\n const microError = MicroClient.toMicroError(httpErr);\n if (microError) {\n const microResultObj: MicroObject = <MicroObject>MicroObject.fromObject(httpErr.error, this);\n this.defaultErrorHandler(httpErr, microResultObj);\n } else {\n this.defaultErrorHandler(httpErr, null);\n }\n }\n }\n\n public ignite<T>(\n url: string,\n username: String = null,\n password: String = null,\n headers: object = {}\n ): Observable<T> {\n if (this.urlRewriter) {\n url = this.urlRewriter(url);\n }\n\n let requestHeaders = new HttpHeaders();\n for (const headerKey in headers) {\n if (headers.hasOwnProperty(headerKey)) {\n requestHeaders = requestHeaders.set(headerKey, headers[headerKey]);\n }\n }\n\n if (username != null || password != null) {\n requestHeaders = requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n return this.httpClient.get(url, {\n headers: requestHeaders\n }).pipe(\n map(val => {\n const entryPoint = MicroObject.fromObject(val, this);\n this.setEntryPoint(entryPoint);\n return entryPoint as T;\n }),\n this.catchAndHandleError()\n );\n }\n\n public load<T>(\n url: string,\n params?: object,\n requestOptions?: object\n ): Observable<T> {\n let requestHeaders = new HttpHeaders();\n if (this.authHeader) {\n requestHeaders = requestHeaders.set('Authorization', this.authHeader);\n\n if (this.sendAsPermitTokenHeader) {\n requestHeaders = requestHeaders.set('MicroPermitToken', this.permitToken);\n }\n }\n\n let oParams = params;\n if (params != null || this.usePost) {\n const existingParamsStr = ParamUtils.getParam(url, 'oParams', true);\n let existingParams;\n if (existingParamsStr) {\n existingParams = JSON.parse(existingParamsStr);\n } else {\n existingParams = {};\n }\n oParams = Object.assign(existingParams, params);\n }\n\n let options = requestOptions;\n if (requestOptions != null || this.usePost) {\n const prevOptionsStr = ParamUtils.getParam(url, 'options', true);\n if (prevOptionsStr) {\n options = JSON.parse(prevOptionsStr);\n } else {\n options = {};\n }\n\n options = Object.assign(options, requestOptions);\n }\n\n const queryParams = ParamUtils.getParams(url);\n\n let httpObs = null;\n if (this.usePost) {\n\n let bOParams;\n const encBOParams = queryParams['bOParams'];\n if (encBOParams) {\n bOParams = JSON.parse(ParamUtils.base64UrlDecode(encBOParams));\n }\n const body = {\n params: queryParams['params'],\n oParams: oParams,\n bParams: queryParams['bParams'],\n bOParams: bOParams,\n options: options,\n };\n\n delete queryParams['params'];\n delete queryParams['oParams'];\n delete queryParams['bParams'];\n delete queryParams['bOParams'];\n delete queryParams['options'];\n\n url = ParamUtils.setParams(url, queryParams);\n\n if (this.urlRewriter) {\n url = this.urlRewriter(url);\n }\n\n httpObs = this.httpClient.post(url, this.encodeBody(body), {\n headers: requestHeaders\n });\n } else {\n if (oParams) {\n queryParams['oParams'] = ParamUtils.base64UrlEncode(JSON.stringify(oParams));\n }\n\n if (options) {\n queryParams['options'] = ParamUtils.base64UrlEncode(JSON.stringify(options));\n }\n url = ParamUtils.setParams(url, queryParams);\n\n if (this.urlRewriter) {\n url = this.urlRewriter(url);\n }\n\n httpObs = this.httpClient.get(url, {\n headers: requestHeaders\n });\n }\n\n httpObs = httpObs.pipe(\n map(val => {\n return MicroObject.fromObject(val, this);\n }),\n this.catchAndHandleError()\n );\n\n return httpObs;\n }\n\n private encodeBody(body: any): any {\n if (this.sendAsMultipartFormData) {\n let formData = new FormData();\n let paramBlob = new Blob([JSON.stringify(body)], {type: \"application/json\"})\n formData.append('*', paramBlob);\n return formData;\n } else {\n return body;\n }\n }\n\n private catchAndHandleError<T>(): ((source: Observable<T>) => Observable<T>) {\n return (source: Observable<T>) => {\n return source.pipe(\n catchError(err => {\n let loadError = new MicroClientLoadError(err, (errToHandle) => {\n this.handleError(errToHandle);\n });\n return throwError(loadError).pipe(\n finalize(() => {\n if (!loadError.shouldPreventDefault()) {\n loadError.handleDefault();\n }\n })\n );\n })\n );\n };\n }\n\n public createChildClientForEntryPoint(entryPoint: MicroObject): MicroClient {\n if (entryPoint.__meta && entryPoint.__meta.permitToken) {\n const childClient: MicroClient = Object.create(this, {\n entryPoint: {\n configurable: true,\n enumerable: true,\n writable: true\n },\n authHeader: {\n configurable: true,\n enumerable: true,\n writable: true\n },\n permitToken: {\n configurable: true,\n enumerable: true,\n writable: true\n }\n });\n childClient.setEntryPoint(entryPoint);\n return childClient;\n } else {\n throw new Error('The supplied value can\\'t be used to construct a child MicroClient because it doesn\\'t contain metadata with a permitToken ');\n }\n }\n\n public setURLRewriter(rewriter: (string) => string) {\n this.urlRewriter = rewriter;\n }\n\n public static toMicroError(httpResponse: HttpErrorResponse): MicroError {\n const res = httpResponse.error;\n if (res && res.__meta && res.__meta.error) {\n return Object.assign(new MicroError(), res.__meta.error);\n }\n return null;\n }\n\n private static staticContentRegExp = new RegExp('[a-zA-Z0-9]://.*(:[0-9]+)?(/.*)*/static(/.*(\\\\?.*)?(#.*)?)?');\n\n public static guessMicroComponentBaseURL(): string {\n const href = window.location.href;\n\n // Last URL-Segement is static\n if (MicroClient.staticContentRegExp.test(href)) {\n return href.replace(new RegExp('/static/.*'), '')\n .replace(new RegExp('/#/.*'), '');\n } else {\n if (window.location.protocol.startsWith('file')) {\n return 'http://localhost:8080';\n } else {\n return window.location.protocol + '//' + window.location.hostname + ':8080';\n }\n }\n }\n\n public static guessMicroComponentAuthorizeURL(): string {\n return this.guessMicroComponentBaseURL() + '/authorize';\n }\n}\n\nexport class MicroClientLoadError {\n private handled = false;\n private doPreventDefault = false;\n\n constructor(private error: any, private defaultHandler: (err: any) => void) {\n\n }\n\n public handleDefault() {\n if (this.defaultHandler) {\n this.defaultHandler(this.error);\n this.handled = true;\n }\n }\n\n public handleError(handler: (error: any) => void) {\n handler(this.error);\n this.handled = true;\n }\n\n public isHandled(): boolean {\n return this.handled;\n }\n\n public shouldPreventDefault(): boolean {\n return this.doPreventDefault;\n }\n\n public preventDefault(): void {\n this.doPreventDefault = true;\n }\n\n public hasDefaultHandler(): boolean {\n return this.defaultHandler != null;\n }\n}\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'mc-loadingindicator',\n template: `\n <div id=\"container\">\n <div id=\"bar\"></div>\n </div>\n `,\n styles: [`\n #container {\n display: block;\n overflow: hidden;\n width: 100%;\n height: 5px;\n -webkit-transform: translate(0, 0) scale(1, 1);\n transform: translate(0, 0) scale(1, 1);\n background-color: #aad1f9;\n }\n #container #bar {\n transition: all .2s linear;\n -webkit-animation: query 0.8s infinite cubic-bezier(0.39, 0.575, 0.565, 1);\n animation: query 0.8s infinite cubic-bezier(0.39, 0.575, 0.565, 1);\n transition: -webkit-transform .2s linear;\n transition: transform .2s linear;\n background-color: #106cc8;\n width: 100%;\n height: 5px;\n }\n @keyframes query {\n 0% {\n opacity: 1;\n transform: translateX(35%) scale(0.3, 1);\n }\n 100% {\n opacity: 0;\n transform: translateX(-50%) scale(0, 1);\n }\n }\n `]\n})\nexport class MicroClientLoadingIndicatorComponent { }\n","import {LinkField} from '../links/linkfield';\nimport {PipeTransform, Pipe, OnDestroy, ChangeDetectorRef} from '@angular/core';\nimport {MicroObject} from '../microobject';\nimport {AsyncPipe} from '@angular/common';\n\n@Pipe({name: 'linkField', pure: false})\nexport class LinkFieldPipe implements OnDestroy, PipeTransform {\n\n private asyncPipe: AsyncPipe;\n\n constructor(changeDetectorRef: ChangeDetectorRef) {\n this.asyncPipe = new AsyncPipe(changeDetectorRef);\n }\n\n ngOnDestroy(): void {\n this.asyncPipe.ngOnDestroy();\n }\n\n transform<T extends (object | object[])>(linkField: LinkField<T>): any {\n if (linkField == null) {\n return null;\n }\n if (linkField instanceof LinkField) {\n return this.asyncPipe.transform(linkField.getObs());\n } else {\n // return linkField;\n throw new Error('Can\\'t use the linkField pipe with a value which isn\\'t an instance of LinkField');\n }\n }\n\n}\n","import {Component, Input} from '@angular/core';\nimport {MicroClientLoadError} from '../microclient.service';\n\n@Component({\n selector: 'mc-errorindicator',\n template: `\n <div class=\"blinking-error\" [class.clickable]=\"error.hasDefaultHandler()\" (click)=\"onClick()\"></div>\n `,\n styles: [`\n .blinking-error {\n background-image: linear-gradient(to right, tomato 0%, darkred 50%, tomato 100%);\n animation: blinkingText 0.5s 1;\n height: 5px;\n }\n\n .blinking-error.clickable {\n cursor: pointer;\n }\n\n @keyframes blinkingText {\n 0% {\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n }\n `]\n})\nexport class MicroClientErrorIndicatorComponent {\n @Input()\n error: MicroClientLoadError;\n\n onClick() {\n this.error.handleDefault();\n }\n}\n","import {\n Directive,\n Input,\n TemplateRef,\n ViewContainerRef,\n ComponentFactoryResolver,\n ComponentFactory,\n DoCheck,\n OnDestroy, ChangeDetectorRef, Output, EventEmitter, OnChanges, SimpleChanges\n} from '@angular/core';\nimport {LinkField} from '../links/linkfield';\nimport {MicroObject} from '../microobject';\nimport {Observable, Subscription} from 'rxjs';\nimport {MicroClientLoadingIndicatorComponent} from '../components/loadingindicator.component';\nimport {MicroClientErrorIndicatorComponent} from '../components/errorindicator.component';\nimport {finalize} from 'rxjs/operators';\nimport {MicroClientLoadError} from '../microclient.service';\n\n@Directive({\n selector: '[linkField][linkFieldFrom]'\n})\nexport class LinkFieldDirective<T> implements DoCheck, OnDestroy, OnChanges {\n private _from: LinkField<T> | T;\n private _loadingTemplate: TemplateRef<any>;\n private _errorTemplate: TemplateRef<any>;\n private _defaultLoadingComponent: ComponentFactory<MicroClientLoadingIndicatorComponent>;\n private _defaultErrorComponent: ComponentFactory<MicroClientErrorIndicatorComponent>;\n\n private isDirty = true;\n private isLoading = false;\n private loadedResult: T = null;\n private hasResult = false;\n\n private lastObs: Observable<T>;\n private subscription: Subscription = null;\n\n private currentContext: LinkFieldContext<T>;\n\n constructor(\n private _viewContainer: ViewContainerRef,\n private _template: TemplateRef<LinkFieldContext<T>>,\n private componentResolver: ComponentFactoryResolver,\n private changeDetectorRef: ChangeDetectorRef\n ) {\n this._defaultLoadingComponent = componentResolver.resolveComponentFactory(MicroClientLoadingIndicatorComponent);\n this._defaultErrorComponent = componentResolver.resolveComponentFactory(MicroClientErrorIndicatorComponent);\n }\n\n @Input()\n set linkFieldFrom(from: LinkField<T> | T) {\n this._from = from;\n }\n\n @Input()\n set linkFieldLoadingTemplate(loadingTemplate: TemplateRef<any>) {\n if (loadingTemplate) {\n this._loadingTemplate = loadingTemplate;\n }\n this.updateIfDirty(true);\n }\n\n @Input()\n set linkFieldErrorTemplate(errorTemplate: TemplateRef<any>) {\n if (errorTemplate) {\n this._errorTemplate = errorTemplate;\n }\n this.updateIfDirty(true);\n }\n\n @Input()\n set linkFieldTemplate(value: TemplateRef<LinkFieldContext<T>>) {\n if (value) {\n this._template = value;\n }\n }\n\n @Input()\n linkFieldDefaultErrorHandling = false;\n\n @Input()\n linkFieldValueChange: (T) => void;\n\n @Input()\n linkFieldParams: object = null;\n\n private load() {\n if (this._from) {\n if (this._from instanceof LinkField) {\n this.setLoading(true);\n this.lastObs = this._from.listenObs();\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n this.subscription = this.lastObs.pipe(\n finalize(() => {\n this.setLoading(false);\n })\n ).subscribe((loadedResult: T) => {\n this.setLoadedResult(loadedResult);\n if (this.linkFieldValueChange) {\n this.linkFieldValueChange(loadedResult);\n }\n }, (loadError: MicroClientLoadError) => {\n if (!this.linkFieldDefaultErrorHandling) {\n loadError.preventDefault();\n }\n this.setError(loadError);\n });\n } else {\n this.setLoadedResult(this._from);\n // this.setLoadedResult(this._from);\n // throw new Error('Can\\'t use the linkField directive with a from value which isn\\'t an instance of LinkField');\n }\n }\n }\n\n\n ngDoCheck() {\n this.updateIfDirty();\n }\n\n ngOnDestroy() {\n this.clear();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.linkFieldFrom) {\n if (!(this._from instanceof LinkField)) {\n this._from = LinkField.from(this._from as any);\n }\n if (changes.linkFieldFrom.previousValue !== changes.linkFieldFrom.currentValue) {\n this.clear();\n this.load();\n }\n }\n\n if (changes.linkFieldParams && this.linkFieldParams) {\n let link = this._from as LinkField<T>;\n this._from = link.withCallParams(this.linkFieldParams);\n }\n }\n\n private setError(error: MicroClientLoadError) {\n this._viewContainer.remove();\n if (this._errorTemplate) {\n this._viewContainer.createEmbeddedView(this._errorTemplate, {\n $implicit: error\n });\n } else {\n let errorComponentInstance = this._viewContainer.createComponent(this._defaultErrorComponent);\n errorComponentInstance.instance['error'] = error;\n }\n }\n\n\n private setLoading(loading: boolean) {\n this.isLoading = loading;\n if (this.isLoading) {\n if (this._loadingTemplate) {\n this._viewContainer.remove();\n this._viewContainer.createEmbeddedView(this._loadingTemplate);\n } else {\n this._viewContainer.remove();\n this._viewContainer.createComponent(this._defaultLoadingComponent);\n }\n }\n }\n\n private setLoadedResult(result: T) {\n this.hasResult = true;\n this.loadedResult = result;\n if (this.currentContext == null) {\n this.currentContext = new LinkFieldContext<T>(result);\n this.isDirty = true;\n } else {\n this.currentContext.$implicit = result;\n this.changeDetectorRef.markForCheck();\n }\n if (!this._viewContainer || !this._template) {\n this.isDirty = true;\n } else {\n if (this.isDirty) {\n this._viewContainer.remove();\n this._viewContainer.createEmbeddedView(this._template, this.currentContext);\n this.isDirty = false;\n }\n }\n }\n\n private updateIfDirty(ignoreDirty: boolean = false) {\n if ((this.isDirty || ignoreDirty) && this._loadingTemplate && this._from && this._template && this._viewContainer) {\n if (this.hasResult) {\n this.setLoadedResult(this.loadedResult);\n }\n this.isDirty = false;\n }\n }\n\n private clear() {\n this.hasResult = false;\n this.loadedResult = null;\n this.isDirty = false;\n if (this.subscription) {\n this.subscription.unsubscribe();\n this.subscription = null;\n }\n this.lastObs = null;\n this.currentContext = null;\n }\n}\n\nexport class LinkFieldContext<T> {\n\n constructor(public $implicit: T) {\n }\n}\n","import {\n ComponentFactory,\n ComponentFactoryResolver,\n Directive, ElementRef, EmbeddedViewRef,\n EventEmitter, HostListener,\n Input, OnDestroy, OnInit,\n Output, Renderer2,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport {MicroObject} from '../microobject';\nimport {CallableLink} from '../links/callablelink';\nimport {MicroError} from '../error/microerror';\n\n@Directive({\n selector: '[callLink]'\n})\nexport class CallLinkDirective {\n @Input()\n callLink: CallableLink<MicroObject | MicroObject[]>;\n\n @Output()\n callStatusChange: EventEmitter<CallStatus> = new EventEmitter();\n\n @Output()\n callSucess: EventEmitter<MicroObject | MicroObject[]> = new EventEmitter();\n\n @Output()\n callFinish: EventEmitter<void> = new EventEmitter();\n\n @Output()\n callError: EventEmitter<MicroError> = new EventEmitter();\n\n @Output()\n callStart: EventEmitter<void> = new EventEmitter();\n\n @Input()\n callOptions: object;\n\n @Input()\n callParameters: object;\n\n @HostListener('click')\n onClick() {\n this.callLink.callWithObs(this.callParameters, this.callOptions).subscribe((response) => {\n this.callSucess.emit(response);\n this.callStatusChange.emit(new CallStatus(this.callLink, CallState.SUCCESS, response, null));\n }, (error) => {\n this.callError.emit(error);\n this.callStatusChange.emit(new CallStatus(this.callLink, CallState.ERROR, null, error));\n }, () => {\n this.callFinish.emit();\n });\n this.callStatusChange.emit(new CallStatus(this.callLink, CallState.CALLING, null, null));\n }\n}\n\nexport class CallStatus {\n constructor(\n public link: CallableLink<MicroObject | MicroObject[]>,\n public state: CallState,\n public response: MicroObject | MicroObject[],\n public error: MicroError\n ) {\n }\n}\n\nexport enum CallState {\n CALLING,\n SUCCESS,\n ERROR\n}\n","import {Directive, forwardRef, Input} from '@angular/core';\nimport {\n AbstractControl,\n FormGroup,\n NG_ASYNC_VALIDATORS,\n ValidationErrors,\n Validator\n} from '@angular/forms';\nimport {Observable, timer} from 'rxjs';\nimport {map, switchMap} from 'rxjs/operators';\nimport {CallableLink} from '../links/callablelink';\n\n@Directive({\n selector: '[microLinkValidate]',\n providers: [\n {\n provide: NG_ASYNC_VALIDATORS,\n useExisting: forwardRef(() => MicroLinkValidateDirective),\n multi: true\n }\n ],\n exportAs: 'microValidator'\n})\nexport class MicroLinkValidateDirective implements Validator {\n\n private UNSET = \"\"\n\n @Input()\n microLinkValidate: CallableLink<any>\n\n @Input()\n microLinkValidateField: string = null\n\n @Input()\n microLinkValidateValue: any = this.UNSET\n\n @Input()\n microLinkValidateDebounce = 500;\n\n public result:any;\n\n\n validate(control: AbstractControl): Observable<ValidationErrors | null> {\n return timer(this.microLinkValidateDebounce).pipe(\n switchMap(() => {\n let validateValue = this.microLinkValidateValue\n if (validateValue === this.UNSET) {\n validateValue = control.value\n }\n\n let obj = {}\n if (this.microLinkValidateField) {\n obj[this.microLinkValidateField] = validateValue\n } else {\n obj = validateValue\n }\n\n return this.microLinkValidate.callWithObs(obj, null).pipe(\n map(validationRes => {\n let hasErrors = false\n if (this.microLinkValidateField) {\n if (validationRes[this.microLinkValidateField] != null) {\n hasErrors = true\n }\n } else {\n for (let key in validationRes) {\n if (validationRes[key] != null) {\n hasErrors = true\n }\n }\n }\n if (hasErrors) {\n this.result = validationRes\n return {\n validateMicroLink: this.result\n }\n\n } else {\n this.result = null\n return null\n }\n })\n )\n })\n )\n }\n\n getControlName(control: AbstractControl) {\n let controlName = null;\n let parent = control.parent;\n\n // only such parent, which is FormGroup, has a dictionary\n // with control-names as a key and a form-control as a value\n if (parent instanceof FormGroup) {\n // now we will iterate those keys (i.e. names of controls)\n Object.keys(parent.controls).forEach((name) => {\n // and compare the passed control and\n // a child control of a parent - with provided name (we iterate them all)\n if (control === parent.controls[name]) {\n // both are same: control passed to Validator\n // and this child - are the same references\n controlName = name;\n }\n });\n }\n // we either found a name or simply return null\n return controlName;\n }\n\n}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport {MicroClientLoadingIndicatorComponent} from './components/loadingindicator.component';\nimport {LinkFieldPipe} from './pipes/linkfield.pipe';\nimport {LinkFieldDirective} from './directives/linkfield.directive';\nimport {MicroClient} from './microclient.service';\nimport {HttpClientModule} from '@angular/common/http';\nimport {CallLinkDirective} from './directives/call-link.directive';\nimport {MicroClientErrorIndicatorComponent} from './components/errorindicator.component';\nimport {MicroLinkValidateDirective} from './directives/micro-link-validate.directive';\n\n@NgModule({\n entryComponents: [\n MicroClientLoadingIndicatorComponent,\n MicroClientErrorIndicatorComponent\n ],\n imports: [\n HttpClientModule\n ],\n declarations: [\n LinkFieldPipe,\n LinkFieldDirective,\n CallLinkDirective,\n MicroClientLoadingIndicatorComponent,\n MicroClientErrorIndicatorComponent,\n MicroLinkValidateDirective\n ],\n exports: [\n LinkFieldPipe,\n LinkFieldDirective,\n CallLinkDirective,\n MicroClientErrorIndicatorComponent,\n MicroClientLoadingIndicatorComponent,\n MicroLinkValidateDirective\n ]\n})\nexport class MicroClientModule {\n static forClientRoot(): ModuleWithProviders<MicroClientModule> {\n return {\n ngModule: MicroClientModule,\n providers: [\n MicroClient\n ]\n };\n }\n}\n","import {ChangeDetectorRef} from '@angular/core';\nimport {Observable, Subscription} from 'rxjs';\nimport {LinkField} from './links/linkfield';\nimport {MicroObject} from './microobject';\n\nexport class LinkFieldPagingSupport {\n\n constructor(\n private pageLink: LinkField<MicroObject[]>,\n private changeDetectorRef: ChangeDetectorRef,\n public pageLimit: number = 200\n ) {\n }\n\n private sorts: SortInfo[] = null;\n\n public isLoading = false;\n private loadedCompletely = false;\n private hasLoaded = false;\n private _rows: any[] = null;\n private loadingSubscription: Subscription = null;\n\n public rowsChangeCallback: (rows: any[]) => void;\n public isLoadingCallback: (isLoading: boolean) => void;\n\n get rows(): any[] {\n if (!this.hasLoaded) {\n this.loadNextPage();\n }\n return this._rows;\n }\n\n public static from(\n pageLink: LinkField<MicroObject[]>,\n changeDetectorRef: ChangeDetectorRef,\n pageLimit: number = 200\n ): LinkFieldPagingSupport {\n return new LinkFieldPagingSupport(pageLink, changeDetectorRef, pageLimit);\n }\n\n public applySort(sorts: SortInfo[], externalSorting = true) {\n this.hasLoaded = false;\n this.sorts = null;\n this._rows = null;\n\n if (externalSorting) {\n this.sorts = sorts;\n this.loadNextPage();\n } else {\n if (!this.loadedCompletely) {\n this.loadNextPage(null);\n } else {\n this.changeDetectorRef.detectChanges();\n }\n }\n\n }\n\n private loadingCallback = () => {\n this.setLoading(false);\n };\n\n public loadNextPage(pageSize: number = this.pageLimit, resultCallback: ((page: any[], all: any[]) => void) = null) {\n if (this.pageLink && !this.isLoading) {\n if (this.loadingSubscription) {\n this.loadingSubscription.unsubscribe();\n this.loadingSubscription = null;\n }\n\n this.hasLoaded = true;\n this.loadedCompletely = false;\n if (this._rows == null) {\n this.setLoading(true);\n\n const reqOptions: any = {};\n if (this.sorts != null) {\n reqOptions.sorting = this.sorts;\n }\n if (pageSize != null) {\n reqOptions.pageSize = pageSize;\n }\n\n\n this.loadingSubscription = this.pageLink.initWithObs(null, reqOptions).subscribe((firstPage) => {\n this.setRows(firstPage, resultCallback);\n }, this.loadingCallback, this.loadingCallback);\n } else {\n const lastRow = this.lastRow();\n if (lastRow) {\n if (lastRow.__meta.nextPage) {\n let reqOptions = null;\n if (pageSize != null) {\n reqOptions = {\n pageSize: pageSize\n };\n }\n\n const nextPageObs: Observable<MicroObject[]> = lastRow.__meta.nextPage.initWithObs(null, reqOptions);\n if (nextPageObs) {\n this.setLoading(true);\n this.loadingSubscription = nextPageObs.subscribe((nextPage) => {\n this.setRows(nextPage, resultCallback);\n }, this.loadingCallback, this.loadingCallback);\n }\n }\n }\n }\n } else if (!this.pageLink) {\n this.clearRows();\n }\n }\n\n public loadEverything() {\n this.loadNextPage(null);\n }\n\n private lastRow(): MicroObject {\n return this._rows[this._rows.length - 1];\n }\n\n private setRows(additionalPage: any[], loadCallback: ((page: any[], all: any[]) => void)) {\n if (this._rows) {\n this._rows = [...this.rows, ...additionalPage];\n } else {\n this._rows = additionalPage;\n }\n if (loadCallback) {\n loadCallback(additionalPage, this._rows);\n }\n this.reflectChanges();\n }\n\n private clearRows() {\n if (this._rows != null) {\n this._rows = null;\n this.reflectChanges();\n }\n }\n\n private reflectChanges() {\n const lastRow = this.lastRow();\n if (lastRow && lastRow.__meta) {\n this.loadedCompletely = lastRow.__meta.nextPage == null;\n } else {\n this.loadedCompletely = false;\n }\n\n if (this.rowsChangeCallback) {\n this.rowsChangeCallback(this._rows);\n }\n this.changeDetectorRef.detectChanges();\n }\n\n private setLoading(isLoading: boolean) {\n this.isLoading = isLoading;\n if (this.isLoadingCallback) {\n this.isLoadingCallback(this.isLoading);\n }\n this.changeDetectorRef.detectChanges();\n }\n\n public dispose() {\n this.rowsChangeCallback = null;\n this.isLoadingCallback = null;\n }\n\n public setPageLink(pageLink: LinkField<MicroObject[]>) {\n this.clearState();\n this.pageLink = pageLink;\n this.loadNextPage();\n }\n\n public hasLoadedCompletely(): boolean {\n return this.loadedCompletely;\n }\n\n public init(rowsChangeCallback: (rows: any[]) => void, isLoadingCallback: ((isLoading: boolean) => void) = null) {\n this.rowsChangeCallback = rowsChangeCallback;\n this.isLoadingCallback = isLoadingCallback;\n }\n\n private clearState() {\n this.isLoading = false;\n this.loadedCompletely = false;\n this.hasLoaded = false;\n this._rows = null;\n if (this.loadingSubscription) {\n this.loadingSubscription.unsubscribe();\n this.loadingSubscription = null;\n }\n }\n}\n\nexport class SortInfo {\n constructor(public field: string, public dir: string) {\n this.dir = dir.toUpperCase();\n if (!(this.dir === 'ASC' || this.dir === 'DESC')) {\n throw Error('dir can only be \\'ASC\\' or \\'DESC\\'');\n }\n }\n}\n","import {LinkField} from './linkfield';\nimport {Observable, of} from 'rxjs';\nimport {delay} from 'rxjs/operators';\n\nexport class MockLinkField<T extends (object | object[])> extends LinkField<T> {\n constructor(private valueToLoad: any, private delay: number) {\n super(null, null);\n }\n\n callWithObs(params: object = null, requestOptions: object = null): Observable<T> {\n return of(this.valueToLoad).pipe(\n delay(this.delay)\n );\n }\n}"],"names":["tslib_1.__values","tslib_1.__extends","ReplaySubject","defer","take","map","_.cloneDeepWith","HttpHeaders","catchError","throwError","finalize","Injectable","HttpClient","Component","AsyncPipe","Pipe","ChangeDetectorRef","Input","Directive","ViewContainerRef","TemplateRef","ComponentFactoryResolver","EventEmitter","Output","HostListener","timer","switchMap","FormGroup","NG_ASYNC_VALIDATORS","forwardRef","NgModule","HttpClientModule","of","delay"],"mappings":"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"}
|