cmat 0.0.45 → 0.0.46

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 (134) hide show
  1. package/fesm2022/cmat-components-adapter.mjs +9 -9
  2. package/fesm2022/cmat-components-adapter.mjs.map +1 -1
  3. package/fesm2022/cmat-components-breadcrumb.mjs +9 -9
  4. package/fesm2022/cmat-components-breadcrumb.mjs.map +1 -1
  5. package/fesm2022/cmat-components-card.mjs +3 -3
  6. package/fesm2022/cmat-components-card.mjs.map +1 -1
  7. package/fesm2022/cmat-components-carousel.mjs +12 -12
  8. package/fesm2022/cmat-components-carousel.mjs.map +1 -1
  9. package/fesm2022/cmat-components-cascade.mjs +9 -9
  10. package/fesm2022/cmat-components-cascade.mjs.map +1 -1
  11. package/fesm2022/cmat-components-chip-input.mjs +3 -3
  12. package/fesm2022/cmat-components-chip-input.mjs.map +1 -1
  13. package/fesm2022/cmat-components-custom-formly.mjs +88 -88
  14. package/fesm2022/cmat-components-custom-formly.mjs.map +1 -1
  15. package/fesm2022/cmat-components-date-range.mjs +3 -3
  16. package/fesm2022/cmat-components-date-range.mjs.map +1 -1
  17. package/fesm2022/cmat-components-drawer.mjs +6 -6
  18. package/fesm2022/cmat-components-drawer.mjs.map +1 -1
  19. package/fesm2022/cmat-components-fullscreen.mjs +3 -3
  20. package/fesm2022/cmat-components-fullscreen.mjs.map +1 -1
  21. package/fesm2022/cmat-components-highlight.mjs +6 -6
  22. package/fesm2022/cmat-components-highlight.mjs.map +1 -1
  23. package/fesm2022/cmat-components-image-viewer.mjs +3 -3
  24. package/fesm2022/cmat-components-image-viewer.mjs.map +1 -1
  25. package/fesm2022/cmat-components-json-editor.mjs +3 -3
  26. package/fesm2022/cmat-components-json-editor.mjs.map +1 -1
  27. package/fesm2022/cmat-components-knob-input.mjs +3 -3
  28. package/fesm2022/cmat-components-knob-input.mjs.map +1 -1
  29. package/fesm2022/cmat-components-masonry.mjs +3 -3
  30. package/fesm2022/cmat-components-masonry.mjs.map +1 -1
  31. package/fesm2022/cmat-components-material-color-picker.mjs +3 -3
  32. package/fesm2022/cmat-components-material-color-picker.mjs.map +1 -1
  33. package/fesm2022/cmat-components-material-datetimepicker.mjs +42 -42
  34. package/fesm2022/cmat-components-material-datetimepicker.mjs.map +1 -1
  35. package/fesm2022/cmat-components-navigation.mjs +39 -39
  36. package/fesm2022/cmat-components-navigation.mjs.map +1 -1
  37. package/fesm2022/cmat-components-opt-input.mjs +3 -3
  38. package/fesm2022/cmat-components-opt-input.mjs.map +1 -1
  39. package/fesm2022/cmat-components-org-chart.mjs +9 -9
  40. package/fesm2022/cmat-components-org-chart.mjs.map +1 -1
  41. package/fesm2022/cmat-components-pagination.mjs +12 -12
  42. package/fesm2022/cmat-components-pagination.mjs.map +1 -1
  43. package/fesm2022/cmat-components-password-strength.mjs +9 -9
  44. package/fesm2022/cmat-components-password-strength.mjs.map +1 -1
  45. package/fesm2022/cmat-components-popover.mjs +9 -9
  46. package/fesm2022/cmat-components-popover.mjs.map +1 -1
  47. package/fesm2022/cmat-components-progress-bar.mjs +3 -3
  48. package/fesm2022/cmat-components-progress-bar.mjs.map +1 -1
  49. package/fesm2022/cmat-components-qrcode.mjs +3 -3
  50. package/fesm2022/cmat-components-qrcode.mjs.map +1 -1
  51. package/fesm2022/cmat-components-rating.mjs +3 -3
  52. package/fesm2022/cmat-components-rating.mjs.map +1 -1
  53. package/fesm2022/cmat-components-select-search.mjs +9 -9
  54. package/fesm2022/cmat-components-select-search.mjs.map +1 -1
  55. package/fesm2022/cmat-components-select-table.mjs +3 -3
  56. package/fesm2022/cmat-components-select-table.mjs.map +1 -1
  57. package/fesm2022/cmat-components-select-tree.mjs +3 -3
  58. package/fesm2022/cmat-components-select-tree.mjs.map +1 -1
  59. package/fesm2022/cmat-components-speed-dial.mjs +9 -9
  60. package/fesm2022/cmat-components-speed-dial.mjs.map +1 -1
  61. package/fesm2022/cmat-components-timeline.mjs +12 -12
  62. package/fesm2022/cmat-components-timeline.mjs.map +1 -1
  63. package/fesm2022/cmat-components-toast.mjs +9 -9
  64. package/fesm2022/cmat-components-toast.mjs.map +1 -1
  65. package/fesm2022/cmat-components-transfer-picker.mjs +18 -18
  66. package/fesm2022/cmat-components-transfer-picker.mjs.map +1 -1
  67. package/fesm2022/cmat-components-treetable.mjs +6 -6
  68. package/fesm2022/cmat-components-treetable.mjs.map +1 -1
  69. package/fesm2022/cmat-components-upload.mjs +9 -9
  70. package/fesm2022/cmat-components-upload.mjs.map +1 -1
  71. package/fesm2022/cmat-components-x6-angular-shape.mjs.map +1 -1
  72. package/fesm2022/cmat-directives-animate-on-scroll.mjs +6 -6
  73. package/fesm2022/cmat-directives-animate-on-scroll.mjs.map +1 -1
  74. package/fesm2022/cmat-directives-arrow-cursor.mjs +3 -3
  75. package/fesm2022/cmat-directives-arrow-cursor.mjs.map +1 -1
  76. package/fesm2022/cmat-directives-autofocus.mjs +3 -3
  77. package/fesm2022/cmat-directives-autofocus.mjs.map +1 -1
  78. package/fesm2022/cmat-directives-data-exporter.mjs +21 -21
  79. package/fesm2022/cmat-directives-data-exporter.mjs.map +1 -1
  80. package/fesm2022/cmat-directives-debounce.mjs +9 -9
  81. package/fesm2022/cmat-directives-debounce.mjs.map +1 -1
  82. package/fesm2022/cmat-directives-digit-only.mjs +6 -6
  83. package/fesm2022/cmat-directives-digit-only.mjs.map +1 -1
  84. package/fesm2022/cmat-directives-equal-validator.mjs +3 -3
  85. package/fesm2022/cmat-directives-equal-validator.mjs.map +1 -1
  86. package/fesm2022/cmat-lib-mock-api.mjs +6 -6
  87. package/fesm2022/cmat-lib-mock-api.mjs.map +1 -1
  88. package/fesm2022/cmat-pipes-bytes.mjs +3 -3
  89. package/fesm2022/cmat-pipes-bytes.mjs.map +1 -1
  90. package/fesm2022/cmat-pipes-date-format.mjs +3 -3
  91. package/fesm2022/cmat-pipes-date-format.mjs.map +1 -1
  92. package/fesm2022/cmat-pipes-find-by-key.mjs +3 -3
  93. package/fesm2022/cmat-pipes-find-by-key.mjs.map +1 -1
  94. package/fesm2022/cmat-pipes-group-by.mjs +3 -3
  95. package/fesm2022/cmat-pipes-group-by.mjs.map +1 -1
  96. package/fesm2022/cmat-pipes-keys.mjs +3 -3
  97. package/fesm2022/cmat-pipes-keys.mjs.map +1 -1
  98. package/fesm2022/cmat-pipes-secure.mjs +3 -3
  99. package/fesm2022/cmat-pipes-secure.mjs.map +1 -1
  100. package/fesm2022/cmat-pipes-uppercase.mjs +3 -3
  101. package/fesm2022/cmat-pipes-uppercase.mjs.map +1 -1
  102. package/fesm2022/cmat-services-alert.mjs +3 -3
  103. package/fesm2022/cmat-services-alert.mjs.map +1 -1
  104. package/fesm2022/cmat-services-config.mjs +6 -6
  105. package/fesm2022/cmat-services-config.mjs.map +1 -1
  106. package/fesm2022/cmat-services-confirmation.mjs +6 -6
  107. package/fesm2022/cmat-services-confirmation.mjs.map +1 -1
  108. package/fesm2022/cmat-services-data.mjs +3 -3
  109. package/fesm2022/cmat-services-data.mjs.map +1 -1
  110. package/fesm2022/cmat-services-export-as.mjs +3 -3
  111. package/fesm2022/cmat-services-export-as.mjs.map +1 -1
  112. package/fesm2022/cmat-services-loading.mjs +6 -6
  113. package/fesm2022/cmat-services-loading.mjs.map +1 -1
  114. package/fesm2022/cmat-services-local-storage.mjs +3 -3
  115. package/fesm2022/cmat-services-local-storage.mjs.map +1 -1
  116. package/fesm2022/cmat-services-media-watcher.mjs +3 -3
  117. package/fesm2022/cmat-services-media-watcher.mjs.map +1 -1
  118. package/fesm2022/cmat-services-platform.mjs +3 -3
  119. package/fesm2022/cmat-services-platform.mjs.map +1 -1
  120. package/fesm2022/cmat-services-splash-screen.mjs +3 -3
  121. package/fesm2022/cmat-services-splash-screen.mjs.map +1 -1
  122. package/fesm2022/cmat-services-title.mjs +3 -3
  123. package/fesm2022/cmat-services-title.mjs.map +1 -1
  124. package/fesm2022/cmat-services-translation.mjs +3 -3
  125. package/fesm2022/cmat-services-translation.mjs.map +1 -1
  126. package/fesm2022/cmat-services-utils.mjs +3 -3
  127. package/fesm2022/cmat-services-utils.mjs.map +1 -1
  128. package/fesm2022/cmat-validators.mjs.map +1 -1
  129. package/fesm2022/cmat-version.mjs.map +1 -1
  130. package/package.json +35 -35
  131. package/styles/components/bundle.scss +7 -7
  132. package/styles/overrides/angular-material.scss +3 -3
  133. package/styles/overrides/fullcalendar.scss +7 -7
  134. package/styles/themes.scss +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"cmat-services-alert.mjs","sources":["../../../projects/cmat/services/alert/alert.dialog.ts","../../../projects/cmat/services/alert/alert.message.ts","../../../projects/cmat/services/alert/enum.ts","../../../projects/cmat/services/alert/alert.service.ts","../../../projects/cmat/services/alert/cmat-services-alert.ts"],"sourcesContent":["import { CmatDialogType } from './enum';\r\n\r\nexport class CmatAlertDialog {\r\n constructor(public message: string, public type: CmatDialogType, public okCallback?: (val?: any) => any, public cancelCallback?: () => any,\r\n public defaultValue?: string, public okLabel?: string, public cancelLabel?: string) {\r\n\r\n }\r\n}\r\n","import { CmatMessageSeverity } from './enum';\r\n\r\nexport class CmatAlertMessage {\r\n constructor(public severity: CmatMessageSeverity, public summary: string, public detail: string, public isPostionBottom: boolean = false) { }\r\n}\r\n","export enum CmatDialogType {\r\n alert,\r\n confirm,\r\n prompt\r\n}\r\n\r\nexport enum CmatMessageSeverity {\r\n info = 'info',\r\n success = 'success',\r\n error = 'error',\r\n warning = 'warning',\r\n wait = 'wait'\r\n}\r\n","import { HttpResponseBase } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { CmatUtilsService } from 'cmat/services/utils';\r\nimport { CmatAlertDialog } from './alert.dialog';\r\nimport { CmatAlertMessage } from './alert.message';\r\nimport { CmatDialogType, CmatMessageSeverity } from './enum';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatAlertService {\r\n private _messages = new Subject<CmatAlertMessage>();\r\n private _stickyMessages = new Subject<CmatAlertMessage | void>();\r\n private _dialogs = new Subject<CmatAlertDialog>();\r\n\r\n private _isLoading = new Subject<boolean>();\r\n private _loadingMessageId: any;\r\n\r\n get dialogEvent$(): Observable<CmatAlertDialog> {\r\n return this._dialogs.asObservable();\r\n }\r\n\r\n\r\n get messageEvent$(): Observable<CmatAlertMessage> {\r\n return this._messages.asObservable();\r\n }\r\n\r\n get stickyMessageEvent$(): Observable<CmatAlertMessage | void> {\r\n return this._stickyMessages.asObservable();\r\n }\r\n\r\n get isLoadingInProgress$(): Observable<boolean> {\r\n return this._isLoading.asObservable();\r\n }\r\n\r\n showDialog(message: string, type?: CmatDialogType, okCallback?: (val?: any) => any, cancelCallback?: () => any,\r\n okLabel?: string, cancelLabel?: string, defaultValue?: string): void {\r\n\r\n type ??= CmatDialogType.alert;\r\n\r\n this._dialogs.next({\r\n message: message,\r\n type: type,\r\n okCallback: okCallback,\r\n cancelCallback: cancelCallback,\r\n okLabel: okLabel,\r\n cancelLabel: cancelLabel,\r\n defaultValue: defaultValue\r\n });\r\n }\r\n\r\n showMessage(summary: string): void;\r\n showMessage(detail: string | string[] | HttpResponseBase, params: string, severity: CmatMessageSeverity): void;\r\n showMessage(data: any, separatorOrDetail?: string, severity?: CmatMessageSeverity): void {\r\n severity ??= CmatMessageSeverity.info;\r\n\r\n if (data instanceof HttpResponseBase) {\r\n data = CmatUtilsService.getHttpResponseMessage(data);\r\n separatorOrDetail = CmatUtilsService.captionAndMessageSeparator;\r\n }\r\n\r\n if (data instanceof Array) {\r\n for (const message of data) {\r\n const msgObject = CmatUtilsService.splitInTwo(message, separatorOrDetail);\r\n\r\n this._showMessageHelper(msgObject.firstPart, msgObject.secondPart ?? '', severity, false);\r\n }\r\n } else {\r\n this._showMessageHelper(data, separatorOrDetail ?? '', severity, false);\r\n }\r\n }\r\n\r\n showBottomMessage(summary: string): void;\r\n showBottomMessage(summary: string, detail: string, severity: CmatMessageSeverity): void;\r\n showBottomMessage(data: any, separatorOrDetail?: string, severity?: CmatMessageSeverity): void {\r\n severity ??= CmatMessageSeverity.info;\r\n\r\n if (data instanceof HttpResponseBase) {\r\n data = CmatUtilsService.getHttpResponseMessage(data);\r\n separatorOrDetail = CmatUtilsService.captionAndMessageSeparator;\r\n }\r\n\r\n if (data instanceof Array) {\r\n for (const message of data) {\r\n const msgObject = CmatUtilsService.splitInTwo(message, separatorOrDetail);\r\n\r\n this._showMessageHelper(msgObject.firstPart, msgObject.secondPart ?? '', severity, true, true);\r\n }\r\n } else {\r\n this._showMessageHelper(data, separatorOrDetail ?? '', severity, true, true);\r\n }\r\n }\r\n\r\n\r\n showStickyMessage(summary: string): void;\r\n showStickyMessage(summary: string, detail: string, severity: CmatMessageSeverity, error?: any): void;\r\n showStickyMessage(detail: string[] | HttpResponseBase, params: string, severity: CmatMessageSeverity): void;\r\n showStickyMessage(data: string | string[] | HttpResponseBase, separatorOrDetail?: string, severity?: CmatMessageSeverity, error?: any): void {\r\n\r\n severity ??= CmatMessageSeverity.info;\r\n\r\n if (data instanceof HttpResponseBase) {\r\n data = CmatUtilsService.getHttpResponseMessage(data);\r\n separatorOrDetail = CmatUtilsService.captionAndMessageSeparator;\r\n }\r\n\r\n\r\n if (data instanceof Array) {\r\n for (const message of data) {\r\n const msgObject = CmatUtilsService.splitInTwo(message, separatorOrDetail); this._showMessageHelper(msgObject.firstPart, msgObject.secondPart ?? '', severity, true);\r\n }\r\n } else {\r\n if (error) {\r\n\r\n const msg = `Message.Severity: \"${CmatMessageSeverity[severity]}\", Message.Summary: \"${data}\", \r\n Message.Detail: \"${separatorOrDetail}\", Message.Error: \"${CmatUtilsService.safeStringify(error)}\"`;\r\n\r\n switch (severity) {\r\n case CmatMessageSeverity.info:\r\n this.logInfo(msg);\r\n break;\r\n case CmatMessageSeverity.success:\r\n this.logMessage(msg);\r\n break;\r\n case CmatMessageSeverity.error:\r\n this.logError(msg);\r\n break;\r\n case CmatMessageSeverity.warning:\r\n this.logWarning(msg);\r\n break;\r\n case CmatMessageSeverity.wait:\r\n this.logTrace(msg);\r\n break;\r\n }\r\n }\r\n\r\n this._showMessageHelper((data) as any, separatorOrDetail ?? '', severity, true);\r\n }\r\n }\r\n\r\n startLoadingMessage(message = '载入中...', caption = ''): void {\r\n this._isLoading.next(true);\r\n clearTimeout(this._loadingMessageId);\r\n\r\n this._loadingMessageId = setTimeout(() => {\r\n this.showStickyMessage(caption, message, CmatMessageSeverity.wait);\r\n }, 1000);\r\n }\r\n\r\n stopLoadingMessage(): void {\r\n this._isLoading.next(false);\r\n clearTimeout(this._loadingMessageId);\r\n this.resetStickyMessage();\r\n }\r\n\r\n\r\n logDebug(msg: any): void {\r\n console.debug(msg);\r\n }\r\n\r\n logError(msg: any): void {\r\n console.error(msg);\r\n }\r\n\r\n logInfo(msg: any): void {\r\n console.info(msg);\r\n }\r\n\r\n logMessage(msg: any): void {\r\n console.log(msg);\r\n }\r\n\r\n logTrace(msg: any): void {\r\n console.trace(msg);\r\n }\r\n\r\n logWarning(msg: any): void {\r\n console.warn(msg);\r\n }\r\n\r\n resetStickyMessage(): void {\r\n this._stickyMessages.next(void 0);\r\n }\r\n\r\n private _showMessageHelper(summary: string, detail: string, severity: CmatMessageSeverity, isSticky: boolean, isPostionBottom: boolean = false): void {\r\n\r\n if (isSticky) {\r\n this._stickyMessages.next({ severity: severity, summary: summary, detail: detail, isPostionBottom: isPostionBottom });\r\n } else {\r\n this._messages.next({ severity: severity, summary: summary, detail: detail, isPostionBottom: isPostionBottom });\r\n }\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmat-services-alert.mjs","sources":["../../../projects/cmat/services/alert/alert.dialog.ts","../../../projects/cmat/services/alert/alert.message.ts","../../../projects/cmat/services/alert/enum.ts","../../../projects/cmat/services/alert/alert.service.ts","../../../projects/cmat/services/alert/cmat-services-alert.ts"],"sourcesContent":["import { CmatDialogType } from './enum';\r\n\r\nexport class CmatAlertDialog {\r\n constructor(public message: string, public type: CmatDialogType, public okCallback?: (val?: any) => any, public cancelCallback?: () => any,\r\n public defaultValue?: string, public okLabel?: string, public cancelLabel?: string) {\r\n\r\n }\r\n}\r\n","import { CmatMessageSeverity } from './enum';\r\n\r\nexport class CmatAlertMessage {\r\n constructor(public severity: CmatMessageSeverity, public summary: string, public detail: string, public isPostionBottom: boolean = false) { }\r\n}\r\n","export enum CmatDialogType {\r\n alert,\r\n confirm,\r\n prompt\r\n}\r\n\r\nexport enum CmatMessageSeverity {\r\n info = 'info',\r\n success = 'success',\r\n error = 'error',\r\n warning = 'warning',\r\n wait = 'wait'\r\n}\r\n","import { HttpResponseBase } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { CmatUtilsService } from 'cmat/services/utils';\r\nimport { CmatAlertDialog } from './alert.dialog';\r\nimport { CmatAlertMessage } from './alert.message';\r\nimport { CmatDialogType, CmatMessageSeverity } from './enum';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatAlertService {\r\n private _messages = new Subject<CmatAlertMessage>();\r\n private _stickyMessages = new Subject<CmatAlertMessage | void>();\r\n private _dialogs = new Subject<CmatAlertDialog>();\r\n\r\n private _isLoading = new Subject<boolean>();\r\n private _loadingMessageId: any;\r\n\r\n get dialogEvent$(): Observable<CmatAlertDialog> {\r\n return this._dialogs.asObservable();\r\n }\r\n\r\n\r\n get messageEvent$(): Observable<CmatAlertMessage> {\r\n return this._messages.asObservable();\r\n }\r\n\r\n get stickyMessageEvent$(): Observable<CmatAlertMessage | void> {\r\n return this._stickyMessages.asObservable();\r\n }\r\n\r\n get isLoadingInProgress$(): Observable<boolean> {\r\n return this._isLoading.asObservable();\r\n }\r\n\r\n showDialog(message: string, type?: CmatDialogType, okCallback?: (val?: any) => any, cancelCallback?: () => any,\r\n okLabel?: string, cancelLabel?: string, defaultValue?: string): void {\r\n\r\n type ??= CmatDialogType.alert;\r\n\r\n this._dialogs.next({\r\n message: message,\r\n type: type,\r\n okCallback: okCallback,\r\n cancelCallback: cancelCallback,\r\n okLabel: okLabel,\r\n cancelLabel: cancelLabel,\r\n defaultValue: defaultValue\r\n });\r\n }\r\n\r\n showMessage(summary: string): void;\r\n showMessage(detail: string | string[] | HttpResponseBase, params: string, severity: CmatMessageSeverity): void;\r\n showMessage(data: any, separatorOrDetail?: string, severity?: CmatMessageSeverity): void {\r\n severity ??= CmatMessageSeverity.info;\r\n\r\n if (data instanceof HttpResponseBase) {\r\n data = CmatUtilsService.getHttpResponseMessage(data);\r\n separatorOrDetail = CmatUtilsService.captionAndMessageSeparator;\r\n }\r\n\r\n if (data instanceof Array) {\r\n for (const message of data) {\r\n const msgObject = CmatUtilsService.splitInTwo(message, separatorOrDetail);\r\n\r\n this._showMessageHelper(msgObject.firstPart, msgObject.secondPart ?? '', severity, false);\r\n }\r\n } else {\r\n this._showMessageHelper(data, separatorOrDetail ?? '', severity, false);\r\n }\r\n }\r\n\r\n showBottomMessage(summary: string): void;\r\n showBottomMessage(summary: string, detail: string, severity: CmatMessageSeverity): void;\r\n showBottomMessage(data: any, separatorOrDetail?: string, severity?: CmatMessageSeverity): void {\r\n severity ??= CmatMessageSeverity.info;\r\n\r\n if (data instanceof HttpResponseBase) {\r\n data = CmatUtilsService.getHttpResponseMessage(data);\r\n separatorOrDetail = CmatUtilsService.captionAndMessageSeparator;\r\n }\r\n\r\n if (data instanceof Array) {\r\n for (const message of data) {\r\n const msgObject = CmatUtilsService.splitInTwo(message, separatorOrDetail);\r\n\r\n this._showMessageHelper(msgObject.firstPart, msgObject.secondPart ?? '', severity, true, true);\r\n }\r\n } else {\r\n this._showMessageHelper(data, separatorOrDetail ?? '', severity, true, true);\r\n }\r\n }\r\n\r\n\r\n showStickyMessage(summary: string): void;\r\n showStickyMessage(summary: string, detail: string, severity: CmatMessageSeverity, error?: any): void;\r\n showStickyMessage(detail: string[] | HttpResponseBase, params: string, severity: CmatMessageSeverity): void;\r\n showStickyMessage(data: string | string[] | HttpResponseBase, separatorOrDetail?: string, severity?: CmatMessageSeverity, error?: any): void {\r\n\r\n severity ??= CmatMessageSeverity.info;\r\n\r\n if (data instanceof HttpResponseBase) {\r\n data = CmatUtilsService.getHttpResponseMessage(data);\r\n separatorOrDetail = CmatUtilsService.captionAndMessageSeparator;\r\n }\r\n\r\n\r\n if (data instanceof Array) {\r\n for (const message of data) {\r\n const msgObject = CmatUtilsService.splitInTwo(message, separatorOrDetail); this._showMessageHelper(msgObject.firstPart, msgObject.secondPart ?? '', severity, true);\r\n }\r\n } else {\r\n if (error) {\r\n\r\n const msg = `Message.Severity: \"${CmatMessageSeverity[severity]}\", Message.Summary: \"${data}\", \r\n Message.Detail: \"${separatorOrDetail}\", Message.Error: \"${CmatUtilsService.safeStringify(error)}\"`;\r\n\r\n switch (severity) {\r\n case CmatMessageSeverity.info:\r\n this.logInfo(msg);\r\n break;\r\n case CmatMessageSeverity.success:\r\n this.logMessage(msg);\r\n break;\r\n case CmatMessageSeverity.error:\r\n this.logError(msg);\r\n break;\r\n case CmatMessageSeverity.warning:\r\n this.logWarning(msg);\r\n break;\r\n case CmatMessageSeverity.wait:\r\n this.logTrace(msg);\r\n break;\r\n }\r\n }\r\n\r\n this._showMessageHelper((data) as any, separatorOrDetail ?? '', severity, true);\r\n }\r\n }\r\n\r\n startLoadingMessage(message = '载入中...', caption = ''): void {\r\n this._isLoading.next(true);\r\n clearTimeout(this._loadingMessageId);\r\n\r\n this._loadingMessageId = setTimeout(() => {\r\n this.showStickyMessage(caption, message, CmatMessageSeverity.wait);\r\n }, 1000);\r\n }\r\n\r\n stopLoadingMessage(): void {\r\n this._isLoading.next(false);\r\n clearTimeout(this._loadingMessageId);\r\n this.resetStickyMessage();\r\n }\r\n\r\n\r\n logDebug(msg: any): void {\r\n console.debug(msg);\r\n }\r\n\r\n logError(msg: any): void {\r\n console.error(msg);\r\n }\r\n\r\n logInfo(msg: any): void {\r\n console.info(msg);\r\n }\r\n\r\n logMessage(msg: any): void {\r\n console.log(msg);\r\n }\r\n\r\n logTrace(msg: any): void {\r\n console.trace(msg);\r\n }\r\n\r\n logWarning(msg: any): void {\r\n console.warn(msg);\r\n }\r\n\r\n resetStickyMessage(): void {\r\n this._stickyMessages.next(void 0);\r\n }\r\n\r\n private _showMessageHelper(summary: string, detail: string, severity: CmatMessageSeverity, isSticky: boolean, isPostionBottom: boolean = false): void {\r\n\r\n if (isSticky) {\r\n this._stickyMessages.next({ severity: severity, summary: summary, detail: detail, isPostionBottom: isPostionBottom });\r\n } else {\r\n this._messages.next({ severity: severity, summary: summary, detail: detail, isPostionBottom: isPostionBottom });\r\n }\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -23,10 +23,10 @@ class CmatConfigService {
23
23
  // Set the config
24
24
  this._config.next(this.config);
25
25
  }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
27
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatConfigService, providedIn: 'root' }); }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
27
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatConfigService, providedIn: 'root' }); }
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatConfigService, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatConfigService, decorators: [{
30
30
  type: Injectable,
31
31
  args: [{
32
32
  providedIn: 'root'
@@ -49,10 +49,10 @@ class CmatUrlStateConfigService {
49
49
  // Execute the observable
50
50
  this._config.next(config);
51
51
  }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatUrlStateConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
53
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatUrlStateConfigService, providedIn: 'root' }); }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatUrlStateConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
53
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatUrlStateConfigService, providedIn: 'root' }); }
54
54
  }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatUrlStateConfigService, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatUrlStateConfigService, decorators: [{
56
56
  type: Injectable,
57
57
  args: [{
58
58
  providedIn: 'root'
@@ -1 +1 @@
1
- {"version":3,"file":"cmat-services-config.mjs","sources":["../../../projects/cmat/services/config/config.constants.ts","../../../projects/cmat/services/config/config.service.ts","../../../projects/cmat/services/config/urlStateConfig.service.ts","../../../projects/cmat/services/config/cmat-services-config.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\r\n\r\nexport const CMAT_APP_CONFIG = new InjectionToken<any>('CMAT_APP_CONFIG');\r\n\r\nexport interface IUrlStateConfig {\r\n fileUrl: string;\r\n enableDataProtect: boolean;\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { merge } from 'lodash-es';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { CMAT_APP_CONFIG } from './config.constants';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatConfigService {\r\n private _config: BehaviorSubject<any>;\r\n\r\n \r\n\r\n constructor() {\r\n const config = inject(CMAT_APP_CONFIG);\r\n\r\n this._config = new BehaviorSubject(config);\r\n }\r\n\r\n get config$(): Observable<any> {\r\n return this._config.asObservable();\r\n }\r\n\r\n set config(value: any) {\r\n // Merge the new config over to the current config\r\n const config = merge({}, this._config.getValue(), value);\r\n\r\n // Execute the observable\r\n this._config.next(config);\r\n }\r\n\r\n reset(): void {\r\n // Set the config\r\n this._config.next(this.config);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { merge } from 'lodash-es';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { IUrlStateConfig } from './config.constants';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatUrlStateConfigService {\r\n private _config: BehaviorSubject<IUrlStateConfig> = new BehaviorSubject<IUrlStateConfig>({\r\n fileUrl: '',\r\n enableDataProtect: false\r\n });\r\n\r\n get config$(): Observable<IUrlStateConfig> {\r\n return this._config.asObservable();\r\n }\r\n\r\n config(value: IUrlStateConfig):void {\r\n // Merge the new config over to the current config\r\n const config = merge({}, this._config.getValue(), value);\r\n\r\n // Execute the observable\r\n this._config.next(config);\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAEa,eAAe,GAAG,IAAI,cAAc,CAAM,iBAAiB;;MCM3D,iBAAiB,CAAA;AAK1B,IAAA,WAAA,GAAA;AACI,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;QAEtC,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC;;AAG9C,IAAA,IAAI,OAAO,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;;IAGtC,IAAI,MAAM,CAAC,KAAU,EAAA;;AAEjB,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC;;AAGxD,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;;IAG7B,KAAK,GAAA;;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;8GAzBzB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFd,MAAM,EAAA,CAAA,CAAA;;2FAET,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE;AACf,iBAAA;;;MCCY,yBAAyB,CAAA;AAHtC,IAAA,WAAA,GAAA;QAIY,IAAA,CAAA,OAAO,GAAqC,IAAI,eAAe,CAAkB;AACrF,YAAA,OAAO,EAAE,EAAE;AACX,YAAA,iBAAiB,EAAE;AACtB,SAAA,CAAC;AAaL;AAXG,IAAA,IAAI,OAAO,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;;AAGtC,IAAA,MAAM,CAAC,KAAsB,EAAA;;AAEzB,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC;;AAGxD,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;;8GAfpB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cAFtB,MAAM,EAAA,CAAA,CAAA;;2FAET,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACPD;;AAEG;;;;"}
1
+ {"version":3,"file":"cmat-services-config.mjs","sources":["../../../projects/cmat/services/config/config.constants.ts","../../../projects/cmat/services/config/config.service.ts","../../../projects/cmat/services/config/urlStateConfig.service.ts","../../../projects/cmat/services/config/cmat-services-config.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\r\n\r\nexport const CMAT_APP_CONFIG = new InjectionToken<any>('CMAT_APP_CONFIG');\r\n\r\nexport interface IUrlStateConfig {\r\n fileUrl: string;\r\n enableDataProtect: boolean;\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { merge } from 'lodash-es';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { CMAT_APP_CONFIG } from './config.constants';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatConfigService {\r\n private _config: BehaviorSubject<any>;\r\n\r\n \r\n\r\n constructor() {\r\n const config = inject(CMAT_APP_CONFIG);\r\n\r\n this._config = new BehaviorSubject(config);\r\n }\r\n\r\n get config$(): Observable<any> {\r\n return this._config.asObservable();\r\n }\r\n\r\n set config(value: any) {\r\n // Merge the new config over to the current config\r\n const config = merge({}, this._config.getValue(), value);\r\n\r\n // Execute the observable\r\n this._config.next(config);\r\n }\r\n\r\n reset(): void {\r\n // Set the config\r\n this._config.next(this.config);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { merge } from 'lodash-es';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { IUrlStateConfig } from './config.constants';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatUrlStateConfigService {\r\n private _config: BehaviorSubject<IUrlStateConfig> = new BehaviorSubject<IUrlStateConfig>({\r\n fileUrl: '',\r\n enableDataProtect: false\r\n });\r\n\r\n get config$(): Observable<IUrlStateConfig> {\r\n return this._config.asObservable();\r\n }\r\n\r\n config(value: IUrlStateConfig):void {\r\n // Merge the new config over to the current config\r\n const config = merge({}, this._config.getValue(), value);\r\n\r\n // Execute the observable\r\n this._config.next(config);\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAEa,eAAe,GAAG,IAAI,cAAc,CAAM,iBAAiB;;MCM3D,iBAAiB,CAAA;AAK1B,IAAA,WAAA,GAAA;AACI,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;QAEtC,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC;IAC9C;AAEA,IAAA,IAAI,OAAO,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;IACtC;IAEA,IAAI,MAAM,CAAC,KAAU,EAAA;;AAEjB,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC;;AAGxD,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;IAC7B;IAEA,KAAK,GAAA;;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAClC;8GA1BS,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFd,MAAM,EAAA,CAAA,CAAA;;2FAET,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE;AACf,iBAAA;;;MCCY,yBAAyB,CAAA;AAHtC,IAAA,WAAA,GAAA;QAIY,IAAA,CAAA,OAAO,GAAqC,IAAI,eAAe,CAAkB;AACrF,YAAA,OAAO,EAAE,EAAE;AACX,YAAA,iBAAiB,EAAE;AACtB,SAAA,CAAC;AAaL,IAAA;AAXG,IAAA,IAAI,OAAO,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;IACtC;AAEA,IAAA,MAAM,CAAC,KAAsB,EAAA;;AAEzB,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC;;AAGxD,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;IAC7B;8GAhBS,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cAFtB,MAAM,EAAA,CAAA,CAAA;;2FAET,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACPD;;AAEG;;;;"}
@@ -14,10 +14,10 @@ class CmatConfirmationDialogComponent {
14
14
  this.data = inject(MAT_DIALOG_DATA);
15
15
  this.matDialogRef = inject(MatDialogRef);
16
16
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatConfirmationDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.1", type: CmatConfirmationDialogComponent, isStandalone: true, selector: "cmat-confirmation-dialog", ngImport: i0, template: "<div class=\"relative flex flex-col w-full h-full\">\r\n\r\n <!-- Dismiss button -->\r\n @if (data.dismissible) {\r\n <div class=\"absolute top-0 right-0 pt-4 pr-4\">\r\n <button type=\"button\" matIconButton [matDialogClose]=\"undefined\">\r\n <mat-icon class=\"text-secondary\" [svgIcon]=\"'heroicons_outline:x-mark'\"></mat-icon>\r\n </button>\r\n </div>\r\n }\r\n\r\n <!-- Content -->\r\n <div class=\"flex flex-col sm:flex-row items-center sm:items-start p-8 pb-6 sm:pb-8\">\r\n\r\n <!-- Icon -->\r\n @if (data.icon?.show) {\r\n <div class=\"flex flex-none items-center justify-center w-10 h-10 sm:mr-4 rounded-full\" [ngClass]=\"{'text-primary-600 bg-primary-100 dark:text-primary-50 dark:bg-primary-600': data.icon?.color === 'primary',\r\n 'text-accent-600 bg-accent-100 dark:text-accent-50 dark:bg-accent-600': data.icon?.color === 'accent',\r\n 'text-warn-600 bg-warn-100 dark:text-warn-50 dark:bg-warn-600': data.icon?.color === 'warn',\r\n 'text-slate-600 bg-slate-100 dark:text-slate-50 dark:bg-slate-600': data.icon?.color === 'basic',\r\n 'text-blue-600 bg-blue-100 dark:text-blue-50 dark:bg-blue-600': data.icon?.color === 'info',\r\n 'text-emerald-500 bg-emerald-100 dark:text-emerald-50 dark:bg-emerald-500': data.icon?.color === 'success',\r\n 'text-amber-500 bg-amber-100 dark:text-amber-50 dark:bg-amber-500': data.icon?.color === 'warning',\r\n 'text-red-600 bg-red-100 dark:text-red-50 dark:bg-red-600': data.icon?.color === 'error'\r\n }\">\r\n @if (data.icon?.name) {\r\n <mat-icon class=\"text-current\" [svgIcon]=\"data.icon?.name||''\"></mat-icon>\r\n }\r\n </div>\r\n }\r\n\r\n @if (data.title || data.message) {\r\n <div\r\n class=\"flex flex-col items-center sm:items-start mt-4 sm:mt-0 sm:pr-8 gap-1 text-center sm:text-left\">\r\n <!-- Title -->\r\n @if (data.title) {\r\n <div class=\"text-xl leading-6 font-medium\" [innerHTML]=\"data.title\"></div>\r\n }\r\n <!-- Message -->\r\n @if (data.message) {\r\n <div class=\"text-secondary\" [innerHTML]=\"data.message\"></div>\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n\r\n <!-- Actions -->\r\n @if (data.actions?.confirm?.show || data.actions?.cancel?.show) {\r\n <div\r\n class=\"flex items-center justify-center sm:justify-end px-6 py-4 flex-row gap-3 bg-slate-50 dark:bg-black/10\">\r\n <!-- Confirm -->\r\n @if (data.actions?.confirm?.show) {\r\n <button type=\"button\" matButton=\"filled\" [color]=\"data.actions?.confirm?.color\"\r\n [matDialogClose]=\"'confirmed'\">\r\n {{data.actions?.confirm?.label}}\r\n </button>\r\n }\r\n <!-- Cancel -->\r\n @if (data.actions?.cancel?.show) {\r\n <button type=\"button\" matButton=\"outlined\" [matDialogClose]=\"'cancelled'\">\r\n {{data.actions?.cancel?.label}}\r\n </button>\r\n }\r\n </div>\r\n }\r\n\r\n</div>", styles: [".cmat-confirmation-dialog-panel .mat-mdc-dialog-container{padding:0!important}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None }); }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatConfirmationDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: CmatConfirmationDialogComponent, isStandalone: true, selector: "cmat-confirmation-dialog", ngImport: i0, template: "<div class=\"relative flex flex-col w-full h-full\">\r\n\r\n <!-- Dismiss button -->\r\n @if (data.dismissible) {\r\n <div class=\"absolute top-0 right-0 pt-4 pr-4\">\r\n <button type=\"button\" matIconButton [matDialogClose]=\"undefined\">\r\n <mat-icon class=\"text-secondary\" [svgIcon]=\"'heroicons_outline:x-mark'\"></mat-icon>\r\n </button>\r\n </div>\r\n }\r\n\r\n <!-- Content -->\r\n <div class=\"flex flex-col sm:flex-row items-center sm:items-start p-8 pb-6 sm:pb-8\">\r\n\r\n <!-- Icon -->\r\n @if (data.icon?.show) {\r\n <div class=\"flex flex-none items-center justify-center w-10 h-10 sm:mr-4 rounded-full\" [ngClass]=\"{'text-primary-600 bg-primary-100 dark:text-primary-50 dark:bg-primary-600': data.icon?.color === 'primary',\r\n 'text-accent-600 bg-accent-100 dark:text-accent-50 dark:bg-accent-600': data.icon?.color === 'accent',\r\n 'text-warn-600 bg-warn-100 dark:text-warn-50 dark:bg-warn-600': data.icon?.color === 'warn',\r\n 'text-slate-600 bg-slate-100 dark:text-slate-50 dark:bg-slate-600': data.icon?.color === 'basic',\r\n 'text-blue-600 bg-blue-100 dark:text-blue-50 dark:bg-blue-600': data.icon?.color === 'info',\r\n 'text-emerald-500 bg-emerald-100 dark:text-emerald-50 dark:bg-emerald-500': data.icon?.color === 'success',\r\n 'text-amber-500 bg-amber-100 dark:text-amber-50 dark:bg-amber-500': data.icon?.color === 'warning',\r\n 'text-red-600 bg-red-100 dark:text-red-50 dark:bg-red-600': data.icon?.color === 'error'\r\n }\">\r\n @if (data.icon?.name) {\r\n <mat-icon class=\"text-current\" [svgIcon]=\"data.icon?.name||''\"></mat-icon>\r\n }\r\n </div>\r\n }\r\n\r\n @if (data.title || data.message) {\r\n <div\r\n class=\"flex flex-col items-center sm:items-start mt-4 sm:mt-0 sm:pr-8 gap-1 text-center sm:text-left\">\r\n <!-- Title -->\r\n @if (data.title) {\r\n <div class=\"text-xl leading-6 font-medium\" [innerHTML]=\"data.title\"></div>\r\n }\r\n <!-- Message -->\r\n @if (data.message) {\r\n <div class=\"text-secondary\" [innerHTML]=\"data.message\"></div>\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n\r\n <!-- Actions -->\r\n @if (data.actions?.confirm?.show || data.actions?.cancel?.show) {\r\n <div\r\n class=\"flex items-center justify-center sm:justify-end px-6 py-4 flex-row gap-3 bg-slate-50 dark:bg-black/10\">\r\n <!-- Confirm -->\r\n @if (data.actions?.confirm?.show) {\r\n <button type=\"button\" matButton=\"filled\" [color]=\"data.actions?.confirm?.color\"\r\n [matDialogClose]=\"'confirmed'\">\r\n {{data.actions?.confirm?.label}}\r\n </button>\r\n }\r\n <!-- Cancel -->\r\n @if (data.actions?.cancel?.show) {\r\n <button type=\"button\" matButton=\"outlined\" [matDialogClose]=\"'cancelled'\">\r\n {{data.actions?.cancel?.label}}\r\n </button>\r\n }\r\n </div>\r\n }\r\n\r\n</div>", styles: [".cmat-confirmation-dialog-panel .mat-mdc-dialog-container{padding:0!important}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None }); }
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatConfirmationDialogComponent, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatConfirmationDialogComponent, decorators: [{
21
21
  type: Component,
22
22
  args: [{ selector: 'cmat-confirmation-dialog', encapsulation: ViewEncapsulation.None, imports: [MatButtonModule, MatDialogModule, MatIconModule, NgClass], template: "<div class=\"relative flex flex-col w-full h-full\">\r\n\r\n <!-- Dismiss button -->\r\n @if (data.dismissible) {\r\n <div class=\"absolute top-0 right-0 pt-4 pr-4\">\r\n <button type=\"button\" matIconButton [matDialogClose]=\"undefined\">\r\n <mat-icon class=\"text-secondary\" [svgIcon]=\"'heroicons_outline:x-mark'\"></mat-icon>\r\n </button>\r\n </div>\r\n }\r\n\r\n <!-- Content -->\r\n <div class=\"flex flex-col sm:flex-row items-center sm:items-start p-8 pb-6 sm:pb-8\">\r\n\r\n <!-- Icon -->\r\n @if (data.icon?.show) {\r\n <div class=\"flex flex-none items-center justify-center w-10 h-10 sm:mr-4 rounded-full\" [ngClass]=\"{'text-primary-600 bg-primary-100 dark:text-primary-50 dark:bg-primary-600': data.icon?.color === 'primary',\r\n 'text-accent-600 bg-accent-100 dark:text-accent-50 dark:bg-accent-600': data.icon?.color === 'accent',\r\n 'text-warn-600 bg-warn-100 dark:text-warn-50 dark:bg-warn-600': data.icon?.color === 'warn',\r\n 'text-slate-600 bg-slate-100 dark:text-slate-50 dark:bg-slate-600': data.icon?.color === 'basic',\r\n 'text-blue-600 bg-blue-100 dark:text-blue-50 dark:bg-blue-600': data.icon?.color === 'info',\r\n 'text-emerald-500 bg-emerald-100 dark:text-emerald-50 dark:bg-emerald-500': data.icon?.color === 'success',\r\n 'text-amber-500 bg-amber-100 dark:text-amber-50 dark:bg-amber-500': data.icon?.color === 'warning',\r\n 'text-red-600 bg-red-100 dark:text-red-50 dark:bg-red-600': data.icon?.color === 'error'\r\n }\">\r\n @if (data.icon?.name) {\r\n <mat-icon class=\"text-current\" [svgIcon]=\"data.icon?.name||''\"></mat-icon>\r\n }\r\n </div>\r\n }\r\n\r\n @if (data.title || data.message) {\r\n <div\r\n class=\"flex flex-col items-center sm:items-start mt-4 sm:mt-0 sm:pr-8 gap-1 text-center sm:text-left\">\r\n <!-- Title -->\r\n @if (data.title) {\r\n <div class=\"text-xl leading-6 font-medium\" [innerHTML]=\"data.title\"></div>\r\n }\r\n <!-- Message -->\r\n @if (data.message) {\r\n <div class=\"text-secondary\" [innerHTML]=\"data.message\"></div>\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n\r\n <!-- Actions -->\r\n @if (data.actions?.confirm?.show || data.actions?.cancel?.show) {\r\n <div\r\n class=\"flex items-center justify-center sm:justify-end px-6 py-4 flex-row gap-3 bg-slate-50 dark:bg-black/10\">\r\n <!-- Confirm -->\r\n @if (data.actions?.confirm?.show) {\r\n <button type=\"button\" matButton=\"filled\" [color]=\"data.actions?.confirm?.color\"\r\n [matDialogClose]=\"'confirmed'\">\r\n {{data.actions?.confirm?.label}}\r\n </button>\r\n }\r\n <!-- Cancel -->\r\n @if (data.actions?.cancel?.show) {\r\n <button type=\"button\" matButton=\"outlined\" [matDialogClose]=\"'cancelled'\">\r\n {{data.actions?.cancel?.label}}\r\n </button>\r\n }\r\n </div>\r\n }\r\n\r\n</div>", styles: [".cmat-confirmation-dialog-panel .mat-mdc-dialog-container{padding:0!important}\n"] }]
23
23
  }] });
@@ -58,10 +58,10 @@ class CmatConfirmationService {
58
58
  panelClass: 'cmat-confirmation-dialog-panel'
59
59
  });
60
60
  }
61
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatConfirmationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
62
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatConfirmationService, providedIn: 'root' }); }
61
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatConfirmationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
62
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatConfirmationService, providedIn: 'root' }); }
63
63
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatConfirmationService, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatConfirmationService, decorators: [{
65
65
  type: Injectable,
66
66
  args: [{
67
67
  providedIn: 'root'
@@ -1 +1 @@
1
- {"version":3,"file":"cmat-services-confirmation.mjs","sources":["../../../projects/cmat/services/confirmation/dialog/dialog.component.ts","../../../projects/cmat/services/confirmation/dialog/dialog.component.html","../../../projects/cmat/services/confirmation/confirmation.service.ts","../../../projects/cmat/services/confirmation/cmat-services-confirmation.ts"],"sourcesContent":["import { NgClass } from '@angular/common';\r\nimport { Component, ViewEncapsulation, inject } from '@angular/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialogModule } from '@angular/material/dialog';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { CmatConfirmationConfig } from '../confirmation.types';\r\n\r\n@Component({\r\n selector: 'cmat-confirmation-dialog',\r\n templateUrl: './dialog.component.html',\r\n styles: [\r\n /* language=SCSS */\r\n `\r\n .cmat-confirmation-dialog-panel {\r\n .mat-mdc-dialog-container {\r\n padding: 0 !important;\r\n }\r\n }\r\n `\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n imports: [MatButtonModule, MatDialogModule, MatIconModule, NgClass]\r\n})\r\nexport class CmatConfirmationDialogComponent {\r\n data = inject<CmatConfirmationConfig>(MAT_DIALOG_DATA);\r\n matDialogRef = inject<MatDialogRef<CmatConfirmationDialogComponent>>(MatDialogRef);\r\n}\r\n","<div class=\"relative flex flex-col w-full h-full\">\r\n\r\n <!-- Dismiss button -->\r\n @if (data.dismissible) {\r\n <div class=\"absolute top-0 right-0 pt-4 pr-4\">\r\n <button type=\"button\" matIconButton [matDialogClose]=\"undefined\">\r\n <mat-icon class=\"text-secondary\" [svgIcon]=\"'heroicons_outline:x-mark'\"></mat-icon>\r\n </button>\r\n </div>\r\n }\r\n\r\n <!-- Content -->\r\n <div class=\"flex flex-col sm:flex-row items-center sm:items-start p-8 pb-6 sm:pb-8\">\r\n\r\n <!-- Icon -->\r\n @if (data.icon?.show) {\r\n <div class=\"flex flex-none items-center justify-center w-10 h-10 sm:mr-4 rounded-full\" [ngClass]=\"{'text-primary-600 bg-primary-100 dark:text-primary-50 dark:bg-primary-600': data.icon?.color === 'primary',\r\n 'text-accent-600 bg-accent-100 dark:text-accent-50 dark:bg-accent-600': data.icon?.color === 'accent',\r\n 'text-warn-600 bg-warn-100 dark:text-warn-50 dark:bg-warn-600': data.icon?.color === 'warn',\r\n 'text-slate-600 bg-slate-100 dark:text-slate-50 dark:bg-slate-600': data.icon?.color === 'basic',\r\n 'text-blue-600 bg-blue-100 dark:text-blue-50 dark:bg-blue-600': data.icon?.color === 'info',\r\n 'text-emerald-500 bg-emerald-100 dark:text-emerald-50 dark:bg-emerald-500': data.icon?.color === 'success',\r\n 'text-amber-500 bg-amber-100 dark:text-amber-50 dark:bg-amber-500': data.icon?.color === 'warning',\r\n 'text-red-600 bg-red-100 dark:text-red-50 dark:bg-red-600': data.icon?.color === 'error'\r\n }\">\r\n @if (data.icon?.name) {\r\n <mat-icon class=\"text-current\" [svgIcon]=\"data.icon?.name||''\"></mat-icon>\r\n }\r\n </div>\r\n }\r\n\r\n @if (data.title || data.message) {\r\n <div\r\n class=\"flex flex-col items-center sm:items-start mt-4 sm:mt-0 sm:pr-8 gap-1 text-center sm:text-left\">\r\n <!-- Title -->\r\n @if (data.title) {\r\n <div class=\"text-xl leading-6 font-medium\" [innerHTML]=\"data.title\"></div>\r\n }\r\n <!-- Message -->\r\n @if (data.message) {\r\n <div class=\"text-secondary\" [innerHTML]=\"data.message\"></div>\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n\r\n <!-- Actions -->\r\n @if (data.actions?.confirm?.show || data.actions?.cancel?.show) {\r\n <div\r\n class=\"flex items-center justify-center sm:justify-end px-6 py-4 flex-row gap-3 bg-slate-50 dark:bg-black/10\">\r\n <!-- Confirm -->\r\n @if (data.actions?.confirm?.show) {\r\n <button type=\"button\" matButton=\"filled\" [color]=\"data.actions?.confirm?.color\"\r\n [matDialogClose]=\"'confirmed'\">\r\n {{data.actions?.confirm?.label}}\r\n </button>\r\n }\r\n <!-- Cancel -->\r\n @if (data.actions?.cancel?.show) {\r\n <button type=\"button\" matButton=\"outlined\" [matDialogClose]=\"'cancelled'\">\r\n {{data.actions?.cancel?.label}}\r\n </button>\r\n }\r\n </div>\r\n }\r\n\r\n</div>","import { Injectable, inject } from '@angular/core';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { merge } from 'lodash-es';\r\nimport { CmatConfirmationConfig } from './confirmation.types';\r\nimport { CmatConfirmationDialogComponent } from './dialog/dialog.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatConfirmationService {\r\n private _matDialog = inject(MatDialog);\r\n\r\n private _defaultConfig: CmatConfirmationConfig = {\r\n title: '确认动作',\r\n message: '确认此动作吗?',\r\n icon: {\r\n show: true,\r\n name: 'heroicons_outline:exclamation-triangle',\r\n color: 'warn'\r\n },\r\n actions: {\r\n confirm: {\r\n show: true,\r\n label: '确认',\r\n color: 'warn'\r\n },\r\n cancel: {\r\n show: true,\r\n label: '取消'\r\n }\r\n },\r\n dismissible: false\r\n };\r\n\r\n open(config: CmatConfirmationConfig = {}): MatDialogRef<CmatConfirmationDialogComponent> {\r\n // Merge the user config with the default config\r\n const userConfig = merge({}, this._defaultConfig, config);\r\n\r\n // Open the dialog\r\n return this._matDialog.open(CmatConfirmationDialogComponent, {\r\n autoFocus: false,\r\n disableClose: !userConfig.dismissible,\r\n data: userConfig,\r\n panelClass: 'cmat-confirmation-dialog-panel'\r\n });\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmat-services-confirmation.mjs","sources":["../../../projects/cmat/services/confirmation/dialog/dialog.component.ts","../../../projects/cmat/services/confirmation/dialog/dialog.component.html","../../../projects/cmat/services/confirmation/confirmation.service.ts","../../../projects/cmat/services/confirmation/cmat-services-confirmation.ts"],"sourcesContent":["import { NgClass } from '@angular/common';\r\nimport { Component, ViewEncapsulation, inject } from '@angular/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialogModule } from '@angular/material/dialog';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { CmatConfirmationConfig } from '../confirmation.types';\r\n\r\n@Component({\r\n selector: 'cmat-confirmation-dialog',\r\n templateUrl: './dialog.component.html',\r\n styles: [\r\n /* language=SCSS */\r\n `\r\n .cmat-confirmation-dialog-panel {\r\n .mat-mdc-dialog-container {\r\n padding: 0 !important;\r\n }\r\n }\r\n `\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n imports: [MatButtonModule, MatDialogModule, MatIconModule, NgClass]\r\n})\r\nexport class CmatConfirmationDialogComponent {\r\n data = inject<CmatConfirmationConfig>(MAT_DIALOG_DATA);\r\n matDialogRef = inject<MatDialogRef<CmatConfirmationDialogComponent>>(MatDialogRef);\r\n}\r\n","<div class=\"relative flex flex-col w-full h-full\">\r\n\r\n <!-- Dismiss button -->\r\n @if (data.dismissible) {\r\n <div class=\"absolute top-0 right-0 pt-4 pr-4\">\r\n <button type=\"button\" matIconButton [matDialogClose]=\"undefined\">\r\n <mat-icon class=\"text-secondary\" [svgIcon]=\"'heroicons_outline:x-mark'\"></mat-icon>\r\n </button>\r\n </div>\r\n }\r\n\r\n <!-- Content -->\r\n <div class=\"flex flex-col sm:flex-row items-center sm:items-start p-8 pb-6 sm:pb-8\">\r\n\r\n <!-- Icon -->\r\n @if (data.icon?.show) {\r\n <div class=\"flex flex-none items-center justify-center w-10 h-10 sm:mr-4 rounded-full\" [ngClass]=\"{'text-primary-600 bg-primary-100 dark:text-primary-50 dark:bg-primary-600': data.icon?.color === 'primary',\r\n 'text-accent-600 bg-accent-100 dark:text-accent-50 dark:bg-accent-600': data.icon?.color === 'accent',\r\n 'text-warn-600 bg-warn-100 dark:text-warn-50 dark:bg-warn-600': data.icon?.color === 'warn',\r\n 'text-slate-600 bg-slate-100 dark:text-slate-50 dark:bg-slate-600': data.icon?.color === 'basic',\r\n 'text-blue-600 bg-blue-100 dark:text-blue-50 dark:bg-blue-600': data.icon?.color === 'info',\r\n 'text-emerald-500 bg-emerald-100 dark:text-emerald-50 dark:bg-emerald-500': data.icon?.color === 'success',\r\n 'text-amber-500 bg-amber-100 dark:text-amber-50 dark:bg-amber-500': data.icon?.color === 'warning',\r\n 'text-red-600 bg-red-100 dark:text-red-50 dark:bg-red-600': data.icon?.color === 'error'\r\n }\">\r\n @if (data.icon?.name) {\r\n <mat-icon class=\"text-current\" [svgIcon]=\"data.icon?.name||''\"></mat-icon>\r\n }\r\n </div>\r\n }\r\n\r\n @if (data.title || data.message) {\r\n <div\r\n class=\"flex flex-col items-center sm:items-start mt-4 sm:mt-0 sm:pr-8 gap-1 text-center sm:text-left\">\r\n <!-- Title -->\r\n @if (data.title) {\r\n <div class=\"text-xl leading-6 font-medium\" [innerHTML]=\"data.title\"></div>\r\n }\r\n <!-- Message -->\r\n @if (data.message) {\r\n <div class=\"text-secondary\" [innerHTML]=\"data.message\"></div>\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n\r\n <!-- Actions -->\r\n @if (data.actions?.confirm?.show || data.actions?.cancel?.show) {\r\n <div\r\n class=\"flex items-center justify-center sm:justify-end px-6 py-4 flex-row gap-3 bg-slate-50 dark:bg-black/10\">\r\n <!-- Confirm -->\r\n @if (data.actions?.confirm?.show) {\r\n <button type=\"button\" matButton=\"filled\" [color]=\"data.actions?.confirm?.color\"\r\n [matDialogClose]=\"'confirmed'\">\r\n {{data.actions?.confirm?.label}}\r\n </button>\r\n }\r\n <!-- Cancel -->\r\n @if (data.actions?.cancel?.show) {\r\n <button type=\"button\" matButton=\"outlined\" [matDialogClose]=\"'cancelled'\">\r\n {{data.actions?.cancel?.label}}\r\n </button>\r\n }\r\n </div>\r\n }\r\n\r\n</div>","import { Injectable, inject } from '@angular/core';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { merge } from 'lodash-es';\r\nimport { CmatConfirmationConfig } from './confirmation.types';\r\nimport { CmatConfirmationDialogComponent } from './dialog/dialog.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatConfirmationService {\r\n private _matDialog = inject(MatDialog);\r\n\r\n private _defaultConfig: CmatConfirmationConfig = {\r\n title: '确认动作',\r\n message: '确认此动作吗?',\r\n icon: {\r\n show: true,\r\n name: 'heroicons_outline:exclamation-triangle',\r\n color: 'warn'\r\n },\r\n actions: {\r\n confirm: {\r\n show: true,\r\n label: '确认',\r\n color: 'warn'\r\n },\r\n cancel: {\r\n show: true,\r\n label: '取消'\r\n }\r\n },\r\n dismissible: false\r\n };\r\n\r\n open(config: CmatConfirmationConfig = {}): MatDialogRef<CmatConfirmationDialogComponent> {\r\n // Merge the user config with the default config\r\n const userConfig = merge({}, this._defaultConfig, config);\r\n\r\n // Open the dialog\r\n return this._matDialog.open(CmatConfirmationDialogComponent, {\r\n autoFocus: false,\r\n disableClose: !userConfig.dismissible,\r\n data: userConfig,\r\n panelClass: 'cmat-confirmation-dialog-panel'\r\n });\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -157,10 +157,10 @@ class CmatDataService {
157
157
  .pipe(tap((res) => res), catchError((err) => CmatUtilsService.handleError(err)));
158
158
  }
159
159
  }
160
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatDataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
161
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatDataService, providedIn: 'root' }); }
160
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatDataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
161
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatDataService, providedIn: 'root' }); }
162
162
  }
