@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.
Files changed (173) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/esm/constants/Constants.js +9 -35
  3. package/esm/constants/Constants.js.map +1 -1
  4. package/esm/constants/Settings.js +47 -1
  5. package/esm/constants/Settings.js.map +1 -1
  6. package/esm/hooks/useAuthentication.js +7 -6
  7. package/esm/hooks/useAuthentication.js.map +1 -1
  8. package/esm/models/application/ApplicationModel.js +2 -3
  9. package/esm/models/application/ApplicationModel.js.map +1 -1
  10. package/esm/models/attributes/UploadAttributeModel.js +15 -3
  11. package/esm/models/attributes/UploadAttributeModel.js.map +1 -1
  12. package/esm/models/error/ErrorModel.js +11 -0
  13. package/esm/models/error/ErrorModel.js.map +1 -1
  14. package/esm/models/href/Href.js +4 -4
  15. package/esm/models/href/Href.js.map +1 -1
  16. package/esm/modularui/Authenticate.js +6 -6
  17. package/esm/modularui/Authenticate.js.map +1 -1
  18. package/esm/modularui/CaptchaRequest.js +46 -0
  19. package/esm/modularui/CaptchaRequest.js.map +1 -0
  20. package/esm/modularui/ModularUIRequest.js +17 -6
  21. package/esm/modularui/ModularUIRequest.js.map +1 -1
  22. package/esm/modularui/UploadRequest.js +104 -0
  23. package/esm/modularui/UploadRequest.js.map +1 -0
  24. package/esm/modularui/index.js +2 -0
  25. package/esm/modularui/index.js.map +1 -1
  26. package/esm/react-client/client.js +2 -2
  27. package/esm/react-client/client.js.map +1 -1
  28. package/esm/react-server/contextPath.js +2 -2
  29. package/esm/react-server/contextPath.js.map +1 -1
  30. package/esm/react-server/renderSSRComplete.js +5 -4
  31. package/esm/react-server/renderSSRComplete.js.map +1 -1
  32. package/esm/react-server/renderSSRMinimal.js +2 -2
  33. package/esm/react-server/renderSSRMinimal.js.map +1 -1
  34. package/esm/redux/_modularui/ModularUIMiddleware.js.map +1 -1
  35. package/esm/redux/_modularui/types.js.map +1 -1
  36. package/esm/utils/browser/Cookies.js +6 -7
  37. package/esm/utils/browser/Cookies.js.map +1 -1
  38. package/esm/utils/fetch/serverFetch.js +2 -2
  39. package/esm/utils/fetch/serverFetch.js.map +1 -1
  40. package/esm/utils/fetch/types.js.map +1 -1
  41. package/esm/utils/fetch/universalFetch.js +4 -3
  42. package/esm/utils/fetch/universalFetch.js.map +1 -1
  43. package/esm/utils/fetch/xhr.js.map +1 -1
  44. package/esm/utils/helpers/checkResource.js +0 -3
  45. package/esm/utils/helpers/checkResource.js.map +1 -1
  46. package/esm/utils/helpers/index.js +8 -0
  47. package/esm/utils/helpers/index.js.map +1 -0
  48. package/esm/utils/helpers/repositoryResource.js +18 -0
  49. package/esm/utils/helpers/repositoryResource.js.map +1 -0
  50. package/esm/utils/index.js +1 -6
  51. package/esm/utils/index.js.map +1 -1
  52. package/lib/constants/Constants.js +13 -42
  53. package/lib/constants/Constants.js.flow +9 -41
  54. package/lib/constants/Constants.js.map +1 -1
  55. package/lib/constants/Settings.js +53 -1
  56. package/lib/constants/Settings.js.flow +60 -0
  57. package/lib/constants/Settings.js.map +1 -1
  58. package/lib/hooks/useAuthentication.js +6 -5
  59. package/lib/hooks/useAuthentication.js.flow +9 -8
  60. package/lib/hooks/useAuthentication.js.map +1 -1
  61. package/lib/models/application/ApplicationModel.js +1 -1
  62. package/lib/models/application/ApplicationModel.js.flow +3 -2
  63. package/lib/models/application/ApplicationModel.js.map +1 -1
  64. package/lib/models/attributes/UploadAttributeModel.js +15 -3
  65. package/lib/models/attributes/UploadAttributeModel.js.flow +21 -0
  66. package/lib/models/attributes/UploadAttributeModel.js.map +1 -1
  67. package/lib/models/error/ErrorModel.js +11 -0
  68. package/lib/models/error/ErrorModel.js.flow +12 -1
  69. package/lib/models/error/ErrorModel.js.map +1 -1
  70. package/lib/models/href/Href.js +6 -6
  71. package/lib/models/href/Href.js.flow +4 -4
  72. package/lib/models/href/Href.js.map +1 -1
  73. package/lib/models/href/__tests__/Href.spec.js.flow +2 -3
  74. package/lib/modularui/Authenticate.js +4 -4
  75. package/lib/modularui/Authenticate.js.flow +6 -5
  76. package/lib/modularui/Authenticate.js.map +1 -1
  77. package/lib/modularui/CaptchaRequest.js +54 -0
  78. package/lib/modularui/CaptchaRequest.js.flow +45 -0
  79. package/lib/modularui/CaptchaRequest.js.map +1 -0
  80. package/lib/modularui/ModularUIRequest.js +15 -4
  81. package/lib/modularui/ModularUIRequest.js.flow +10 -10
  82. package/lib/modularui/ModularUIRequest.js.map +1 -1
  83. package/lib/modularui/UploadRequest.js +112 -0
  84. package/lib/modularui/UploadRequest.js.flow +125 -0
  85. package/lib/modularui/UploadRequest.js.map +1 -0
  86. package/lib/modularui/index.js +14 -0
  87. package/lib/modularui/index.js.flow +2 -0
  88. package/lib/modularui/index.js.map +1 -1
  89. package/lib/react-client/client.js +2 -2
  90. package/lib/react-client/client.js.flow +2 -2
  91. package/lib/react-client/client.js.map +1 -1
  92. package/lib/react-server/contextPath.js +2 -2
  93. package/lib/react-server/contextPath.js.flow +2 -2
  94. package/lib/react-server/contextPath.js.map +1 -1
  95. package/lib/react-server/renderSSRComplete.js +5 -4
  96. package/lib/react-server/renderSSRComplete.js.flow +6 -4
  97. package/lib/react-server/renderSSRComplete.js.map +1 -1
  98. package/lib/react-server/renderSSRMinimal.js +2 -2
  99. package/lib/react-server/renderSSRMinimal.js.flow +2 -2
  100. package/lib/react-server/renderSSRMinimal.js.map +1 -1
  101. package/lib/redux/_modularui/ModularUIMiddleware.js.flow +1 -1
  102. package/lib/redux/_modularui/ModularUIMiddleware.js.map +1 -1
  103. package/lib/redux/_modularui/types.js.flow +1 -1
  104. package/lib/redux/_modularui/types.js.map +1 -1
  105. package/lib/utils/browser/Cookies.js +3 -3
  106. package/lib/utils/browser/Cookies.js.flow +10 -8
  107. package/lib/utils/browser/Cookies.js.map +1 -1
  108. package/lib/utils/fetch/serverFetch.js +2 -2
  109. package/lib/utils/fetch/serverFetch.js.flow +2 -2
  110. package/lib/utils/fetch/serverFetch.js.map +1 -1
  111. package/lib/utils/fetch/types.js.flow +1 -1
  112. package/lib/utils/fetch/types.js.map +1 -1
  113. package/lib/utils/fetch/universalFetch.js +3 -2
  114. package/lib/utils/fetch/universalFetch.js.flow +5 -3
  115. package/lib/utils/fetch/universalFetch.js.map +1 -1
  116. package/lib/utils/fetch/xhr.js.flow +1 -1
  117. package/lib/utils/fetch/xhr.js.map +1 -1
  118. package/lib/utils/helpers/checkResource.js +0 -3
  119. package/lib/utils/helpers/checkResource.js.flow +0 -2
  120. package/lib/utils/helpers/checkResource.js.map +1 -1
  121. package/lib/utils/helpers/index.js +90 -0
  122. package/lib/utils/helpers/index.js.flow +8 -0
  123. package/lib/utils/helpers/index.js.map +1 -0
  124. package/lib/utils/helpers/repositoryResource.js +25 -0
  125. package/lib/utils/helpers/repositoryResource.js.flow +20 -0
  126. package/lib/utils/helpers/repositoryResource.js.map +1 -0
  127. package/lib/utils/index.js +4 -60
  128. package/lib/utils/index.js.flow +1 -6
  129. package/lib/utils/index.js.map +1 -1
  130. package/package.json +1 -1
  131. package/src/constants/Constants.js +9 -41
  132. package/src/constants/Settings.js +60 -0
  133. package/src/hooks/useAuthentication.js +9 -8
  134. package/src/models/application/ApplicationModel.js +3 -2
  135. package/src/models/attributes/UploadAttributeModel.js +21 -0
  136. package/src/models/error/ErrorModel.js +12 -1
  137. package/src/models/href/Href.js +4 -4
  138. package/src/models/href/__tests__/Href.spec.js +2 -3
  139. package/src/modularui/Authenticate.js +6 -5
  140. package/src/modularui/CaptchaRequest.js +45 -0
  141. package/src/modularui/ModularUIRequest.js +10 -10
  142. package/src/modularui/UploadRequest.js +125 -0
  143. package/src/modularui/index.js +2 -0
  144. package/src/react-client/client.js +2 -2
  145. package/src/react-server/contextPath.js +2 -2
  146. package/src/react-server/renderSSRComplete.js +6 -4
  147. package/src/react-server/renderSSRMinimal.js +2 -2
  148. package/src/redux/_modularui/ModularUIMiddleware.js +1 -1
  149. package/src/redux/_modularui/types.js +1 -1
  150. package/src/utils/browser/Cookies.js +10 -8
  151. package/src/utils/fetch/serverFetch.js +2 -2
  152. package/src/utils/fetch/types.js +1 -1
  153. package/src/utils/fetch/universalFetch.js +5 -3
  154. package/src/utils/fetch/xhr.js +1 -1
  155. package/src/utils/helpers/checkResource.js +0 -2
  156. package/src/utils/helpers/index.js +8 -0
  157. package/src/utils/helpers/repositoryResource.js +20 -0
  158. package/src/utils/index.js +1 -6
  159. package/types/constants/Constants.d.ts +8 -24
  160. package/types/constants/Settings.d.ts +12 -0
  161. package/types/models/attributes/UploadAttributeModel.d.ts +6 -0
  162. package/types/models/error/ErrorModel.d.ts +5 -0
  163. package/types/models/href/Href.d.ts +1 -1
  164. package/types/modularui/CaptchaRequest.d.ts +17 -0
  165. package/types/modularui/ModularUIRequest.d.ts +4 -6
  166. package/types/modularui/UploadRequest.d.ts +29 -0
  167. package/types/modularui/index.d.ts +2 -0
  168. package/types/redux/_modularui/types.d.ts +1 -3
  169. package/types/utils/browser/Cookies.d.ts +0 -6
  170. package/types/utils/fetch/types.d.ts +1 -3
  171. package/types/utils/helpers/index.d.ts +7 -0
  172. package/types/utils/helpers/repositoryResource.d.ts +1 -0
  173. 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":";;;;;AACA,SAASA,GAAG,EAAEC,aAAa,QAAQ,oBAAoB;AAEvD,SACEC,wBAAwB,EACxBC,qBAAqB,EACrBC,cAAc,EACdC,gBAAgB,EAChBC,iBAAiB,EACjBC,kBAAkB,EAClBC,gBAAgB,QACX,kBAAkB;AAEzB,OAAOC,KAAK,MAAM,kBAAkB;AAEpC,SAASC,YAAY,QAAQ,2BAA2B;AAExD,SAASC,UAAU,QAAQ,0BAA0B;AAIrD,MAAMC,kBAAkB,GAAG,CAAC;AAC5B,MAAMC,YAAY,GAAG,GAAG;AACxB,MAAMC,iBAAiB,GAAG,GAAG;AAC7B,MAAMC,iBAAiB,GAAG,GAAG;AAC7B,MAAMC,gBAAgB,GAAG,GAAG;AAC5B,MAAMC,cAAc,GAAG,GAAG;AAE1B,MAAMC,SAAS,GAAG,kBAAkB;;AAEpC;AACA;AACA;AACA,MAAMC,GAAG,CAAC;EAKR;AACF;EACEC,WAAW,CAACC,OAAuB,EAAE;IAAA;IAAA;IAAA;IACnC,IAAI,CAACC,QAAQ,GAAGD,OAAO;IACvB,IAAI,CAACE,SAAS,GAAG,CAAC;EACpB;;EAEA;AACF;EACE,IAAIC,OAAO,GAAmB;IAC5B,OAAO,IAAI,CAACC,QAAQ;EACtB;;EAEA;AACF;EACE,IAAID,OAAO,CAACA,OAAuB,EAAE;IACnC,IAAI,CAACC,QAAQ,GAAGD,OAAO;EACzB;;EAEA;AACF;EACE,IAAIH,OAAO,GAAmB;IAC5B,OAAO,IAAI,CAACC,QAAQ;EACtB;;EAEA;AACF;EACE,IAAID,OAAO,CAACA,OAAuB,EAAE;IACnC,IAAI,CAACC,QAAQ,GAAGD,OAAO;EACzB;;EAEA;AACF;EACE,IAAIK,QAAQ,GAAW;IACrB,OAAO,IAAI,CAACH,SAAS;EACvB;;EAEA;AACF;EACE,IAAIG,QAAQ,CAACA,QAAgB,EAAE;IAC7B,IAAI,CAACH,SAAS,GAAGG,QAAQ;EAC3B;;EAEA;AACF;AACA;EACE,IAAIC,GAAG,GAAW;IAChB,MAAM;MAAEA;IAAI,CAAC,GAAG,IAAI,CAACN,OAAO;IAC5B,IAAI,IAAI,CAACO,MAAM,KAAK,EAAE,EAAE;MACtB,IAAI,0BAAAD,GAAG,OAAHA,GAAG,EAAU,GAAG,CAAC,EAAE;QACrB,MAAME,IAAI,GAAGF,GAAG,CAACG,KAAK,CAAC,GAAG,CAAC;QAE3B,OAAQ,GAAED,IAAI,CAAC,CAAC,CAAE,IAAGA,IAAI,CAAC,CAAC,CAAE,IAAG,IAAI,CAACD,MAAO,EAAC;MAC/C;MAEA,OAAQ,GAAED,GAAI,IAAG,IAAI,CAACC,MAAO,EAAC;IAChC;IAEA,OAAOD,GAAG;EACZ;;EAEA;AACF;EACE,IAAIC,MAAM,GAAW;IACnB,OAAO,IAAI,CAACP,OAAO,CAACO,MAAM,IAAI,EAAE;EAClC;;EAEA;AACF;EACE,IAAIG,IAAI,GAA8C;IACpD,OAAO,IAAI,CAACV,OAAO,CAACU,IAAI,IAAI,IAAI;EAClC;;EAEA;AACF;EACE,IAAIC,MAAM,GAA+B;IACvC,OAAO,IAAI,CAACX,OAAO,CAACW,MAAM,IAAItB,YAAY,CAACuB,GAAG;EAChD;;EAEA;AACF;EACE,IAAIC,OAAO,GAAW;IACpB,OAAO,IAAI,CAACb,OAAO,CAACa,OAAO,IAAIvB,UAAU,CAAC,gBAAgB,EAAE,MAAM,CAAC;EACrE;;EAEA;AACF;EACE,IAAIwB,YAAY,GAAW;IACzB,OAAO,IAAI,CAACd,OAAO,CAACc,YAAY,IAAI,MAAM;EAC5C;;EAEA;AACF;EACE,IAAIC,UAAU,GAAyB;IACrC,IAAI,IAAI,CAACf,OAAO,CAACe,UAAU,EAAE;MAC3B,OAAO,IAAI,CAACf,OAAO,CAACe,UAAU;IAChC;IAEA,OAAO,MAAM;MACX;IAAA,CACD;EACH;;EAEA;AACF;EACE,IAAIC,MAAM,GAAwC;IAChD,OAAO,IAAI,CAAChB,OAAO,CAACgB,MAAM,IAAI,CAAC,CAAC;EAClC;;EAEA;AACF;EACE,IAAIC,OAAO,GAAyB;IAClC,MAAMC,WAAW,GAAG;MAClBC,MAAM,EAAEtB,SAAS;MACjB,cAAc,EAAEA,SAAS;MAEzB;MACA,kBAAkB,EAAE,gBAAgB;MAEpC,iBAAiB,EAAE;IACrB,CAAC;IAED,IAAI,IAAI,CAACG,OAAO,CAACiB,OAAO,EAAE;MACxB;MACA,OAAO;QACL,GAAGC,WAAW;QACd,GAAG,IAAI,CAAClB,OAAO,CAACiB;MAClB,CAAC;IACH;IAEA,OAAOC,WAAW;EACpB;;EAEA;AACF;EACEE,cAAc,CAACC,MAAgB,EAAO;IACpC,OAAOA,MAAM,CAAC,IAAIrC,gBAAgB,CAAC,IAAI,CAACsB,GAAG,EAAE,IAAI,CAACK,MAAM,CAAC,CAAC;EAC5D;;EAEA;AACF;EACEW,YAAY,CAACD,MAAgB,EAAiC;IAAA,IAA/BE,YAAiB,uEAAG,IAAI;IACrD,MAAM;MAAEC;IAAO,CAAC,GAAG,IAAI,CAACrB,OAAO;IAC/B,MAAM;MAAEsB;IAAS,CAAC,GAAG,IAAI,CAACzB,OAAO;IAEjC,IAAIwB,MAAM,KAAKjC,kBAAkB,EAAE;MACjC,OAAO8B,MAAM,CAAC,IAAIlC,gBAAgB,CAAC,IAAI,CAACmB,GAAG,EAAE,IAAI,CAACK,MAAM,CAAC,CAAC;IAC5D;IAEA,IAAIa,MAAM,KAAK5B,cAAc,EAAE;MAC7B,OAAOyB,MAAM,CAAC,IAAIpC,iBAAiB,CAAC,IAAI,CAACqB,GAAG,EAAE,IAAI,CAACK,MAAM,EAAEc,QAAQ,CAAC,CAAC;IACvE;IAEA,IAAID,MAAM,KAAK9B,iBAAiB,EAAE;MAChC,OAAO2B,MAAM,CACX,IAAIvC,qBAAqB,CAAC,IAAI,CAACwB,GAAG,EAAE,IAAI,CAACK,MAAM,EAAEY,YAAY,CAAC,CAC/D;IACH;IAEA,OAAOF,MAAM,CAAC,IAAItC,cAAc,CAACwC,YAAY,EAAE,IAAI,CAACpB,OAAO,EAAE,IAAI,CAACH,OAAO,CAAC,CAAC;EAC7E;;EAEA;AACF;EACE0B,WAAW,GAAQ;IACjB,MAAM;MAAEZ,YAAY;MAAEa;IAAS,CAAC,GAAG,IAAI,CAACxB,OAAO;IAE/C,IACE,CAACW,YAAY,KAAK,EAAE,IAAIA,YAAY,KAAK,MAAM,KAC/C,IAAI,CAACc,iBAAiB,CAAC,cAAc,CAAC,KAAK/B,SAAS,EACpD;MACA,IAAIjB,aAAa,CAAC+C,QAAQ,CAAC,EAAE;QAC3B,OAAOA,QAAQ;MACjB;MAEA,IAAI;QACF,OAAOE,IAAI,CAACC,KAAK,CAACH,QAAQ,CAAC;MAC7B,CAAC,CAAC,OAAOI,KAAK,EAAE;QACd,MAAM,IAAI7C,kBAAkB,CAAC6C,KAAK,CAAC;MACrC;IACF;IAEA,OAAOJ,QAAQ;EACjB;;EAEA;AACF;EACEK,eAAe,CAACC,OAAiB,EAAEZ,MAAgB,EAAO;IACxD,MAAM;MAAEG;IAAO,CAAC,GAAG,IAAI,CAACrB,OAAO;IAE/B,IAAIwB,QAAQ,GAAG,IAAI;IACnB,IAAI;MACFA,QAAQ,GAAG,IAAI,CAACD,WAAW,EAAE;IAC/B,CAAC,CAAC,OAAOK,KAAK,EAAE;MACd,OAAOV,MAAM,CAACU,KAAK,CAAC;IACtB;IAEA,IACGP,MAAM,IAAIhC,YAAY,IAAIgC,MAAM,GAAG7B,gBAAgB,IACnD6B,MAAM,KAAK/B,iBAAiB,IAAId,GAAG,CAACgD,QAAQ,EAAE,cAAc,CAAE,EAC/D;MACA,OAAOM,OAAO,CAACN,QAAQ,CAAC;IAC1B;IAEA,OAAO,IAAI,CAACL,YAAY,CAACD,MAAM,EAAEM,QAAQ,CAAC;EAC5C;;EAEA;AACF;EACEO,iBAAiB,CAACD,OAAiB,EAAEZ,MAAgB,EAAE;IACrD,IAAI,IAAI,CAACrB,OAAO,CAACe,UAAU,EAAE;MAC3B,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAACoB,OAAO,CAAEC,SAAS,IAAK;QAClE,IAAI,CAACjC,OAAO,CAACkC,gBAAgB,CAACD,SAAS,EAAE,IAAI,CAACrB,UAAU,CAAC;MAC3D,CAAC,CAAC;IACJ;IAEA,CAAC,OAAO,EAAE,OAAO,CAAC,CAACoB,OAAO,CAAEC,SAAS,IAAK;MACxC,IAAI,CAACjC,OAAO,CAACkC,gBAAgB,CAACD,SAAS,EAAE,MAAM,IAAI,CAACd,YAAY,CAACD,MAAM,CAAC,CAAC;IAC3E,CAAC,CAAC;IAEF,IAAI,CAAClB,OAAO,CAACkC,gBAAgB,CAAC,SAAS,EAAE,MAAM,IAAI,CAACjB,cAAc,CAACC,MAAM,CAAC,CAAC;IAE3E,IAAI,CAAClB,OAAO,CAACkC,gBAAgB,CAAC,MAAM,EAAE,MACpC,IAAI,CAACL,eAAe,CAACC,OAAO,EAAEZ,MAAM,CAAC,CACtC;;IAED;IACA,aAAY,IAAI,CAACL,MAAM,CAAC,CAACmB,OAAO,CAAEG,SAAS,IAAK;MAC9C,IAAI,CAACnC,OAAO,CAACkC,gBAAgB,CAACC,SAAS,EAAE,IAAI,CAACtB,MAAM,CAACsB,SAAS,CAAC,CAAC;IAClE,CAAC,CAAC;EACJ;;EAEA;AACF;EACEC,cAAc,GAAG;IACf,IAAI,CAACpC,OAAO,CAACqC,IAAI,CAAC,IAAI,CAAC7B,MAAM,EAAE,IAAI,CAACL,GAAG,EAAE,IAAI,CAAC;EAChD;;EAEA;AACF;EACEmC,sBAAsB,GAAG;IACvB,IAAIrD,KAAK,CAACsD,OAAO,CAAC,OAAO,CAAC,EAAE;MAC1B,IAAI,CAACvC,OAAO,CAACwC,eAAe,GAAG,IAAI;MACnC,MAAMC,UAAU,GAAGxD,KAAK,CAACyD,OAAO,CAAC,OAAO,CAAC;MAEzC,IAAI,OAAOD,UAAU,KAAK,QAAQ,EAAE;QAClC,IAAI,CAACzC,OAAO,CAAC2C,gBAAgB,CAAC,eAAe,EAAG,SAAQF,UAAW,EAAC,CAAC;MACvE;IACF;EACF;;EAEA;AACF;EACEhB,iBAAiB,CAACmB,UAAkB,EAAiB;IACnD,OAAO,IAAI,CAAC5C,OAAO,CAACyB,iBAAiB,CAACmB,UAAU,CAAC;EACnD;;EAEA;AACF;EACEC,gBAAgB,GAAG;IACjB,aAAY,IAAI,CAAC/B,OAAO,CAAC,CAACkB,OAAO,CAAEY,UAAU,IAAK;MAChD,IAAI,CAAC5C,OAAO,CAAC2C,gBAAgB,CAACC,UAAU,EAAE,IAAI,CAAC9B,OAAO,CAAC8B,UAAU,CAAC,CAAC;IACrE,CAAC,CAAC;EACJ;;EAEA;AACF;EACEE,eAAe,GAAG;IAChB,IAAI,CAAC9C,OAAO,CAACW,YAAY,GAAG,IAAI,CAACA,YAAY;IAC7C,IAAI,CAACX,OAAO,CAACU,OAAO,GAAG,IAAI,CAACA,OAAO;EACrC;;EAEA;AACF;EACEqC,QAAQ,GAAG;IACT,IAAI,IAAI,CAACxC,IAAI,IAAI,IAAI,EAAE;MACrB,IAAI,CAACP,OAAO,CAACgD,IAAI,EAAE;IACrB,CAAC,MAAM;MACL,MAAMC,UAAU,GAAGxE,aAAa,CAAC,IAAI,CAAC8B,IAAI,CAAC,GACvC,gBAAe,IAAI,CAACA,IAAI,CAAC,GACzB,IAAI,CAACA,IAAI;MACb,IAAI,CAACP,OAAO,CAACgD,IAAI,CAACC,UAAU,CAAC;IAC/B;EACF;;EAEA;AACF;EACEC,iBAAiB,GAAiB;IAChC,OAAO,aAAY,CAACpB,OAAO,EAAEZ,MAAM,KAAK;MACtC,IAAI,CAAClB,OAAO,GAAG,IAAImD,cAAc,EAAE;MAEnC,IAAI,CAACpB,iBAAiB,CAACD,OAAO,EAAEZ,MAAM,CAAC;MAEvC,IAAI,CAACkB,cAAc,EAAE;MAErB,IAAI,CAACE,sBAAsB,EAAE;MAE7B,IAAI,CAACO,gBAAgB,EAAE;MAEvB,IAAI,CAACC,eAAe,EAAE;MAEtB,IAAI,CAACC,QAAQ,EAAE;IACjB,CAAC,CAAC;EACJ;;EAEA;AACF;EACE,MAAMK,KAAK,GAAiB;IAC1B,IAAI;MACF,OAAO,MAAM,IAAI,CAACF,iBAAiB,EAAE;IACvC,CAAC,CAAC,OAAOG,GAAG,EAAE;MACZ,IAAIA,GAAG,YAAYrE,gBAAgB,IAAI,IAAI,CAACkB,QAAQ,GAAG,CAAC,EAAE;QACxD,IAAI,CAACA,QAAQ,IAAI,CAAC;QAClB,OAAO,IAAI,CAACkD,KAAK,EAAE;MACrB;MAEA,MAAMC,GAAG;IACX;EACF;AACF;;AAEA;AACA;AACA,MAAMC,sBAAsB,GAAIC,IAAoB,IAAK;EACvD,IAAIA,IAAI,IAAI,IAAI,EAAE;IAChB,MAAM,IAAI7E,wBAAwB,CAChC,kEAAkE,CACnE;EACH;EAEA,IAAI,CAACD,aAAa,CAAC8E,IAAI,CAAC,EAAE;IACxB,MAAM,IAAI7E,wBAAwB,CAC/B,0DAAyD6E,IAAI,CAACC,QAAQ,EAAG,EAAC,CAC5E;EACH;EAEA,IAAI,CAAChF,GAAG,CAAC+E,IAAI,EAAE,KAAK,CAAC,EAAE;IACrB,MAAM,IAAI7E,wBAAwB,CAC/B,wDAAuD,gBACtD6E,IAAI,CACJ,EAAC,CACJ;EACH;EAEA,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA,MAAME,GAAG,GAAIF,IAAoB,IAAmB;EAClDD,sBAAsB,CAACC,IAAI,CAAC;EAE5B,OAAO,IAAI5D,GAAG,CAAC4D,IAAI,CAAC,CAACH,KAAK,EAAE;AAC9B,CAAC;AAED,eAAeK,GAAG"}
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 // const fullUrl = `${BASE}/${url}`.replace(/\\/\\//g, \"/\");\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;;EAEA,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"}
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"}
@@ -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/createHash";
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";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","Cache","serverFetch","universalFetch","xhr","createUUID","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/createHash\";\nexport { default as createUUID } from \"./helpers/createUUID\";\nexport * from \"./helpers/sanitizeHtml\";\nexport * from \"./helpers/objects\";\nexport * from \"./helpers/text\";\nexport * from \"./helpers/checkResource\";\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,sBAAsB;AACpC,SAASJ,OAAO,IAAIK,UAAU,QAAQ,sBAAsB;AAC5D,cAAc,wBAAwB;AACtC,cAAc,mBAAmB;AACjC,cAAc,gBAAgB;AAC9B,cAAc,yBAAyB;;AAEvC;AACA,SAASL,OAAO,IAAIM,aAAa,QAAQ,wBAAwB;AACjE,SAASN,OAAO,IAAIO,WAAW,QAAQ,sBAAsB;AAC7D,cAAc,uBAAuB"}
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.fallbackDefaultAuthenticationType = exports.VALIDATE_DEBOUNCE_TIMEOUT = exports.USE_CACHE = exports.USERPROFILE_PATH = exports.UPLOAD_PATH = exports.TIMEVERSION_FILTER_NAME = exports.PARAMETER_SEPARATOR = exports.NOTIFICATION_TYPES = exports.MODULARUI_STATUS = exports.MODULARUI_CONTRIBUTIONS = 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.CONTENT_PATH = exports.CHANGEPASSWORD_PATH = exports.CAPTCHA_PATH = exports.BASE = exports.AUTOSAVE_STATUS = exports.ATTRIBUTE_WIDTH = exports.APPLICATION_PATH = exports.ALL_CONTENT_IN_DATA_SETTING = void 0;
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
- exports.APPLICATION_PATH = APPLICATION_PATH;
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 = `${BASE}/uploadFile`;
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 = `${BASE}/captchaServices`;
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
- * Separator for parameters of a list, makes it possible to render multiple lists on a page in a non-js environment
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 fallbackDefaultAuthenticationType = {
195
+ const DEFAULT_AUTHENTICATION_TYPE = {
225
196
  name: "Form based authentication",
226
197
  authentication: "DefaultFormClient",
227
198
  isPrimary: true
228
199
  };
229
- exports.fallbackDefaultAuthenticationType = fallbackDefaultAuthenticationType;
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 = `${BASE}/content`;
5
+ export const CONTENT_PATH = `/content`;
43
6
 
44
7
  /**
45
8
  * Upload Path
46
9
  */
47
- export const UPLOAD_PATH = `${BASE}/uploadFile`;
10
+ export const UPLOAD_PATH = `/uploadFile`;
48
11
 
49
12
  /**
50
13
  * Captcha Path
51
14
  */
52
- export const CAPTCHA_PATH = `${BASE}/captchaServices`;
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 fallbackDefaultAuthenticationType = {
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":["USE_CACHE","serverBase","__CONTEXT_PATH__","BASE","window","contextPath","MODULARUI_CONTRIBUTIONS","APPLICATION_URI","APPLICATION_PATH","CONTENT_PATH","UPLOAD_PATH","CAPTCHA_PATH","CHANGEPASSWORD_PATH","USERPROFILE_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","fallbackDefaultAuthenticationType","name","authentication","isPrimary"],"sources":["../../src/constants/Constants.js"],"sourcesContent":["// @flow\n/**\n * Indicates if contributions should be cached\n */\nexport const USE_CACHE = true;\n\nconst serverBase =\n typeof __CONTEXT_PATH__ === \"undefined\" ? null : __CONTEXT_PATH__;\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 BASE: string =\n serverBase ??\n (typeof window !== \"undefined\" && window.contextPath\n ? window.contextPath\n : \"/BeInformed\");\n\n/**\n * Path to the contributions api end point\n * /contributions uri part is added through the _links in the data service\n */\nexport const MODULARUI_CONTRIBUTIONS = \"/contributions\";\n\n/**\n * Application uri\n * @private\n */\nconst APPLICATION_URI = \"/\";\n\n/**\n * Base Path\n */\nexport const APPLICATION_PATH: string = BASE + APPLICATION_URI;\n\n/**\n * path to content service\n */\nexport const CONTENT_PATH = `${BASE}/content`;\n\n/**\n * Upload Path\n */\nexport const UPLOAD_PATH = `${BASE}/uploadFile`;\n\n/**\n * Captcha Path\n */\nexport const CAPTCHA_PATH = `${BASE}/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 * 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 fallbackDefaultAuthenticationType = {\n name: \"Form based authentication\",\n authentication: \"DefaultFormClient\",\n isPrimary: true,\n};\n"],"mappings":"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"}
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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"}