@abp/ng.theme.shared 5.0.0-beta.2 → 5.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/README.md +3 -3
  2. package/bundles/abp-ng.theme.shared-extensions.umd.js +82 -81
  3. package/bundles/abp-ng.theme.shared-extensions.umd.js.map +1 -1
  4. package/bundles/abp-ng.theme.shared-testing.umd.js +8 -10
  5. package/bundles/abp-ng.theme.shared-testing.umd.js.map +1 -1
  6. package/bundles/abp-ng.theme.shared.umd.js +195 -241
  7. package/bundles/abp-ng.theme.shared.umd.js.map +1 -1
  8. package/esm2015/abp-ng.theme.shared.js +1 -1
  9. package/esm2015/extensions/abp-ng.theme.shared-extensions.js +1 -1
  10. package/esm2015/extensions/lib/adapters/date-time.adapter.js +6 -6
  11. package/esm2015/extensions/lib/adapters/date.adapter.js +4 -4
  12. package/esm2015/extensions/lib/adapters/time.adapter.js +4 -4
  13. package/esm2015/extensions/lib/components/abstract-actions/abstract-actions.component.js +4 -4
  14. package/esm2015/extensions/lib/components/date-time-picker/date-time-picker.component.js +40 -40
  15. package/esm2015/extensions/lib/components/extensible-form/extensible-form-prop.component.js +7 -7
  16. package/esm2015/extensions/lib/components/extensible-form/extensible-form.component.js +4 -4
  17. package/esm2015/extensions/lib/components/extensible-table/extensible-table.component.js +4 -4
  18. package/esm2015/extensions/lib/components/grid-actions/grid-actions.component.js +5 -5
  19. package/esm2015/extensions/lib/components/page-toolbar/page-toolbar.component.js +5 -5
  20. package/esm2015/extensions/lib/constants/extra-properties.js +1 -1
  21. package/esm2015/extensions/lib/directives/disabled.directive.js +5 -4
  22. package/esm2015/extensions/lib/directives/prop-data.directive.js +4 -4
  23. package/esm2015/extensions/lib/enums/props.enum.js +1 -1
  24. package/esm2015/extensions/lib/models/actions.js +1 -1
  25. package/esm2015/extensions/lib/models/entity-actions.js +1 -1
  26. package/esm2015/extensions/lib/models/entity-props.js +1 -1
  27. package/esm2015/extensions/lib/models/form-props.js +1 -1
  28. package/esm2015/extensions/lib/models/internal/object-extensions.js +1 -1
  29. package/esm2015/extensions/lib/models/object-extensions.js +1 -1
  30. package/esm2015/extensions/lib/models/props.js +1 -1
  31. package/esm2015/extensions/lib/models/toolbar-actions.js +3 -3
  32. package/esm2015/extensions/lib/services/extensions.service.js +4 -4
  33. package/esm2015/extensions/lib/tokens/extensions.token.js +1 -1
  34. package/esm2015/extensions/lib/ui-extensions.module.js +9 -9
  35. package/esm2015/extensions/lib/utils/actions.util.js +1 -1
  36. package/esm2015/extensions/lib/utils/enum.util.js +4 -4
  37. package/esm2015/extensions/lib/utils/factory.util.js +1 -1
  38. package/esm2015/extensions/lib/utils/form-props.util.js +1 -1
  39. package/esm2015/extensions/lib/utils/localization.util.js +4 -4
  40. package/esm2015/extensions/lib/utils/props.util.js +1 -1
  41. package/esm2015/extensions/lib/utils/state.util.js +5 -4
  42. package/esm2015/extensions/lib/utils/typeahead.util.js +9 -9
  43. package/esm2015/extensions/lib/utils/validation.util.js +3 -2
  44. package/esm2015/extensions/public-api.js +1 -1
  45. package/esm2015/lib/animations/bounce.animations.js +1 -1
  46. package/esm2015/lib/animations/collapse.animations.js +1 -1
  47. package/esm2015/lib/animations/fade.animations.js +1 -1
  48. package/esm2015/lib/animations/index.js +1 -1
  49. package/esm2015/lib/animations/modal.animations.js +1 -1
  50. package/esm2015/lib/animations/slide.animations.js +1 -1
  51. package/esm2015/lib/animations/toast.animations.js +1 -1
  52. package/esm2015/lib/components/breadcrumb/breadcrumb.component.js +4 -4
  53. package/esm2015/lib/components/breadcrumb-items/breadcrumb-items.component.js +4 -4
  54. package/esm2015/lib/components/button/button.component.js +33 -30
  55. package/esm2015/lib/components/confirmation/confirmation.component.js +4 -4
  56. package/esm2015/lib/components/http-error-wrapper/http-error-wrapper.component.js +8 -6
  57. package/esm2015/lib/components/index.js +1 -1
  58. package/esm2015/lib/components/loader-bar/loader-bar.component.js +27 -27
  59. package/esm2015/lib/components/loading/loading.component.js +32 -32
  60. package/esm2015/lib/components/modal/modal-close.directive.js +4 -4
  61. package/esm2015/lib/components/modal/modal-ref.service.js +4 -4
  62. package/esm2015/lib/components/modal/modal.component.js +14 -14
  63. package/esm2015/lib/components/toast/toast.component.js +6 -5
  64. package/esm2015/lib/components/toast-container/toast-container.component.js +6 -5
  65. package/esm2015/lib/constants/styles.js +181 -180
  66. package/esm2015/lib/constants/validation.js +1 -1
  67. package/esm2015/lib/directives/ellipsis.directive.js +8 -8
  68. package/esm2015/lib/directives/index.js +1 -1
  69. package/esm2015/lib/directives/loading.directive.js +8 -5
  70. package/esm2015/lib/directives/ngx-datatable-default.directive.js +4 -4
  71. package/esm2015/lib/directives/ngx-datatable-list.directive.js +4 -4
  72. package/esm2015/lib/enums/index.js +1 -1
  73. package/esm2015/lib/enums/route-names.js +1 -1
  74. package/esm2015/lib/handlers/document-dir.handler.js +33 -0
  75. package/esm2015/lib/handlers/error.handler.js +44 -33
  76. package/esm2015/lib/handlers/index.js +2 -2
  77. package/esm2015/lib/models/common.js +1 -1
  78. package/esm2015/lib/models/confirmation.js +1 -1
  79. package/esm2015/lib/models/index.js +1 -1
  80. package/esm2015/lib/models/nav-item.js +1 -1
  81. package/esm2015/lib/models/statistics.js +1 -1
  82. package/esm2015/lib/models/toaster.js +1 -1
  83. package/esm2015/lib/providers/index.js +1 -1
  84. package/esm2015/lib/providers/ng-bootstrap-config.provider.js +1 -1
  85. package/esm2015/lib/providers/route.provider.js +1 -1
  86. package/esm2015/lib/services/confirmation.service.js +4 -4
  87. package/esm2015/lib/services/index.js +1 -1
  88. package/esm2015/lib/services/nav-items.service.js +4 -4
  89. package/esm2015/lib/services/page-alert.service.js +4 -4
  90. package/esm2015/lib/services/toaster.service.js +5 -5
  91. package/esm2015/lib/theme-shared.module.js +19 -18
  92. package/esm2015/lib/tokens/append-content.token.js +1 -1
  93. package/esm2015/lib/tokens/http-error.token.js +1 -1
  94. package/esm2015/lib/tokens/index.js +1 -2
  95. package/esm2015/lib/tokens/ngx-datatable-messages.token.js +1 -1
  96. package/esm2015/lib/tokens/suppress-unsaved-changes-warning.token.js +1 -1
  97. package/esm2015/lib/utils/date-parser-formatter.js +7 -6
  98. package/esm2015/lib/utils/index.js +1 -1
  99. package/esm2015/lib/utils/validation-utils.js +1 -1
  100. package/esm2015/public-api.js +1 -2
  101. package/esm2015/testing/abp-ng.theme.shared-testing.js +1 -1
  102. package/esm2015/testing/lib/models/config.js +1 -1
  103. package/esm2015/testing/lib/models/index.js +1 -1
  104. package/esm2015/testing/lib/theme-shared-testing.module.js +5 -5
  105. package/esm2015/testing/public-api.js +1 -1
  106. package/extensions/lib/adapters/date.adapter.d.ts +1 -1
  107. package/extensions/lib/adapters/time.adapter.d.ts +1 -1
  108. package/extensions/lib/components/abstract-actions/abstract-actions.component.d.ts +1 -1
  109. package/extensions/lib/components/extensible-form/extensible-form-prop.component.d.ts +1 -1
  110. package/extensions/lib/directives/prop-data.directive.d.ts +3 -3
  111. package/extensions/lib/models/actions.d.ts +1 -1
  112. package/extensions/lib/models/props.d.ts +1 -1
  113. package/extensions/lib/utils/state.util.d.ts +1 -1
  114. package/fesm2015/abp-ng.theme.shared-extensions.js +113 -110
  115. package/fesm2015/abp-ng.theme.shared-extensions.js.map +1 -1
  116. package/fesm2015/abp-ng.theme.shared-testing.js +4 -4
  117. package/fesm2015/abp-ng.theme.shared-testing.js.map +1 -1
  118. package/fesm2015/abp-ng.theme.shared.js +445 -478
  119. package/fesm2015/abp-ng.theme.shared.js.map +1 -1
  120. package/lib/components/breadcrumb-items/breadcrumb-items.component.d.ts +2 -1
  121. package/lib/components/button/button.component.d.ts +3 -3
  122. package/lib/components/http-error-wrapper/http-error-wrapper.component.d.ts +2 -2
  123. package/lib/components/modal/modal-ref.service.d.ts +1 -1
  124. package/lib/components/modal/modal.component.d.ts +5 -5
  125. package/lib/components/toast-container/toast-container.component.d.ts +4 -4
  126. package/lib/constants/styles.d.ts +1 -2
  127. package/lib/directives/ellipsis.directive.d.ts +2 -2
  128. package/lib/directives/loading.directive.d.ts +3 -3
  129. package/lib/handlers/document-dir.handler.d.ts +13 -0
  130. package/lib/handlers/error.handler.d.ts +3 -2
  131. package/lib/handlers/index.d.ts +1 -1
  132. package/lib/models/nav-item.d.ts +1 -1
  133. package/lib/services/toaster.service.d.ts +1 -1
  134. package/lib/tokens/index.d.ts +0 -1
  135. package/lib/utils/date-parser-formatter.d.ts +1 -1
  136. package/package.json +5 -5
  137. package/public-api.d.ts +0 -1
  138. package/esm2015/abp-ng.theme.shared.js.map +0 -1
  139. package/esm2015/extensions/abp-ng.theme.shared-extensions.js.map +0 -1
  140. package/esm2015/extensions/lib/adapters/date-time.adapter.js.map +0 -1
  141. package/esm2015/extensions/lib/adapters/date.adapter.js.map +0 -1
  142. package/esm2015/extensions/lib/adapters/time.adapter.js.map +0 -1
  143. package/esm2015/extensions/lib/components/abstract-actions/abstract-actions.component.js.map +0 -1
  144. package/esm2015/extensions/lib/components/date-time-picker/date-time-picker.component.js.map +0 -1
  145. package/esm2015/extensions/lib/components/extensible-form/extensible-form-prop.component.js.map +0 -1
  146. package/esm2015/extensions/lib/components/extensible-form/extensible-form.component.js.map +0 -1
  147. package/esm2015/extensions/lib/components/extensible-table/extensible-table.component.js.map +0 -1
  148. package/esm2015/extensions/lib/components/grid-actions/grid-actions.component.js.map +0 -1
  149. package/esm2015/extensions/lib/components/page-toolbar/page-toolbar.component.js.map +0 -1
  150. package/esm2015/extensions/lib/constants/extra-properties.js.map +0 -1
  151. package/esm2015/extensions/lib/directives/disabled.directive.js.map +0 -1
  152. package/esm2015/extensions/lib/directives/prop-data.directive.js.map +0 -1
  153. package/esm2015/extensions/lib/enums/props.enum.js.map +0 -1
  154. package/esm2015/extensions/lib/models/actions.js.map +0 -1
  155. package/esm2015/extensions/lib/models/entity-actions.js.map +0 -1
  156. package/esm2015/extensions/lib/models/entity-props.js.map +0 -1
  157. package/esm2015/extensions/lib/models/form-props.js.map +0 -1
  158. package/esm2015/extensions/lib/models/internal/object-extensions.js.map +0 -1
  159. package/esm2015/extensions/lib/models/object-extensions.js.map +0 -1
  160. package/esm2015/extensions/lib/models/props.js.map +0 -1
  161. package/esm2015/extensions/lib/models/toolbar-actions.js.map +0 -1
  162. package/esm2015/extensions/lib/services/extensions.service.js.map +0 -1
  163. package/esm2015/extensions/lib/tokens/extensions.token.js.map +0 -1
  164. package/esm2015/extensions/lib/ui-extensions.module.js.map +0 -1
  165. package/esm2015/extensions/lib/utils/actions.util.js.map +0 -1
  166. package/esm2015/extensions/lib/utils/enum.util.js.map +0 -1
  167. package/esm2015/extensions/lib/utils/factory.util.js.map +0 -1
  168. package/esm2015/extensions/lib/utils/form-props.util.js.map +0 -1
  169. package/esm2015/extensions/lib/utils/localization.util.js.map +0 -1
  170. package/esm2015/extensions/lib/utils/props.util.js.map +0 -1
  171. package/esm2015/extensions/lib/utils/state.util.js.map +0 -1
  172. package/esm2015/extensions/lib/utils/typeahead.util.js.map +0 -1
  173. package/esm2015/extensions/lib/utils/validation.util.js.map +0 -1
  174. package/esm2015/extensions/public-api.js.map +0 -1
  175. package/esm2015/lib/animations/bounce.animations.js.map +0 -1
  176. package/esm2015/lib/animations/collapse.animations.js.map +0 -1
  177. package/esm2015/lib/animations/fade.animations.js.map +0 -1
  178. package/esm2015/lib/animations/index.js.map +0 -1
  179. package/esm2015/lib/animations/modal.animations.js.map +0 -1
  180. package/esm2015/lib/animations/slide.animations.js.map +0 -1
  181. package/esm2015/lib/animations/toast.animations.js.map +0 -1
  182. package/esm2015/lib/components/breadcrumb/breadcrumb.component.js.map +0 -1
  183. package/esm2015/lib/components/breadcrumb-items/breadcrumb-items.component.js.map +0 -1
  184. package/esm2015/lib/components/button/button.component.js.map +0 -1
  185. package/esm2015/lib/components/confirmation/confirmation.component.js.map +0 -1
  186. package/esm2015/lib/components/http-error-wrapper/http-error-wrapper.component.js.map +0 -1
  187. package/esm2015/lib/components/index.js.map +0 -1
  188. package/esm2015/lib/components/loader-bar/loader-bar.component.js.map +0 -1
  189. package/esm2015/lib/components/loading/loading.component.js.map +0 -1
  190. package/esm2015/lib/components/modal/modal-close.directive.js.map +0 -1
  191. package/esm2015/lib/components/modal/modal-ref.service.js.map +0 -1
  192. package/esm2015/lib/components/modal/modal.component.js.map +0 -1
  193. package/esm2015/lib/components/toast/toast.component.js.map +0 -1
  194. package/esm2015/lib/components/toast-container/toast-container.component.js.map +0 -1
  195. package/esm2015/lib/constants/styles.js.map +0 -1
  196. package/esm2015/lib/constants/validation.js.map +0 -1
  197. package/esm2015/lib/directives/ellipsis.directive.js.map +0 -1
  198. package/esm2015/lib/directives/index.js.map +0 -1
  199. package/esm2015/lib/directives/loading.directive.js.map +0 -1
  200. package/esm2015/lib/directives/ngx-datatable-default.directive.js.map +0 -1
  201. package/esm2015/lib/directives/ngx-datatable-list.directive.js.map +0 -1
  202. package/esm2015/lib/enums/index.js.map +0 -1
  203. package/esm2015/lib/enums/route-names.js.map +0 -1
  204. package/esm2015/lib/handlers/error.handler.js.map +0 -1
  205. package/esm2015/lib/handlers/index.js.map +0 -1
  206. package/esm2015/lib/handlers/lazy-style.handler.js +0 -89
  207. package/esm2015/lib/handlers/lazy-style.handler.js.map +0 -1
  208. package/esm2015/lib/models/common.js.map +0 -1
  209. package/esm2015/lib/models/confirmation.js.map +0 -1
  210. package/esm2015/lib/models/index.js.map +0 -1
  211. package/esm2015/lib/models/nav-item.js.map +0 -1
  212. package/esm2015/lib/models/statistics.js.map +0 -1
  213. package/esm2015/lib/models/toaster.js.map +0 -1
  214. package/esm2015/lib/providers/index.js.map +0 -1
  215. package/esm2015/lib/providers/ng-bootstrap-config.provider.js.map +0 -1
  216. package/esm2015/lib/providers/route.provider.js.map +0 -1
  217. package/esm2015/lib/services/confirmation.service.js.map +0 -1
  218. package/esm2015/lib/services/index.js.map +0 -1
  219. package/esm2015/lib/services/nav-items.service.js.map +0 -1
  220. package/esm2015/lib/services/page-alert.service.js.map +0 -1
  221. package/esm2015/lib/services/toaster.service.js.map +0 -1
  222. package/esm2015/lib/theme-shared.module.js.map +0 -1
  223. package/esm2015/lib/tokens/append-content.token.js.map +0 -1
  224. package/esm2015/lib/tokens/http-error.token.js.map +0 -1
  225. package/esm2015/lib/tokens/index.js.map +0 -1
  226. package/esm2015/lib/tokens/lazy-styles.token.js +0 -3
  227. package/esm2015/lib/tokens/lazy-styles.token.js.map +0 -1
  228. package/esm2015/lib/tokens/ngx-datatable-messages.token.js.map +0 -1
  229. package/esm2015/lib/tokens/suppress-unsaved-changes-warning.token.js.map +0 -1
  230. package/esm2015/lib/utils/date-parser-formatter.js.map +0 -1
  231. package/esm2015/lib/utils/index.js.map +0 -1
  232. package/esm2015/lib/utils/validation-utils.js.map +0 -1
  233. package/esm2015/public-api.js.map +0 -1
  234. package/esm2015/testing/abp-ng.theme.shared-testing.js.map +0 -1
  235. package/esm2015/testing/lib/models/config.js.map +0 -1
  236. package/esm2015/testing/lib/models/index.js.map +0 -1
  237. package/esm2015/testing/lib/theme-shared-testing.module.js.map +0 -1
  238. package/esm2015/testing/public-api.js.map +0 -1
  239. package/lib/handlers/lazy-style.handler.d.ts +0 -23
  240. package/lib/tokens/lazy-styles.token.d.ts +0 -2
  241. package/styles/bootstrap-rtl.min.css +0 -7