163
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatDataService, decorators: [{
163
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatDataService, decorators: [{
164
164
  type: Injectable,
165
165
  args: [{
166
166
  providedIn: 'root'
@@ -1 +1 @@
1
- {"version":3,"file":"cmat-services-data.mjs","sources":["../../../projects/cmat/services/data/data.service.ts","../../../projects/cmat/services/data/cmat-services-data.ts"],"sourcesContent":["import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable, OnDestroy, inject } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { catchError, map, retry, takeUntil, tap } from 'rxjs/operators';\r\nimport { CmatUrlStateConfigService, IUrlStateConfig } from 'cmat/services/config';\r\nimport { CmatUtilsService } from 'cmat/services/utils';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatDataService implements OnDestroy {\r\n private _http = inject(HttpClient);\r\n private _urlStateConfigService = inject(CmatUrlStateConfigService);\r\n\r\n private _enableDataProtect: boolean = false;\r\n private _unsubscribeAll: Subject<void> = new Subject<void>();\r\n\r\n \r\n\r\n constructor() {\r\n this._urlStateConfigService.config$\r\n .pipe(takeUntil(this._unsubscribeAll))\r\n .subscribe((config: IUrlStateConfig) => {\r\n this._enableDataProtect = config.enableDataProtect;\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unsubscribeAll.next(void 0);\r\n this._unsubscribeAll.complete();\r\n }\r\n\r\n get<T>(url: string, params = {}, auth: boolean = true): Observable<T> {\r\n const httpParams = new HttpParams();\r\n const headers = auth ? CmatUtilsService.getRequestHeaders() : CmatUtilsService.getRequestCryptoHeaders('');\r\n\r\n if (Object.keys(params).length !== 0) {\r\n\r\n if (this._enableDataProtect) {\r\n httpParams.appendAll(\r\n {\r\n params:\r\n CmatUtilsService.getEncryptData(JSON.stringify({ params: params }))\r\n });\r\n } else {\r\n httpParams.appendAll(params);\r\n }\r\n }\r\n const options = { params: httpParams };\r\n\r\n if (this._enableDataProtect) {\r\n return this._http.get<string>(url, { ...options, headers: headers })\r\n .pipe(\r\n retry({ count: 3, delay: 1000 }),\r\n map((res: string) => {\r\n if (res) {\r\n return JSON.parse(CmatUtilsService.getDecryptData(res));\r\n }\r\n return res;\r\n }),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n } else {\r\n return this._http.get<T>(url, { ...options, headers: headers })\r\n .pipe(\r\n retry({ count: 3, delay: 1000 }),\r\n tap((res: T) => res),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n }\r\n\r\n }\r\n\r\n post<T>(url: string, data: any, params = {}, auth: boolean = true, idempotent: boolean = false): Observable<T> {\r\n const httpParams = new HttpParams();\r\n const headers = auth ? (idempotent ? CmatUtilsService.getRequestIdempotentBypassHeaders() : CmatUtilsService.getRequestBypassHeaders()) : (idempotent ? CmatUtilsService.getRequestCryptoIdempotentBypassHeaders('') : CmatUtilsService.getRequestCryptoBypassHeaders(''));\r\n\r\n if (Object.keys(params).length !== 0) {\r\n\r\n if (this._enableDataProtect) {\r\n httpParams.appendAll(\r\n {\r\n params:\r\n CmatUtilsService.getEncryptData(JSON.stringify(params))\r\n });\r\n } else {\r\n httpParams.appendAll(params);\r\n }\r\n }\r\n const options = { params: httpParams };\r\n\r\n if (this._enableDataProtect) {\r\n data = CmatUtilsService.getEncryptData(JSON.stringify(data));\r\n\r\n return this._http.post<string>(url, data, { ...options, headers: headers })\r\n .pipe(\r\n map((res: string) => {\r\n if (res) {\r\n return JSON.parse(CmatUtilsService.getDecryptData(res));\r\n }\r\n return res;\r\n }),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n } else {\r\n return this._http.post<T>(url, data, { ...options, headers: headers })\r\n .pipe(\r\n tap((res: T) => res),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n }\r\n }\r\n\r\n put<T>(url: string, data: any, params = {}, auth: boolean = true): Observable<T> {\r\n const httpParams = new HttpParams();\r\n const headers = auth ? CmatUtilsService.getRequestBypassHeaders() : CmatUtilsService.getRequestCryptoBypassHeaders('');\r\n\r\n if (Object.keys(params).length !== 0) {\r\n\r\n if (this._enableDataProtect) {\r\n httpParams.appendAll(\r\n {\r\n params:\r\n CmatUtilsService.getEncryptData(JSON.stringify(params))\r\n });\r\n } else {\r\n httpParams.appendAll(params);\r\n }\r\n }\r\n const options = { params: httpParams };\r\n\r\n if (this._enableDataProtect) {\r\n data = CmatUtilsService.getEncryptData(JSON.stringify(data));\r\n\r\n return this._http.put<string>(url, data, { ...options, headers: headers })\r\n .pipe(\r\n map((res: string) => {\r\n if (res) {\r\n return JSON.parse(CmatUtilsService.getDecryptData(res));\r\n }\r\n return res;\r\n }),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n } else {\r\n return this._http.put<T>(url, data, { ...options, headers: headers })\r\n .pipe(\r\n tap((res: T) => res),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n }\r\n }\r\n\r\n delete<T>(url: string, params = {}, auth: boolean = true): Observable<T> {\r\n const httpParams = new HttpParams();\r\n const headers = auth ? CmatUtilsService.getRequestBypassHeaders() : CmatUtilsService.getRequestCryptoBypassHeaders('');\r\n\r\n if (Object.keys(params).length !== 0) {\r\n\r\n if (this._enableDataProtect) {\r\n httpParams.appendAll(\r\n {\r\n params:\r\n CmatUtilsService.getEncryptData(JSON.stringify(params))\r\n });\r\n } else {\r\n httpParams.appendAll(params);\r\n }\r\n }\r\n\r\n const options = { params: httpParams };\r\n\r\n return this._http.delete<T>(url, {\r\n ...options,\r\n headers: headers\r\n })\r\n .pipe(\r\n tap((res: T) => res),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n }\r\n\r\n patch<T>(url: string, data: any, params = {}, auth: boolean = true): Observable<T> {\r\n const httpParams = new HttpParams();\r\n const headers = auth ? CmatUtilsService.getRequestBypassHeaders() : CmatUtilsService.getRequestCryptoBypassHeaders('');\r\n\r\n if (Object.keys(params).length !== 0) {\r\n\r\n if (this._enableDataProtect) {\r\n httpParams.appendAll(\r\n {\r\n params:\r\n CmatUtilsService.getEncryptData(JSON.stringify(params))\r\n });\r\n } else {\r\n httpParams.appendAll(params);\r\n }\r\n }\r\n\r\n const options = { params: httpParams };\r\n\r\n if (this._enableDataProtect) {\r\n data = CmatUtilsService.getEncryptData(JSON.stringify(data));\r\n\r\n return this._http.patch<string>(url, data, { ...options, headers: headers })\r\n .pipe(\r\n map((res: string) => {\r\n if (res) {\r\n return JSON.parse(CmatUtilsService.getDecryptData(res));\r\n }\r\n return res;\r\n }),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n } else {\r\n return this._http.patch<T>(url, data, { ...options, headers: headers })\r\n .pipe(\r\n tap((res: T) => res),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n }\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmat-services-data.mjs","sources":["../../../projects/cmat/services/data/data.service.ts","../../../projects/cmat/services/data/cmat-services-data.ts"],"sourcesContent":["import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable, OnDestroy, inject } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { catchError, map, retry, takeUntil, tap } from 'rxjs/operators';\r\nimport { CmatUrlStateConfigService, IUrlStateConfig } from 'cmat/services/config';\r\nimport { CmatUtilsService } from 'cmat/services/utils';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatDataService implements OnDestroy {\r\n private _http = inject(HttpClient);\r\n private _urlStateConfigService = inject(CmatUrlStateConfigService);\r\n\r\n private _enableDataProtect: boolean = false;\r\n private _unsubscribeAll: Subject<void> = new Subject<void>();\r\n\r\n \r\n\r\n constructor() {\r\n this._urlStateConfigService.config$\r\n .pipe(takeUntil(this._unsubscribeAll))\r\n .subscribe((config: IUrlStateConfig) => {\r\n this._enableDataProtect = config.enableDataProtect;\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unsubscribeAll.next(void 0);\r\n this._unsubscribeAll.complete();\r\n }\r\n\r\n get<T>(url: string, params = {}, auth: boolean = true): Observable<T> {\r\n const httpParams = new HttpParams();\r\n const headers = auth ? CmatUtilsService.getRequestHeaders() : CmatUtilsService.getRequestCryptoHeaders('');\r\n\r\n if (Object.keys(params).length !== 0) {\r\n\r\n if (this._enableDataProtect) {\r\n httpParams.appendAll(\r\n {\r\n params:\r\n CmatUtilsService.getEncryptData(JSON.stringify({ params: params }))\r\n });\r\n } else {\r\n httpParams.appendAll(params);\r\n }\r\n }\r\n const options = { params: httpParams };\r\n\r\n if (this._enableDataProtect) {\r\n return this._http.get<string>(url, { ...options, headers: headers })\r\n .pipe(\r\n retry({ count: 3, delay: 1000 }),\r\n map((res: string) => {\r\n if (res) {\r\n return JSON.parse(CmatUtilsService.getDecryptData(res));\r\n }\r\n return res;\r\n }),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n } else {\r\n return this._http.get<T>(url, { ...options, headers: headers })\r\n .pipe(\r\n retry({ count: 3, delay: 1000 }),\r\n tap((res: T) => res),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n }\r\n\r\n }\r\n\r\n post<T>(url: string, data: any, params = {}, auth: boolean = true, idempotent: boolean = false): Observable<T> {\r\n const httpParams = new HttpParams();\r\n const headers = auth ? (idempotent ? CmatUtilsService.getRequestIdempotentBypassHeaders() : CmatUtilsService.getRequestBypassHeaders()) : (idempotent ? CmatUtilsService.getRequestCryptoIdempotentBypassHeaders('') : CmatUtilsService.getRequestCryptoBypassHeaders(''));\r\n\r\n if (Object.keys(params).length !== 0) {\r\n\r\n if (this._enableDataProtect) {\r\n httpParams.appendAll(\r\n {\r\n params:\r\n CmatUtilsService.getEncryptData(JSON.stringify(params))\r\n });\r\n } else {\r\n httpParams.appendAll(params);\r\n }\r\n }\r\n const options = { params: httpParams };\r\n\r\n if (this._enableDataProtect) {\r\n data = CmatUtilsService.getEncryptData(JSON.stringify(data));\r\n\r\n return this._http.post<string>(url, data, { ...options, headers: headers })\r\n .pipe(\r\n map((res: string) => {\r\n if (res) {\r\n return JSON.parse(CmatUtilsService.getDecryptData(res));\r\n }\r\n return res;\r\n }),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n } else {\r\n return this._http.post<T>(url, data, { ...options, headers: headers })\r\n .pipe(\r\n tap((res: T) => res),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n }\r\n }\r\n\r\n put<T>(url: string, data: any, params = {}, auth: boolean = true): Observable<T> {\r\n const httpParams = new HttpParams();\r\n const headers = auth ? CmatUtilsService.getRequestBypassHeaders() : CmatUtilsService.getRequestCryptoBypassHeaders('');\r\n\r\n if (Object.keys(params).length !== 0) {\r\n\r\n if (this._enableDataProtect) {\r\n httpParams.appendAll(\r\n {\r\n params:\r\n CmatUtilsService.getEncryptData(JSON.stringify(params))\r\n });\r\n } else {\r\n httpParams.appendAll(params);\r\n }\r\n }\r\n const options = { params: httpParams };\r\n\r\n if (this._enableDataProtect) {\r\n data = CmatUtilsService.getEncryptData(JSON.stringify(data));\r\n\r\n return this._http.put<string>(url, data, { ...options, headers: headers })\r\n .pipe(\r\n map((res: string) => {\r\n if (res) {\r\n return JSON.parse(CmatUtilsService.getDecryptData(res));\r\n }\r\n return res;\r\n }),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n } else {\r\n return this._http.put<T>(url, data, { ...options, headers: headers })\r\n .pipe(\r\n tap((res: T) => res),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n }\r\n }\r\n\r\n delete<T>(url: string, params = {}, auth: boolean = true): Observable<T> {\r\n const httpParams = new HttpParams();\r\n const headers = auth ? CmatUtilsService.getRequestBypassHeaders() : CmatUtilsService.getRequestCryptoBypassHeaders('');\r\n\r\n if (Object.keys(params).length !== 0) {\r\n\r\n if (this._enableDataProtect) {\r\n httpParams.appendAll(\r\n {\r\n params:\r\n CmatUtilsService.getEncryptData(JSON.stringify(params))\r\n });\r\n } else {\r\n httpParams.appendAll(params);\r\n }\r\n }\r\n\r\n const options = { params: httpParams };\r\n\r\n return this._http.delete<T>(url, {\r\n ...options,\r\n headers: headers\r\n })\r\n .pipe(\r\n tap((res: T) => res),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n }\r\n\r\n patch<T>(url: string, data: any, params = {}, auth: boolean = true): Observable<T> {\r\n const httpParams = new HttpParams();\r\n const headers = auth ? CmatUtilsService.getRequestBypassHeaders() : CmatUtilsService.getRequestCryptoBypassHeaders('');\r\n\r\n if (Object.keys(params).length !== 0) {\r\n\r\n if (this._enableDataProtect) {\r\n httpParams.appendAll(\r\n {\r\n params:\r\n CmatUtilsService.getEncryptData(JSON.stringify(params))\r\n });\r\n } else {\r\n httpParams.appendAll(params);\r\n }\r\n }\r\n\r\n const options = { params: httpParams };\r\n\r\n if (this._enableDataProtect) {\r\n data = CmatUtilsService.getEncryptData(JSON.stringify(data));\r\n\r\n return this._http.patch<string>(url, data, { ...options, headers: headers })\r\n .pipe(\r\n map((res: string) => {\r\n if (res) {\r\n return JSON.parse(CmatUtilsService.getDecryptData(res));\r\n }\r\n return res;\r\n }),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n } else {\r\n return this._http.patch<T>(url, data, { ...options, headers: headers })\r\n .pipe(\r\n tap((res: T) => res),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n }\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -193,10 +193,10 @@ class CmatExportAsService {
193
193
  _btoa(content) {
194
194
  return Buffer.from(content.toString(), 'utf-8').toString('base64');
195
195
  }
196
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatExportAsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
197
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatExportAsService, providedIn: 'root' }); }
196
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatExportAsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
197
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatExportAsService, providedIn: 'root' }); }
198
198
  }
199
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatExportAsService, decorators: [{
199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatExportAsService, decorators: [{
200
200
  type: Injectable,
201
201
  args: [{
202
202
  providedIn: 'root'
@@ -1 +1 @@
1
- {"version":3,"file":"cmat-services-export-as.mjs","sources":["../../../projects/cmat/services/export-as/export-as.service.ts","../../../projects/cmat/services/export-as/cmat-services-export-as.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport * as FileSaver from 'file-saver-es';\r\nimport { Observable } from 'rxjs';\r\nimport * as XLSX from 'xlsx';\r\nimport { ExportAsConfig } from './export-as-config.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatExportAsService {\r\n /**\r\n * Main base64 get method, it will return the file as base64 string\r\n * @param config your config\r\n */\r\n get(config: ExportAsConfig): Observable<any> {\r\n switch (config.type.toUpperCase()) {\r\n case 'CSV':\r\n return this._getCSV(config);\r\n case 'TXT':\r\n return this._getTXT(config);\r\n case 'XLS':\r\n return this._getXLS(config);\r\n case 'XLSX':\r\n return this._getXLSX(config);\r\n case 'JSON':\r\n return this._getJSON(config);\r\n case 'XML':\r\n return this._getXML(config);\r\n default:\r\n return new Observable((observer) => { observer.error('导出格式不支持.'); });\r\n }\r\n }\r\n\r\n /**\r\n * Save exported file in old javascript way\r\n * @param config your custom config\r\n * @param fileName Name of the file to be saved as\r\n */\r\n save(config: ExportAsConfig, fileName: string): Observable<string | null> {\r\n // set download\r\n config.download = true;\r\n // get file name with type\r\n config.fileName = fileName + '.' + config.type;\r\n return this.get(config);\r\n }\r\n\r\n /**\r\n * Converts content string to blob object\r\n * @param content string to be converted\r\n */\r\n contentToBlob(content: string): Observable<Blob> {\r\n return new Observable((observer) => {\r\n // get content string and extract mime type\r\n const arr = content.split(','), mime = (/:(.*?);/.exec(arr[0]))?.[1],\r\n bstr = atob(arr[1]);\r\n let n = bstr.length;\r\n const u8arr = new Uint8Array(n);\r\n while (n--) {\r\n u8arr[n] = bstr.charCodeAt(n);\r\n }\r\n observer.next(new Blob([u8arr], { type: mime }));\r\n observer.complete();\r\n });\r\n }\r\n\r\n /**\r\n * Removes base64 file type from a string like \"data:text/csv;base64,\"\r\n * @param fileContent the base64 string to remove the type from\r\n */\r\n removeFileTypeFromBase64(fileContent: string): string {\r\n const re = /^data:[^]*;base64,/g;\r\n const newContent: string = re[Symbol.replace](fileContent, '');\r\n return newContent;\r\n }\r\n\r\n /**\r\n * Structure the base64 file content with the file type string\r\n * @param fileContent file content\r\n * @param fileMime file mime type \"text/csv\"\r\n */\r\n addFileTypeToBase64(fileContent: string, fileMime: string): string {\r\n return `data:${fileMime};base64,${fileContent}`;\r\n }\r\n\r\n downloadFromDataURL(fileName: string, dataURL: string): void {\r\n // create blob\r\n this.contentToBlob(dataURL).subscribe((blob) => {\r\n // download the blob\r\n this.downloadFromBlob(blob, fileName);\r\n });\r\n }\r\n\r\n downloadFromBlob(blob: Blob, fileName: string): void {\r\n FileSaver.saveAs(blob, fileName);\r\n }\r\n\r\n private _getCSV(config: ExportAsConfig): Observable<string | null> {\r\n return new Observable((observer) => {\r\n const element: HTMLElement | null = document.getElementById(config.elementIdOrContent);\r\n let csv: string[] = [];\r\n const rows: any = element?.querySelectorAll('table tr');\r\n rows.forEach((rowElement: { querySelectorAll: (arg0: string) => any; }) => {\r\n let row: string[] = [];\r\n const cols = rowElement.querySelectorAll('td, th');\r\n\r\n cols.array.forEach((col: { innerText: string; }) => {\r\n row.push('\"' + col.innerText + '\"');\r\n });\r\n csv.push(row.join(','));\r\n });\r\n\r\n const csvContent = 'data:text/csv;base64,' + this._btoa(csv.join('\\n'));\r\n if (config.download) {\r\n this.downloadFromDataURL(config.fileName, csvContent);\r\n observer.next(null);\r\n } else {\r\n observer.next(csvContent);\r\n }\r\n observer.complete();\r\n });\r\n }\r\n\r\n private _getTXT(config: ExportAsConfig): Observable<string | null> {\r\n const nameFrags = config.fileName?.split('.');\r\n config.fileName = `${nameFrags?.[0]}.txt`;\r\n return this._getCSV(config);\r\n }\r\n\r\n private _getXLS(config: ExportAsConfig): Observable<string | null> {\r\n return new Observable((observer) => {\r\n const element: HTMLElement | null = document.getElementById(config.elementIdOrContent);\r\n const ws3 = XLSX.utils.table_to_sheet(element, config.options);\r\n const wb = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(wb, ws3, config.fileName);\r\n const out = XLSX.write(wb, { type: 'base64' });\r\n const xlsContent = 'data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,' + out;\r\n if (config.download) {\r\n this.downloadFromDataURL(config.fileName, xlsContent);\r\n observer.next(null);\r\n } else {\r\n observer.next(xlsContent);\r\n }\r\n observer.complete();\r\n });\r\n }\r\n\r\n private _getXLSX(config: ExportAsConfig): Observable<string | null> {\r\n return this._getXLS(config);\r\n }\r\n\r\n\r\n private _getJSON(config: ExportAsConfig): Observable<any[] | null> {\r\n return new Observable((observer) => {\r\n const data = []; // first row needs fto be headers\r\n const headers = [];\r\n const table = document.getElementById(config.elementIdOrContent) as HTMLTableElement;\r\n for (let index = 0; index < table.rows[0].cells.length; index++) {\r\n headers[index] = table.rows[0].cells[index].innerHTML.toLowerCase().replace(/ /gi, '');\r\n }\r\n // go through cells\r\n for (let i = 1; i < table.rows.length; i++) {\r\n const tableRow = table.rows[i];\r\n let rowData: Record<string, string> = {};\r\n for (let j = 0; j < tableRow.cells.length; j++) {\r\n rowData[headers[j]] = tableRow.cells[j].innerHTML;\r\n }\r\n data.push(rowData);\r\n }\r\n const jsonString = JSON.stringify(data);\r\n const jsonBase64 = this._btoa(jsonString);\r\n const dataStr = 'data:text/json;base64,' + jsonBase64;\r\n if (config.download) {\r\n this.downloadFromDataURL(config.fileName, dataStr);\r\n observer.next(null);\r\n } else {\r\n observer.next(data);\r\n }\r\n observer.complete();\r\n });\r\n }\r\n\r\n private _getXML(config: ExportAsConfig): Observable<string | null> {\r\n return new Observable((observer) => {\r\n let xml = '<?xml version=\"1.0\" encoding=\"UTF-8\"?><Root><Classes>';\r\n const tritem = document.getElementById(config.elementIdOrContent)?.getElementsByTagName('tr');\r\n\r\n if (tritem) {\r\n Array.from(tritem).forEach((celldata) => {\r\n if (celldata.cells.length > 0) {\r\n xml += '<Class name=\"' + celldata.cells[0].textContent + '\">\\n';\r\n for (let m = 1; m < celldata.cells.length; ++m) {\r\n xml += '\\t<data>' + celldata.cells[m].textContent + '</data>\\n';\r\n }\r\n xml += '</Class>\\n';\r\n }\r\n });\r\n\r\n }\r\n\r\n xml += '</Classes></Root>';\r\n const base64 = 'data:text/xml;base64,' + this._btoa(xml);\r\n if (config.download) {\r\n this.downloadFromDataURL(config.fileName, base64);\r\n observer.next(null);\r\n } else {\r\n observer.next(base64);\r\n }\r\n observer.complete();\r\n });\r\n }\r\n\r\n private _btoa(content: string): string {\r\n return Buffer.from(content.toString(), 'utf-8').toString('base64')\r\n }\r\n\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmat-services-export-as.mjs","sources":["../../../projects/cmat/services/export-as/export-as.service.ts","../../../projects/cmat/services/export-as/cmat-services-export-as.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport * as FileSaver from 'file-saver-es';\r\nimport { Observable } from 'rxjs';\r\nimport * as XLSX from 'xlsx';\r\nimport { ExportAsConfig } from './export-as-config.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatExportAsService {\r\n /**\r\n * Main base64 get method, it will return the file as base64 string\r\n * @param config your config\r\n */\r\n get(config: ExportAsConfig): Observable<any> {\r\n switch (config.type.toUpperCase()) {\r\n case 'CSV':\r\n return this._getCSV(config);\r\n case 'TXT':\r\n return this._getTXT(config);\r\n case 'XLS':\r\n return this._getXLS(config);\r\n case 'XLSX':\r\n return this._getXLSX(config);\r\n case 'JSON':\r\n return this._getJSON(config);\r\n case 'XML':\r\n return this._getXML(config);\r\n default:\r\n return new Observable((observer) => { observer.error('导出格式不支持.'); });\r\n }\r\n }\r\n\r\n /**\r\n * Save exported file in old javascript way\r\n * @param config your custom config\r\n * @param fileName Name of the file to be saved as\r\n */\r\n save(config: ExportAsConfig, fileName: string): Observable<string | null> {\r\n // set download\r\n config.download = true;\r\n // get file name with type\r\n config.fileName = fileName + '.' + config.type;\r\n return this.get(config);\r\n }\r\n\r\n /**\r\n * Converts content string to blob object\r\n * @param content string to be converted\r\n */\r\n contentToBlob(content: string): Observable<Blob> {\r\n return new Observable((observer) => {\r\n // get content string and extract mime type\r\n const arr = content.split(','), mime = (/:(.*?);/.exec(arr[0]))?.[1],\r\n bstr = atob(arr[1]);\r\n let n = bstr.length;\r\n const u8arr = new Uint8Array(n);\r\n while (n--) {\r\n u8arr[n] = bstr.charCodeAt(n);\r\n }\r\n observer.next(new Blob([u8arr], { type: mime }));\r\n observer.complete();\r\n });\r\n }\r\n\r\n /**\r\n * Removes base64 file type from a string like \"data:text/csv;base64,\"\r\n * @param fileContent the base64 string to remove the type from\r\n */\r\n removeFileTypeFromBase64(fileContent: string): string {\r\n const re = /^data:[^]*;base64,/g;\r\n const newContent: string = re[Symbol.replace](fileContent, '');\r\n return newContent;\r\n }\r\n\r\n /**\r\n * Structure the base64 file content with the file type string\r\n * @param fileContent file content\r\n * @param fileMime file mime type \"text/csv\"\r\n */\r\n addFileTypeToBase64(fileContent: string, fileMime: string): string {\r\n return `data:${fileMime};base64,${fileContent}`;\r\n }\r\n\r\n downloadFromDataURL(fileName: string, dataURL: string): void {\r\n // create blob\r\n this.contentToBlob(dataURL).subscribe((blob) => {\r\n // download the blob\r\n this.downloadFromBlob(blob, fileName);\r\n });\r\n }\r\n\r\n downloadFromBlob(blob: Blob, fileName: string): void {\r\n FileSaver.saveAs(blob, fileName);\r\n }\r\n\r\n private _getCSV(config: ExportAsConfig): Observable<string | null> {\r\n return new Observable((observer) => {\r\n const element: HTMLElement | null = document.getElementById(config.elementIdOrContent);\r\n let csv: string[] = [];\r\n const rows: any = element?.querySelectorAll('table tr');\r\n rows.forEach((rowElement: { querySelectorAll: (arg0: string) => any; }) => {\r\n let row: string[] = [];\r\n const cols = rowElement.querySelectorAll('td, th');\r\n\r\n cols.array.forEach((col: { innerText: string; }) => {\r\n row.push('\"' + col.innerText + '\"');\r\n });\r\n csv.push(row.join(','));\r\n });\r\n\r\n const csvContent = 'data:text/csv;base64,' + this._btoa(csv.join('\\n'));\r\n if (config.download) {\r\n this.downloadFromDataURL(config.fileName, csvContent);\r\n observer.next(null);\r\n } else {\r\n observer.next(csvContent);\r\n }\r\n observer.complete();\r\n });\r\n }\r\n\r\n private _getTXT(config: ExportAsConfig): Observable<string | null> {\r\n const nameFrags = config.fileName?.split('.');\r\n config.fileName = `${nameFrags?.[0]}.txt`;\r\n return this._getCSV(config);\r\n }\r\n\r\n private _getXLS(config: ExportAsConfig): Observable<string | null> {\r\n return new Observable((observer) => {\r\n const element: HTMLElement | null = document.getElementById(config.elementIdOrContent);\r\n const ws3 = XLSX.utils.table_to_sheet(element, config.options);\r\n const wb = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(wb, ws3, config.fileName);\r\n const out = XLSX.write(wb, { type: 'base64' });\r\n const xlsContent = 'data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,' + out;\r\n if (config.download) {\r\n this.downloadFromDataURL(config.fileName, xlsContent);\r\n observer.next(null);\r\n } else {\r\n observer.next(xlsContent);\r\n }\r\n observer.complete();\r\n });\r\n }\r\n\r\n private _getXLSX(config: ExportAsConfig): Observable<string | null> {\r\n return this._getXLS(config);\r\n }\r\n\r\n\r\n private _getJSON(config: ExportAsConfig): Observable<any[] | null> {\r\n return new Observable((observer) => {\r\n const data = []; // first row needs fto be headers\r\n const headers = [];\r\n const table = document.getElementById(config.elementIdOrContent) as HTMLTableElement;\r\n for (let index = 0; index < table.rows[0].cells.length; index++) {\r\n headers[index] = table.rows[0].cells[index].innerHTML.toLowerCase().replace(/ /gi, '');\r\n }\r\n // go through cells\r\n for (let i = 1; i < table.rows.length; i++) {\r\n const tableRow = table.rows[i];\r\n let rowData: Record<string, string> = {};\r\n for (let j = 0; j < tableRow.cells.length; j++) {\r\n rowData[headers[j]] = tableRow.cells[j].innerHTML;\r\n }\r\n data.push(rowData);\r\n }\r\n const jsonString = JSON.stringify(data);\r\n const jsonBase64 = this._btoa(jsonString);\r\n const dataStr = 'data:text/json;base64,' + jsonBase64;\r\n if (config.download) {\r\n this.downloadFromDataURL(config.fileName, dataStr);\r\n observer.next(null);\r\n } else {\r\n observer.next(data);\r\n }\r\n observer.complete();\r\n });\r\n }\r\n\r\n private _getXML(config: ExportAsConfig): Observable<string | null> {\r\n return new Observable((observer) => {\r\n let xml = '<?xml version=\"1.0\" encoding=\"UTF-8\"?><Root><Classes>';\r\n const tritem = document.getElementById(config.elementIdOrContent)?.getElementsByTagName('tr');\r\n\r\n if (tritem) {\r\n Array.from(tritem).forEach((celldata) => {\r\n if (celldata.cells.length > 0) {\r\n xml += '<Class name=\"' + celldata.cells[0].textContent + '\">\\n';\r\n for (let m = 1; m < celldata.cells.length; ++m) {\r\n xml += '\\t<data>' + celldata.cells[m].textContent + '</data>\\n';\r\n }\r\n xml += '</Class>\\n';\r\n }\r\n });\r\n\r\n }\r\n\r\n xml += '</Classes></Root>';\r\n const base64 = 'data:text/xml;base64,' + this._btoa(xml);\r\n if (config.download) {\r\n this.downloadFromDataURL(config.fileName, base64);\r\n observer.next(null);\r\n } else {\r\n observer.next(base64);\r\n }\r\n observer.complete();\r\n });\r\n }\r\n\r\n private _btoa(content: string): string {\r\n return Buffer.from(content.toString(), 'utf-8').toString('base64')\r\n }\r\n\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -61,10 +61,10 @@ class CmatLoadingService {
61
61
  this._show$.next(false);
62
62
  }
63
63
  }
64
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatLoadingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
65
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatLoadingService, providedIn: 'root' }); }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatLoadingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
65
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatLoadingService, providedIn: 'root' }); }
66
66
  }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatLoadingService, decorators: [{
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatLoadingService, decorators: [{
68
68
  type: Injectable,
69
69
  args: [{
70
70
  providedIn: 'root'
@@ -89,10 +89,10 @@ class CmatLoadingInterceptor {
89
89
  this._cmatLoadingService.setLoadingStatus(false, req.url);
90
90
  }));
91
91
  }
92
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatLoadingInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
93
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatLoadingInterceptor }); }
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatLoadingInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
93
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatLoadingInterceptor }); }
94
94
  }
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatLoadingInterceptor, decorators: [{
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatLoadingInterceptor, decorators: [{
96
96
  type: Injectable
97
97
  }], ctorParameters: () => [] });
