@beinformed/ui 1.26.0 → 1.27.0-beta.0
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/CHANGELOG.md +19 -0
- package/esm/constants/Constants.js +9 -35
- package/esm/constants/Constants.js.map +1 -1
- package/esm/constants/Settings.js +47 -1
- package/esm/constants/Settings.js.map +1 -1
- package/esm/hooks/useAuthentication.js +7 -6
- package/esm/hooks/useAuthentication.js.map +1 -1
- package/esm/models/application/ApplicationModel.js +2 -3
- package/esm/models/application/ApplicationModel.js.map +1 -1
- package/esm/models/attributes/UploadAttributeModel.js +15 -3
- package/esm/models/attributes/UploadAttributeModel.js.map +1 -1
- package/esm/models/error/ErrorModel.js +11 -0
- package/esm/models/error/ErrorModel.js.map +1 -1
- package/esm/models/href/Href.js +4 -4
- package/esm/models/href/Href.js.map +1 -1
- package/esm/modularui/Authenticate.js +6 -6
- package/esm/modularui/Authenticate.js.map +1 -1
- package/esm/modularui/CaptchaRequest.js +46 -0
- package/esm/modularui/CaptchaRequest.js.map +1 -0
- package/esm/modularui/ModularUIRequest.js +17 -6
- package/esm/modularui/ModularUIRequest.js.map +1 -1
- package/esm/modularui/UploadRequest.js +104 -0
- package/esm/modularui/UploadRequest.js.map +1 -0
- package/esm/modularui/index.js +2 -0
- package/esm/modularui/index.js.map +1 -1
- package/esm/react-client/client.js +2 -2
- package/esm/react-client/client.js.map +1 -1
- package/esm/react-server/contextPath.js +2 -2
- package/esm/react-server/contextPath.js.map +1 -1
- package/esm/react-server/renderSSRComplete.js +5 -4
- package/esm/react-server/renderSSRComplete.js.map +1 -1
- package/esm/react-server/renderSSRMinimal.js +2 -2
- package/esm/react-server/renderSSRMinimal.js.map +1 -1
- package/esm/redux/_modularui/ModularUIMiddleware.js.map +1 -1
- package/esm/redux/_modularui/types.js.map +1 -1
- package/esm/utils/browser/Cookies.js +6 -7
- package/esm/utils/browser/Cookies.js.map +1 -1
- package/esm/utils/fetch/serverFetch.js +2 -2
- package/esm/utils/fetch/serverFetch.js.map +1 -1
- package/esm/utils/fetch/types.js.map +1 -1
- package/esm/utils/fetch/universalFetch.js +4 -3
- package/esm/utils/fetch/universalFetch.js.map +1 -1
- package/esm/utils/fetch/xhr.js.map +1 -1
- package/esm/utils/helpers/checkResource.js +0 -3
- package/esm/utils/helpers/checkResource.js.map +1 -1
- package/esm/utils/helpers/index.js +8 -0
- package/esm/utils/helpers/index.js.map +1 -0
- package/esm/utils/helpers/repositoryResource.js +18 -0
- package/esm/utils/helpers/repositoryResource.js.map +1 -0
- package/esm/utils/index.js +1 -6
- package/esm/utils/index.js.map +1 -1
- package/lib/constants/Constants.js +13 -42
- package/lib/constants/Constants.js.flow +9 -41
- package/lib/constants/Constants.js.map +1 -1
- package/lib/constants/Settings.js +53 -1
- package/lib/constants/Settings.js.flow +60 -0
- package/lib/constants/Settings.js.map +1 -1
- package/lib/hooks/useAuthentication.js +6 -5
- package/lib/hooks/useAuthentication.js.flow +9 -8
- package/lib/hooks/useAuthentication.js.map +1 -1
- package/lib/models/application/ApplicationModel.js +1 -1
- package/lib/models/application/ApplicationModel.js.flow +3 -2
- package/lib/models/application/ApplicationModel.js.map +1 -1
- package/lib/models/attributes/UploadAttributeModel.js +15 -3
- package/lib/models/attributes/UploadAttributeModel.js.flow +21 -0
- package/lib/models/attributes/UploadAttributeModel.js.map +1 -1
- package/lib/models/error/ErrorModel.js +11 -0
- package/lib/models/error/ErrorModel.js.flow +12 -1
- package/lib/models/error/ErrorModel.js.map +1 -1
- package/lib/models/href/Href.js +6 -6
- package/lib/models/href/Href.js.flow +4 -4
- package/lib/models/href/Href.js.map +1 -1
- package/lib/models/href/__tests__/Href.spec.js.flow +2 -3
- package/lib/modularui/Authenticate.js +4 -4
- package/lib/modularui/Authenticate.js.flow +6 -5
- package/lib/modularui/Authenticate.js.map +1 -1
- package/lib/modularui/CaptchaRequest.js +54 -0
- package/lib/modularui/CaptchaRequest.js.flow +45 -0
- package/lib/modularui/CaptchaRequest.js.map +1 -0
- package/lib/modularui/ModularUIRequest.js +15 -4
- package/lib/modularui/ModularUIRequest.js.flow +10 -10
- package/lib/modularui/ModularUIRequest.js.map +1 -1
- package/lib/modularui/UploadRequest.js +112 -0
- package/lib/modularui/UploadRequest.js.flow +125 -0
- package/lib/modularui/UploadRequest.js.map +1 -0
- package/lib/modularui/index.js +14 -0
- package/lib/modularui/index.js.flow +2 -0
- package/lib/modularui/index.js.map +1 -1
- package/lib/react-client/client.js +2 -2
- package/lib/react-client/client.js.flow +2 -2
- package/lib/react-client/client.js.map +1 -1
- package/lib/react-server/contextPath.js +2 -2
- package/lib/react-server/contextPath.js.flow +2 -2
- package/lib/react-server/contextPath.js.map +1 -1
- package/lib/react-server/renderSSRComplete.js +5 -4
- package/lib/react-server/renderSSRComplete.js.flow +6 -4
- package/lib/react-server/renderSSRComplete.js.map +1 -1
- package/lib/react-server/renderSSRMinimal.js +2 -2
- package/lib/react-server/renderSSRMinimal.js.flow +2 -2
- package/lib/react-server/renderSSRMinimal.js.map +1 -1
- package/lib/redux/_modularui/ModularUIMiddleware.js.flow +1 -1
- package/lib/redux/_modularui/ModularUIMiddleware.js.map +1 -1
- package/lib/redux/_modularui/types.js.flow +1 -1
- package/lib/redux/_modularui/types.js.map +1 -1
- package/lib/utils/browser/Cookies.js +3 -3
- package/lib/utils/browser/Cookies.js.flow +10 -8
- package/lib/utils/browser/Cookies.js.map +1 -1
- package/lib/utils/fetch/serverFetch.js +2 -2
- package/lib/utils/fetch/serverFetch.js.flow +2 -2
- package/lib/utils/fetch/serverFetch.js.map +1 -1
- package/lib/utils/fetch/types.js.flow +1 -1
- package/lib/utils/fetch/types.js.map +1 -1
- package/lib/utils/fetch/universalFetch.js +3 -2
- package/lib/utils/fetch/universalFetch.js.flow +5 -3
- package/lib/utils/fetch/universalFetch.js.map +1 -1
- package/lib/utils/fetch/xhr.js.flow +1 -1
- package/lib/utils/fetch/xhr.js.map +1 -1
- package/lib/utils/helpers/checkResource.js +0 -3
- package/lib/utils/helpers/checkResource.js.flow +0 -2
- package/lib/utils/helpers/checkResource.js.map +1 -1
- package/lib/utils/helpers/index.js +90 -0
- package/lib/utils/helpers/index.js.flow +8 -0
- package/lib/utils/helpers/index.js.map +1 -0
- package/lib/utils/helpers/repositoryResource.js +25 -0
- package/lib/utils/helpers/repositoryResource.js.flow +20 -0
- package/lib/utils/helpers/repositoryResource.js.map +1 -0
- package/lib/utils/index.js +4 -60
- package/lib/utils/index.js.flow +1 -6
- package/lib/utils/index.js.map +1 -1
- package/package.json +1 -1
- package/src/constants/Constants.js +9 -41
- package/src/constants/Settings.js +60 -0
- package/src/hooks/useAuthentication.js +9 -8
- package/src/models/application/ApplicationModel.js +3 -2
- package/src/models/attributes/UploadAttributeModel.js +21 -0
- package/src/models/error/ErrorModel.js +12 -1
- package/src/models/href/Href.js +4 -4
- package/src/models/href/__tests__/Href.spec.js +2 -3
- package/src/modularui/Authenticate.js +6 -5
- package/src/modularui/CaptchaRequest.js +45 -0
- package/src/modularui/ModularUIRequest.js +10 -10
- package/src/modularui/UploadRequest.js +125 -0
- package/src/modularui/index.js +2 -0
- package/src/react-client/client.js +2 -2
- package/src/react-server/contextPath.js +2 -2
- package/src/react-server/renderSSRComplete.js +6 -4
- package/src/react-server/renderSSRMinimal.js +2 -2
- package/src/redux/_modularui/ModularUIMiddleware.js +1 -1
- package/src/redux/_modularui/types.js +1 -1
- package/src/utils/browser/Cookies.js +10 -8
- package/src/utils/fetch/serverFetch.js +2 -2
- package/src/utils/fetch/types.js +1 -1
- package/src/utils/fetch/universalFetch.js +5 -3
- package/src/utils/fetch/xhr.js +1 -1
- package/src/utils/helpers/checkResource.js +0 -2
- package/src/utils/helpers/index.js +8 -0
- package/src/utils/helpers/repositoryResource.js +20 -0
- package/src/utils/index.js +1 -6
- package/types/constants/Constants.d.ts +8 -24
- package/types/constants/Settings.d.ts +12 -0
- package/types/models/attributes/UploadAttributeModel.d.ts +6 -0
- package/types/models/error/ErrorModel.d.ts +5 -0
- package/types/models/href/Href.d.ts +1 -1
- package/types/modularui/CaptchaRequest.d.ts +17 -0
- package/types/modularui/ModularUIRequest.d.ts +4 -6
- package/types/modularui/UploadRequest.d.ts +29 -0
- package/types/modularui/index.d.ts +2 -0
- package/types/redux/_modularui/types.d.ts +1 -3
- package/types/utils/browser/Cookies.d.ts +0 -6
- package/types/utils/fetch/types.d.ts +1 -3
- package/types/utils/helpers/index.d.ts +7 -0
- package/types/utils/helpers/repositoryResource.d.ts +1 -0
- package/types/utils/index.d.ts +1 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xhr.js","names":["has","isPlainObject","IllegalArgumentException","UnauthorizedException","FetchException","TimeoutException","NotFoundException","JsonParseException","NetworkException","Cache","HTTP_METHODS","getSetting","NETWORK_ERROR_CODE","SUCCESS_CODE","CLIENT_ERROR_CODE","UNAUTHORIZED_CODE","REDIRECTION_CODE","NOT_FOUND_CODE","JSON_TYPE","XHR","constructor","options","_options","_attempts","xmlhttp","_xmlhttp","attempts","url","params","aUrl","split","data","method","GET","timeout","responseType","onProgress","events","headers","baseHeaders","Accept","timeoutHandler","reject","errorHandler","responseJSON","status","isReload","getResponse","response","getResponseHeader","JSON","parse","error","responseHandler","resolve","setEventListeners","forEach","eventType","addEventListener","eventName","openConnection","open","setBasicAuthentication","hasItem","withCredentials","basicToken","getItem","setRequestHeader","headerName","setCustomHeaders","setOtherOptions","sendData","send","stringData","setXMLHttpRequest","XMLHttpRequest","fetch","err","validateInputArguments","args","toString","xhr"],"sources":["../../../src/utils/fetch/xhr.js"],"sourcesContent":["// @flow\nimport { has, isPlainObject } from \"../helpers/objects\";\n\nimport {\n IllegalArgumentException,\n UnauthorizedException,\n FetchException,\n TimeoutException,\n NotFoundException,\n JsonParseException,\n NetworkException,\n} from \"../../exceptions\";\n\nimport Cache from \"../browser/Cache\";\n\nimport { HTTP_METHODS } from \"../../constants/Constants\";\n\nimport { getSetting } from \"../../constants/Settings\";\n\nimport type { RequestOptions } from \"./types\";\n\nconst NETWORK_ERROR_CODE = 0;\nconst SUCCESS_CODE = 200;\nconst CLIENT_ERROR_CODE = 400;\nconst UNAUTHORIZED_CODE = 401;\nconst REDIRECTION_CODE = 300;\nconst NOT_FOUND_CODE = 404;\n\nconst JSON_TYPE = \"application/json\";\n\n/**\n * @private\n */\nclass XHR {\n _options: RequestOptions;\n _xmlhttp: XMLHttpRequest;\n _attempts: number;\n\n /**\n */\n constructor(options: RequestOptions) {\n this._options = options;\n this._attempts = 0;\n }\n\n /**\n */\n get xmlhttp(): XMLHttpRequest {\n return this._xmlhttp;\n }\n\n /**\n */\n set xmlhttp(xmlhttp: XMLHttpRequest) {\n this._xmlhttp = xmlhttp;\n }\n\n /**\n */\n get options(): RequestOptions {\n return this._options;\n }\n\n /**\n */\n set options(options: RequestOptions) {\n this._options = options;\n }\n\n /**\n */\n get attempts(): number {\n return this._attempts;\n }\n\n /**\n */\n set attempts(attempts: number) {\n this._attempts = attempts;\n }\n\n /**\n * Create and fix url when params or both querystring and params exist.\n */\n get url(): string {\n const { url } = this.options;\n if (this.params !== \"\") {\n if (url.includes(\"?\")) {\n const aUrl = url.split(\"?\");\n\n return `${aUrl[0]}?${aUrl[1]}&${this.params}`;\n }\n\n return `${url}?${this.params}`;\n }\n\n return url;\n }\n\n /**\n */\n get params(): string {\n return this.options.params || \"\";\n }\n\n /**\n */\n get data(): string | { [key: string]: string } | null {\n return this.options.data || null;\n }\n\n /**\n */\n get method(): $Keys<typeof HTTP_METHODS> {\n return this.options.method || HTTP_METHODS.GET;\n }\n\n /**\n */\n get timeout(): number {\n return this.options.timeout || getSetting(\"XHR_TIMEOUT_MS\", 300000);\n }\n\n /**\n */\n get responseType(): string {\n return this.options.responseType || \"json\";\n }\n\n /**\n */\n get onProgress(): ProgressEventHandler {\n if (this.options.onProgress) {\n return this.options.onProgress;\n }\n\n return () => {\n // do nothing\n };\n }\n\n /**\n */\n get events(): { [eventName: string]: () => void } {\n return this.options.events || {};\n }\n\n /**\n */\n get headers(): { [string]: string } {\n const baseHeaders = {\n Accept: JSON_TYPE,\n \"Content-Type\": JSON_TYPE,\n\n // needed for csrf, see: https://plaza.beinformed.com/amdoc/csrf-protection-in-modular-ui-services-40054554.html\n \"X-Requested-With\": \"XMLHttpRequest\",\n\n \"Accept-Language\": \"en\",\n };\n\n if (this.options.headers) {\n // $FlowFixMe[cannot-spread-indexer]\n return {\n ...baseHeaders,\n ...this.options.headers,\n };\n }\n\n return baseHeaders;\n }\n\n /**\n */\n timeoutHandler(reject: Function): any {\n return reject(new TimeoutException(this.url, this.method));\n }\n\n /**\n */\n errorHandler(reject: Function, responseJSON: any = null): any {\n const { status } = this.xmlhttp;\n const { isReload } = this.options;\n\n if (status === NETWORK_ERROR_CODE) {\n return reject(new NetworkException(this.url, this.method));\n }\n\n if (status === NOT_FOUND_CODE) {\n return reject(new NotFoundException(this.url, this.method, isReload));\n }\n\n if (status === UNAUTHORIZED_CODE) {\n return reject(\n new UnauthorizedException(this.url, this.method, responseJSON)\n );\n }\n\n return reject(new FetchException(responseJSON, this.xmlhttp, this.options));\n }\n\n /**\n */\n getResponse(): any {\n const { responseType, response } = this.xmlhttp;\n\n if (\n (responseType === \"\" || responseType === \"text\") &&\n this.getResponseHeader(\"Content-Type\") === JSON_TYPE\n ) {\n if (isPlainObject(response)) {\n return response;\n }\n\n try {\n return JSON.parse(response);\n } catch (error) {\n throw new JsonParseException(error);\n }\n }\n\n return response;\n }\n\n /**\n */\n responseHandler(resolve: Function, reject: Function): any {\n const { status } = this.xmlhttp;\n\n let response = null;\n try {\n response = this.getResponse();\n } catch (error) {\n return reject(error);\n }\n\n if (\n (status >= SUCCESS_CODE && status < REDIRECTION_CODE) ||\n (status === CLIENT_ERROR_CODE && has(response, \"formresponse\"))\n ) {\n return resolve(response);\n }\n\n return this.errorHandler(reject, response);\n }\n\n /**\n */\n setEventListeners(resolve: Function, reject: Function) {\n if (this.options.onProgress) {\n [\"load\", \"loadend\", \"loadstart\", \"progress\"].forEach((eventType) => {\n this.xmlhttp.addEventListener(eventType, this.onProgress);\n });\n }\n\n [\"abort\", \"error\"].forEach((eventType) => {\n this.xmlhttp.addEventListener(eventType, () => this.errorHandler(reject));\n });\n\n this.xmlhttp.addEventListener(\"timeout\", () => this.timeoutHandler(reject));\n\n this.xmlhttp.addEventListener(\"load\", () =>\n this.responseHandler(resolve, reject)\n );\n\n // Set custom events\n Object.keys(this.events).forEach((eventName) => {\n this.xmlhttp.addEventListener(eventName, this.events[eventName]);\n });\n }\n\n /**\n */\n openConnection() {\n this.xmlhttp.open(this.method, this.url, true);\n }\n\n /**\n */\n setBasicAuthentication() {\n if (Cache.hasItem(\"basic\")) {\n this.xmlhttp.withCredentials = true;\n const basicToken = Cache.getItem(\"basic\");\n\n if (typeof basicToken === \"string\") {\n this.xmlhttp.setRequestHeader(\"Authorization\", `Basic ${basicToken}`);\n }\n }\n }\n\n /**\n */\n getResponseHeader(headerName: string): string | null {\n return this.xmlhttp.getResponseHeader(headerName);\n }\n\n /**\n */\n setCustomHeaders() {\n Object.keys(this.headers).forEach((headerName) => {\n this.xmlhttp.setRequestHeader(headerName, this.headers[headerName]);\n });\n }\n\n /**\n */\n setOtherOptions() {\n this.xmlhttp.responseType = this.responseType;\n this.xmlhttp.timeout = this.timeout;\n }\n\n /**\n */\n sendData() {\n if (this.data == null) {\n this.xmlhttp.send();\n } else {\n const stringData = isPlainObject(this.data)\n ? JSON.stringify(this.data)\n : this.data;\n this.xmlhttp.send(stringData);\n }\n }\n\n /**\n */\n setXMLHttpRequest(): Promise<any> {\n return new Promise((resolve, reject) => {\n this.xmlhttp = new XMLHttpRequest();\n\n this.setEventListeners(resolve, reject);\n\n this.openConnection();\n\n this.setBasicAuthentication();\n\n this.setCustomHeaders();\n\n this.setOtherOptions();\n\n this.sendData();\n });\n }\n\n /**\n */\n async fetch(): Promise<any> {\n try {\n return await this.setXMLHttpRequest();\n } catch (err) {\n if (err instanceof NetworkException && this.attempts < 2) {\n this.attempts += 1;\n return this.fetch();\n }\n\n throw err;\n }\n }\n}\n\n/**\n */\nconst validateInputArguments = (args: RequestOptions) => {\n if (args == null) {\n throw new IllegalArgumentException(\n \"Missing request options, expecting an object as argument for xhr\"\n );\n }\n\n if (!isPlainObject(args)) {\n throw new IllegalArgumentException(\n `Expecting an object as argument for xhr, but received: ${args.toString()}`\n );\n }\n\n if (!has(args, \"url\")) {\n throw new IllegalArgumentException(\n `No url property found in arguments of xhr, received: ${JSON.stringify(\n args\n )}`\n );\n }\n\n return true;\n};\n\n/**\n */\nconst xhr = (args: RequestOptions): Promise<any> => {\n validateInputArguments(args);\n\n return new XHR(args).fetch();\n};\n\nexport default xhr;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"xhr.js","names":["has","isPlainObject","IllegalArgumentException","UnauthorizedException","FetchException","TimeoutException","NotFoundException","JsonParseException","NetworkException","Cache","HTTP_METHODS","getSetting","NETWORK_ERROR_CODE","SUCCESS_CODE","CLIENT_ERROR_CODE","UNAUTHORIZED_CODE","REDIRECTION_CODE","NOT_FOUND_CODE","JSON_TYPE","XHR","constructor","options","_options","_attempts","xmlhttp","_xmlhttp","attempts","url","params","aUrl","split","data","method","GET","timeout","responseType","onProgress","events","headers","baseHeaders","Accept","timeoutHandler","reject","errorHandler","responseJSON","status","isReload","getResponse","response","getResponseHeader","JSON","parse","error","responseHandler","resolve","setEventListeners","forEach","eventType","addEventListener","eventName","openConnection","open","setBasicAuthentication","hasItem","withCredentials","basicToken","getItem","setRequestHeader","headerName","setCustomHeaders","setOtherOptions","sendData","send","stringData","setXMLHttpRequest","XMLHttpRequest","fetch","err","validateInputArguments","args","toString","xhr"],"sources":["../../../src/utils/fetch/xhr.js"],"sourcesContent":["// @flow\nimport { has, isPlainObject } from \"../helpers/objects\";\n\nimport {\n IllegalArgumentException,\n UnauthorizedException,\n FetchException,\n TimeoutException,\n NotFoundException,\n JsonParseException,\n NetworkException,\n} from \"../../exceptions\";\n\nimport Cache from \"../browser/Cache\";\n\nimport { HTTP_METHODS } from \"../../constants/Constants\";\n\nimport { getSetting } from \"../../constants/Settings\";\n\nimport type { RequestOptions } from \"./types\";\n\nconst NETWORK_ERROR_CODE = 0;\nconst SUCCESS_CODE = 200;\nconst CLIENT_ERROR_CODE = 400;\nconst UNAUTHORIZED_CODE = 401;\nconst REDIRECTION_CODE = 300;\nconst NOT_FOUND_CODE = 404;\n\nconst JSON_TYPE = \"application/json\";\n\n/**\n * @private\n */\nclass XHR {\n _options: RequestOptions;\n _xmlhttp: XMLHttpRequest;\n _attempts: number;\n\n /**\n */\n constructor(options: RequestOptions) {\n this._options = options;\n this._attempts = 0;\n }\n\n /**\n */\n get xmlhttp(): XMLHttpRequest {\n return this._xmlhttp;\n }\n\n /**\n */\n set xmlhttp(xmlhttp: XMLHttpRequest) {\n this._xmlhttp = xmlhttp;\n }\n\n /**\n */\n get options(): RequestOptions {\n return this._options;\n }\n\n /**\n */\n set options(options: RequestOptions) {\n this._options = options;\n }\n\n /**\n */\n get attempts(): number {\n return this._attempts;\n }\n\n /**\n */\n set attempts(attempts: number) {\n this._attempts = attempts;\n }\n\n /**\n * Create and fix url when params or both querystring and params exist.\n */\n get url(): string {\n const { url } = this.options;\n if (this.params !== \"\") {\n if (url.includes(\"?\")) {\n const aUrl = url.split(\"?\");\n\n return `${aUrl[0]}?${aUrl[1]}&${this.params}`;\n }\n\n return `${url}?${this.params}`;\n }\n\n return url;\n }\n\n /**\n */\n get params(): string {\n return this.options.params || \"\";\n }\n\n /**\n */\n get data(): any | null {\n return this.options.data || null;\n }\n\n /**\n */\n get method(): $Keys<typeof HTTP_METHODS> {\n return this.options.method || HTTP_METHODS.GET;\n }\n\n /**\n */\n get timeout(): number {\n return this.options.timeout || getSetting(\"XHR_TIMEOUT_MS\", 300000);\n }\n\n /**\n */\n get responseType(): string {\n return this.options.responseType || \"json\";\n }\n\n /**\n */\n get onProgress(): ProgressEventHandler {\n if (this.options.onProgress) {\n return this.options.onProgress;\n }\n\n return () => {\n // do nothing\n };\n }\n\n /**\n */\n get events(): { [eventName: string]: () => void } {\n return this.options.events || {};\n }\n\n /**\n */\n get headers(): { [string]: string } {\n const baseHeaders = {\n Accept: JSON_TYPE,\n \"Content-Type\": JSON_TYPE,\n\n // needed for csrf, see: https://plaza.beinformed.com/amdoc/csrf-protection-in-modular-ui-services-40054554.html\n \"X-Requested-With\": \"XMLHttpRequest\",\n\n \"Accept-Language\": \"en\",\n };\n\n if (this.options.headers) {\n // $FlowFixMe[cannot-spread-indexer]\n return {\n ...baseHeaders,\n ...this.options.headers,\n };\n }\n\n return baseHeaders;\n }\n\n /**\n */\n timeoutHandler(reject: Function): any {\n return reject(new TimeoutException(this.url, this.method));\n }\n\n /**\n */\n errorHandler(reject: Function, responseJSON: any = null): any {\n const { status } = this.xmlhttp;\n const { isReload } = this.options;\n\n if (status === NETWORK_ERROR_CODE) {\n return reject(new NetworkException(this.url, this.method));\n }\n\n if (status === NOT_FOUND_CODE) {\n return reject(new NotFoundException(this.url, this.method, isReload));\n }\n\n if (status === UNAUTHORIZED_CODE) {\n return reject(\n new UnauthorizedException(this.url, this.method, responseJSON)\n );\n }\n\n return reject(new FetchException(responseJSON, this.xmlhttp, this.options));\n }\n\n /**\n */\n getResponse(): any {\n const { responseType, response } = this.xmlhttp;\n\n if (\n (responseType === \"\" || responseType === \"text\") &&\n this.getResponseHeader(\"Content-Type\") === JSON_TYPE\n ) {\n if (isPlainObject(response)) {\n return response;\n }\n\n try {\n return JSON.parse(response);\n } catch (error) {\n throw new JsonParseException(error);\n }\n }\n\n return response;\n }\n\n /**\n */\n responseHandler(resolve: Function, reject: Function): any {\n const { status } = this.xmlhttp;\n\n let response = null;\n try {\n response = this.getResponse();\n } catch (error) {\n return reject(error);\n }\n\n if (\n (status >= SUCCESS_CODE && status < REDIRECTION_CODE) ||\n (status === CLIENT_ERROR_CODE && has(response, \"formresponse\"))\n ) {\n return resolve(response);\n }\n\n return this.errorHandler(reject, response);\n }\n\n /**\n */\n setEventListeners(resolve: Function, reject: Function) {\n if (this.options.onProgress) {\n [\"load\", \"loadend\", \"loadstart\", \"progress\"].forEach((eventType) => {\n this.xmlhttp.addEventListener(eventType, this.onProgress);\n });\n }\n\n [\"abort\", \"error\"].forEach((eventType) => {\n this.xmlhttp.addEventListener(eventType, () => this.errorHandler(reject));\n });\n\n this.xmlhttp.addEventListener(\"timeout\", () => this.timeoutHandler(reject));\n\n this.xmlhttp.addEventListener(\"load\", () =>\n this.responseHandler(resolve, reject)\n );\n\n // Set custom events\n Object.keys(this.events).forEach((eventName) => {\n this.xmlhttp.addEventListener(eventName, this.events[eventName]);\n });\n }\n\n /**\n */\n openConnection() {\n this.xmlhttp.open(this.method, this.url, true);\n }\n\n /**\n */\n setBasicAuthentication() {\n if (Cache.hasItem(\"basic\")) {\n this.xmlhttp.withCredentials = true;\n const basicToken = Cache.getItem(\"basic\");\n\n if (typeof basicToken === \"string\") {\n this.xmlhttp.setRequestHeader(\"Authorization\", `Basic ${basicToken}`);\n }\n }\n }\n\n /**\n */\n getResponseHeader(headerName: string): string | null {\n return this.xmlhttp.getResponseHeader(headerName);\n }\n\n /**\n */\n setCustomHeaders() {\n Object.keys(this.headers).forEach((headerName) => {\n this.xmlhttp.setRequestHeader(headerName, this.headers[headerName]);\n });\n }\n\n /**\n */\n setOtherOptions() {\n this.xmlhttp.responseType = this.responseType;\n this.xmlhttp.timeout = this.timeout;\n }\n\n /**\n */\n sendData() {\n if (this.data == null) {\n this.xmlhttp.send();\n } else {\n const stringData = isPlainObject(this.data)\n ? JSON.stringify(this.data)\n : this.data;\n this.xmlhttp.send(stringData);\n }\n }\n\n /**\n */\n setXMLHttpRequest(): Promise<any> {\n return new Promise((resolve, reject) => {\n this.xmlhttp = new XMLHttpRequest();\n\n this.setEventListeners(resolve, reject);\n\n this.openConnection();\n\n this.setBasicAuthentication();\n\n this.setCustomHeaders();\n\n this.setOtherOptions();\n\n this.sendData();\n });\n }\n\n /**\n */\n async fetch(): Promise<any> {\n try {\n return await this.setXMLHttpRequest();\n } catch (err) {\n if (err instanceof NetworkException && this.attempts < 2) {\n this.attempts += 1;\n return this.fetch();\n }\n\n throw err;\n }\n }\n}\n\n/**\n */\nconst validateInputArguments = (args: RequestOptions) => {\n if (args == null) {\n throw new IllegalArgumentException(\n \"Missing request options, expecting an object as argument for xhr\"\n );\n }\n\n if (!isPlainObject(args)) {\n throw new IllegalArgumentException(\n `Expecting an object as argument for xhr, but received: ${args.toString()}`\n );\n }\n\n if (!has(args, \"url\")) {\n throw new IllegalArgumentException(\n `No url property found in arguments of xhr, received: ${JSON.stringify(\n args\n )}`\n );\n }\n\n return true;\n};\n\n/**\n */\nconst xhr = (args: RequestOptions): Promise<any> => {\n validateInputArguments(args);\n\n return new XHR(args).fetch();\n};\n\nexport default xhr;\n"],"mappings":"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"}
|
|
@@ -10,9 +10,6 @@ import Href from "../../models/href/Href";
|
|
|
10
10
|
*/
|
|
11
11
|
export const resourceExists = url => {
|
|
12
12
|
const fullUrl = new Href(url).absolutehref;
|
|
13
|
-
|
|
14
|
-
// const fullUrl = `${BASE}/${url}`.replace(/\/\//g, "/");
|
|
15
|
-
|
|
16
13
|
const xhr = new XMLHttpRequest();
|
|
17
14
|
xhr.open("HEAD", fullUrl, false);
|
|
18
15
|
xhr.setRequestHeader("Accept", "application/json");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkResource.js","names":["Href","resourceExists","url","fullUrl","absolutehref","xhr","XMLHttpRequest","open","setRequestHeader","send","status","resourceRedirectsToSecureLogin","responseURL"],"sources":["../../../src/utils/helpers/checkResource.js"],"sourcesContent":["// @flow\nimport Href from \"../../models/href/Href\";\n\n/**\n * Checks if a given url to a modular ui resource exists using a HEAD request to the resource (synchronous)\n * When the resource returns a 404, the resource does not exists and the method returns false\n *\n * @param url\n * @returns {boolean}\n */\nexport const resourceExists = (url: string | Href): boolean => {\n const fullUrl = new Href(url).absolutehref;\n\n
|
|
1
|
+
{"version":3,"file":"checkResource.js","names":["Href","resourceExists","url","fullUrl","absolutehref","xhr","XMLHttpRequest","open","setRequestHeader","send","status","resourceRedirectsToSecureLogin","responseURL"],"sources":["../../../src/utils/helpers/checkResource.js"],"sourcesContent":["// @flow\nimport Href from \"../../models/href/Href\";\n\n/**\n * Checks if a given url to a modular ui resource exists using a HEAD request to the resource (synchronous)\n * When the resource returns a 404, the resource does not exists and the method returns false\n *\n * @param url\n * @returns {boolean}\n */\nexport const resourceExists = (url: string | Href): boolean => {\n const fullUrl = new Href(url).absolutehref;\n\n const xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", fullUrl, false);\n xhr.setRequestHeader(\"Accept\", \"application/json\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n\n xhr.send();\n\n return xhr.status !== 404;\n};\n\n/**\n * Indicates if a request to the given url resuls in a redirect to /secureRedirect\n * @param url\n * @returns {boolean}\n */\nexport const resourceRedirectsToSecureLogin = (url: string | Href): boolean => {\n const fullUrl = new Href(url).absolutehref;\n\n const xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", fullUrl, false);\n xhr.setRequestHeader(\"Accept\", \"application/json\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n xhr.send();\n\n const responseURL = xhr.responseURL ?? \"\";\n\n return xhr.status === 400 && responseURL.endsWith(\"/secureLogin\");\n};\n"],"mappings":";AACA,OAAOA,IAAI,MAAM,wBAAwB;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,cAAc,GAAIC,GAAkB,IAAc;EAC7D,MAAMC,OAAO,GAAG,IAAIH,IAAI,CAACE,GAAG,CAAC,CAACE,YAAY;EAE1C,MAAMC,GAAG,GAAG,IAAIC,cAAc,EAAE;EAChCD,GAAG,CAACE,IAAI,CAAC,MAAM,EAAEJ,OAAO,EAAE,KAAK,CAAC;EAChCE,GAAG,CAACG,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,CAAC;EAClDH,GAAG,CAACG,gBAAgB,CAAC,cAAc,EAAE,kBAAkB,CAAC;EACxDH,GAAG,CAACG,gBAAgB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;EAE1DH,GAAG,CAACI,IAAI,EAAE;EAEV,OAAOJ,GAAG,CAACK,MAAM,KAAK,GAAG;AAC3B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,8BAA8B,GAAIT,GAAkB,IAAc;EAC7E,MAAMC,OAAO,GAAG,IAAIH,IAAI,CAACE,GAAG,CAAC,CAACE,YAAY;EAE1C,MAAMC,GAAG,GAAG,IAAIC,cAAc,EAAE;EAChCD,GAAG,CAACE,IAAI,CAAC,MAAM,EAAEJ,OAAO,EAAE,KAAK,CAAC;EAChCE,GAAG,CAACG,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,CAAC;EAClDH,GAAG,CAACG,gBAAgB,CAAC,cAAc,EAAE,kBAAkB,CAAC;EACxDH,GAAG,CAACG,gBAAgB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;EAC1DH,GAAG,CAACI,IAAI,EAAE;EAEV,MAAMG,WAAW,GAAGP,GAAG,CAACO,WAAW,IAAI,EAAE;EAEzC,OAAOP,GAAG,CAACK,MAAM,KAAK,GAAG,IAAI,0BAAAE,WAAW,OAAXA,WAAW,EAAU,cAAc,CAAC;AACnE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from "./createHash";
|
|
2
|
+
export { default as createUUID } from "./createUUID";
|
|
3
|
+
export * from "./sanitizeHtml";
|
|
4
|
+
export * from "./objects";
|
|
5
|
+
export * from "./text";
|
|
6
|
+
export * from "./checkResource";
|
|
7
|
+
export * from "./repositoryResource";
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","createUUID"],"sources":["../../../src/utils/helpers/index.js"],"sourcesContent":["// @flow\nexport * from \"./createHash\";\nexport { default as createUUID } from \"./createUUID\";\nexport * from \"./sanitizeHtml\";\nexport * from \"./objects\";\nexport * from \"./text\";\nexport * from \"./checkResource\";\nexport * from \"./repositoryResource\";\n"],"mappings":"AACA,cAAc,cAAc;AAC5B,SAASA,OAAO,IAAIC,UAAU,QAAQ,cAAc;AACpD,cAAc,gBAAgB;AAC9B,cAAc,WAAW;AACzB,cAAc,QAAQ;AACtB,cAAc,iBAAiB;AAC/B,cAAc,sBAAsB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import _startsWithInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/starts-with";
|
|
2
|
+
import { getBasePath, RESOURCE_PATH } from "../../constants";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Creates an url to a resource in the Be Informed repository
|
|
6
|
+
* Only possible when serving using the UI Servlet of Be Informed
|
|
7
|
+
*/
|
|
8
|
+
export const getRepositoryResourceUrl = resourceUrl => {
|
|
9
|
+
const basePath = getBasePath();
|
|
10
|
+
if (_startsWithInstanceProperty(resourceUrl).call(resourceUrl, basePath)) {
|
|
11
|
+
return resourceUrl;
|
|
12
|
+
}
|
|
13
|
+
if (_startsWithInstanceProperty(resourceUrl).call(resourceUrl, RESOURCE_PATH)) {
|
|
14
|
+
return `${basePath}${resourceUrl}`;
|
|
15
|
+
}
|
|
16
|
+
return `${basePath}${RESOURCE_PATH}${resourceUrl}`;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=repositoryResource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repositoryResource.js","names":["getBasePath","RESOURCE_PATH","getRepositoryResourceUrl","resourceUrl","basePath"],"sources":["../../../src/utils/helpers/repositoryResource.js"],"sourcesContent":["// @flow\nimport { getBasePath, RESOURCE_PATH } from \"../../constants\";\n\n/**\n * Creates an url to a resource in the Be Informed repository\n * Only possible when serving using the UI Servlet of Be Informed\n */\nexport const getRepositoryResourceUrl = (resourceUrl: string): string => {\n const basePath = getBasePath();\n\n if (resourceUrl.startsWith(basePath)) {\n return resourceUrl;\n }\n\n if (resourceUrl.startsWith(RESOURCE_PATH)) {\n return `${basePath}${resourceUrl}`;\n }\n\n return `${basePath}${RESOURCE_PATH}${resourceUrl}`;\n};\n"],"mappings":";AACA,SAASA,WAAW,EAAEC,aAAa,QAAQ,iBAAiB;;AAE5D;AACA;AACA;AACA;AACA,OAAO,MAAMC,wBAAwB,GAAIC,WAAmB,IAAa;EACvE,MAAMC,QAAQ,GAAGJ,WAAW,EAAE;EAE9B,IAAI,4BAAAG,WAAW,OAAXA,WAAW,EAAYC,QAAQ,CAAC,EAAE;IACpC,OAAOD,WAAW;EACpB;EAEA,IAAI,4BAAAA,WAAW,OAAXA,WAAW,EAAYF,aAAa,CAAC,EAAE;IACzC,OAAQ,GAAEG,QAAS,GAAED,WAAY,EAAC;EACpC;EAEA,OAAQ,GAAEC,QAAS,GAAEH,aAAc,GAAEE,WAAY,EAAC;AACpD,CAAC"}
|
package/esm/utils/index.js
CHANGED
|
@@ -10,12 +10,7 @@ export { default as serverFetch } from "./fetch/serverFetch";
|
|
|
10
10
|
export { default as universalFetch } from "./fetch/universalFetch";
|
|
11
11
|
export { default as xhr } from "./fetch/xhr";
|
|
12
12
|
// helpers
|
|
13
|
-
export * from "./helpers
|
|
14
|
-
export { default as createUUID } from "./helpers/createUUID";
|
|
15
|
-
export * from "./helpers/sanitizeHtml";
|
|
16
|
-
export * from "./helpers/objects";
|
|
17
|
-
export * from "./helpers/text";
|
|
18
|
-
export * from "./helpers/checkResource";
|
|
13
|
+
export * from "./helpers";
|
|
19
14
|
|
|
20
15
|
// number
|
|
21
16
|
export { default as DecimalFormat } from "./number/DecimalFormat";
|
package/esm/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default","Cache","serverFetch","universalFetch","xhr","
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","Cache","serverFetch","universalFetch","xhr","DecimalFormat","formatValue"],"sources":["../../src/utils/index.js"],"sourcesContent":["// @flow\n\n// browser\nexport { default as Cache } from \"./browser/Cache\";\nexport * from \"./browser/Cookies\";\n\n// datetime\nexport * from \"./datetime/DateTimeUtil\";\n\n// fetch\nexport { default as serverFetch } from \"./fetch/serverFetch\";\nexport { default as universalFetch } from \"./fetch/universalFetch\";\nexport { default as xhr } from \"./fetch/xhr\";\nexport type * from \"./fetch/types\";\n\n// helpers\nexport * from \"./helpers\";\n\n// number\nexport { default as DecimalFormat } from \"./number/DecimalFormat\";\nexport { default as formatValue } from \"./number/formatValue\";\nexport * from \"./number/parseNumbers\";\n"],"mappings":"AAEA;AACA,SAASA,OAAO,IAAIC,KAAK,QAAQ,iBAAiB;AAClD,cAAc,mBAAmB;;AAEjC;AACA,cAAc,yBAAyB;;AAEvC;AACA,SAASD,OAAO,IAAIE,WAAW,QAAQ,qBAAqB;AAC5D,SAASF,OAAO,IAAIG,cAAc,QAAQ,wBAAwB;AAClE,SAASH,OAAO,IAAII,GAAG,QAAQ,aAAa;AAG5C;AACA,cAAc,WAAW;;AAEzB;AACA,SAASJ,OAAO,IAAIK,aAAa,QAAQ,wBAAwB;AACjE,SAASL,OAAO,IAAIM,WAAW,QAAQ,sBAAsB;AAC7D,cAAc,uBAAuB"}
|
|
@@ -3,58 +3,23 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
/**
|
|
8
|
-
* Indicates if contributions should be cached
|
|
9
|
-
*/
|
|
10
|
-
const USE_CACHE = true;
|
|
11
|
-
exports.USE_CACHE = USE_CACHE;
|
|
12
|
-
const serverBase = typeof __CONTEXT_PATH__ === "undefined" ? null : __CONTEXT_PATH__;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Base path
|
|
16
|
-
* This uses contextPath set from property from server
|
|
17
|
-
* When requesting a remote server with CORS enabled, add the origin, for example:
|
|
18
|
-
* export const BEINFORMED_PATH = 'http://192.168.128.61:8080/BeInformed';
|
|
19
|
-
*/
|
|
20
|
-
const BASE = serverBase ?? (typeof window !== "undefined" && window.contextPath ? window.contextPath : "/BeInformed");
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Path to the contributions api end point
|
|
24
|
-
* /contributions uri part is added through the _links in the data service
|
|
25
|
-
*/
|
|
26
|
-
exports.BASE = BASE;
|
|
27
|
-
const MODULARUI_CONTRIBUTIONS = "/contributions";
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Application uri
|
|
31
|
-
* @private
|
|
32
|
-
*/
|
|
33
|
-
exports.MODULARUI_CONTRIBUTIONS = MODULARUI_CONTRIBUTIONS;
|
|
34
|
-
const APPLICATION_URI = "/";
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Base Path
|
|
38
|
-
*/
|
|
39
|
-
const APPLICATION_PATH = BASE + APPLICATION_URI;
|
|
40
|
-
|
|
6
|
+
exports.VALIDATE_DEBOUNCE_TIMEOUT = exports.USERPROFILE_PATH = exports.UPLOAD_PATH = exports.TIMEVERSION_FILTER_NAME = exports.RESOURCE_PATH = exports.PARAMETER_SEPARATOR = exports.NOTIFICATION_TYPES = exports.MODULARUI_STATUS = exports.LOGOUT_PATH_SETTING = exports.LOGIN_USERNAME_SETTING = exports.LOGIN_TYPE = exports.LOGIN_PATH_SETTING = exports.LOGIN_PASSWORD_SETTING = exports.KEYCODES = exports.IS_SYNC = exports.IS_SERVER = exports.ISO_TIME_FORMAT = exports.ISO_TIMESTAMP_FORMAT = exports.ISO_DATE_FORMAT = exports.ISO_DATETIME_FORMAT = exports.INPUT_DEBOUNCE_TIMEOUT = exports.HTTP_METHODS = exports.DEFAULT_WEEK_STARTS_ON = exports.DEFAULT_UI_PARAMETERS = exports.DEFAULT_FIRST_WEEK_CONTAINS_DATE = exports.DEFAULT_AUTHENTICATION_TYPE = exports.CONTENT_PATH = exports.CHANGEPASSWORD_PATH = exports.CAPTCHA_PATH = exports.AUTOSAVE_STATUS = exports.ATTRIBUTE_WIDTH = exports.ALL_CONTENT_IN_DATA_SETTING = void 0;
|
|
41
7
|
/**
|
|
42
8
|
* path to content service
|
|
43
9
|
*/
|
|
44
|
-
|
|
45
|
-
const CONTENT_PATH = `${BASE}/content`;
|
|
10
|
+
const CONTENT_PATH = `/content`;
|
|
46
11
|
|
|
47
12
|
/**
|
|
48
13
|
* Upload Path
|
|
49
14
|
*/
|
|
50
15
|
exports.CONTENT_PATH = CONTENT_PATH;
|
|
51
|
-
const UPLOAD_PATH =
|
|
16
|
+
const UPLOAD_PATH = `/uploadFile`;
|
|
52
17
|
|
|
53
18
|
/**
|
|
54
19
|
* Captcha Path
|
|
55
20
|
*/
|
|
56
21
|
exports.UPLOAD_PATH = UPLOAD_PATH;
|
|
57
|
-
const CAPTCHA_PATH =
|
|
22
|
+
const CAPTCHA_PATH = `/captchaServices`;
|
|
58
23
|
|
|
59
24
|
/**
|
|
60
25
|
* Path to change password page / component
|
|
@@ -69,9 +34,15 @@ exports.CHANGEPASSWORD_PATH = CHANGEPASSWORD_PATH;
|
|
|
69
34
|
const USERPROFILE_PATH = "/user";
|
|
70
35
|
|
|
71
36
|
/**
|
|
72
|
-
*
|
|
37
|
+
* Path to resources in the Be Informed repository
|
|
73
38
|
*/
|
|
74
39
|
exports.USERPROFILE_PATH = USERPROFILE_PATH;
|
|
40
|
+
const RESOURCE_PATH = "/resource";
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Separator for parameters of a list, makes it possible to render multiple lists on a page in a non-js environment
|
|
44
|
+
*/
|
|
45
|
+
exports.RESOURCE_PATH = RESOURCE_PATH;
|
|
75
46
|
const PARAMETER_SEPARATOR = "~";
|
|
76
47
|
|
|
77
48
|
/**
|
|
@@ -221,10 +192,10 @@ const LOGIN_PASSWORD_SETTING = "FormClient.password_field_name";
|
|
|
221
192
|
exports.LOGIN_PASSWORD_SETTING = LOGIN_PASSWORD_SETTING;
|
|
222
193
|
const LOGOUT_PATH_SETTING = "FormClient.logout_url";
|
|
223
194
|
exports.LOGOUT_PATH_SETTING = LOGOUT_PATH_SETTING;
|
|
224
|
-
const
|
|
195
|
+
const DEFAULT_AUTHENTICATION_TYPE = {
|
|
225
196
|
name: "Form based authentication",
|
|
226
197
|
authentication: "DefaultFormClient",
|
|
227
198
|
isPrimary: true
|
|
228
199
|
};
|
|
229
|
-
exports.
|
|
200
|
+
exports.DEFAULT_AUTHENTICATION_TYPE = DEFAULT_AUTHENTICATION_TYPE;
|
|
230
201
|
//# sourceMappingURL=Constants.js.map
|
|
@@ -1,55 +1,18 @@
|
|
|
1
1
|
// @flow
|
|
2
|
-
/**
|
|
3
|
-
* Indicates if contributions should be cached
|
|
4
|
-
*/
|
|
5
|
-
export const USE_CACHE = true;
|
|
6
|
-
|
|
7
|
-
const serverBase =
|
|
8
|
-
typeof __CONTEXT_PATH__ === "undefined" ? null : __CONTEXT_PATH__;
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Base path
|
|
12
|
-
* This uses contextPath set from property from server
|
|
13
|
-
* When requesting a remote server with CORS enabled, add the origin, for example:
|
|
14
|
-
* export const BEINFORMED_PATH = 'http://192.168.128.61:8080/BeInformed';
|
|
15
|
-
*/
|
|
16
|
-
export const BASE: string =
|
|
17
|
-
serverBase ??
|
|
18
|
-
(typeof window !== "undefined" && window.contextPath
|
|
19
|
-
? window.contextPath
|
|
20
|
-
: "/BeInformed");
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Path to the contributions api end point
|
|
24
|
-
* /contributions uri part is added through the _links in the data service
|
|
25
|
-
*/
|
|
26
|
-
export const MODULARUI_CONTRIBUTIONS = "/contributions";
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Application uri
|
|
30
|
-
* @private
|
|
31
|
-
*/
|
|
32
|
-
const APPLICATION_URI = "/";
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Base Path
|
|
36
|
-
*/
|
|
37
|
-
export const APPLICATION_PATH: string = BASE + APPLICATION_URI;
|
|
38
|
-
|
|
39
2
|
/**
|
|
40
3
|
* path to content service
|
|
41
4
|
*/
|
|
42
|
-
export const CONTENT_PATH =
|
|
5
|
+
export const CONTENT_PATH = `/content`;
|
|
43
6
|
|
|
44
7
|
/**
|
|
45
8
|
* Upload Path
|
|
46
9
|
*/
|
|
47
|
-
export const UPLOAD_PATH =
|
|
10
|
+
export const UPLOAD_PATH = `/uploadFile`;
|
|
48
11
|
|
|
49
12
|
/**
|
|
50
13
|
* Captcha Path
|
|
51
14
|
*/
|
|
52
|
-
export const CAPTCHA_PATH =
|
|
15
|
+
export const CAPTCHA_PATH = `/captchaServices`;
|
|
53
16
|
|
|
54
17
|
/**
|
|
55
18
|
* Path to change password page / component
|
|
@@ -61,6 +24,11 @@ export const CHANGEPASSWORD_PATH = "/change-password";
|
|
|
61
24
|
*/
|
|
62
25
|
export const USERPROFILE_PATH = "/user";
|
|
63
26
|
|
|
27
|
+
/**
|
|
28
|
+
* Path to resources in the Be Informed repository
|
|
29
|
+
*/
|
|
30
|
+
export const RESOURCE_PATH = "/resource";
|
|
31
|
+
|
|
64
32
|
/**
|
|
65
33
|
* Separator for parameters of a list, makes it possible to render multiple lists on a page in a non-js environment
|
|
66
34
|
*/
|
|
@@ -194,7 +162,7 @@ export const LOGIN_USERNAME_SETTING = "FormClient.username_field_name";
|
|
|
194
162
|
export const LOGIN_PASSWORD_SETTING = "FormClient.password_field_name";
|
|
195
163
|
export const LOGOUT_PATH_SETTING = "FormClient.logout_url";
|
|
196
164
|
|
|
197
|
-
export const
|
|
165
|
+
export const DEFAULT_AUTHENTICATION_TYPE = {
|
|
198
166
|
name: "Form based authentication",
|
|
199
167
|
authentication: "DefaultFormClient",
|
|
200
168
|
isPrimary: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Constants.js","names":["
|
|
1
|
+
{"version":3,"file":"Constants.js","names":["CONTENT_PATH","UPLOAD_PATH","CAPTCHA_PATH","CHANGEPASSWORD_PATH","USERPROFILE_PATH","RESOURCE_PATH","PARAMETER_SEPARATOR","TIMEVERSION_FILTER_NAME","PARAMETER_OVERVIEW_VIEWTYPE","DEFAULT_UI_PARAMETERS","ISO_DATE_FORMAT","ISO_DATETIME_FORMAT","ISO_TIME_FORMAT","ISO_TIMESTAMP_FORMAT","DEFAULT_WEEK_STARTS_ON","DEFAULT_FIRST_WEEK_CONTAINS_DATE","KEYCODES","TAB","ENTER","ESCAPE","SPACE","PAGE_UP","PAGE_DOWN","ARROW_LEFT","ARROW_UP","ARROW_RIGHT","ARROW_DOWN","IS_SYNC","dataFetcher","IS_SERVER","NOTIFICATION_TYPES","SUCCESS","INFO","WARNING","ERROR","HTTP_METHODS","GET","POST","MODULARUI_STATUS","LOADING","FINISHED","AUTOSAVE_STATUS","START","INPUT_DEBOUNCE_TIMEOUT","VALIDATE_DEBOUNCE_TIMEOUT","ATTRIBUTE_WIDTH","EXTRA_SMALL","SMALL","MEDIUM","LARGE","EXTRA_LARGE","ALL_CONTENT_IN_DATA_SETTING","LOGIN_TYPE","LOGIN_PATH_SETTING","LOGIN_USERNAME_SETTING","LOGIN_PASSWORD_SETTING","LOGOUT_PATH_SETTING","DEFAULT_AUTHENTICATION_TYPE","name","authentication","isPrimary"],"sources":["../../src/constants/Constants.js"],"sourcesContent":["// @flow\n/**\n * path to content service\n */\nexport const CONTENT_PATH = `/content`;\n\n/**\n * Upload Path\n */\nexport const UPLOAD_PATH = `/uploadFile`;\n\n/**\n * Captcha Path\n */\nexport const CAPTCHA_PATH = `/captchaServices`;\n\n/**\n * Path to change password page / component\n */\nexport const CHANGEPASSWORD_PATH = \"/change-password\";\n\n/**\n * Path to user profile page / component\n */\nexport const USERPROFILE_PATH = \"/user\";\n\n/**\n * Path to resources in the Be Informed repository\n */\nexport const RESOURCE_PATH = \"/resource\";\n\n/**\n * Separator for parameters of a list, makes it possible to render multiple lists on a page in a non-js environment\n */\nexport const PARAMETER_SEPARATOR = \"~\";\n\n/**\n * Timeversion filter name\n */\nexport const TIMEVERSION_FILTER_NAME = \"entryDate\";\n\nconst PARAMETER_OVERVIEW_VIEWTYPE = \"viewType\";\n/**\n * Parameter name for the viewtype toggle\n */\nexport const DEFAULT_UI_PARAMETERS: Array<string> = [\n PARAMETER_OVERVIEW_VIEWTYPE,\n];\n\n/**\n */\nexport const ISO_DATE_FORMAT = \"yyyy-MM-dd\";\n/**\n */\nexport const ISO_DATETIME_FORMAT = \"yyyy-MM-dd'T'HH:mm:ss\";\n/**\n */\nexport const ISO_TIME_FORMAT = \"HH:mm:ss\";\n/**\n */\nexport const ISO_TIMESTAMP_FORMAT = \"yyyy-MM-dd'T'HH:mm:ss.SSS\";\n/**\n * week starts on monday by default\n */\nexport const DEFAULT_WEEK_STARTS_ON = 1;\n\n/**\n * first week indicated by the 1st of january\n */\nexport const DEFAULT_FIRST_WEEK_CONTAINS_DATE = 1;\n\n/**\n * Key codes\n * @type {{SPACE: number, PAGE_DOWN: number, TAB: number, ARROW_RIGHT: number, ARROW_DOWN: number, ENTER: number, ARROW_UP: number, ARROW_LEFT: number, PAGE_UP: number, ESCAPE: number}}\n */\nexport const KEYCODES = {\n TAB: 9,\n ENTER: 13,\n ESCAPE: 27,\n SPACE: 32,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n ARROW_LEFT: 37,\n ARROW_UP: 38,\n ARROW_RIGHT: 39,\n ARROW_DOWN: 40,\n};\n\n/**\n * @type {boolean}\n */\nexport const IS_SYNC = typeof dataFetcher !== \"undefined\";\n/**\n * @type {boolean}\n */\nexport const IS_SERVER = IS_SYNC;\n\n/**\n * @type {{SUCCESS: string, ERROR: string, INFO: string, WARNING: string}}\n */\nexport const NOTIFICATION_TYPES = {\n SUCCESS: \"SUCCESS\",\n INFO: \"INFO\",\n WARNING: \"WARNING\",\n ERROR: \"ERROR\",\n};\n\n/**\n * SUPPORTED HTTP METHODS\n * @type {{POST: string, GET: string}}\n */\nexport const HTTP_METHODS = {\n GET: \"GET\",\n POST: \"POST\",\n};\n\n/**\n * POSSIBLE MODULARUI STATUSSES\n * @type {{LOADING: string, ERROR: string, FINISHED: string}}\n */\nexport const MODULARUI_STATUS = {\n LOADING: \"LOADING\",\n FINISHED: \"FINISHED\",\n ERROR: \"ERROR\",\n};\n\n/**\n * POSSIBLE AUTOSAVE STATUSSES\n * @type {{START: string, FINISHED: string}}\n */\nexport const AUTOSAVE_STATUS = {\n START: \"START\",\n FINISHED: \"FINISHED\",\n};\n\n/**\n * DEBOUNCE INPUT TIMEOUT\n */\nexport const INPUT_DEBOUNCE_TIMEOUT = 100;\n\n/**\n * DEBOUNCE VALIDATION TIMEOUT\n */\nexport const VALIDATE_DEBOUNCE_TIMEOUT = 500;\n\n/**\n * ATTRIBUTE WIDTH\n */\nexport const ATTRIBUTE_WIDTH = {\n EXTRA_SMALL: \"EXTRA_SMALL\",\n SMALL: \"SMALL\",\n MEDIUM: \"MEDIUM\",\n LARGE: \"LARGE\",\n EXTRA_LARGE: \"EXTRA_LARGE\",\n};\n\nexport const ALL_CONTENT_IN_DATA_SETTING = \"hasAllContentInData\";\n\nexport const LOGIN_TYPE = \"security.clients\";\nexport const LOGIN_PATH_SETTING = \"FormClient.login_url\";\nexport const LOGIN_USERNAME_SETTING = \"FormClient.username_field_name\";\nexport const LOGIN_PASSWORD_SETTING = \"FormClient.password_field_name\";\nexport const LOGOUT_PATH_SETTING = \"FormClient.logout_url\";\n\nexport const DEFAULT_AUTHENTICATION_TYPE = {\n name: \"Form based authentication\",\n authentication: \"DefaultFormClient\",\n isPrimary: true,\n};\n"],"mappings":"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"}
|
|
@@ -4,11 +4,18 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.setSettings = exports.setSetting = exports.logoutPath = exports.loginUsernameField = exports.loginType = exports.loginPath = exports.loginPasswordField = exports.hasAllContentInData = exports.getSetting = exports.allSettings = exports.LOGOUT_PATH = exports.LOGIN_PATH = void 0;
|
|
7
|
+
exports.setSettings = exports.setSetting = exports.logoutPath = exports.loginUsernameField = exports.loginType = exports.loginPath = exports.loginPasswordField = exports.hasAllContentInData = exports.getUploadPath = exports.getSwimLaneDiagramConfiguration = exports.getSetting = exports.getCaptchaPath = exports.getBasePath = exports.cacheContributions = exports.allSettings = exports.LOGOUT_PATH = exports.LOGIN_PATH = exports.BASE = void 0;
|
|
8
8
|
var _assign = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/assign"));
|
|
9
|
+
var _startsWith = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/starts-with"));
|
|
9
10
|
var _objects = require("../utils/helpers/objects");
|
|
11
|
+
var _repositoryResource = require("../utils/helpers/repositoryResource");
|
|
10
12
|
var _Constants = require("./Constants");
|
|
13
|
+
const serverBase = typeof __CONTEXT_PATH__ === "undefined" ? null : __CONTEXT_PATH__;
|
|
11
14
|
const defaultSettings = {
|
|
15
|
+
// This uses contextPath set from property from server
|
|
16
|
+
CONTEXT_PATH: serverBase ?? (typeof window !== "undefined" && window.contextPath ? window.contextPath : "/BeInformed"),
|
|
17
|
+
// Indicates if contributions should be cached
|
|
18
|
+
CACHE_CONTRIBUTIONS: true,
|
|
12
19
|
// Debug missing i18n messages in layout
|
|
13
20
|
DEBUG_I18N_MESSAGE_NOT_FOUND: true,
|
|
14
21
|
// Time to show the notification bar
|
|
@@ -101,8 +108,35 @@ exports.setSetting = setSetting;
|
|
|
101
108
|
const allSettings = () => settings;
|
|
102
109
|
|
|
103
110
|
/**
|
|
111
|
+
* Indicates if contributions must be cached
|
|
104
112
|
*/
|
|
105
113
|
exports.allSettings = allSettings;
|
|
114
|
+
const cacheContributions = () => getSetting("CACHE_CONTRIBUTIONS", true);
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Base path
|
|
118
|
+
* This uses contextPath set from property from server
|
|
119
|
+
* When requesting a remote server with CORS enabled, add the origin, for example:
|
|
120
|
+
* export const BEINFORMED_PATH = 'http://192.168.128.61:8080/BeInformed';
|
|
121
|
+
*/
|
|
122
|
+
exports.cacheContributions = cacheContributions;
|
|
123
|
+
const getBasePath = () => getSetting("CONTEXT_PATH", "/BeInformed");
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Path to upload service
|
|
127
|
+
*/
|
|
128
|
+
exports.getBasePath = getBasePath;
|
|
129
|
+
const getUploadPath = () => `${getBasePath()}${_Constants.UPLOAD_PATH}`;
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Path to captcha service
|
|
133
|
+
*/
|
|
134
|
+
exports.getUploadPath = getUploadPath;
|
|
135
|
+
const getCaptchaPath = () => `${getBasePath()}${_Constants.CAPTCHA_PATH}`;
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
*/
|
|
139
|
+
exports.getCaptchaPath = getCaptchaPath;
|
|
106
140
|
const hasAllContentInData = () => getSetting(_Constants.ALL_CONTENT_IN_DATA_SETTING, true);
|
|
107
141
|
|
|
108
142
|
/**
|
|
@@ -131,5 +165,23 @@ exports.logoutPath = logoutPath;
|
|
|
131
165
|
const LOGIN_PATH = loginPath();
|
|
132
166
|
exports.LOGIN_PATH = LOGIN_PATH;
|
|
133
167
|
const LOGOUT_PATH = logoutPath();
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Model overview swim lane configuration
|
|
171
|
+
*/
|
|
134
172
|
exports.LOGOUT_PATH = LOGOUT_PATH;
|
|
173
|
+
const getSwimLaneDiagramConfiguration = () => {
|
|
174
|
+
let configLocation = getSetting("SWIM_LANE_DIAGRAM_CONFIGURATION", "/Library/Diagrams/Overviews.json");
|
|
175
|
+
if (!(0, _startsWith.default)(configLocation).call(configLocation, "/")) {
|
|
176
|
+
configLocation = `/${configLocation}`;
|
|
177
|
+
}
|
|
178
|
+
return (0, _repositoryResource.getRepositoryResourceUrl)(configLocation);
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* Backwards compatible export of BASE constant
|
|
183
|
+
*/
|
|
184
|
+
exports.getSwimLaneDiagramConfiguration = getSwimLaneDiagramConfiguration;
|
|
185
|
+
const BASE = getBasePath();
|
|
186
|
+
exports.BASE = BASE;
|
|
135
187
|
//# sourceMappingURL=Settings.js.map
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// @flow
|
|
2
2
|
import { isPlainObject, has } from "../utils/helpers/objects";
|
|
3
|
+
import { getRepositoryResourceUrl } from "../utils/helpers/repositoryResource";
|
|
3
4
|
import {
|
|
4
5
|
ALL_CONTENT_IN_DATA_SETTING,
|
|
5
6
|
LOGIN_TYPE,
|
|
@@ -7,11 +8,26 @@ import {
|
|
|
7
8
|
LOGIN_USERNAME_SETTING,
|
|
8
9
|
LOGIN_PASSWORD_SETTING,
|
|
9
10
|
LOGOUT_PATH_SETTING,
|
|
11
|
+
UPLOAD_PATH,
|
|
12
|
+
CAPTCHA_PATH,
|
|
10
13
|
} from "./Constants";
|
|
11
14
|
|
|
12
15
|
type Setting = boolean | string | number | Array<string>;
|
|
13
16
|
|
|
17
|
+
const serverBase =
|
|
18
|
+
typeof __CONTEXT_PATH__ === "undefined" ? null : __CONTEXT_PATH__;
|
|
19
|
+
|
|
14
20
|
const defaultSettings: { [name: string]: Setting } = {
|
|
21
|
+
// This uses contextPath set from property from server
|
|
22
|
+
CONTEXT_PATH:
|
|
23
|
+
serverBase ??
|
|
24
|
+
(typeof window !== "undefined" && window.contextPath
|
|
25
|
+
? window.contextPath
|
|
26
|
+
: "/BeInformed"),
|
|
27
|
+
|
|
28
|
+
// Indicates if contributions should be cached
|
|
29
|
+
CACHE_CONTRIBUTIONS: true,
|
|
30
|
+
|
|
15
31
|
// Debug missing i18n messages in layout
|
|
16
32
|
DEBUG_I18N_MESSAGE_NOT_FOUND: true,
|
|
17
33
|
|
|
@@ -138,6 +154,31 @@ export const setSetting = (key: string, value: any) => {
|
|
|
138
154
|
*/
|
|
139
155
|
export const allSettings = (): { [name: string]: Setting } => settings;
|
|
140
156
|
|
|
157
|
+
/**
|
|
158
|
+
* Indicates if contributions must be cached
|
|
159
|
+
*/
|
|
160
|
+
export const cacheContributions = (): boolean =>
|
|
161
|
+
getSetting("CACHE_CONTRIBUTIONS", true);
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Base path
|
|
165
|
+
* This uses contextPath set from property from server
|
|
166
|
+
* When requesting a remote server with CORS enabled, add the origin, for example:
|
|
167
|
+
* export const BEINFORMED_PATH = 'http://192.168.128.61:8080/BeInformed';
|
|
168
|
+
*/
|
|
169
|
+
export const getBasePath = (): string =>
|
|
170
|
+
getSetting("CONTEXT_PATH", "/BeInformed");
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Path to upload service
|
|
174
|
+
*/
|
|
175
|
+
export const getUploadPath = (): string => `${getBasePath()}${UPLOAD_PATH}`;
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* Path to captcha service
|
|
179
|
+
*/
|
|
180
|
+
export const getCaptchaPath = (): string => `${getBasePath()}${CAPTCHA_PATH}`;
|
|
181
|
+
|
|
141
182
|
/**
|
|
142
183
|
*/
|
|
143
184
|
export const hasAllContentInData = (): boolean =>
|
|
@@ -167,3 +208,22 @@ export const logoutPath = (): string =>
|
|
|
167
208
|
|
|
168
209
|
export const LOGIN_PATH: string = loginPath();
|
|
169
210
|
export const LOGOUT_PATH: string = logoutPath();
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Model overview swim lane configuration
|
|
214
|
+
*/
|
|
215
|
+
export const getSwimLaneDiagramConfiguration: Object = () => {
|
|
216
|
+
let configLocation = getSetting(
|
|
217
|
+
"SWIM_LANE_DIAGRAM_CONFIGURATION",
|
|
218
|
+
"/Library/Diagrams/Overviews.json"
|
|
219
|
+
);
|
|
220
|
+
if (!configLocation.startsWith("/")) {
|
|
221
|
+
configLocation = `/${configLocation}`;
|
|
222
|
+
}
|
|
223
|
+
return getRepositoryResourceUrl(configLocation);
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Backwards compatible export of BASE constant
|
|
228
|
+
*/
|
|
229
|
+
export const BASE: string = getBasePath();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Settings.js","names":["defaultSettings","DEBUG_I18N_MESSAGE_NOT_FOUND","HIDE_NOTIFICATION_TIMEOUT","ALWAYS_COMMIT_FORM","RENDER_QUESTION_LABELS","RENDER_MANDATORY_ATTRIBUTE_INDICATION","RENDER_OPTIONAL_ATTRIBUTE_INDICATION","AVAILABLE_LIST_VIEWS","USE_CLIENTSIDE_VALIDATION","USE_INSTANT_SERVER_VALIDATION","ENABLED_LOCALES","RENDER_GLOBAL_LOGIN_PAGE","RENDER_GLOBAL_LOGOUT_PAGE","RENDER_MULTI_LOGIN_ON_GLOBAL_LOGOUT_PAGE","LOGIN_PATH","ADMINISTRATOR_LOGIN_PATH","LOGOUT_PATH","RENDER_FORMS_IN_MODAL","SHOW_SUBMIT_WAIT_TIMEOUT","SWIM_LANE_DIAGRAM_CONFIGURATION","BUSINESS_SCENARIO_CONCEPT_TYPE","BUSINESS_SCENARIO_STEP_CONCEPT_TYPE","BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE","DATE_INPUT_FORMAT","DATE_READONLY_FORMAT","CALENDAR_WEEK_STARTS_ON","CALENDAR_FIRST_WEEK_CONTAINS_DATE","UI_PARAMETERS","ALLOW_HIDE_WHEN_EMPTY_ON_TABS","PAGE_RELOAD_ON_UNAUTHORIZED_ERROR","XHR_TIMEOUT_MS","HIDE_WHEN_EMPTY_IGNORE_TASKS","settings","setSettings","config","isPlainObject","getSetting","key","defaultValue","has","undefined","Error","setSetting","value","allSettings","hasAllContentInData","ALL_CONTENT_IN_DATA_SETTING","loginType","LOGIN_TYPE","loginPath","LOGIN_PATH_SETTING","loginUsernameField","LOGIN_USERNAME_SETTING","loginPasswordField","LOGIN_PASSWORD_SETTING","logoutPath","LOGOUT_PATH_SETTING"],"sources":["../../src/constants/Settings.js"],"sourcesContent":["// @flow\nimport { isPlainObject, has } from \"../utils/helpers/objects\";\nimport {\n ALL_CONTENT_IN_DATA_SETTING,\n LOGIN_TYPE,\n LOGIN_PATH_SETTING,\n LOGIN_USERNAME_SETTING,\n LOGIN_PASSWORD_SETTING,\n LOGOUT_PATH_SETTING,\n} from \"./Constants\";\n\ntype Setting = boolean | string | number | Array<string>;\n\nconst defaultSettings: { [name: string]: Setting } = {\n // Debug missing i18n messages in layout\n DEBUG_I18N_MESSAGE_NOT_FOUND: true,\n\n // Time to show the notification bar\n HIDE_NOTIFICATION_TIMEOUT: 5000,\n\n // Always commit form, does not show result pages for instruments\n ALWAYS_COMMIT_FORM: false,\n\n // Render instrument and event question labels on forms (might result in duplicate labels)\n RENDER_QUESTION_LABELS: true,\n\n // Render mandatory indications on attributes\n RENDER_MANDATORY_ATTRIBUTE_INDICATION: true,\n\n // Render optional indications on attributes\n RENDER_OPTIONAL_ATTRIBUTE_INDICATION: false,\n\n // Renders a toggle with supported list views, options are ListView and TableView\n AVAILABLE_LIST_VIEWS: [\"ListView\", \"TableView\"],\n\n // Toggle client side validation\n USE_CLIENTSIDE_VALIDATION: true,\n\n // Indicates if server validation should be used when a form field is changed\n USE_INSTANT_SERVER_VALIDATION: true,\n\n // Indicates which locales are enabled\n ENABLED_LOCALES: [\"en\", \"nl\"],\n\n // Renders the global log in page\n RENDER_GLOBAL_LOGIN_PAGE: false,\n\n // Renders the global log out page\n RENDER_GLOBAL_LOGOUT_PAGE: false,\n\n // Renders the login variants as option on the global logout page\n RENDER_MULTI_LOGIN_ON_GLOBAL_LOGOUT_PAGE: false,\n\n // Path to login page / component\n LOGIN_PATH: \"/signin\",\n\n // Path to administrator login page / component\n ADMINISTRATOR_LOGIN_PATH: \"\",\n\n // Path to logout page / component\n LOGOUT_PATH: \"/signout\",\n\n // Render forms in a modal\n RENDER_FORMS_IN_MODAL: true,\n\n // Wait timeout before rendering submit wait icon\n SHOW_SUBMIT_WAIT_TIMEOUT: 300,\n\n // Swim lane diagram configuration file\n SWIM_LANE_DIAGRAM_CONFIGURATION: \"/Library/Diagrams/Overviews.json\",\n\n // Business scenario concept types\n BUSINESS_SCENARIO_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/BusinessScenario\",\n ],\n BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/ScenarioStep\",\n ],\n BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/Persona\",\n ],\n\n // Input format for dates. Without this setting having a value, the contributions format is used\n DATE_INPUT_FORMAT: \"\",\n\n // Readonly format for dates. Without this setting having a value, the contributions format is used\n DATE_READONLY_FORMAT: \"\",\n\n // indicates on what day the week starts (0 = Sunday)\n CALENDAR_WEEK_STARTS_ON: 1,\n\n // indicates which date indicates the first week of the year\n CALENDAR_FIRST_WEEK_CONTAINS_DATE: 1,\n\n // parameters that are added for the ui state, but should not be send to the modular ui\n UI_PARAMETERS: [],\n\n // disable hide-when-empty hint for layouts running on Be Informed versions older than 21.1\n ALLOW_HIDE_WHEN_EMPTY_ON_TABS: true,\n\n // reload the complete page on signout, usefull when third party authentication is in place\n PAGE_RELOAD_ON_UNAUTHORIZED_ERROR: false,\n\n XHR_TIMEOUT_MS: 300000,\n\n HIDE_WHEN_EMPTY_IGNORE_TASKS: false,\n};\n\nlet settings = defaultSettings;\n\n/**\n */\nexport const setSettings = (config: Object) => {\n if (isPlainObject(config)) {\n settings = Object.assign(defaultSettings, config);\n }\n};\n\n/**\n */\nexport const getSetting = (key: string, defaultValue?: any): any => {\n if (!has(settings, key) && defaultValue === undefined) {\n throw new Error(\n `Setting with name ${key} not found and no defaultValue given`\n );\n }\n\n return settings[key] ?? defaultValue;\n};\n\n/**\n */\nexport const setSetting = (key: string, value: any) => {\n settings[key] = value;\n};\n\n/**\n */\nexport const allSettings = (): { [name: string]: Setting } => settings;\n\n/**\n */\nexport const hasAllContentInData = (): boolean =>\n getSetting(ALL_CONTENT_IN_DATA_SETTING, true);\n\n/**\n * Login type, only available when pac4j is configured\n */\nexport const loginType = (): string => getSetting(LOGIN_TYPE, \"JAAS\");\n\n/**\n */\nexport const loginPath = (): string =>\n getSetting(LOGIN_PATH_SETTING, \"/j_security_check\");\n/**\n */\nexport const loginUsernameField = (): string =>\n getSetting(LOGIN_USERNAME_SETTING, \"j_username\");\n/**\n */\nexport const loginPasswordField = (): string =>\n getSetting(LOGIN_PASSWORD_SETTING, \"j_password\");\n/**\n */\nexport const logoutPath = (): string =>\n getSetting(LOGOUT_PATH_SETTING, \"/Logoff\");\n\nexport const LOGIN_PATH: string = loginPath();\nexport const LOGOUT_PATH: string = logoutPath();\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Settings.js","names":["serverBase","__CONTEXT_PATH__","defaultSettings","CONTEXT_PATH","window","contextPath","CACHE_CONTRIBUTIONS","DEBUG_I18N_MESSAGE_NOT_FOUND","HIDE_NOTIFICATION_TIMEOUT","ALWAYS_COMMIT_FORM","RENDER_QUESTION_LABELS","RENDER_MANDATORY_ATTRIBUTE_INDICATION","RENDER_OPTIONAL_ATTRIBUTE_INDICATION","AVAILABLE_LIST_VIEWS","USE_CLIENTSIDE_VALIDATION","USE_INSTANT_SERVER_VALIDATION","ENABLED_LOCALES","RENDER_GLOBAL_LOGIN_PAGE","RENDER_GLOBAL_LOGOUT_PAGE","RENDER_MULTI_LOGIN_ON_GLOBAL_LOGOUT_PAGE","LOGIN_PATH","ADMINISTRATOR_LOGIN_PATH","LOGOUT_PATH","RENDER_FORMS_IN_MODAL","SHOW_SUBMIT_WAIT_TIMEOUT","SWIM_LANE_DIAGRAM_CONFIGURATION","BUSINESS_SCENARIO_CONCEPT_TYPE","BUSINESS_SCENARIO_STEP_CONCEPT_TYPE","BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE","DATE_INPUT_FORMAT","DATE_READONLY_FORMAT","CALENDAR_WEEK_STARTS_ON","CALENDAR_FIRST_WEEK_CONTAINS_DATE","UI_PARAMETERS","ALLOW_HIDE_WHEN_EMPTY_ON_TABS","PAGE_RELOAD_ON_UNAUTHORIZED_ERROR","XHR_TIMEOUT_MS","HIDE_WHEN_EMPTY_IGNORE_TASKS","settings","setSettings","config","isPlainObject","getSetting","key","defaultValue","has","undefined","Error","setSetting","value","allSettings","cacheContributions","getBasePath","getUploadPath","UPLOAD_PATH","getCaptchaPath","CAPTCHA_PATH","hasAllContentInData","ALL_CONTENT_IN_DATA_SETTING","loginType","LOGIN_TYPE","loginPath","LOGIN_PATH_SETTING","loginUsernameField","LOGIN_USERNAME_SETTING","loginPasswordField","LOGIN_PASSWORD_SETTING","logoutPath","LOGOUT_PATH_SETTING","getSwimLaneDiagramConfiguration","configLocation","getRepositoryResourceUrl","BASE"],"sources":["../../src/constants/Settings.js"],"sourcesContent":["// @flow\nimport { isPlainObject, has } from \"../utils/helpers/objects\";\nimport { getRepositoryResourceUrl } from \"../utils/helpers/repositoryResource\";\nimport {\n ALL_CONTENT_IN_DATA_SETTING,\n LOGIN_TYPE,\n LOGIN_PATH_SETTING,\n LOGIN_USERNAME_SETTING,\n LOGIN_PASSWORD_SETTING,\n LOGOUT_PATH_SETTING,\n UPLOAD_PATH,\n CAPTCHA_PATH,\n} from \"./Constants\";\n\ntype Setting = boolean | string | number | Array<string>;\n\nconst serverBase =\n typeof __CONTEXT_PATH__ === \"undefined\" ? null : __CONTEXT_PATH__;\n\nconst defaultSettings: { [name: string]: Setting } = {\n // This uses contextPath set from property from server\n CONTEXT_PATH:\n serverBase ??\n (typeof window !== \"undefined\" && window.contextPath\n ? window.contextPath\n : \"/BeInformed\"),\n\n // Indicates if contributions should be cached\n CACHE_CONTRIBUTIONS: true,\n\n // Debug missing i18n messages in layout\n DEBUG_I18N_MESSAGE_NOT_FOUND: true,\n\n // Time to show the notification bar\n HIDE_NOTIFICATION_TIMEOUT: 5000,\n\n // Always commit form, does not show result pages for instruments\n ALWAYS_COMMIT_FORM: false,\n\n // Render instrument and event question labels on forms (might result in duplicate labels)\n RENDER_QUESTION_LABELS: true,\n\n // Render mandatory indications on attributes\n RENDER_MANDATORY_ATTRIBUTE_INDICATION: true,\n\n // Render optional indications on attributes\n RENDER_OPTIONAL_ATTRIBUTE_INDICATION: false,\n\n // Renders a toggle with supported list views, options are ListView and TableView\n AVAILABLE_LIST_VIEWS: [\"ListView\", \"TableView\"],\n\n // Toggle client side validation\n USE_CLIENTSIDE_VALIDATION: true,\n\n // Indicates if server validation should be used when a form field is changed\n USE_INSTANT_SERVER_VALIDATION: true,\n\n // Indicates which locales are enabled\n ENABLED_LOCALES: [\"en\", \"nl\"],\n\n // Renders the global log in page\n RENDER_GLOBAL_LOGIN_PAGE: false,\n\n // Renders the global log out page\n RENDER_GLOBAL_LOGOUT_PAGE: false,\n\n // Renders the login variants as option on the global logout page\n RENDER_MULTI_LOGIN_ON_GLOBAL_LOGOUT_PAGE: false,\n\n // Path to login page / component\n LOGIN_PATH: \"/signin\",\n\n // Path to administrator login page / component\n ADMINISTRATOR_LOGIN_PATH: \"\",\n\n // Path to logout page / component\n LOGOUT_PATH: \"/signout\",\n\n // Render forms in a modal\n RENDER_FORMS_IN_MODAL: true,\n\n // Wait timeout before rendering submit wait icon\n SHOW_SUBMIT_WAIT_TIMEOUT: 300,\n\n // Swim lane diagram configuration file\n SWIM_LANE_DIAGRAM_CONFIGURATION: \"/Library/Diagrams/Overviews.json\",\n\n // Business scenario concept types\n BUSINESS_SCENARIO_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/BusinessScenario\",\n ],\n BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/ScenarioStep\",\n ],\n BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/Persona\",\n ],\n\n // Input format for dates. Without this setting having a value, the contributions format is used\n DATE_INPUT_FORMAT: \"\",\n\n // Readonly format for dates. Without this setting having a value, the contributions format is used\n DATE_READONLY_FORMAT: \"\",\n\n // indicates on what day the week starts (0 = Sunday)\n CALENDAR_WEEK_STARTS_ON: 1,\n\n // indicates which date indicates the first week of the year\n CALENDAR_FIRST_WEEK_CONTAINS_DATE: 1,\n\n // parameters that are added for the ui state, but should not be send to the modular ui\n UI_PARAMETERS: [],\n\n // disable hide-when-empty hint for layouts running on Be Informed versions older than 21.1\n ALLOW_HIDE_WHEN_EMPTY_ON_TABS: true,\n\n // reload the complete page on signout, usefull when third party authentication is in place\n PAGE_RELOAD_ON_UNAUTHORIZED_ERROR: false,\n\n XHR_TIMEOUT_MS: 300000,\n\n HIDE_WHEN_EMPTY_IGNORE_TASKS: false,\n};\n\nlet settings = defaultSettings;\n\n/**\n */\nexport const setSettings = (config: Object) => {\n if (isPlainObject(config)) {\n settings = Object.assign(defaultSettings, config);\n }\n};\n\n/**\n */\nexport const getSetting = (key: string, defaultValue?: any): any => {\n if (!has(settings, key) && defaultValue === undefined) {\n throw new Error(\n `Setting with name ${key} not found and no defaultValue given`\n );\n }\n\n return settings[key] ?? defaultValue;\n};\n\n/**\n */\nexport const setSetting = (key: string, value: any) => {\n settings[key] = value;\n};\n\n/**\n */\nexport const allSettings = (): { [name: string]: Setting } => settings;\n\n/**\n * Indicates if contributions must be cached\n */\nexport const cacheContributions = (): boolean =>\n getSetting(\"CACHE_CONTRIBUTIONS\", true);\n\n/**\n * Base path\n * This uses contextPath set from property from server\n * When requesting a remote server with CORS enabled, add the origin, for example:\n * export const BEINFORMED_PATH = 'http://192.168.128.61:8080/BeInformed';\n */\nexport const getBasePath = (): string =>\n getSetting(\"CONTEXT_PATH\", \"/BeInformed\");\n\n/**\n * Path to upload service\n */\nexport const getUploadPath = (): string => `${getBasePath()}${UPLOAD_PATH}`;\n\n/**\n * Path to captcha service\n */\nexport const getCaptchaPath = (): string => `${getBasePath()}${CAPTCHA_PATH}`;\n\n/**\n */\nexport const hasAllContentInData = (): boolean =>\n getSetting(ALL_CONTENT_IN_DATA_SETTING, true);\n\n/**\n * Login type, only available when pac4j is configured\n */\nexport const loginType = (): string => getSetting(LOGIN_TYPE, \"JAAS\");\n\n/**\n */\nexport const loginPath = (): string =>\n getSetting(LOGIN_PATH_SETTING, \"/j_security_check\");\n/**\n */\nexport const loginUsernameField = (): string =>\n getSetting(LOGIN_USERNAME_SETTING, \"j_username\");\n/**\n */\nexport const loginPasswordField = (): string =>\n getSetting(LOGIN_PASSWORD_SETTING, \"j_password\");\n/**\n */\nexport const logoutPath = (): string =>\n getSetting(LOGOUT_PATH_SETTING, \"/Logoff\");\n\nexport const LOGIN_PATH: string = loginPath();\nexport const LOGOUT_PATH: string = logoutPath();\n\n/**\n * Model overview swim lane configuration\n */\nexport const getSwimLaneDiagramConfiguration: Object = () => {\n let configLocation = getSetting(\n \"SWIM_LANE_DIAGRAM_CONFIGURATION\",\n \"/Library/Diagrams/Overviews.json\"\n );\n if (!configLocation.startsWith(\"/\")) {\n configLocation = `/${configLocation}`;\n }\n return getRepositoryResourceUrl(configLocation);\n};\n\n/**\n * Backwards compatible export of BASE constant\n */\nexport const BASE: string = getBasePath();\n"],"mappings":"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"}
|