@@ -37,15 +37,15 @@ class DateTimeAdapter {
37
37
  toModel(value) {
38
38
  if (!value)
39
39
  return '';
40
- const now = new Date();
41
- value = Object.assign(Object.assign({ year: now.getUTCFullYear(), month: now.getMonth() + 1, day: now.getDate(), hour: 0, minute: 0, second: 0 }, this.value), value);
40
+ //const now = new Date();
41
+ value = Object.assign(Object.assign({}, this.value), value);
42
42
  const date = new Date(value.year, value.month - 1, value.day, value.hour, value.minute, value.second);
43
43
  return new Date(date).toISOString();
44
44
  }
45
45
  }
46
- DateTimeAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: DateTimeAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
47
- DateTimeAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: DateTimeAdapter });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: DateTimeAdapter, decorators: [{
46
+ DateTimeAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DateTimeAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
47
+ DateTimeAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DateTimeAdapter });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DateTimeAdapter, decorators: [{
49
49
  type: Injectable
50
50
  }] });
51
51
 
@@ -80,9 +80,9 @@ class DateAdapter extends NgbDateAdapter {
80
80
  return new Date(dateUtc.getTime() + Math.abs(dateUtc.getTimezoneOffset() * 60000));
81
81
  }
82
82
  }
83
- DateAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: DateAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
84
- DateAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: DateAdapter });
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: DateAdapter, decorators: [{
83
+ DateAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DateAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
84
+ DateAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DateAdapter });
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DateAdapter, decorators: [{
86
86
  type: Injectable
87
87
  }] });