98
98
 
@@ -1 +1 @@
1
- {"version":3,"file":"cmat-services-loading.mjs","sources":["../../../projects/cmat/services/loading/loading.service.ts","../../../projects/cmat/services/loading/loading.interceptor.ts","../../../projects/cmat/services/loading/cmat-services-loading.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { Injectable, inject } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatLoadingService {\r\n private _httpClient = inject(HttpClient);\r\n\r\n private _auto$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(true);\r\n private _mode$: BehaviorSubject<'determinate' | 'indeterminate'> = new BehaviorSubject<'determinate' | 'indeterminate'>('indeterminate');\r\n private _progress$: BehaviorSubject<number | null> = new BehaviorSubject<number | null>(0);\r\n private _show$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\r\n private _urlMap: Map<string, boolean> = new Map<string, boolean>();\r\n\r\n get auto$(): Observable<boolean> {\r\n return this._auto$.asObservable();\r\n }\r\n\r\n get mode$(): Observable<'determinate' | 'indeterminate'> {\r\n return this._mode$.asObservable();\r\n }\r\n\r\n get progress$(): Observable<number | null> {\r\n return this._progress$.asObservable();\r\n }\r\n\r\n get show$(): Observable<boolean> {\r\n return this._show$.asObservable();\r\n }\r\n\r\n show(): void {\r\n this._show$.next(true);\r\n }\r\n\r\n hide(): void {\r\n this._show$.next(false);\r\n }\r\n\r\n setAutoMode(value: boolean): void {\r\n this._auto$.next(value);\r\n }\r\n\r\n setMode(value: 'determinate' | 'indeterminate'): void {\r\n this._mode$.next(value);\r\n }\r\n\r\n setProgress(value: number): void {\r\n if (value < 0 || value > 100) {\r\n console.error('Progress value must be between 0 and 100!');\r\n return;\r\n }\r\n\r\n this._progress$.next(value);\r\n }\r\n\r\n setLoadingStatus(status: boolean, url: string): void {\r\n // Return if the url was not provided\r\n if (!url) {\r\n console.error('The request URL must be provided!');\r\n return;\r\n }\r\n\r\n if (status === true) {\r\n this._urlMap.set(url, status);\r\n this._show$.next(true);\r\n }\r\n else if (status === false && this._urlMap.has(url)) {\r\n this._urlMap.delete(url);\r\n }\r\n\r\n // Only set the status to 'false' if all outgoing requests are completed\r\n if (this._urlMap.size === 0) {\r\n this._show$.next(false);\r\n }\r\n }\r\n}\r\n\r\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable, inject } from '@angular/core';\r\nimport { finalize, Observable } from 'rxjs';\r\nimport { CmatLoadingService } from './loading.service';\r\n\r\n@Injectable()\r\nexport class CmatLoadingInterceptor implements HttpInterceptor {\r\n\r\n handleRequestsAutomatically: boolean;\r\n\r\n private _cmatLoadingService = inject(CmatLoadingService);\r\n constructor() {\r\n this._cmatLoadingService.auto$\r\n .subscribe((value: boolean) => {\r\n this.handleRequestsAutomatically = value;\r\n });\r\n }\r\n\r\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n if (!this.handleRequestsAutomatically || req.url.includes('file/download/')) {\r\n return next.handle(req);\r\n }\r\n\r\n this._cmatLoadingService.setLoadingStatus(true, req.url);\r\n\r\n return next.handle(req).pipe(\r\n finalize(() => {\r\n // Set the status to false if there are any errors or the request is completed\r\n this._cmatLoadingService.setLoadingStatus(false, req.url);\r\n }));\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmat-services-loading.mjs","sources":["../../../projects/cmat/services/loading/loading.service.ts","../../../projects/cmat/services/loading/loading.interceptor.ts","../../../projects/cmat/services/loading/cmat-services-loading.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { Injectable, inject } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatLoadingService {\r\n private _httpClient = inject(HttpClient);\r\n\r\n private _auto$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(true);\r\n private _mode$: BehaviorSubject<'determinate' | 'indeterminate'> = new BehaviorSubject<'determinate' | 'indeterminate'>('indeterminate');\r\n private _progress$: BehaviorSubject<number | null> = new BehaviorSubject<number | null>(0);\r\n private _show$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\r\n private _urlMap: Map<string, boolean> = new Map<string, boolean>();\r\n\r\n get auto$(): Observable<boolean> {\r\n return this._auto$.asObservable();\r\n }\r\n\r\n get mode$(): Observable<'determinate' | 'indeterminate'> {\r\n return this._mode$.asObservable();\r\n }\r\n\r\n get progress$(): Observable<number | null> {\r\n return this._progress$.asObservable();\r\n }\r\n\r\n get show$(): Observable<boolean> {\r\n return this._show$.asObservable();\r\n }\r\n\r\n show(): void {\r\n this._show$.next(true);\r\n }\r\n\r\n hide(): void {\r\n this._show$.next(false);\r\n }\r\n\r\n setAutoMode(value: boolean): void {\r\n this._auto$.next(value);\r\n }\r\n\r\n setMode(value: 'determinate' | 'indeterminate'): void {\r\n this._mode$.next(value);\r\n }\r\n\r\n setProgress(value: number): void {\r\n if (value < 0 || value > 100) {\r\n console.error('Progress value must be between 0 and 100!');\r\n return;\r\n }\r\n\r\n this._progress$.next(value);\r\n }\r\n\r\n setLoadingStatus(status: boolean, url: string): void {\r\n // Return if the url was not provided\r\n if (!url) {\r\n console.error('The request URL must be provided!');\r\n return;\r\n }\r\n\r\n if (status === true) {\r\n this._urlMap.set(url, status);\r\n this._show$.next(true);\r\n }\r\n else if (status === false && this._urlMap.has(url)) {\r\n this._urlMap.delete(url);\r\n }\r\n\r\n // Only set the status to 'false' if all outgoing requests are completed\r\n if (this._urlMap.size === 0) {\r\n this._show$.next(false);\r\n }\r\n }\r\n}\r\n\r\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable, inject } from '@angular/core';\r\nimport { finalize, Observable } from 'rxjs';\r\nimport { CmatLoadingService } from './loading.service';\r\n\r\n@Injectable()\r\nexport class CmatLoadingInterceptor implements HttpInterceptor {\r\n\r\n handleRequestsAutomatically: boolean;\r\n\r\n private _cmatLoadingService = inject(CmatLoadingService);\r\n constructor() {\r\n this._cmatLoadingService.auto$\r\n .subscribe((value: boolean) => {\r\n this.handleRequestsAutomatically = value;\r\n });\r\n }\r\n\r\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n if (!this.handleRequestsAutomatically || req.url.includes('file/download/')) {\r\n return next.handle(req);\r\n }\r\n\r\n this._cmatLoadingService.setLoadingStatus(true, req.url);\r\n\r\n return next.handle(req).pipe(\r\n finalize(() => {\r\n // Set the status to false if there are any errors or the request is completed\r\n this._cmatLoadingService.setLoadingStatus(false, req.url);\r\n }));\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -11,10 +11,10 @@ class CmatLocalStorageService {
11
11
  removeItem(key) {
12
12
  localStorage.removeItem(key);
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatLocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
15
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatLocalStorageService, providedIn: 'root' }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatLocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
15
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatLocalStorageService, providedIn: 'root' }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatLocalStorageService, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatLocalStorageService, decorators: [{
18
18
  type: Injectable,
19
19
  args: [{
20
20
  providedIn: 'root'
@@ -1 +1 @@
1
- {"version":3,"file":"cmat-services-local-storage.mjs","sources":["../../../projects/cmat/services/local-storage/local-storage.service.ts","../../../projects/cmat/services/local-storage/cmat-services-local-storage.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatLocalStorageService {\r\n getItem(key: string): string | null {\r\n return localStorage.getItem(key);\r\n }\r\n\r\n setItem(key: string, item: string): void {\r\n localStorage.setItem(key, item);\r\n }\r\n\r\n removeItem(key: string): void {\r\n localStorage.removeItem(key);\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAKa,uBAAuB,CAAA;AAChC,IAAA,OAAO,CAAC,GAAW,EAAA;AACf,QAAA,OAAO,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;;IAGpC,OAAO,CAAC,GAAW,EAAE,IAAY,EAAA;AAC7B,QAAA,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC;;AAGnC,IAAA,UAAU,CAAC,GAAW,EAAA;AAClB,QAAA,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC;;8GAVvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFpB,MAAM,EAAA,CAAA,CAAA;;2FAET,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACJD;;AAEG;;;;"}
1
+ {"version":3,"file":"cmat-services-local-storage.mjs","sources":["../../../projects/cmat/services/local-storage/local-storage.service.ts","../../../projects/cmat/services/local-storage/cmat-services-local-storage.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatLocalStorageService {\r\n getItem(key: string): string | null {\r\n return localStorage.getItem(key);\r\n }\r\n\r\n setItem(key: string, item: string): void {\r\n localStorage.setItem(key, item);\r\n }\r\n\r\n removeItem(key: string): void {\r\n localStorage.removeItem(key);\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAKa,uBAAuB,CAAA;AAChC,IAAA,OAAO,CAAC,GAAW,EAAA;AACf,QAAA,OAAO,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;IACpC;IAEA,OAAO,CAAC,GAAW,EAAE,IAAY,EAAA;AAC7B,QAAA,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC;IACnC;AAEA,IAAA,UAAU,CAAC,GAAW,EAAA;AAClB,QAAA,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC;IAChC;8GAXS,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFpB,MAAM,EAAA,CAAA,CAAA;;2FAET,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACJD;;AAEG;;;;"}
@@ -44,10 +44,10 @@ class CmatMediaWatcherService {
44
44
  onMediaQueryChange$(query) {
45
45
  return this._breakpointObserver.observe(query);
46
46
  }
47
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatMediaWatcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
48
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatMediaWatcherService, providedIn: 'root' }); }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatMediaWatcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
48
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatMediaWatcherService, providedIn: 'root' }); }
49
49
  }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: CmatMediaWatcherService, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: CmatMediaWatcherService, decorators: [{
51
51
  type: Injectable,
52
52
  args: [{
53
53
  providedIn: 'root'
@@ -1 +1 @@
1
- {"version":3,"file":"cmat-services-media-watcher.mjs","sources":["../../../projects/cmat/services/media-watcher/media-watcher.service.ts","../../../projects/cmat/services/media-watcher/cmat-services-media-watcher.ts"],"sourcesContent":["import { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\r\nimport { Injectable, OnDestroy, inject } from '@angular/core';\r\nimport { fromPairs } from 'lodash-es';\r\nimport { Observable, ReplaySubject, Subject } from 'rxjs';\r\nimport { map, switchMap, takeUntil } from 'rxjs/operators';\r\nimport { CmatConfigService } from 'cmat/services/config';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatMediaWatcherService implements OnDestroy {\r\n private _breakpointObserver = inject(BreakpointObserver);\r\n private _cmatConfigService = inject(CmatConfigService);\r\n\r\n private _onMediaChange: ReplaySubject<{ matchingAliases: string[]; matchingQueries: any }> = new ReplaySubject<{ matchingAliases: string[]; matchingQueries: any }>(1);\r\n private _unsubscribeAll: Subject<void> = new Subject<void>();\r\n\r\n \r\n\r\n constructor() {\r\n this._cmatConfigService.config$.pipe(\r\n takeUntil(this._unsubscribeAll),\r\n map(config => fromPairs(Object.entries(config.screens).map(([alias, screen]) => ([alias, `(min-width: ${screen as string})`])))),\r\n switchMap(screens => this._breakpointObserver.observe(Object.values(screens)).pipe(\r\n map((state) => {\r\n // Prepare the observable values and set their defaults\r\n const matchingAliases: string[] = [];\r\n const matchingQueries: any = {};\r\n\r\n // Get the matching breakpoints and use them to fill the subject\r\n const matchingBreakpoints = Object.entries(state.breakpoints).filter(([, matches]) => matches) ?? [];\r\n for (const [query] of matchingBreakpoints) {\r\n // Find the alias of the matching query\r\n const matchingAlias = Object.entries(screens).find(([, q]) => q === query)?.[0];\r\n\r\n // Add the matching query to the observable values\r\n if (matchingAlias) {\r\n matchingAliases.push(matchingAlias);\r\n matchingQueries[matchingAlias] = query;\r\n }\r\n }\r\n\r\n // Execute the observable\r\n this._onMediaChange.next({\r\n matchingAliases,\r\n matchingQueries\r\n });\r\n })\r\n ))\r\n ).subscribe();\r\n }\r\n\r\n get onMediaChange$(): Observable<{ matchingAliases: string[]; matchingQueries: any }> {\r\n return this._onMediaChange.asObservable();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unsubscribeAll.next(void 0);\r\n this._unsubscribeAll.complete();\r\n }\r\n\r\n onMediaQueryChange$(query: string | string[]): Observable<BreakpointState> {\r\n return this._breakpointObserver.observe(query);\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;MAUa,uBAAuB,CAAA;AAShC,IAAA,WAAA,GAAA;AARQ,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAChD,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAE9C,QAAA,IAAA,CAAA,cAAc,GAAuE,IAAI,aAAa,CAAsD,CAAC,CAAC;AAC9J,QAAA,IAAA,CAAA,eAAe,GAAkB,IAAI,OAAO,EAAQ;AAKxD,QAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAChC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,EAC/B,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA,YAAA,EAAe,MAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAChI,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAC9E,GAAG,CAAC,CAAC,KAAK,KAAI;;YAEV,MAAM,eAAe,GAAa,EAAE;YACpC,MAAM,eAAe,GAAQ,EAAE;;YAG/B,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,EAAE;AACpG,YAAA,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,mBAAmB,EAAE;;gBAEvC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC;;gBAG/E,IAAI,aAAa,EAAE;AACf,oBAAA,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC;AACnC,oBAAA,eAAe,CAAC,aAAa,CAAC,GAAG,KAAK;;;;AAK9C,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;gBACrB,eAAe;gBACf;AACH,aAAA,CAAC;AACN,SAAC,CAAC,CACL,CAAC,CACL,CAAC,SAAS,EAAE;;AAGjB,IAAA,IAAI,cAAc,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;;IAG7C,WAAW,GAAA;QACP,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE;;AAGnC,IAAA,mBAAmB,CAAC,KAAwB,EAAA;QACxC,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC;;8GApDzC,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFpB,MAAM,EAAA,CAAA,CAAA;;2FAET,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACTD;;AAEG;;;;"}
1
+ {"version":3,"file":"cmat-services-media-watcher.mjs","sources":["../../../projects/cmat/services/media-watcher/media-watcher.service.ts","../../../projects/cmat/services/media-watcher/cmat-services-media-watcher.ts"],"sourcesContent":["import { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\r\nimport { Injectable, OnDestroy, inject } from '@angular/core';\r\nimport { fromPairs } from 'lodash-es';\r\nimport { Observable, ReplaySubject, Subject } from 'rxjs';\r\nimport { map, switchMap, takeUntil } from 'rxjs/operators';\r\nimport { CmatConfigService } from 'cmat/services/config';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatMediaWatcherService implements OnDestroy {\r\n private _breakpointObserver = inject(BreakpointObserver);\r\n private _cmatConfigService = inject(CmatConfigService);\r\n\r\n private _onMediaChange: ReplaySubject<{ matchingAliases: string[]; matchingQueries: any }> = new ReplaySubject<{ matchingAliases: string[]; matchingQueries: any }>(1);\r\n private _unsubscribeAll: Subject<void> = new Subject<void>();\r\n\r\n \r\n\r\n constructor() {\r\n this._cmatConfigService.config$.pipe(\r\n takeUntil(this._unsubscribeAll),\r\n map(config => fromPairs(Object.entries(config.screens).map(([alias, screen]) => ([alias, `(min-width: ${screen as string})`])))),\r\n switchMap(screens => this._breakpointObserver.observe(Object.values(screens)).pipe(\r\n map((state) => {\r\n // Prepare the observable values and set their defaults\r\n const matchingAliases: string[] = [];\r\n const matchingQueries: any = {};\r\n\r\n // Get the matching breakpoints and use them to fill the subject\r\n const matchingBreakpoints = Object.entries(state.breakpoints).filter(([, matches]) => matches) ?? [];\r\n for (const [query] of matchingBreakpoints) {\r\n // Find the alias of the matching query\r\n const matchingAlias = Object.entries(screens).find(([, q]) => q === query)?.[0];\r\n\r\n // Add the matching query to the observable values\r\n if (matchingAlias) {\r\n matchingAliases.push(matchingAlias);\r\n matchingQueries[matchingAlias] = query;\r\n }\r\n }\r\n\r\n // Execute the observable\r\n this._onMediaChange.next({\r\n matchingAliases,\r\n matchingQueries\r\n });\r\n })\r\n ))\r\n ).subscribe();\r\n }\r\n\r\n get onMediaChange$(): Observable<{ matchingAliases: string[]; matchingQueries: any }> {\r\n return this._onMediaChange.asObservable();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unsubscribeAll.next(void 0);\r\n this._unsubscribeAll.complete();\r\n }\r\n\r\n onMediaQueryChange$(query: string | string[]): Observable<BreakpointState> {\r\n return this._breakpointObserver.observe(query);\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;MAUa,uBAAuB,CAAA;AAShC,IAAA,WAAA,GAAA;AARQ,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAChD,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAE9C,QAAA,IAAA,CAAA,cAAc,GAAuE,IAAI,aAAa,CAAsD,CAAC,CAAC;AAC9J,QAAA,IAAA,CAAA,eAAe,GAAkB,IAAI,OAAO,EAAQ;AAKxD,QAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAChC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,EAC/B,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA,YAAA,EAAe,MAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAChI,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAC9E,GAAG,CAAC,CAAC,KAAK,KAAI;;YAEV,MAAM,eAAe,GAAa,EAAE;YACpC,MAAM,eAAe,GAAQ,EAAE;;YAG/B,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,EAAE;AACpG,YAAA,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,mBAAmB,EAAE;;gBAEvC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC;;gBAG/E,IAAI,aAAa,EAAE;AACf,oBAAA,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC;AACnC,oBAAA,eAAe,CAAC,aAAa,CAAC,GAAG,KAAK;gBAC1C;YACJ;;AAGA,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;gBACrB,eAAe;gBACf;AACH,aAAA,CAAC;AACN,QAAA,CAAC,CAAC,CACL,CAAC,CACL,CAAC,SAAS,EAAE;IACjB;AAEA,IAAA,IAAI,cAAc,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;IAC7C;IAEA,WAAW,GAAA;QACP,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE;IACnC;AAEA,IAAA,mBAAmB,CAAC,KAAwB,EAAA;QACxC,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC;IAClD;8GArDS,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFpB,MAAM,EAAA,CAAA,CAAA;;2FAET,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACTD;;AAEG;;;;"}