88
88
 
@@ -109,9 +109,9 @@ class TimeAdapter extends NgbTimeAdapter {
109
109
  return formattedDate;
110
110
  }
111
111
  }
112
- TimeAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: TimeAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
113
- TimeAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: TimeAdapter });
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: TimeAdapter, decorators: [{
112
+ TimeAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TimeAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
113
+ TimeAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TimeAdapter });
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TimeAdapter, decorators: [{
115
115
  type: Injectable
116
116
  }] });
117
117
  function isTimeStr(value) {
@@ -234,26 +234,26 @@ class DateTimePickerComponent {
234
234
  this.time.writeValue(datestr);
235
235
  }
236
236
  }
237
- DateTimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: DateTimePickerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
238
- DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: DateTimePickerComponent, selector: "abp-date-time-picker", inputs: { prop: "prop", meridian: "meridian" }, viewQueries: [{ propertyName: "date", first: true, predicate: NgbInputDatepicker, descendants: true }, { propertyName: "time", first: true, predicate: NgbTimepicker, descendants: true }], exportAs: ["abpDateTimePicker"], ngImport: i0, template: `
239
- <input
240
- [id]="prop.id"
241
- [formControlName]="prop.name"
242
- (ngModelChange)="setTime($event)"
243
- (click)="datepicker.open()"
244
- (keyup.space)="datepicker.open()"
245
- ngbDatepicker
246
- #datepicker="ngbDatepicker"
247
- type="text"
248
- class="form-control"
249
- />
250
- <ngb-timepicker
251
- #timepicker
252
- [formControlName]="prop.name"
253
- (ngModelChange)="setDate($event)"
254
- [meridian]="meridian"
255
- ></ngb-timepicker>
256
- `, isInline: true, components: [{ type: i2.NgbTimepicker, selector: "ngb-timepicker", inputs: ["meridian", "spinners", "seconds", "hourStep", "minuteStep", "secondStep", "readonlyInputs", "size"] }], directives: [{ type: i2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekdays", "showWeekNumbers", "startDate", "container", "positionTarget"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i6.ValidationDirective, selector: "[formControl],[formControlName]", inputs: ["blueprints", "errorTemplate", "invalidClasses", "mapErrorsFn", "skipValidation", "targetSelector", "validateOnSubmit"] }], viewProviders: [
237
+ DateTimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DateTimePickerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
238
+ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: DateTimePickerComponent, selector: "abp-date-time-picker", inputs: { prop: "prop", meridian: "meridian" }, viewQueries: [{ propertyName: "date", first: true, predicate: NgbInputDatepicker, descendants: true }, { propertyName: "time", first: true, predicate: NgbTimepicker, descendants: true }], exportAs: ["abpDateTimePicker"], ngImport: i0, template: `
239
+ <input
240
+ [id]="prop.id"
241
+ [formControlName]="prop.name"
242
+ (ngModelChange)="setTime($event)"
243
+ (click)="datepicker.open()"
244
+ (keyup.space)="datepicker.open()"
245
+ ngbDatepicker
246
+ #datepicker="ngbDatepicker"
247
+ type="text"
248
+ class="form-control"
249
+ />
250
+ <ngb-timepicker
251
+ #timepicker
252
+ [formControlName]="prop.name"
253
+ (ngModelChange)="setDate($event)"
254
+ [meridian]="meridian"
255
+ ></ngb-timepicker>
256
+ `, isInline: true, components: [{ type: i2.NgbTimepicker, selector: "ngb-timepicker", inputs: ["meridian", "spinners", "seconds", "hourStep", "minuteStep", "secondStep", "readonlyInputs", "size"] }], directives: [{ type: i2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i6.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }], viewProviders: [
257
257
  {
258
258
  provide: ControlContainer,
259
259
  useFactory: selfFactory,
@@ -268,29 +268,29 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
268
268
  useClass: DateTimeAdapter,
269
269
  },
270
270
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
271
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: DateTimePickerComponent, decorators: [{
271
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DateTimePickerComponent, decorators: [{
272
272
  type: Component,
273
273
  args: [{
274
274
  exportAs: 'abpDateTimePicker',
275
275
  selector: 'abp-date-time-picker',
276
- template: `
277
- <input
278
- [id]="prop.id"
279
- [formControlName]="prop.name"
280
- (ngModelChange)="setTime($event)"
281
- (click)="datepicker.open()"
282
- (keyup.space)="datepicker.open()"
283
- ngbDatepicker
284
- #datepicker="ngbDatepicker"
285
- type="text"
286
- class="form-control"
287
- />
288
- <ngb-timepicker
289
- #timepicker
290
- [formControlName]="prop.name"
291
- (ngModelChange)="setDate($event)"
292
- [meridian]="meridian"
293
- ></ngb-timepicker>
276
+ template: `
277
+ <input
278
+ [id]="prop.id"
279
+ [formControlName]="prop.name"
280
+ (ngModelChange)="setTime($event)"
281
+ (click)="datepicker.open()"
282
+ (keyup.space)="datepicker.open()"
283
+ ngbDatepicker
284
+ #datepicker="ngbDatepicker"
285
+ type="text"
286
+ class="form-control"
287
+ />
288
+ <ngb-timepicker
289
+ #timepicker
290
+ [formControlName]="prop.name"
291
+ (ngModelChange)="setDate($event)"
292
+ [meridian]="meridian"
293
+ ></ngb-timepicker>
294
294
  `,
295
295
  changeDetection: ChangeDetectionStrategy.OnPush,
296
296
  viewProviders: [
@@ -326,21 +326,21 @@ const EXTRA_PROPERTIES_KEY = 'extraProperties';
326
326
  const TYPEAHEAD_TEXT_SUFFIX = '_Text';
327
327
  const TYPEAHEAD_TEXT_SUFFIX_REGEX = /_Text$/;
328
328
  function createTypeaheadOptions(lookup) {
329
- return (data, searchText) => searchText
329
+ return (data, searchText) => searchText && data
330
330
  ? data
331
331
  .getInjected(RestService)
332
332
  .request({
333
333
  method: 'GET',
334
- url: lookup.url,
334
+ url: lookup.url || '',
335
335
  params: {
336
- [lookup.filterParamName]: searchText,
336
+ [lookup.filterParamName || '']: searchText,
337
337
  },
338
338
  }, { apiName: 'Default' })
339
- .pipe(map(response => {
340
- const list = response[lookup.resultListPropertyName];
339
+ .pipe(map((response) => {
340
+ const list = response[lookup.resultListPropertyName || ''];
341
341
  const mapToOption = (item) => ({
342
- key: item[lookup.displayPropertyName],
343
- value: item[lookup.valuePropertyName],
342
+ key: item[lookup.displayPropertyName || ''],
343
+ value: item[lookup.valuePropertyName || ''],
344
344
  });
345
345
  return list.map(mapToOption);
346
346
  }))
@@ -355,7 +355,7 @@ function getTypeaheadType(lookup, name) {
355
355
  }
356
356
  function createTypeaheadDisplayNameGenerator(displayNameGeneratorFn, properties) {
357
357
  return (displayName, fallback) => {
358
- const name = removeTypeaheadTextSuffix(fallback.name);
358
+ const name = removeTypeaheadTextSuffix(fallback.name || '');
359
359
  return displayNameGeneratorFn(displayName || properties[name].displayName, {
360
360
  name,
361
361
  resource: fallback.resource,
@@ -375,6 +375,7 @@ function removeTypeaheadTextSuffix(name) {
375
375
  class DisabledDirective {
376
376
  constructor(ngControl) {
377
377
  this.ngControl = ngControl;
378
+ this.abpDisabled = false;
378
379
  }
379
380
  // Related issue: https://github.com/angular/angular/issues/35330
380
381
  ngOnChanges({ abpDisabled }) {
@@ -383,9 +384,9 @@ class DisabledDirective {
383
384
  }
384
385
  }
385
386
  }
386
- DisabledDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: DisabledDirective, deps: [{ token: i2$1.NgControl, host: true }], target: i0.ɵɵFactoryTarget.Directive });
387
- DisabledDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.6", type: DisabledDirective, selector: "[abpDisabled]", inputs: { abpDisabled: "abpDisabled" }, usesOnChanges: true, ngImport: i0 });
388
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: DisabledDirective, decorators: [{
387
+ DisabledDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DisabledDirective, deps: [{ token: i2$1.NgControl, host: true }], target: i0.ɵɵFactoryTarget.Directive });
388
+ DisabledDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: DisabledDirective, selector: "[abpDisabled]", inputs: { abpDisabled: "abpDisabled" }, usesOnChanges: true, ngImport: i0 });
389
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DisabledDirective, decorators: [{
389
390
  type: Directive,
390
391
  args: [{
391
392
  selector: '[abpDisabled]',
@@ -414,10 +415,10 @@ class ExtensibleFormPropComponent {
414
415
  this.typeaheadModel = selectedOption || { key: null, value: null };
415
416
  const { key, value } = this.typeaheadModel;
416
417
  const [keyControl, valueControl] = this.getTypeaheadControls();
417
- if (valueControl.value && !value)
418
+ if ((valueControl === null || valueControl === void 0 ? void 0 : valueControl.value) && !value)
418
419
  valueControl.markAsDirty();
419
- keyControl.setValue(key);
420
- valueControl.setValue(value);
420
+ keyControl === null || keyControl === void 0 ? void 0 : keyControl.setValue(key);
421
+ valueControl === null || valueControl === void 0 ? void 0 : valueControl.setValue(value);
421
422
  }
422
423
  get meridian() {
423
424
  return (this.configState.getDeep('localization.currentCulture.dateTimeFormat.shortTimePattern') || '').includes('tt');
@@ -499,8 +500,8 @@ class ExtensibleFormPropComponent {
499
500
  this.typeaheadModel = { key: keyControl.value, value: valueControl.value };
500
501
  }
501
502
  }
502
- ExtensibleFormPropComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ExtensibleFormPropComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TrackByService }, { token: i1.ConfigStateService }, { token: i2$1.FormGroupDirective }], target: i0.ɵɵFactoryTarget.Component });
503
- ExtensibleFormPropComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: ExtensibleFormPropComponent, selector: "abp-extensible-form-prop", inputs: { data: "data", prop: "prop", first: "first" }, viewQueries: [{ propertyName: "fieldRef", first: true, predicate: ["field"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"form-group\" *abpPermission=\"prop.permission\" [ngSwitch]=\"getComponent(prop)\">\n <ng-template ngSwitchCase=\"input\">\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\n <input\n #field\n [id]=\"prop.id\"\n [formControlName]=\"prop.name\"\n [autocomplete]=\"prop.autocomplete\"\n [type]=\"getType(prop)\"\n [abpDisabled]=\"disabled\"\n [readonly]=\"readonly\"\n class=\"form-control\"\n />\n </ng-template>\n\n <ng-template ngSwitchCase=\"hidden\">\n <input [formControlName]=\"prop.name\" type=\"hidden\" />\n </ng-template>\n\n <ng-template ngSwitchCase=\"checkbox\">\n <div class=\"custom-checkbox custom-control\" validationTarget>\n <input\n #field\n [id]=\"prop.id\"\n [formControlName]=\"prop.name\"\n [abpDisabled]=\"disabled\"\n type=\"checkbox\"\n class=\"custom-control-input\"\n />\n <ng-template\n [ngTemplateOutlet]=\"label\"\n [ngTemplateOutletContext]=\"{ $implicit: 'custom-control-label' }\"\n ></ng-template>\n </div>\n </ng-template>\n\n <ng-template ngSwitchCase=\"select\">\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\n <select\n #field\n [id]=\"prop.id\"\n [formControlName]=\"prop.name\"\n [abpDisabled]=\"disabled\"\n class=\"custom-select form-control\"\n >\n <option\n *ngFor=\"let option of options$ | async; trackBy: track.by('value')\"\n [ngValue]=\"option.value\"\n >\n {{ option.key }}\n </option>\n </select>\n </ng-template>\n\n <ng-template ngSwitchCase=\"multiselect\">\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\n <select\n #field\n [id]=\"prop.id\"\n [formControlName]=\"prop.name\"\n [abpDisabled]=\"disabled\"\n multiple=\"multiple\"\n class=\"custom-select form-control\"\n >\n <option\n *ngFor=\"let option of options$ | async; trackBy: track.by('value')\"\n [ngValue]=\"option.value\"\n >\n {{ option.key }}\n </option>\n </select>\n </ng-template>\n\n <ng-template ngSwitchCase=\"typeahead\">\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\n <div #typeahead class=\"position-relative\" validationStyle validationTarget>\n <input\n #field\n [id]=\"prop.id\"\n [autocomplete]=\"prop.autocomplete\"\n [abpDisabled]=\"disabled\"\n [ngbTypeahead]=\"search\"\n [editable]=\"false\"\n [inputFormatter]=\"typeaheadFormatter\"\n [resultFormatter]=\"typeaheadFormatter\"\n [ngModelOptions]=\"{ standalone: true }\"\n [(ngModel)]=\"typeaheadModel\"\n (selectItem)=\"setTypeaheadValue($event.item)\"\n (blur)=\"setTypeaheadValue(typeaheadModel)\"\n [class.is-invalid]=\"typeahead.classList.contains('is-invalid')\"\n class=\"form-control\"\n />\n <input [formControlName]=\"prop.name\" type=\"hidden\" />\n </div>\n </ng-template>\n\n <ng-template ngSwitchCase=\"date\">\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\n <input\n [id]=\"prop.id\"\n [formControlName]=\"prop.name\"\n (click)=\"datepicker.open()\"\n (keyup.space)=\"datepicker.open()\"\n ngbDatepicker\n #datepicker=\"ngbDatepicker\"\n type=\"text\"\n class=\"form-control\"\n />\n </ng-template>\n\n <ng-template ngSwitchCase=\"time\">\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\n <ngb-timepicker [formControlName]=\"prop.name\"></ngb-timepicker>\n </ng-template>\n\n <ng-template ngSwitchCase=\"dateTime\">\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\n <abp-date-time-picker [prop]=\"prop\" [meridian]=\"meridian\"></abp-date-time-picker>\n </ng-template>\n\n <ng-template ngSwitchCase=\"textarea\">\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\n <textarea\n #field\n [id]=\"prop.id\"\n [formControlName]=\"prop.name\"\n [abpDisabled]=\"disabled\"\n [readonly]=\"readonly\"\n class=\"form-control\"\n ></textarea>\n </ng-template>\n</div>\n\n<ng-template #label let-classes>\n <label [htmlFor]=\"prop.id\" [ngClass]=\"classes\"\n >{{ prop.displayName | abpLocalization }} {{ asterisk }}</label\n >\n</ng-template>\n", components: [{ type: i2.NgbTimepicker, selector: "ngb-timepicker", inputs: ["meridian", "spinners", "seconds", "hourStep", "minuteStep", "secondStep", "readonlyInputs", "size"] }, { type: DateTimePickerComponent, selector: "abp-date-time-picker", inputs: ["prop", "meridian"], exportAs: ["abpDateTimePicker"] }], directives: [{ type: i1.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission"] }, { type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i6.ValidationDirective, selector: "[formControl],[formControlName]", inputs: ["blueprints", "errorTemplate", "invalidClasses", "mapErrorsFn", "skipValidation", "targetSelector", "validateOnSubmit"] }, { type: DisabledDirective, selector: "[abpDisabled]", inputs: ["abpDisabled"] }, { type: i6.ValidationTargetDirective, selector: "[validationTarget]" }, { type: i2$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i2$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2$1.SelectMultipleControlValueAccessor, selector: "select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]", inputs: ["compareWith"] }, { type: i6.ValidationStyleDirective, selector: "[validationStyle]" }, { type: i2.NgbTypeahead, selector: "input[ngbTypeahead]", inputs: ["autocomplete", "placement", "container", "editable", "focusFirst", "showHint", "inputFormatter", "ngbTypeahead", "resultFormatter", "resultTemplate"], outputs: ["selectItem"], exportAs: ["ngbTypeahead"] }, { type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekdays", "showWeekNumbers", "startDate", "container", "positionTarget"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i5.AsyncPipe, "abpLocalization": i1.LocalizationPipe }, viewProviders: [
503
+ ExtensibleFormPropComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ExtensibleFormPropComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TrackByService }, { token: i1.ConfigStateService }, { token: i2$1.FormGroupDirective }], target: i0.ɵɵFactoryTarget.Component });
504
+ ExtensibleFormPropComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ExtensibleFormPropComponent, selector: "abp-extensible-form-prop", inputs: { data: "data", prop: "prop", first: "first" }, viewQueries: [{ propertyName: "fieldRef", first: true, predicate: ["field"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"mb-3 form-group\" *abpPermission=\"prop.permission\" [ngSwitch]=\"getComponent(prop)\">\r\n <ng-template ngSwitchCase=\"input\">\r\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\r\n <input\r\n #field\r\n [id]=\"prop.id\"\r\n [formControlName]=\"prop.name\"\r\n [autocomplete]=\"prop.autocomplete\"\r\n [type]=\"getType(prop)\"\r\n [abpDisabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n class=\"form-control\"\r\n />\r\n </ng-template>\r\n\r\n <ng-template ngSwitchCase=\"hidden\">\r\n <input [formControlName]=\"prop.name\" type=\"hidden\" />\r\n </ng-template>\r\n\r\n <ng-template ngSwitchCase=\"checkbox\">\r\n <div class=\"form-check\" validationTarget>\r\n <input\r\n #field\r\n [id]=\"prop.id\"\r\n [formControlName]=\"prop.name\"\r\n [abpDisabled]=\"disabled\"\r\n type=\"checkbox\"\r\n class=\"form-check-input\"\r\n />\r\n <ng-template\r\n [ngTemplateOutlet]=\"label\"\r\n [ngTemplateOutletContext]=\"{ $implicit: 'form-check-label' }\"\r\n ></ng-template>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template ngSwitchCase=\"select\">\r\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\r\n <select\r\n #field\r\n [id]=\"prop.id\"\r\n [formControlName]=\"prop.name\"\r\n [abpDisabled]=\"disabled\"\r\n class=\"form-select form-control\"\r\n >\r\n <option\r\n *ngFor=\"let option of options$ | async; trackBy: track.by('value')\"\r\n [ngValue]=\"option.value\"\r\n >\r\n {{ option.key }}\r\n </option>\r\n </select>\r\n </ng-template>\r\n\r\n <ng-template ngSwitchCase=\"multiselect\">\r\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\r\n <select\r\n #field\r\n [id]=\"prop.id\"\r\n [formControlName]=\"prop.name\"\r\n [abpDisabled]=\"disabled\"\r\n multiple=\"multiple\"\r\n class=\"form-select form-control\"\r\n >\r\n <option\r\n *ngFor=\"let option of options$ | async; trackBy: track.by('value')\"\r\n [ngValue]=\"option.value\"\r\n >\r\n {{ option.key }}\r\n </option>\r\n </select>\r\n </ng-template>\r\n\r\n <ng-template ngSwitchCase=\"typeahead\">\r\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\r\n <div #typeahead class=\"position-relative\" validationStyle validationTarget>\r\n <input\r\n #field\r\n [id]=\"prop.id\"\r\n [autocomplete]=\"prop.autocomplete\"\r\n [abpDisabled]=\"disabled\"\r\n [ngbTypeahead]=\"search\"\r\n [editable]=\"false\"\r\n [inputFormatter]=\"typeaheadFormatter\"\r\n [resultFormatter]=\"typeaheadFormatter\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n [(ngModel)]=\"typeaheadModel\"\r\n (selectItem)=\"setTypeaheadValue($event.item)\"\r\n (blur)=\"setTypeaheadValue(typeaheadModel)\"\r\n [class.is-invalid]=\"typeahead.classList.contains('is-invalid')\"\r\n class=\"form-control\"\r\n />\r\n <input [formControlName]=\"prop.name\" type=\"hidden\" />\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template ngSwitchCase=\"date\">\r\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\r\n <input\r\n [id]=\"prop.id\"\r\n [formControlName]=\"prop.name\"\r\n (click)=\"datepicker.open()\"\r\n (keyup.space)=\"datepicker.open()\"\r\n ngbDatepicker\r\n #datepicker=\"ngbDatepicker\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n />\r\n </ng-template>\r\n\r\n <ng-template ngSwitchCase=\"time\">\r\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\r\n <ngb-timepicker [formControlName]=\"prop.name\"></ngb-timepicker>\r\n </ng-template>\r\n\r\n <ng-template ngSwitchCase=\"dateTime\">\r\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\r\n <abp-date-time-picker [prop]=\"prop\" [meridian]=\"meridian\"></abp-date-time-picker>\r\n </ng-template>\r\n\r\n <ng-template ngSwitchCase=\"textarea\">\r\n <ng-template [ngTemplateOutlet]=\"label\"></ng-template>\r\n <textarea\r\n #field\r\n [id]=\"prop.id\"\r\n [formControlName]=\"prop.name\"\r\n [abpDisabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n class=\"form-control\"\r\n ></textarea>\r\n </ng-template>\r\n</div>\r\n\r\n<ng-template #label let-classes>\r\n <label [htmlFor]=\"prop.id\" [ngClass]=\"classes || 'form-label'\"\r\n >{{ prop.displayName | abpLocalization }} {{ asterisk }}</label\r\n >\r\n</ng-template>\r\n", components: [{ type: i2.NgbTimepicker, selector: "ngb-timepicker", inputs: ["meridian", "spinners", "seconds", "hourStep", "minuteStep", "secondStep", "readonlyInputs", "size"] }, { type: DateTimePickerComponent, selector: "abp-date-time-picker", inputs: ["prop", "meridian"], exportAs: ["abpDateTimePicker"] }], directives: [{ type: i1.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission"] }, { type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i6.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { type: DisabledDirective, selector: "[abpDisabled]", inputs: ["abpDisabled"] }, { type: i6.ValidationTargetDirective, selector: "[validationTarget]", exportAs: ["validationTarget"] }, { type: i2$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i2$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2$1.SelectMultipleControlValueAccessor, selector: "select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]", inputs: ["compareWith"] }, { type: i6.ValidationStyleDirective, selector: "[validationStyle]", exportAs: ["validationStyle"] }, { type: i2.NgbTypeahead, selector: "input[ngbTypeahead]", inputs: ["autocomplete", "placement", "container", "editable", "focusFirst", "showHint", "inputFormatter", "ngbTypeahead", "resultFormatter", "resultTemplate", "popupClass"], outputs: ["selectItem"], exportAs: ["ngbTypeahead"] }, { type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i5.AsyncPipe, "abpLocalization": i1.LocalizationPipe }, viewProviders: [
504
505
  {
505
506
  provide: ControlContainer,
506
507
  useFactory: selfFactory,
@@ -509,7 +510,7 @@ ExtensibleFormPropComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.
509
510
  { provide: NgbDateAdapter, useClass: DateAdapter },
510
511
  { provide: NgbTimeAdapter, useClass: TimeAdapter },
511
512
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
512
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ExtensibleFormPropComponent, decorators: [{
513
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ExtensibleFormPropComponent, decorators: [{
513
514
  type: Component,
514
515
  args: [{
515
516
  selector: 'abp-extensible-form-prop',
@@ -660,7 +661,7 @@ class ToolbarActionsFactory extends ActionsFactory {
660
661
  }
661
662
  class ToolbarAction extends Action {
662
663
  constructor(options) {
663
- super(options.permission, options.visible, options.action);
664
+ super(options.permission || '', options.visible, options.action);
664
665
  this.text = options.text;
665
666
  this.icon = options.icon || '';
666
667
  }
@@ -673,7 +674,7 @@ class ToolbarAction extends Action {
673
674
  }
674
675
  class ToolbarComponent extends Action {
675
676
  constructor(options) {
676
- super(options.permission, options.visible, options.action);
677
+ super(options.permission || '', options.visible, options.action);
677
678
  this.component = options.component;
678
679
  }
679
680
  static create(options) {
@@ -693,9 +694,9 @@ class ExtensionsService {
693
694
  this.editFormProps = new EditFormPropsFactory();
694
695
  }
695
696
  }
696
- ExtensionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ExtensionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
697
- ExtensionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ExtensionsService, providedIn: 'root' });
698
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ExtensionsService, decorators: [{
697
+ ExtensionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ExtensionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
698
+ ExtensionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ExtensionsService, providedIn: 'root' });
699
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ExtensionsService, decorators: [{
699
700
  type: Injectable,
700
701
  args: [{
701
702
  providedIn: 'root',
@@ -727,9 +728,9 @@ class PropDataDirective extends PropData {
727
728
  this.vcRef.clear();
728
729
  }
729
730
  }
730
- PropDataDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: PropDataDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
731
- PropDataDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.6", type: PropDataDirective, selector: "[abpPropData]", inputs: { propList: ["abpPropDataFromList", "propList"], record: ["abpPropDataWithRecord", "record"], index: ["abpPropDataAtIndex", "index"] }, exportAs: ["abpPropData"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
732
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: PropDataDirective, decorators: [{
731
+ PropDataDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PropDataDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
732
+ PropDataDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: PropDataDirective, selector: "[abpPropData]", inputs: { propList: ["abpPropDataFromList", "propList"], record: ["abpPropDataWithRecord", "record"], index: ["abpPropDataAtIndex", "index"] }, exportAs: ["abpPropData"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
733
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PropDataDirective, decorators: [{
733
734
  type: Directive,
734
735
  args: [{
735
736
  exportAs: 'abpPropData',
@@ -767,15 +768,15 @@ class ExtensibleFormComponent {
767
768
  return (this.form.controls.extraProperties || { controls: {} });
768
769
  }
769
770
  }
770
- ExtensibleFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ExtensibleFormComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TrackByService }, { token: i2$1.ControlContainer }, { token: ExtensionsService }, { token: EXTENSIONS_IDENTIFIER }], target: i0.ɵɵFactoryTarget.Component });
771
- ExtensibleFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: ExtensibleFormComponent, selector: "abp-extensible-form", inputs: { selectedRecord: "selectedRecord" }, viewQueries: [{ propertyName: "formProps", predicate: ExtensibleFormPropComponent, descendants: true }], exportAs: ["abpExtensibleForm"], ngImport: i0, template: "<ng-container *ngIf=\"form\">\n <ng-container *abpPropData=\"let data; fromList: propList; withRecord: record\">\n <ng-container *ngFor=\"let prop of propList; let first = first; trackBy: track.by('name')\">\n <ng-container *ngIf=\"prop.visible(data)\">\n <ng-container\n [formGroupName]=\"extraPropertiesKey\"\n *ngIf=\"extraProperties.controls[prop.name]; else tempDefault\"\n >\n <abp-extensible-form-prop [prop]=\"prop\" [data]=\"data\"></abp-extensible-form-prop>\n </ng-container>\n\n <ng-template #tempDefault>\n <abp-extensible-form-prop\n *ngIf=\"form.get(prop.name)\"\n [prop]=\"prop\"\n [data]=\"data\"\n [first]=\"first\"\n ></abp-extensible-form-prop>\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-container>\n", components: [{ type: ExtensibleFormPropComponent, selector: "abp-extensible-form-prop", inputs: ["data", "prop", "first"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: PropDataDirective, selector: "[abpPropData]", inputs: ["abpPropDataFromList", "abpPropDataWithRecord", "abpPropDataAtIndex"], exportAs: ["abpPropData"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i6.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", inputs: ["blueprints", "errorTemplate", "invalidClasses", "mapErrorsFn", "skipValidation", "targetSelector", "validateOnSubmit"] }], viewProviders: [
771
+ ExtensibleFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ExtensibleFormComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TrackByService }, { token: i2$1.ControlContainer }, { token: ExtensionsService }, { token: EXTENSIONS_IDENTIFIER }], target: i0.ɵɵFactoryTarget.Component });
772
+ ExtensibleFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ExtensibleFormComponent, selector: "abp-extensible-form", inputs: { selectedRecord: "selectedRecord" }, viewQueries: [{ propertyName: "formProps", predicate: ExtensibleFormPropComponent, descendants: true }], exportAs: ["abpExtensibleForm"], ngImport: i0, template: "<ng-container *ngIf=\"form\">\r\n <ng-container *abpPropData=\"let data; fromList: propList; withRecord: record\">\r\n <ng-container *ngFor=\"let prop of propList; let first = first; trackBy: track.by('name')\">\r\n <ng-container *ngIf=\"prop.visible(data)\">\r\n <ng-container\r\n [formGroupName]=\"extraPropertiesKey\"\r\n *ngIf=\"extraProperties.controls[prop.name]; else tempDefault\"\r\n >\r\n <abp-extensible-form-prop [prop]=\"prop\" [data]=\"data\"></abp-extensible-form-prop>\r\n </ng-container>\r\n\r\n <ng-template #tempDefault>\r\n <abp-extensible-form-prop\r\n *ngIf=\"form.get(prop.name)\"\r\n [prop]=\"prop\"\r\n [data]=\"data\"\r\n [first]=\"first\"\r\n ></abp-extensible-form-prop>\r\n </ng-template>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", components: [{ type: ExtensibleFormPropComponent, selector: "abp-extensible-form-prop", inputs: ["data", "prop", "first"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: PropDataDirective, selector: "[abpPropData]", inputs: ["abpPropDataFromList", "abpPropDataWithRecord", "abpPropDataAtIndex"], exportAs: ["abpPropData"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i6.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }], viewProviders: [
772
773
  {
773
774
  provide: ControlContainer,
774
775
  useFactory: selfFactory,
775
776
  deps: [[new Optional(), new SkipSelf(), ControlContainer]],
776
777
  },
777
778
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
778
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ExtensibleFormComponent, decorators: [{
779
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ExtensibleFormComponent, decorators: [{
779
780
  type: Component,
780
781
  args: [{
781
782
  exportAs: 'abpExtensibleForm',
@@ -812,9 +813,9 @@ class AbstractActionsComponent extends ActionData {
812
813
  this.actionList = extensions[type].get(name).actions;
813
814
  }
814
815
  }
815
- AbstractActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AbstractActionsComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
816
- AbstractActionsComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.6", type: AbstractActionsComponent, inputs: { record: "record" }, usesInheritance: true, ngImport: i0 });
817
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AbstractActionsComponent, decorators: [{
816
+ AbstractActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbstractActionsComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
817
+ AbstractActionsComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: AbstractActionsComponent, inputs: { record: "record" }, usesInheritance: true, ngImport: i0 });
818
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbstractActionsComponent, decorators: [{
818
819
  type: Directive
819
820
  }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { record: [{
820
821
  type: Input
@@ -828,14 +829,14 @@ class GridActionsComponent extends AbstractActionsComponent {
828
829
  this.trackByFn = (_, item) => item.text;
829
830
  }
830
831
  }
831
- GridActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: GridActionsComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
832
- GridActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: GridActionsComponent, selector: "abp-grid-actions", inputs: { icon: "icon", index: "index", text: "text" }, providers: [
832
+ GridActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: GridActionsComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
833
+ GridActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: GridActionsComponent, selector: "abp-grid-actions", inputs: { icon: "icon", index: "index", text: "text" }, providers: [
833
834
  {
834
835
  provide: EXTENSIONS_ACTION_TYPE,
835
836
  useValue: 'entityActions',
836
837
  },
837
- ], exportAs: ["abpGridActions"], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"actionList.length > 1\" ngbDropdown container=\"body\" class=\"d-inline-block\">\n <button\n class=\"btn btn-primary btn-sm dropdown-toggle\"\n data-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n ngbDropdownToggle\n >\n <i [ngClass]=\"icon\" [class.mr-1]=\"icon\"></i>{{ text | abpLocalization }}\n </button>\n <div ngbDropdownMenu>\n <ng-container\n *ngFor=\"let action of actionList; trackBy: trackByFn\"\n [ngTemplateOutlet]=\"btnItem\"\n [ngTemplateOutletContext]=\"{ $implicit: action }\"\n >\n </ng-container>\n </div>\n</div>\n\n<ng-container\n *ngIf=\"actionList.length === 1\"\n [ngTemplateOutlet]=\"btnItem\"\n [ngTemplateOutletContext]=\"{ $implicit: actionList.get(0).value }\"\n></ng-container>\n\n<ng-template #btnItem let-action>\n <ng-container *ngIf=\"action.visible(data)\">\n <button\n ngbDropdownItem\n *abpPermission=\"action.permission\"\n (click)=\"action.action(data)\"\n type=\"button\"\n class=\"{{ actionList.length === 1 ? 'btn btn-primary' : '' }}\"\n [class.text-center]=\"actionList.length === 1\"\n >\n <i [ngClass]=\"action.icon\" [class.mr-1]=\"action.icon\"></i>\n <span *ngIf=\"action.icon; else ellipsis\">{{ action.text | abpLocalization }}</span>\n <ng-template #ellipsis>\n <div abpEllipsis>{{ action.text | abpLocalization }}</div>\n </ng-template>\n </button>\n </ng-container>\n</ng-template>\n", directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgbDropdown, selector: "[ngbDropdown]", inputs: ["open", "placement", "container", "autoClose", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { type: i2.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission"] }, { type: i2.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { type: i4.EllipsisDirective, selector: "[abpEllipsis]", inputs: ["abpEllipsis", "title", "abpEllipsisEnabled"] }], pipes: { "abpLocalization": i1.LocalizationPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
838
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: GridActionsComponent, decorators: [{
838
+ ], exportAs: ["abpGridActions"], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"actionList.length > 1\" ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button\r\n class=\"btn btn-primary btn-sm dropdown-toggle\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n ngbDropdownToggle\r\n >\r\n <i [ngClass]=\"icon\" [class.me-1]=\"icon\"></i>{{ text | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <ng-container\r\n *ngFor=\"let action of actionList; trackBy: trackByFn\"\r\n [ngTemplateOutlet]=\"dropDownBtnItemTmp\"\r\n [ngTemplateOutletContext]=\"{ $implicit: action }\"\r\n >\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<ng-container\r\n *ngIf=\"actionList.length === 1\"\r\n [ngTemplateOutlet]=\"btnTmp\"\r\n [ngTemplateOutletContext]=\"{ $implicit: actionList.get(0).value }\"\r\n></ng-container>\r\n\r\n<ng-template #dropDownBtnItemTmp let-action>\r\n <ng-container *ngIf=\"action.visible(data)\">\r\n <button\r\n ngbDropdownItem\r\n *abpPermission=\"action.permission\"\r\n (click)=\"action.action(data)\"\r\n type=\"button\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"buttonContentTmp; context: { $implicit: action }\"\r\n ></ng-container>\r\n </button>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #buttonContentTmp let-action>\r\n <i [ngClass]=\"action.icon\" [class.me-1]=\"action.icon\"></i>\r\n <span *ngIf=\"action.icon; else ellipsis\">{{ action.text | abpLocalization }}</span>\r\n <ng-template #ellipsis>\r\n <div abpEllipsis>{{ action.text | abpLocalization }}</div>\r\n </ng-template>\r\n</ng-template>\r\n\r\n<ng-template #btnTmp let-action>\r\n <ng-container *ngIf=\"action.visible(data)\">\r\n <button\r\n *abpPermission=\"action.permission\"\r\n (click)=\"action.action(data)\"\r\n type=\"button\"\r\n class=\"btn btn-primary text-center\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"buttonContentTmp; context: { $implicit: action }\"\r\n ></ng-container>\r\n </button>\r\n </ng-container>\r\n</ng-template>\r\n", directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgbDropdown, selector: "[ngbDropdown]", inputs: ["open", "placement", "container", "autoClose", "display", "dropdownClass"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { type: i2.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission"] }, { type: i2.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { type: i4.EllipsisDirective, selector: "[abpEllipsis]", inputs: ["abpEllipsis", "title", "abpEllipsisEnabled"] }], pipes: { "abpLocalization": i1.LocalizationPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
839
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: GridActionsComponent, decorators: [{
839
840
  type: Component,
840
841
  args: [{
841
842
  exportAs: 'abpGridActions',
@@ -952,9 +953,9 @@ class ExtensibleTableComponent {
952
953
  });
953
954
  }
954
955
  }
955
- ExtensibleTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ExtensibleTableComponent, deps: [{ token: LOCALE_ID }, { token: i1.ConfigStateService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
956
- ExtensibleTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: ExtensibleTableComponent, selector: "abp-extensible-table", inputs: { actionsText: "actionsText", data: "data", list: "list", recordsTotal: "recordsTotal", actionsColumnWidth: "actionsColumnWidth", actionsTemplate: "actionsTemplate" }, exportAs: ["abpExtensibleTable"], usesOnChanges: true, ngImport: i0, template: "<ngx-datatable default [rows]=\"data\" [count]=\"recordsTotal\" [list]=\"list\">\n <ngx-datatable-column\n *ngIf=\"actionsTemplate || (actionList.length && hasAtLeastOnePermittedAction)\"\n [name]=\"actionsText | abpLocalization\"\n [maxWidth]=\"columnWidths[0]\"\n [width]=\"columnWidths[0]\"\n [sortable]=\"false\"\n >\n <ng-template let-row=\"row\" let-i=\"rowIndex\" ngx-datatable-cell-template>\n <ng-container\n *ngTemplateOutlet=\"actionsTemplate || gridActions; context: { $implicit: row, index: i }\"\n ></ng-container>\n <ng-template #gridActions>\n <abp-grid-actions [index]=\"i\" [record]=\"row\" text=\"AbpUi::Actions\"></abp-grid-actions>\n </ng-template>\n </ng-template>\n </ngx-datatable-column>\n\n <ng-container *ngFor=\"let prop of propList; let i = index; trackBy: trackByFn\">\n <ngx-datatable-column\n [width]=\"columnWidths[i + 1] || 200\"\n [name]=\"prop.displayName | abpLocalization\"\n [prop]=\"prop.name\"\n [sortable]=\"prop.sortable\"\n >\n <ng-template let-row=\"row\" let-i=\"index\" ngx-datatable-cell-template>\n <ng-container *abpPermission=\"prop.permission\">\n <ng-container *ngIf=\"row['_' + prop.name]?.visible\">\n <div\n *ngIf=\"!row['_' + prop.name].component; else component\"\n [innerHTML]=\"row['_' + prop.name]?.value | async\"\n (click)=\"\n prop.action && prop.action({ getInjected: getInjected, record: row, index: i })\n \"\n [class.pointer]=\"prop.action\"\n ></div>\n </ng-container>\n <ng-template #component>\n <ng-container\n *ngComponentOutlet=\"\n row['_' + prop.name].component;\n injector: row['_' + prop.name].injector\n \"\n ></ng-container>\n </ng-template>\n </ng-container>\n </ng-template>\n </ngx-datatable-column>\n </ng-container>\n</ngx-datatable>\n", components: [{ type: i2$2.DatatableComponent, selector: "ngx-datatable", inputs: ["selected", "scrollbarV", "scrollbarH", "rowHeight", "columnMode", "headerHeight", "footerHeight", "externalPaging", "externalSorting", "loadingIndicator", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "groupExpansionDefault", "selectAllRowsOnPage", "virtualization", "summaryRow", "summaryHeight", "summaryPosition", "rowIdentity", "rows", "groupedRows", "groupRowsBy", "columns", "limit", "count", "offset", "targetMarkerTemplate", "selectionType", "rowClass", "selectCheck", "displayCheck", "trackByProp", "treeFromRelation", "treeToRelation"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction"] }, { type: GridActionsComponent, selector: "abp-grid-actions", inputs: ["icon", "index", "text"], exportAs: ["abpGridActions"] }], directives: [{ type: i4.NgxDatatableDefaultDirective, selector: "ngx-datatable[default]", inputs: ["class"], exportAs: ["ngxDatatableDefault"] }, { type: i4.NgxDatatableListDirective, selector: "ngx-datatable[list]", inputs: ["list"], exportAs: ["ngxDatatableList"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$2.DataTableColumnDirective, selector: "ngx-datatable-column", inputs: ["name", "prop", "frozenLeft", "frozenRight", "flexGrow", "resizeable", "comparator", "pipe", "sortable", "draggable", "canAutoResize", "minWidth", "width", "maxWidth", "checkboxable", "headerCheckboxable", "headerClass", "cellClass", "isTreeColumn", "treeLevelIndent", "summaryFunc", "summaryTemplate", "cellTemplate", "headerTemplate", "treeToggleTemplate"] }, { type: i2$2.DataTableColumnCellDirective, selector: "[ngx-datatable-cell-template]" }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission"] }, { type: i5.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModuleFactory"] }], pipes: { "abpLocalization": i1.LocalizationPipe, "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
957
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ExtensibleTableComponent, decorators: [{
956
+ ExtensibleTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ExtensibleTableComponent, deps: [{ token: LOCALE_ID }, { token: i1.ConfigStateService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
957
+ ExtensibleTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ExtensibleTableComponent, selector: "abp-extensible-table", inputs: { actionsText: "actionsText", data: "data", list: "list", recordsTotal: "recordsTotal", actionsColumnWidth: "actionsColumnWidth", actionsTemplate: "actionsTemplate" }, exportAs: ["abpExtensibleTable"], usesOnChanges: true, ngImport: i0, template: "<ngx-datatable default [rows]=\"data\" [count]=\"recordsTotal\" [list]=\"list\">\r\n <ngx-datatable-column\r\n *ngIf=\"actionsTemplate || (actionList.length && hasAtLeastOnePermittedAction)\"\r\n [name]=\"actionsText | abpLocalization\"\r\n [maxWidth]=\"columnWidths[0]\"\r\n [width]=\"columnWidths[0]\"\r\n [sortable]=\"false\"\r\n >\r\n <ng-template let-row=\"row\" let-i=\"rowIndex\" ngx-datatable-cell-template>\r\n <ng-container\r\n *ngTemplateOutlet=\"actionsTemplate || gridActions; context: { $implicit: row, index: i }\"\r\n ></ng-container>\r\n <ng-template #gridActions>\r\n <abp-grid-actions [index]=\"i\" [record]=\"row\" text=\"AbpUi::Actions\"></abp-grid-actions>\r\n </ng-template>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n\r\n <ng-container *ngFor=\"let prop of propList; let i = index; trackBy: trackByFn\">\r\n <ngx-datatable-column\r\n [width]=\"columnWidths[i + 1] || 200\"\r\n [name]=\"prop.displayName | abpLocalization\"\r\n [prop]=\"prop.name\"\r\n [sortable]=\"prop.sortable\"\r\n >\r\n <ng-template let-row=\"row\" let-i=\"index\" ngx-datatable-cell-template>\r\n <ng-container *abpPermission=\"prop.permission\">\r\n <ng-container *ngIf=\"row['_' + prop.name]?.visible\">\r\n <div\r\n *ngIf=\"!row['_' + prop.name].component; else component\"\r\n [innerHTML]=\"row['_' + prop.name]?.value | async\"\r\n (click)=\"\r\n prop.action && prop.action({ getInjected: getInjected, record: row, index: i })\r\n \"\r\n [class.pointer]=\"prop.action\"\r\n ></div>\r\n </ng-container>\r\n <ng-template #component>\r\n <ng-container\r\n *ngComponentOutlet=\"\r\n row['_' + prop.name].component;\r\n injector: row['_' + prop.name].injector\r\n \"\r\n ></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n </ng-template>\r\n </ngx-datatable-column>\r\n </ng-container>\r\n</ngx-datatable>\r\n", components: [{ type: i2$2.DatatableComponent, selector: "ngx-datatable", inputs: ["selected", "scrollbarV", "scrollbarH", "rowHeight", "columnMode", "headerHeight", "footerHeight", "externalPaging", "externalSorting", "loadingIndicator", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "groupExpansionDefault", "selectAllRowsOnPage", "virtualization", "summaryRow", "summaryHeight", "summaryPosition", "rowIdentity", "rows", "groupedRows", "groupRowsBy", "columns", "limit", "count", "offset", "targetMarkerTemplate", "selectionType", "rowClass", "selectCheck", "displayCheck", "trackByProp", "treeFromRelation", "treeToRelation"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction"] }, { type: GridActionsComponent, selector: "abp-grid-actions", inputs: ["icon", "index", "text"], exportAs: ["abpGridActions"] }], directives: [{ type: i4.NgxDatatableDefaultDirective, selector: "ngx-datatable[default]", inputs: ["class"], exportAs: ["ngxDatatableDefault"] }, { type: i4.NgxDatatableListDirective, selector: "ngx-datatable[list]", inputs: ["list"], exportAs: ["ngxDatatableList"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$2.DataTableColumnDirective, selector: "ngx-datatable-column", inputs: ["name", "prop", "frozenLeft", "frozenRight", "flexGrow", "resizeable", "comparator", "pipe", "sortable", "draggable", "canAutoResize", "minWidth", "width", "maxWidth", "checkboxable", "headerCheckboxable", "headerClass", "cellClass", "isTreeColumn", "treeLevelIndent", "summaryFunc", "summaryTemplate", "cellTemplate", "headerTemplate", "treeToggleTemplate"] }, { type: i2$2.DataTableColumnCellDirective, selector: "[ngx-datatable-cell-template]" }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission"] }, { type: i5.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModuleFactory"] }], pipes: { "abpLocalization": i1.LocalizationPipe, "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
958
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ExtensibleTableComponent, decorators: [{
958
959
  type: Component,
959
960
  args: [{
960
961
  exportAs: 'abpExtensibleTable',
@@ -996,14 +997,14 @@ class PageToolbarComponent extends AbstractActionsComponent {
996
997
  return { get };
997
998
  }
998
999
  }
999
- PageToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: PageToolbarComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
1000
- PageToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: PageToolbarComponent, selector: "abp-page-toolbar", providers: [
1000
+ PageToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PageToolbarComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
1001
+ PageToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: PageToolbarComponent, selector: "abp-page-toolbar", providers: [
1001
1002
  {
1002
1003
  provide: EXTENSIONS_ACTION_TYPE,
1003
1004
  useValue: 'toolbarActions',
1004
1005
  },
1005
- ], exportAs: ["abpPageToolbar"], usesInheritance: true, ngImport: i0, template: "<div class=\"row justify-content-end mx-n1\" id=\"AbpContentToolbar\">\n <div class=\"col-auto px-1 pt-0 pt-md-2\" *ngFor=\"let action of actionList; trackBy: trackByFn\">\n <ng-container *ngIf=\"action.visible(data)\">\n <ng-container *abpPermission=\"action.permission\">\n <ng-container *ngIf=\"action.component as component; else button\">\n <ng-container\n *ngComponentOutlet=\"component; injector: createInjector(action)\"\n ></ng-container>\n </ng-container>\n\n <ng-template #button>\n <button (click)=\"action.action(data)\" type=\"button\" class=\"btn btn-primary btn-sm\">\n <i [ngClass]=\"action.icon\" [class.mr-1]=\"action.icon\"></i>\n {{ action.text | abpLocalization }}\n </button>\n </ng-template>\n </ng-container>\n </ng-container>\n </div>\n</div>\n", directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission"] }, { type: i5.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModuleFactory"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "abpLocalization": i1.LocalizationPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1006
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: PageToolbarComponent, decorators: [{
1006
+ ], exportAs: ["abpPageToolbar"], usesInheritance: true, ngImport: i0, template: "<div class=\"row justify-content-end mx-0\" id=\"AbpContentToolbar\">\r\n <div\r\n class=\"col-auto px-1 pt-0 pt-md-2\"\r\n [class.pe-0]=\"last\"\r\n *ngFor=\"let action of actionList; trackBy: trackByFn; let last = last\"\r\n >\r\n <ng-container *ngIf=\"action.visible(data)\">\r\n <ng-container *abpPermission=\"action.permission\">\r\n <ng-container *ngIf=\"action.component as component; else button\">\r\n <ng-container\r\n *ngComponentOutlet=\"component; injector: createInjector(action)\"\r\n ></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #button>\r\n <button (click)=\"action.action(data)\" type=\"button\" class=\"btn btn-primary btn-sm\">\r\n <i [ngClass]=\"action.icon\" [class.me-1]=\"action.icon\"></i>\r\n {{ action.text | abpLocalization }}\r\n </button>\r\n </ng-template>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission"] }, { type: i5.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModuleFactory"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "abpLocalization": i1.LocalizationPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1007
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PageToolbarComponent, decorators: [{
1007
1008
  type: Component,
1008
1009
  args: [{
1009
1010
  exportAs: 'abpPageToolbar',
@@ -1025,8 +1026,8 @@ var objectExtensions = /*#__PURE__*/Object.freeze({
1025
1026
 
1026
1027
  class BaseUiExtensionsModule {
1027
1028
  }
1028
- BaseUiExtensionsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: BaseUiExtensionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1029
- BaseUiExtensionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: BaseUiExtensionsModule, declarations: [DateTimePickerComponent,
1029
+ BaseUiExtensionsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: BaseUiExtensionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1030
+ BaseUiExtensionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: BaseUiExtensionsModule, declarations: [DateTimePickerComponent,
1030
1031
  PageToolbarComponent,
1031
1032
  GridActionsComponent,
1032
1033
  ExtensibleFormPropComponent,
@@ -1046,7 +1047,7 @@ BaseUiExtensionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0",
1046
1047
  ExtensibleTableComponent,
1047
1048
  PropDataDirective,
1048
1049
  DisabledDirective] });
1049
- BaseUiExtensionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: BaseUiExtensionsModule, imports: [[
1050
+ BaseUiExtensionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: BaseUiExtensionsModule, imports: [[
1050
1051
  CoreModule,
1051
1052
  ThemeSharedModule,
1052
1053
  NgxValidateCoreModule,
@@ -1055,7 +1056,7 @@ BaseUiExtensionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
1055
1056
  NgbTimepickerModule,
1056
1057
  NgbTypeaheadModule,
1057
1058
  ]] });
1058
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: BaseUiExtensionsModule, decorators: [{
1059
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: BaseUiExtensionsModule, decorators: [{
1059
1060
  type: NgModule,
1060
1061
  args: [{
1061
1062
  exports: [
@@ -1090,10 +1091,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImpor
1090
1091
  }] });
1091
1092
  class UiExtensionsModule {
1092
1093
  }
1093
- UiExtensionsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: UiExtensionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1094
- UiExtensionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: UiExtensionsModule, imports: [BaseUiExtensionsModule], exports: [BaseUiExtensionsModule] });
1095
- UiExtensionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: UiExtensionsModule, imports: [[BaseUiExtensionsModule], BaseUiExtensionsModule] });
1096
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: UiExtensionsModule, decorators: [{
1094
+ UiExtensionsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: UiExtensionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1095
+ UiExtensionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: UiExtensionsModule, imports: [BaseUiExtensionsModule], exports: [BaseUiExtensionsModule] });
1096
+ UiExtensionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: UiExtensionsModule, imports: [[BaseUiExtensionsModule], BaseUiExtensionsModule] });
1097
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: UiExtensionsModule, decorators: [{
1097
1098
  type: NgModule,
1098
1099
  args: [{
1099
1100
  exports: [BaseUiExtensionsModule],
@@ -1168,7 +1169,7 @@ function mergeWithDefaultProps(extension, defaultProps, ...contributors) {
1168
1169
 
1169
1170
  function createEnum(members) {
1170
1171
  const enumObject = {};
1171
- members.forEach(({ name, value }) => {
1172
+ members.forEach(({ name = '', value }) => {
1172
1173
  enumObject[(enumObject[name] = value)] = name;
1173
1174
  });
1174
1175
  return enumObject;
@@ -1186,7 +1187,7 @@ function createEnumOptions(enumType, lookupEnum) {
1186
1187
  return data => {
1187
1188
  const l10n = data.getInjected(LocalizationService);
1188
1189
  const localizeEnum = createEnumLocalizer(l10n, enumType, lookupEnum);
1189
- return createLocalizationStream(l10n, lookupEnum.fields.map(({ name, value }) => ({
1190
+ return createLocalizationStream(l10n, lookupEnum.fields.map(({ name = '', value }) => ({
1190
1191
  key: localizeEnum(name),
1191
1192
  value,
1192
1193
  })));
@@ -1198,7 +1199,7 @@ function createLocalizationStream(l10n, mapTarget) {
1198
1199
  function createEnumLocalizer(l10n, enumType, lookupEnum) {
1199
1200
  const resource = lookupEnum.localizationResource;
1200
1201
  const shortType = getShortEnumType(enumType);
1201
- return key => l10n.localizeWithFallbackSync([resource], ['Enum:' + shortType + '.' + key, shortType + '.' + key, key], key);
1202
+ return key => l10n.localizeWithFallbackSync([resource || ''], ['Enum:' + shortType + '.' + key, shortType + '.' + key, key], key);
1202
1203
  }
1203
1204
  function getShortEnumType(enumType) {
1204
1205
  return enumType.split('.').pop();
@@ -1208,19 +1209,20 @@ function createDisplayNameLocalizationPipeKeyGenerator(localization) {
1208
1209
  const generateLocalizationPipeKey = createLocalizationPipeKeyGenerator(localization);
1209
1210
  return (displayName, fallback) => {
1210
1211
  if (displayName && displayName.name)
1211
- return generateLocalizationPipeKey([displayName.resource], [displayName.name], displayName.name);
1212
- const key = generateLocalizationPipeKey([fallback.resource], ['DisplayName:' + fallback.name], undefined);
1212
+ return generateLocalizationPipeKey([displayName.resource || ''], [displayName.name], displayName.name);
1213
+ const key = generateLocalizationPipeKey([fallback.resource || ''], ['DisplayName:' + fallback.name], undefined);
1213
1214
  if (key)
1214
1215
  return key;
1215
- return generateLocalizationPipeKey([fallback.resource], [fallback.name], fallback.name);
1216
+ return generateLocalizationPipeKey([fallback.resource || ''], [fallback.name || ''], fallback.name);
1216
1217
  };
1217
1218
  }
1218
1219
 
1219
1220
  function getValidatorsFromProperty(property) {
1220
1221
  const validators = [];
1221
1222
  property.attributes.forEach(attr => {
1222
- if (attr.typeSimple in AbpValidators)
1223
+ if (attr.typeSimple && attr.typeSimple in AbpValidators) {
1223
1224
  validators.push(AbpValidators[attr.typeSimple](attr.config));
1225
+ }
1224
1226
  });
1225
1227
  return validators;
1226
1228
  }
@@ -1251,7 +1253,7 @@ function getObjectExtensionEntitiesFromStore(configState, moduleKey) {
1251
1253
  }), map(entities => (isUndefined(entities) ? {} : entities)), filter(Boolean), take(1));
1252
1254
  }
1253
1255
  function mapEntitiesToContributors(configState, resource) {
1254
- return pipe(switchMap(entities => zip(selectLocalization(configState), selectEnums(configState)).pipe(map(([localization, enums]) => {
1256
+ return pipe(switchMap((entities) => zip(selectLocalization(configState), selectEnums(configState)).pipe(map(([localization, enums]) => {
1255
1257
  const generateDisplayName = createDisplayNameLocalizationPipeKeyGenerator(localization);
1256
1258
  return Object.keys(entities).reduce((acc, key) => {
1257
1259
  acc.prop[key] = [];
@@ -1310,7 +1312,7 @@ function createPropertiesToContributorsMapper(generateDisplayName, resource, enu
1310
1312
  const validators = () => getValidatorsFromProperty(property);
1311
1313
  let options;
1312
1314
  if (type === "enum" /* Enum */)
1313
- options = createEnumOptions(propName, enums[property.type]);
1315
+ options = createEnumOptions(propName, enums[property.type || '']);
1314
1316
  else if (type === "typeahead" /* Typeahead */)
1315
1317
  options = createTypeaheadOptions(lookup);
1316
1318
  const formProp = new FormProp({
@@ -1333,7 +1335,8 @@ function createPropertiesToContributorsMapper(generateDisplayName, resource, enu
1333
1335
  };
1334
1336
  }
1335
1337
  function getTypeFromProperty(property) {
1336
- return property.typeSimple.replace(/\?$/, '');
1338
+ var _a;
1339
+ return (_a = property === null || property === void 0 ? void 0 : property.typeSimple) === null || _a === void 0 ? void 0 : _a.replace(/\?$/, '');
1337
1340
  }
1338
1341
  function isUndefined(obj) {
1339
1342
  return typeof obj === 'undefined';