@trudb/tru-common-lib 0.0.725 → 0.0.728

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 (404) hide show
  1. package/{esm2020 → esm2022}/lib/assets/tru-icon-module.mjs +32 -32
  2. package/{esm2020 → esm2022}/lib/assets/tru-search-icon-module.mjs +36 -36
  3. package/{esm2020 → esm2022}/lib/base-classes/tru-component-config-base.mjs +3 -3
  4. package/{esm2020 → esm2022}/lib/base-classes/tru-control-component-config-base.mjs +3 -3
  5. package/{esm2020 → esm2022}/lib/base-classes/tru-edit-control-base.mjs +17 -17
  6. package/esm2022/lib/base-classes/tru-edit-control-config-base.mjs +6 -0
  7. package/{esm2020 → esm2022}/lib/base-classes/tru-edit-parent-control-config-base.mjs +3 -3
  8. package/{esm2020 → esm2022}/lib/base-classes/tru-edit-pkey-control-config-base.mjs +3 -3
  9. package/esm2022/lib/base-classes/tru-entity-base.mjs +14 -0
  10. package/esm2022/lib/base-classes/tru-list-control-config-base.mjs +6 -0
  11. package/{esm2020 → esm2022}/lib/base-classes/tru-property-config-base.mjs +14 -15
  12. package/{esm2020 → esm2022}/lib/base-classes/tru-search-config-base.mjs +3 -3
  13. package/esm2022/lib/base-classes/tru-search-control-base.mjs +45 -0
  14. package/esm2022/lib/base-classes/tru-search-control-config-base.mjs +5 -0
  15. package/esm2022/lib/base-classes/tru-search-control-range-base.mjs +45 -0
  16. package/esm2022/lib/base-classes/tru-table-config-base.mjs +12 -0
  17. package/{esm2020 → esm2022}/lib/base-views/detail/tru-detail-view-base-module.mjs +19 -19
  18. package/esm2022/lib/base-views/detail/tru-detail-view-base.mjs +83 -0
  19. package/esm2022/lib/base-views/search/services/tru-search-view-control-event-handler.mjs +25 -0
  20. package/esm2022/lib/base-views/search/services/tru-search-view-event-handler.mjs +25 -0
  21. package/{esm2020 → esm2022}/lib/base-views/search/tru-search-view-base-module.mjs +19 -19
  22. package/esm2022/lib/base-views/search/tru-search-view-base.mjs +68 -0
  23. package/{esm2020 → esm2022}/lib/base-views/search-result/tru-search-result-view-base-module.mjs +19 -19
  24. package/esm2022/lib/base-views/search-result/tru-search-result-view-base.mjs +54 -0
  25. package/{esm2020 → esm2022}/lib/classes/tru-choice.mjs +2 -2
  26. package/esm2022/lib/classes/tru-context-filter-choice.mjs +11 -0
  27. package/esm2022/lib/classes/tru-context-filter.mjs +16 -0
  28. package/esm2022/lib/classes/tru-data-change-parser.mjs +287 -0
  29. package/esm2022/lib/classes/tru-data-change.mjs +5 -0
  30. package/{esm2020 → esm2022}/lib/classes/tru-formula-eval.mjs +156 -156
  31. package/esm2022/lib/classes/tru-merge-data-set.mjs +11 -0
  32. package/esm2022/lib/classes/tru-merge-data.mjs +20 -0
  33. package/{esm2020 → esm2022}/lib/classes/tru-name-value.mjs +2 -2
  34. package/esm2022/lib/classes/tru-predicate.mjs +47 -0
  35. package/{esm2020 → esm2022}/lib/classes/tru-property-config-cloud-file.mjs +4 -4
  36. package/esm2022/lib/classes/tru-property-config-date.mjs +7 -0
  37. package/esm2022/lib/classes/tru-property-config-decimal.mjs +9 -0
  38. package/{esm2020 → esm2022}/lib/classes/tru-property-config-file.mjs +6 -8
  39. package/esm2022/lib/classes/tru-property-config-foreign-key.mjs +8 -0
  40. package/esm2022/lib/classes/tru-property-config-integer.mjs +7 -0
  41. package/esm2022/lib/classes/tru-property-config-password.mjs +6 -0
  42. package/esm2022/lib/classes/tru-property-config-percentage.mjs +7 -0
  43. package/esm2022/lib/classes/tru-property-config-scientific.mjs +7 -0
  44. package/{esm2020 → esm2022}/lib/classes/tru-property-config-text-choices.mjs +6 -8
  45. package/{esm2020 → esm2022}/lib/classes/tru-property-config-text.mjs +8 -10
  46. package/{esm2020 → esm2022}/lib/classes/tru-property-config-usa-address.mjs +6 -8
  47. package/{esm2020 → esm2022}/lib/classes/tru-property-config-zip-code.mjs +6 -8
  48. package/esm2022/lib/classes/tru-query-predicate-manager.mjs +49 -0
  49. package/{esm2020 → esm2022}/lib/components/confirm-dialog/tru-confirm-dialog-module.mjs +20 -20
  50. package/esm2022/lib/components/confirm-dialog/tru-confirm-dialog.mjs +59 -0
  51. package/{esm2020 → esm2022}/lib/components/data-grid/classes/tru-data-grid-config.mjs +1 -1
  52. package/{esm2020 → esm2022}/lib/components/data-grid/enums/tru-data-grid-types.mjs +6 -6
  53. package/esm2022/lib/components/data-grid/overlays/tru-data-grid-loading-overlay/tru-data-grid-loading-overlay.mjs +40 -0
  54. package/esm2022/lib/components/data-grid/overlays/tru-data-grid-no-rows-overlay/tru-data-grid-no-rows-overlay.mjs +27 -0
  55. package/esm2022/lib/components/data-grid/tru-data-grid-module.mjs +67 -0
  56. package/esm2022/lib/components/data-grid/tru-data-grid.mjs +382 -0
  57. package/{esm2020 → esm2022}/lib/components/desktop/classes/tru-desktop-title.mjs +2 -2
  58. package/esm2022/lib/components/desktop/classes/tru-desktop-view-config.mjs +21 -0
  59. package/{esm2020 → esm2022}/lib/components/desktop/directives/resizable/tru-desktop-resizable-module.mjs +19 -19
  60. package/esm2022/lib/components/desktop/directives/resizable/tru-desktop-resizable.mjs +122 -0
  61. package/{esm2020 → esm2022}/lib/components/desktop/menubar/tru-desktop-menubar-module.mjs +56 -56
  62. package/esm2022/lib/components/desktop/menubar/tru-desktop-menubar.mjs +36 -0
  63. package/esm2022/lib/components/desktop/services/tru-desktop-manager.mjs +86 -0
  64. package/esm2022/lib/components/desktop/services/tru-desktop-service.mjs +108 -0
  65. package/esm2022/lib/components/desktop/services/tru-window-action-event-handler.mjs +25 -0
  66. package/esm2022/lib/components/desktop/services/tru-window-event-args.mjs +24 -0
  67. package/esm2022/lib/components/desktop/services/tru-window-event-handler.mjs +42 -0
  68. package/{esm2020 → esm2022}/lib/components/desktop/statusbar/tru-desktop-statusbar-module.mjs +19 -19
  69. package/esm2022/lib/components/desktop/statusbar/tru-desktop-statusbar.mjs +20 -0
  70. package/{esm2020 → esm2022}/lib/components/desktop/taskbar/tru-desktop-taskbar-module.mjs +21 -21
  71. package/esm2022/lib/components/desktop/taskbar/tru-desktop-taskbar.mjs +41 -0
  72. package/{esm2020 → esm2022}/lib/components/desktop/tru-desktop-module.mjs +72 -72
  73. package/esm2022/lib/components/desktop/tru-desktop.mjs +737 -0
  74. package/{esm2020 → esm2022}/lib/components/desktop/view/tru-desktop-view-module.mjs +19 -19
  75. package/esm2022/lib/components/desktop/view/tru-desktop-view.mjs +29 -0
  76. package/{esm2020 → esm2022}/lib/components/desktop/viewport/tru-desktop-viewport-module.mjs +20 -20
  77. package/esm2022/lib/components/desktop/viewport/tru-desktop-viewport.mjs +117 -0
  78. package/{esm2020 → esm2022}/lib/components/desktop/window/tru-desktop-window-module.mjs +58 -58
  79. package/esm2022/lib/components/desktop/window/tru-desktop-window.mjs +467 -0
  80. package/{esm2020 → esm2022}/lib/components/export-dialog/tru-export-dialog-module.mjs +20 -20
  81. package/esm2022/lib/components/export-dialog/tru-export-dialog.mjs +61 -0
  82. package/{esm2020 → esm2022}/lib/components/layout/column/tru-column-module.mjs +19 -19
  83. package/{esm2020 → esm2022}/lib/components/layout/column/tru-column.mjs +12 -12
  84. package/{esm2020 → esm2022}/lib/components/layout/form/tru-form-module.mjs +19 -19
  85. package/esm2022/lib/components/layout/form/tru-form.mjs +35 -0
  86. package/{esm2020 → esm2022}/lib/components/layout/group-box/tru-group-box-module.mjs +19 -19
  87. package/{esm2020 → esm2022}/lib/components/layout/group-box/tru-group-box.mjs +12 -12
  88. package/{esm2020 → esm2022}/lib/components/layout/row/tru-row-module.mjs +19 -19
  89. package/{esm2020 → esm2022}/lib/components/layout/row/tru-row.mjs +12 -12
  90. package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-config.mjs +7 -7
  91. package/esm2022/lib/components/login/classes/tru-auth-jwt-strategy.mjs +63 -0
  92. package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-login-request.mjs +5 -3
  93. package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-logout-request.mjs +4 -3
  94. package/esm2022/lib/components/login/classes/tru-auth-session-strategy.mjs +21 -0
  95. package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-strategy-provider.mjs +19 -19
  96. package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-token.mjs +11 -8
  97. package/{esm2020 → esm2022}/lib/components/login/classes/tru-auth-user-request.mjs +4 -3
  98. package/esm2022/lib/components/login/services/tru-auth-cache.mjs +20 -0
  99. package/esm2022/lib/components/login/services/tru-auth-interceptor.mjs +46 -0
  100. package/esm2022/lib/components/login/services/tru-auth.mjs +87 -0
  101. package/esm2022/lib/components/login/tru-login-module.mjs +46 -0
  102. package/esm2022/lib/components/login/tru-login.mjs +59 -0
  103. package/{esm2020 → esm2022}/lib/components/password-dialog/tru-password-dialog-module.mjs +20 -20
  104. package/esm2022/lib/components/password-dialog/tru-password-dialog.mjs +53 -0
  105. package/{esm2020 → esm2022}/lib/components/toolbar/button/tru-toolbar-button-module.mjs +32 -32
  106. package/esm2022/lib/components/toolbar/button/tru-toolbar-button.mjs +40 -0
  107. package/{esm2020 → esm2022}/lib/components/toolbar/classes/tru-toolbar-dropdown-option.mjs +1 -1
  108. package/{esm2020 → esm2022}/lib/components/toolbar/context-filter/tru-toolbar-context-filter-module.mjs +44 -44
  109. package/esm2022/lib/components/toolbar/context-filter/tru-toolbar-context-filter.mjs +26 -0
  110. package/{esm2020 → esm2022}/lib/components/toolbar/dropdown/tru-toolbar-dropdown-module.mjs +36 -36
  111. package/esm2022/lib/components/toolbar/dropdown/tru-toolbar-dropdown.mjs +45 -0
  112. package/{esm2020 → esm2022}/lib/components/toolbar/menu/menu-button/tru-toolbar-menu-button-module.mjs +19 -19
  113. package/esm2022/lib/components/toolbar/menu/menu-button/tru-toolbar-menu-button.mjs +17 -0
  114. package/{esm2020 → esm2022}/lib/components/toolbar/menu/menu-item/tru-toolbar-menu-item-module.mjs +19 -19
  115. package/esm2022/lib/components/toolbar/menu/menu-item/tru-toolbar-menu-item.mjs +26 -0
  116. package/{esm2020 → esm2022}/lib/components/toolbar/menu/tru-toolbar-menu-module.mjs +32 -32
  117. package/esm2022/lib/components/toolbar/menu/tru-toolbar-menu.mjs +33 -0
  118. package/{esm2020 → esm2022}/lib/components/toolbar/separator/tru-toolbar-separator-module.mjs +19 -19
  119. package/{esm2020 → esm2022}/lib/components/toolbar/separator/tru-toolbar-separator.mjs +12 -12
  120. package/{esm2020 → esm2022}/lib/components/toolbar/text/tru-toolbar-text-module.mjs +32 -32
  121. package/esm2022/lib/components/toolbar/text/tru-toolbar-text.mjs +27 -0
  122. package/{esm2020 → esm2022}/lib/components/toolbar/tru-toolbar-module.mjs +73 -73
  123. package/{esm2020 → esm2022}/lib/components/toolbar/tru-toolbar.mjs +20 -21
  124. package/{esm2020 → esm2022}/lib/components/toolbar/user-profile/tru-toolbar-user-profile-module.mjs +36 -36
  125. package/esm2022/lib/components/toolbar/user-profile/tru-toolbar-user-profile.mjs +38 -0
  126. package/esm2022/lib/components/validation-dialog/tru-validation-dialog-config.mjs +25 -0
  127. package/{esm2020 → esm2022}/lib/components/validation-dialog/tru-validation-dialog-module.mjs +19 -19
  128. package/esm2022/lib/components/validation-dialog/tru-validation-dialog.mjs +83 -0
  129. package/{esm2020 → esm2022}/lib/directives/breeze-validator/tru-breeze-validator-module.mjs +19 -19
  130. package/esm2022/lib/directives/breeze-validator/tru-breeze-validator.mjs +107 -0
  131. package/{esm2020 → esm2022}/lib/directives/search-panel-position-manager/tru-search-panel-position-manager-module.mjs +19 -19
  132. package/esm2022/lib/directives/search-panel-position-manager/tru-search-panel-position-manager.mjs +155 -0
  133. package/{esm2020 → esm2022}/lib/directives/select-panel/tru-mat-select-panel-module.mjs +19 -19
  134. package/esm2022/lib/directives/select-panel/tru-mat-select-panel.mjs +69 -0
  135. package/{esm2020 → esm2022}/lib/interfaces/tru-value.mjs +1 -1
  136. package/{esm2020 → esm2022}/lib/material.module.mjs +192 -192
  137. package/esm2022/lib/services/tru-app-environment.mjs +113 -0
  138. package/esm2022/lib/services/tru-breeze-context-factory.mjs +84 -0
  139. package/esm2022/lib/services/tru-breeze-metadata-provider.mjs +21 -0
  140. package/esm2022/lib/services/tru-component-lookup.mjs +23 -0
  141. package/esm2022/lib/services/tru-connection-hub.mjs +52 -0
  142. package/esm2022/lib/services/tru-context-filters.mjs +28 -0
  143. package/esm2022/lib/services/tru-data-context.mjs +263 -0
  144. package/esm2022/lib/services/tru-entity-accessor.mjs +292 -0
  145. package/esm2022/lib/services/tru-model-property-lookup.mjs +21 -0
  146. package/{esm2020 → esm2022}/lib/services/tru-predicate-map.mjs +11 -11
  147. package/esm2022/lib/services/tru-search-result-view-manager.mjs +18 -0
  148. package/esm2022/lib/services/tru-sort.mjs +113 -0
  149. package/esm2022/lib/services/tru-table-registry.mjs +15 -0
  150. package/esm2022/lib/services/tru-text-manager.mjs +148 -0
  151. package/esm2022/lib/services/tru-ui-notification.mjs +107 -0
  152. package/esm2022/lib/services/tru-user.mjs +62 -0
  153. package/esm2022/lib/services/tru-util.mjs +76 -0
  154. package/{esm2020 → esm2022}/lib/tru-common-module.mjs +16 -16
  155. package/{esm2020 → esm2022}/public-api.mjs +144 -144
  156. package/{esm2020 → esm2022}/trudb-tru-common-lib.mjs +4 -4
  157. package/fesm2022/trudb-tru-common-lib.mjs +6932 -0
  158. package/fesm2022/trudb-tru-common-lib.mjs.map +1 -0
  159. package/index.d.ts +5 -5
  160. package/lib/assets/tru-icon-module.d.ts +11 -11
  161. package/lib/assets/tru-search-icon-module.d.ts +11 -11
  162. package/lib/base-classes/tru-component-config-base.d.ts +3 -3
  163. package/lib/base-classes/tru-control-component-config-base.d.ts +20 -20
  164. package/lib/base-classes/tru-edit-control-base.d.ts +10 -10
  165. package/lib/base-classes/tru-edit-control-config-base.d.ts +21 -21
  166. package/lib/base-classes/tru-edit-parent-control-config-base.d.ts +9 -9
  167. package/lib/base-classes/tru-edit-pkey-control-config-base.d.ts +11 -11
  168. package/lib/base-classes/tru-entity-base.d.ts +14 -14
  169. package/lib/base-classes/tru-list-control-config-base.d.ts +21 -21
  170. package/lib/base-classes/tru-property-config-base.d.ts +13 -13
  171. package/lib/base-classes/tru-search-config-base.d.ts +9 -9
  172. package/lib/base-classes/tru-search-control-base.d.ts +21 -21
  173. package/lib/base-classes/tru-search-control-config-base.d.ts +13 -13
  174. package/lib/base-classes/tru-search-control-range-base.d.ts +25 -25
  175. package/lib/base-classes/tru-table-config-base.d.ts +11 -11
  176. package/lib/base-views/detail/tru-detail-view-base-module.d.ts +9 -9
  177. package/lib/base-views/detail/tru-detail-view-base.d.ts +32 -32
  178. package/lib/base-views/search/services/tru-search-view-control-event-handler.d.ts +12 -12
  179. package/lib/base-views/search/services/tru-search-view-event-handler.d.ts +11 -11
  180. package/lib/base-views/search/tru-search-view-base-module.d.ts +9 -9
  181. package/lib/base-views/search/tru-search-view-base.d.ts +36 -36
  182. package/lib/base-views/search-result/tru-search-result-view-base-module.d.ts +9 -9
  183. package/lib/base-views/search-result/tru-search-result-view-base.d.ts +25 -25
  184. package/lib/classes/tru-choice.d.ts +8 -8
  185. package/lib/classes/tru-context-filter-choice.d.ts +6 -6
  186. package/lib/classes/tru-context-filter.d.ts +10 -10
  187. package/lib/classes/tru-data-change-parser.d.ts +33 -33
  188. package/lib/classes/tru-data-change.d.ts +4 -4
  189. package/lib/classes/tru-formula-eval.d.ts +31 -31
  190. package/lib/classes/tru-merge-data-set.d.ts +7 -7
  191. package/lib/classes/tru-merge-data.d.ts +9 -9
  192. package/lib/classes/tru-name-value.d.ts +9 -9
  193. package/lib/classes/tru-predicate.d.ts +8 -8
  194. package/lib/classes/tru-property-config-cloud-file.d.ts +4 -4
  195. package/lib/classes/tru-property-config-date.d.ts +6 -6
  196. package/lib/classes/tru-property-config-decimal.d.ts +8 -8
  197. package/lib/classes/tru-property-config-file.d.ts +5 -5
  198. package/lib/classes/tru-property-config-foreign-key.d.ts +7 -7
  199. package/lib/classes/tru-property-config-integer.d.ts +6 -6
  200. package/lib/classes/tru-property-config-password.d.ts +5 -5
  201. package/lib/classes/tru-property-config-percentage.d.ts +6 -6
  202. package/lib/classes/tru-property-config-scientific.d.ts +6 -6
  203. package/lib/classes/tru-property-config-text-choices.d.ts +5 -5
  204. package/lib/classes/tru-property-config-text.d.ts +7 -7
  205. package/lib/classes/tru-property-config-usa-address.d.ts +5 -5
  206. package/lib/classes/tru-property-config-zip-code.d.ts +5 -5
  207. package/lib/classes/tru-query-predicate-manager.d.ts +26 -26
  208. package/lib/components/confirm-dialog/tru-confirm-dialog-module.d.ts +10 -10
  209. package/lib/components/confirm-dialog/tru-confirm-dialog.d.ts +28 -28
  210. package/lib/components/data-grid/classes/tru-data-grid-config.d.ts +7 -7
  211. package/lib/components/data-grid/enums/tru-data-grid-types.d.ts +5 -5
  212. package/lib/components/data-grid/overlays/tru-data-grid-loading-overlay/tru-data-grid-loading-overlay.d.ts +13 -13
  213. package/lib/components/data-grid/overlays/tru-data-grid-no-rows-overlay/tru-data-grid-no-rows-overlay.d.ts +13 -13
  214. package/lib/components/data-grid/tru-data-grid-module.d.ts +15 -15
  215. package/lib/components/data-grid/tru-data-grid.d.ts +67 -67
  216. package/lib/components/desktop/classes/tru-desktop-title.d.ts +4 -4
  217. package/lib/components/desktop/classes/tru-desktop-view-config.d.ts +16 -16
  218. package/lib/components/desktop/directives/resizable/tru-desktop-resizable-module.d.ts +9 -9
  219. package/lib/components/desktop/directives/resizable/tru-desktop-resizable.d.ts +32 -32
  220. package/lib/components/desktop/menubar/tru-desktop-menubar-module.d.ts +17 -17
  221. package/lib/components/desktop/menubar/tru-desktop-menubar.d.ts +15 -15
  222. package/lib/components/desktop/services/tru-desktop-manager.d.ts +33 -33
  223. package/lib/components/desktop/services/tru-desktop-service.d.ts +95 -95
  224. package/lib/components/desktop/services/tru-window-action-event-handler.d.ts +12 -12
  225. package/lib/components/desktop/services/tru-window-event-args.d.ts +17 -17
  226. package/lib/components/desktop/services/tru-window-event-handler.d.ts +20 -20
  227. package/lib/components/desktop/statusbar/tru-desktop-statusbar-module.d.ts +9 -9
  228. package/lib/components/desktop/statusbar/tru-desktop-statusbar.d.ts +10 -10
  229. package/lib/components/desktop/taskbar/tru-desktop-taskbar-module.d.ts +11 -11
  230. package/lib/components/desktop/taskbar/tru-desktop-taskbar.d.ts +15 -15
  231. package/lib/components/desktop/tru-desktop-module.d.ts +20 -20
  232. package/lib/components/desktop/tru-desktop.d.ts +337 -337
  233. package/lib/components/desktop/view/tru-desktop-view-module.d.ts +9 -9
  234. package/lib/components/desktop/view/tru-desktop-view.d.ts +14 -14
  235. package/lib/components/desktop/viewport/tru-desktop-viewport-module.d.ts +10 -10
  236. package/lib/components/desktop/viewport/tru-desktop-viewport.d.ts +48 -48
  237. package/lib/components/desktop/window/tru-desktop-window-module.d.ts +17 -17
  238. package/lib/components/desktop/window/tru-desktop-window.d.ts +189 -189
  239. package/lib/components/export-dialog/tru-export-dialog-module.d.ts +10 -10
  240. package/lib/components/export-dialog/tru-export-dialog.d.ts +26 -26
  241. package/lib/components/layout/column/tru-column-module.d.ts +9 -9
  242. package/lib/components/layout/column/tru-column.d.ts +6 -6
  243. package/lib/components/layout/form/tru-form-module.d.ts +9 -9
  244. package/lib/components/layout/form/tru-form.d.ts +10 -10
  245. package/lib/components/layout/group-box/tru-group-box-module.d.ts +9 -9
  246. package/lib/components/layout/group-box/tru-group-box.d.ts +6 -6
  247. package/lib/components/layout/row/tru-row-module.d.ts +9 -9
  248. package/lib/components/layout/row/tru-row.d.ts +6 -6
  249. package/lib/components/login/classes/tru-auth-config.d.ts +16 -16
  250. package/lib/components/login/classes/tru-auth-jwt-strategy.d.ts +15 -15
  251. package/lib/components/login/classes/tru-auth-login-request.d.ts +4 -4
  252. package/lib/components/login/classes/tru-auth-logout-request.d.ts +3 -3
  253. package/lib/components/login/classes/tru-auth-session-strategy.d.ts +13 -13
  254. package/lib/components/login/classes/tru-auth-strategy-provider.d.ts +9 -9
  255. package/lib/components/login/classes/tru-auth-token.d.ts +6 -6
  256. package/lib/components/login/classes/tru-auth-user-request.d.ts +3 -3
  257. package/lib/components/login/services/tru-auth-cache.d.ts +11 -11
  258. package/lib/components/login/services/tru-auth-interceptor.d.ts +16 -16
  259. package/lib/components/login/services/tru-auth.d.ts +29 -29
  260. package/lib/components/login/tru-login-module.d.ts +11 -11
  261. package/lib/components/login/tru-login.d.ts +21 -21
  262. package/lib/components/password-dialog/tru-password-dialog-module.d.ts +10 -10
  263. package/lib/components/password-dialog/tru-password-dialog.d.ts +24 -23
  264. package/lib/components/toolbar/button/tru-toolbar-button-module.d.ts +11 -11
  265. package/lib/components/toolbar/button/tru-toolbar-button.d.ts +16 -16
  266. package/lib/components/toolbar/classes/tru-toolbar-dropdown-option.d.ts +4 -4
  267. package/lib/components/toolbar/context-filter/tru-toolbar-context-filter-module.d.ts +14 -14
  268. package/lib/components/toolbar/context-filter/tru-toolbar-context-filter.d.ts +13 -13
  269. package/lib/components/toolbar/dropdown/tru-toolbar-dropdown-module.d.ts +12 -12
  270. package/lib/components/toolbar/dropdown/tru-toolbar-dropdown.d.ts +18 -18
  271. package/lib/components/toolbar/menu/menu-button/tru-toolbar-menu-button-module.d.ts +9 -9
  272. package/lib/components/toolbar/menu/menu-button/tru-toolbar-menu-button.d.ts +7 -7
  273. package/lib/components/toolbar/menu/menu-item/tru-toolbar-menu-item-module.d.ts +9 -9
  274. package/lib/components/toolbar/menu/menu-item/tru-toolbar-menu-item.d.ts +8 -8
  275. package/lib/components/toolbar/menu/tru-toolbar-menu-module.d.ts +11 -11
  276. package/lib/components/toolbar/menu/tru-toolbar-menu.d.ts +10 -10
  277. package/lib/components/toolbar/separator/tru-toolbar-separator-module.d.ts +9 -9
  278. package/lib/components/toolbar/separator/tru-toolbar-separator.d.ts +6 -6
  279. package/lib/components/toolbar/text/tru-toolbar-text-module.d.ts +11 -11
  280. package/lib/components/toolbar/text/tru-toolbar-text.d.ts +12 -12
  281. package/lib/components/toolbar/tru-toolbar-module.d.ts +16 -16
  282. package/lib/components/toolbar/tru-toolbar.d.ts +9 -9
  283. package/lib/components/toolbar/user-profile/tru-toolbar-user-profile-module.d.ts +12 -12
  284. package/lib/components/toolbar/user-profile/tru-toolbar-user-profile.d.ts +17 -17
  285. package/lib/components/validation-dialog/tru-validation-dialog-config.d.ts +13 -13
  286. package/lib/components/validation-dialog/tru-validation-dialog-module.d.ts +9 -9
  287. package/lib/components/validation-dialog/tru-validation-dialog.d.ts +20 -20
  288. package/lib/directives/breeze-validator/tru-breeze-validator-module.d.ts +9 -9
  289. package/lib/directives/breeze-validator/tru-breeze-validator.d.ts +27 -27
  290. package/lib/directives/search-panel-position-manager/tru-search-panel-position-manager-module.d.ts +9 -9
  291. package/lib/directives/search-panel-position-manager/tru-search-panel-position-manager.d.ts +40 -40
  292. package/lib/directives/select-panel/tru-mat-select-panel-module.d.ts +9 -9
  293. package/lib/directives/select-panel/tru-mat-select-panel.d.ts +17 -17
  294. package/lib/interfaces/tru-value.d.ts +6 -6
  295. package/lib/material.module.d.ts +50 -50
  296. package/lib/services/tru-app-environment.d.ts +57 -57
  297. package/lib/services/tru-breeze-context-factory.d.ts +32 -32
  298. package/lib/services/tru-breeze-metadata-provider.d.ts +9 -9
  299. package/lib/services/tru-component-lookup.d.ts +9 -9
  300. package/lib/services/tru-connection-hub.d.ts +18 -18
  301. package/lib/services/tru-context-filters.d.ts +10 -10
  302. package/lib/services/tru-data-context.d.ts +42 -42
  303. package/lib/services/tru-entity-accessor.d.ts +46 -46
  304. package/lib/services/tru-model-property-lookup.d.ts +10 -10
  305. package/lib/services/tru-predicate-map.d.ts +6 -6
  306. package/lib/services/tru-search-result-view-manager.d.ts +10 -10
  307. package/lib/services/tru-sort.d.ts +56 -56
  308. package/lib/services/tru-table-registry.d.ts +8 -8
  309. package/lib/services/tru-text-manager.d.ts +68 -68
  310. package/lib/services/tru-ui-notification.d.ts +36 -36
  311. package/lib/services/tru-user.d.ts +29 -29
  312. package/lib/services/tru-util.d.ts +14 -14
  313. package/lib/tru-common-module.d.ts +6 -6
  314. package/package.json +5 -11
  315. package/public-api.d.ts +117 -117
  316. package/esm2020/lib/base-classes/tru-edit-control-config-base.mjs +0 -4
  317. package/esm2020/lib/base-classes/tru-entity-base.mjs +0 -13
  318. package/esm2020/lib/base-classes/tru-list-control-config-base.mjs +0 -4
  319. package/esm2020/lib/base-classes/tru-search-control-base.mjs +0 -47
  320. package/esm2020/lib/base-classes/tru-search-control-config-base.mjs +0 -4
  321. package/esm2020/lib/base-classes/tru-search-control-range-base.mjs +0 -47
  322. package/esm2020/lib/base-classes/tru-table-config-base.mjs +0 -13
  323. package/esm2020/lib/base-views/detail/tru-detail-view-base.mjs +0 -76
  324. package/esm2020/lib/base-views/search/services/tru-search-view-control-event-handler.mjs +0 -27
  325. package/esm2020/lib/base-views/search/services/tru-search-view-event-handler.mjs +0 -27
  326. package/esm2020/lib/base-views/search/tru-search-view-base.mjs +0 -63
  327. package/esm2020/lib/base-views/search-result/tru-search-result-view-base.mjs +0 -51
  328. package/esm2020/lib/classes/tru-context-filter-choice.mjs +0 -8
  329. package/esm2020/lib/classes/tru-context-filter.mjs +0 -16
  330. package/esm2020/lib/classes/tru-data-change-parser.mjs +0 -277
  331. package/esm2020/lib/classes/tru-data-change.mjs +0 -7
  332. package/esm2020/lib/classes/tru-merge-data-set.mjs +0 -12
  333. package/esm2020/lib/classes/tru-merge-data.mjs +0 -17
  334. package/esm2020/lib/classes/tru-predicate.mjs +0 -47
  335. package/esm2020/lib/classes/tru-property-config-date.mjs +0 -9
  336. package/esm2020/lib/classes/tru-property-config-decimal.mjs +0 -11
  337. package/esm2020/lib/classes/tru-property-config-foreign-key.mjs +0 -10
  338. package/esm2020/lib/classes/tru-property-config-integer.mjs +0 -9
  339. package/esm2020/lib/classes/tru-property-config-password.mjs +0 -8
  340. package/esm2020/lib/classes/tru-property-config-percentage.mjs +0 -9
  341. package/esm2020/lib/classes/tru-property-config-scientific.mjs +0 -9
  342. package/esm2020/lib/classes/tru-query-predicate-manager.mjs +0 -49
  343. package/esm2020/lib/components/confirm-dialog/tru-confirm-dialog.mjs +0 -45
  344. package/esm2020/lib/components/data-grid/overlays/tru-data-grid-loading-overlay/tru-data-grid-loading-overlay.mjs +0 -39
  345. package/esm2020/lib/components/data-grid/overlays/tru-data-grid-no-rows-overlay/tru-data-grid-no-rows-overlay.mjs +0 -26
  346. package/esm2020/lib/components/data-grid/tru-data-grid-module.mjs +0 -67
  347. package/esm2020/lib/components/data-grid/tru-data-grid.mjs +0 -370
  348. package/esm2020/lib/components/desktop/classes/tru-desktop-view-config.mjs +0 -21
  349. package/esm2020/lib/components/desktop/directives/resizable/tru-desktop-resizable.mjs +0 -109
  350. package/esm2020/lib/components/desktop/menubar/tru-desktop-menubar.mjs +0 -34
  351. package/esm2020/lib/components/desktop/services/tru-desktop-manager.mjs +0 -84
  352. package/esm2020/lib/components/desktop/services/tru-desktop-service.mjs +0 -116
  353. package/esm2020/lib/components/desktop/services/tru-window-action-event-handler.mjs +0 -27
  354. package/esm2020/lib/components/desktop/services/tru-window-event-args.mjs +0 -26
  355. package/esm2020/lib/components/desktop/services/tru-window-event-handler.mjs +0 -44
  356. package/esm2020/lib/components/desktop/statusbar/tru-desktop-statusbar.mjs +0 -18
  357. package/esm2020/lib/components/desktop/taskbar/tru-desktop-taskbar.mjs +0 -40
  358. package/esm2020/lib/components/desktop/tru-desktop.mjs +0 -731
  359. package/esm2020/lib/components/desktop/view/tru-desktop-view.mjs +0 -25
  360. package/esm2020/lib/components/desktop/viewport/tru-desktop-viewport.mjs +0 -113
  361. package/esm2020/lib/components/desktop/window/tru-desktop-window.mjs +0 -457
  362. package/esm2020/lib/components/export-dialog/tru-export-dialog.mjs +0 -57
  363. package/esm2020/lib/components/layout/form/tru-form.mjs +0 -34
  364. package/esm2020/lib/components/login/classes/tru-auth-jwt-strategy.mjs +0 -65
  365. package/esm2020/lib/components/login/classes/tru-auth-session-strategy.mjs +0 -19
  366. package/esm2020/lib/components/login/services/tru-auth-cache.mjs +0 -22
  367. package/esm2020/lib/components/login/services/tru-auth-interceptor.mjs +0 -43
  368. package/esm2020/lib/components/login/services/tru-auth.mjs +0 -81
  369. package/esm2020/lib/components/login/tru-login-module.mjs +0 -46
  370. package/esm2020/lib/components/login/tru-login.mjs +0 -58
  371. package/esm2020/lib/components/password-dialog/tru-password-dialog.mjs +0 -44
  372. package/esm2020/lib/components/toolbar/button/tru-toolbar-button.mjs +0 -41
  373. package/esm2020/lib/components/toolbar/context-filter/tru-toolbar-context-filter.mjs +0 -24
  374. package/esm2020/lib/components/toolbar/dropdown/tru-toolbar-dropdown.mjs +0 -43
  375. package/esm2020/lib/components/toolbar/menu/menu-button/tru-toolbar-menu-button.mjs +0 -16
  376. package/esm2020/lib/components/toolbar/menu/menu-item/tru-toolbar-menu-item.mjs +0 -26
  377. package/esm2020/lib/components/toolbar/menu/tru-toolbar-menu.mjs +0 -33
  378. package/esm2020/lib/components/toolbar/text/tru-toolbar-text.mjs +0 -28
  379. package/esm2020/lib/components/toolbar/user-profile/tru-toolbar-user-profile.mjs +0 -35
  380. package/esm2020/lib/components/validation-dialog/tru-validation-dialog-config.mjs +0 -21
  381. package/esm2020/lib/components/validation-dialog/tru-validation-dialog.mjs +0 -79
  382. package/esm2020/lib/directives/breeze-validator/tru-breeze-validator.mjs +0 -100
  383. package/esm2020/lib/directives/search-panel-position-manager/tru-search-panel-position-manager.mjs +0 -151
  384. package/esm2020/lib/directives/select-panel/tru-mat-select-panel.mjs +0 -66
  385. package/esm2020/lib/services/tru-app-environment.mjs +0 -94
  386. package/esm2020/lib/services/tru-breeze-context-factory.mjs +0 -79
  387. package/esm2020/lib/services/tru-breeze-metadata-provider.mjs +0 -22
  388. package/esm2020/lib/services/tru-component-lookup.mjs +0 -25
  389. package/esm2020/lib/services/tru-connection-hub.mjs +0 -48
  390. package/esm2020/lib/services/tru-context-filters.mjs +0 -29
  391. package/esm2020/lib/services/tru-data-context.mjs +0 -258
  392. package/esm2020/lib/services/tru-entity-accessor.mjs +0 -287
  393. package/esm2020/lib/services/tru-model-property-lookup.mjs +0 -22
  394. package/esm2020/lib/services/tru-search-result-view-manager.mjs +0 -17
  395. package/esm2020/lib/services/tru-sort.mjs +0 -114
  396. package/esm2020/lib/services/tru-table-registry.mjs +0 -16
  397. package/esm2020/lib/services/tru-text-manager.mjs +0 -134
  398. package/esm2020/lib/services/tru-ui-notification.mjs +0 -103
  399. package/esm2020/lib/services/tru-user.mjs +0 -63
  400. package/esm2020/lib/services/tru-util.mjs +0 -77
  401. package/fesm2015/trudb-tru-common-lib.mjs +0 -6799
  402. package/fesm2015/trudb-tru-common-lib.mjs.map +0 -1
  403. package/fesm2020/trudb-tru-common-lib.mjs +0 -6776
  404. package/fesm2020/trudb-tru-common-lib.mjs.map +0 -1
@@ -1,109 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class TruDesktopResizable {
4
- constructor(elementRef) {
5
- this.elementRef = elementRef;
6
- this.mouseOffsetX = 0;
7
- this.mouseOffsetY = 0;
8
- this.lastMouseX = 0;
9
- this.lastMouseY = 0;
10
- this.originalHeight = 0;
11
- this.originalWidth = 0;
12
- this.mouseDown = (event) => {
13
- if (this.maximized)
14
- return;
15
- event.preventDefault();
16
- this.mouseOffsetY = event.clientY;
17
- this.mouseOffsetX = event.clientX;
18
- this.originalHeight = parseInt(this.window.height, 10);
19
- this.originalWidth = parseInt(this.window.width, 10);
20
- this.viewport = this.getViewport();
21
- document.addEventListener('mousemove', this.mouseMove);
22
- document.addEventListener('mouseup', this.mouseUp);
23
- };
24
- this.mouseMove = (event) => {
25
- var mouseY = event.pageY - this.mouseOffsetY;
26
- var mouseX = event.pageX - this.mouseOffsetX;
27
- var diffY = mouseY - this.lastMouseY;
28
- var diffX = mouseX - this.lastMouseX;
29
- this.lastMouseY = mouseY;
30
- this.lastMouseX = mouseX;
31
- this.currentHeight = parseInt(this.window.height, 10);
32
- this.currentWidth = parseInt(this.window.width, 10);
33
- this.currentTop = parseInt(this.window.top, 10);
34
- this.currentLeft = parseInt(this.window.left, 10);
35
- this.currentRight = parseInt(this.window.right, 10);
36
- this.currentBottom = parseInt(this.window.bottom, 10);
37
- this.currentMinHeight = parseInt(this.window.minHeight, 10);
38
- this.currentMinWidth = parseInt(this.window.minWidth, 10);
39
- if (this.direction.indexOf("w") > -1) {
40
- if (this.currentWidth - diffX < this.currentMinWidth)
41
- this.mouseOffsetX = this.mouseOffsetX - (diffX - (diffX = this.currentWidth - this.currentMinWidth));
42
- //Contain resizing to the west
43
- if (this.currentLeft + diffX < 0)
44
- this.mouseOffsetX = this.mouseOffsetX - (diffX - (diffX = 0 - this.currentLeft));
45
- this.window.left = (this.currentLeft + diffX) + 'px';
46
- this.window.width = (this.currentWidth - diffX) + 'px';
47
- }
48
- if (this.direction.indexOf("n") > -1) {
49
- if (this.currentHeight - diffY < this.currentMinHeight)
50
- this.mouseOffsetY = this.mouseOffsetY - (diffY - (diffY = this.currentHeight - this.currentMinHeight));
51
- //Contain resizing to the north
52
- if (this.currentTop + diffY < 0)
53
- this.mouseOffsetY = this.mouseOffsetY - (diffY - (diffY = 0 - this.currentTop));
54
- this.window.top = (this.currentTop + diffY) + 'px';
55
- this.window.height = (this.currentHeight - diffY) + 'px';
56
- }
57
- if (this.direction.indexOf("e") > -1) {
58
- if (this.currentWidth + diffX < this.currentMinWidth)
59
- this.mouseOffsetX = this.mouseOffsetX - (diffX - (diffX = this.currentMinWidth - this.currentWidth));
60
- //Contain resizing to the east
61
- if ((this.currentLeft + this.currentWidth) + diffX > this.viewport.offsetWidth)
62
- this.mouseOffsetX = this.mouseOffsetX - (diffX - (diffX = this.viewport.offsetWidth - (this.currentLeft + this.currentWidth)));
63
- this.window.width = (this.currentWidth + diffX) + 'px';
64
- }
65
- if (this.direction.indexOf("s") > -1) {
66
- if (this.currentHeight + diffY < this.currentMinHeight)
67
- this.mouseOffsetY = this.mouseOffsetY - (diffY - (diffY = this.currentMinHeight - this.currentHeight));
68
- //Contain resizing to the south
69
- if ((this.currentTop + this.currentHeight) + diffY > this.viewport.offsetHeight)
70
- this.mouseOffsetY = this.mouseOffsetY - (diffY - (diffY = this.viewport.offsetHeight - (this.currentTop + this.currentHeight)));
71
- this.window.height = (this.currentHeight + diffY) + 'px';
72
- }
73
- };
74
- this.mouseUp = (event) => {
75
- this.mouseOffsetX = 0;
76
- this.mouseOffsetY = 0;
77
- this.lastMouseX = 0;
78
- this.lastMouseY = 0;
79
- document.removeEventListener('mousemove', this.mouseMove);
80
- document.removeEventListener('mouseup', this.mouseUp);
81
- };
82
- this.getViewport = function () {
83
- return document.querySelectorAll('.desktop-viewport-container')[0];
84
- };
85
- }
86
- ngOnInit() {
87
- this.elementRef.nativeElement.addEventListener('mousedown', this.mouseDown);
88
- }
89
- ngOnDestroy() {
90
- this.elementRef.nativeElement.removeEventListener('mousedown', this.mouseDown);
91
- document.removeEventListener('mousemove', this.mouseMove);
92
- document.removeEventListener('mouseup', this.mouseUp);
93
- }
94
- }
95
- TruDesktopResizable.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruDesktopResizable, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
96
- TruDesktopResizable.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: TruDesktopResizable, selector: "[tru-desktop-resizable]", inputs: { window: "window", maximized: "maximized", direction: "direction" }, ngImport: i0 });
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruDesktopResizable, decorators: [{
98
- type: Directive,
99
- args: [{
100
- selector: '[tru-desktop-resizable]',
101
- }]
102
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { window: [{
103
- type: Input
104
- }], maximized: [{
105
- type: Input
106
- }], direction: [{
107
- type: Input
108
- }] } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWRlc2t0b3AtcmVzaXphYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2Rlc2t0b3AvZGlyZWN0aXZlcy9yZXNpemFibGUvdHJ1LWRlc2t0b3AtcmVzaXphYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFjLE1BQU0sZUFBZSxDQUFDOztBQUtyRSxNQUFNLE9BQU8sbUJBQW1CO0lBSzlCLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFVMUMsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFDakIsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFDakIsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFDZixtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUNuQixrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUdsQixjQUFTLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUN6QixJQUFJLElBQUksQ0FBQyxTQUFTO2dCQUFFLE9BQU87WUFDM0IsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUNsQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDbEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFF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QUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25Jbml0LCBJbnB1dCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdHJ1LWRlc2t0b3AtcmVzaXphYmxlXScsXG59KVxuZXhwb3J0IGNsYXNzIFRydURlc2t0b3BSZXNpemFibGUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB3aW5kb3c6IGFueTtcbiAgQElucHV0KCkgbWF4aW1pemVkOiBhbnk7XG4gIEBJbnB1dCgpIGRpcmVjdGlvbjogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikgeyB9XG5cbiAgY3VycmVudEhlaWdodDogYW55O1xuICBjdXJyZW50V2lkdGg6IGFueTtcbiAgY3VycmVudFRvcDogYW55O1xuICBjdXJyZW50TGVmdDogYW55O1xuICBjdXJyZW50UmlnaHQ6IGFueTtcbiAgY3VycmVudEJvdHRvbTogYW55O1xuICBjdXJyZW50TWluSGVpZ2h0OiBhbnk7XG4gIGN1cnJlbnRNaW5XaWR0aDogYW55O1xuICBtb3VzZU9mZnNldFggPSAwO1xuICBtb3VzZU9mZnNldFkgPSAwO1xuICBsYXN0TW91c2VYID0gMDtcbiAgbGFzdE1vdXNlWSA9IDA7XG4gIG9yaWdpbmFsSGVpZ2h0ID0gMDtcbiAgb3JpZ2luYWxXaWR0aCA9IDA7XG4gIHZpZXdwb3J0OiBhbnk7XG5cbiAgbW91c2VEb3duID0gKGV2ZW50OiBhbnkpID0+IHtcbiAgICBpZiAodGhpcy5tYXhpbWl6ZWQpIHJldHVybjtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMubW91c2VPZmZzZXRZID0gZXZlbnQuY2xpZW50WTtcbiAgICB0aGlzLm1vdXNlT2Zmc2V0WCA9IGV2ZW50LmNsaWVudFg7XG4gICAgdGhpcy5vcmlnaW5hbEhlaWdodCA9IHBhcnNlSW50KHRoaXMud2luZG93LmhlaWdodCwgMTApO1xuICAgIHRoaXMub3JpZ2luYWxXaWR0aCA9IHBhcnNlSW50KHRoaXMud2luZG93LndpZHRoLCAxMCk7XG4gICAgdGhpcy52aWV3cG9ydCA9IHRoaXMuZ2V0Vmlld3BvcnQoKTtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLm1vdXNlTW92ZSk7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMubW91c2VVcCk7XG4gIH07XG5cbiAgbW91c2VNb3ZlID0gKGV2ZW50OiBhbnkpID0+IHtcbiAgICB2YXIgbW91c2VZID0gZXZlbnQucGFnZVkgLSB0aGlzLm1vdXNlT2Zmc2V0WTtcbiAgICB2YXIgbW91c2VYID0gZXZlbnQucGFnZVggLSB0aGlzLm1vdXNlT2Zmc2V0WDtcbiAgICB2YXIgZGlmZlkgPSBtb3VzZVkgLSB0aGlzLmxhc3RNb3VzZVk7XG4gICAgdmFyIGRpZmZYID0gbW91c2VYIC0gdGhpcy5sYXN0TW91c2VYO1xuICAgIHRoaXMubGFzdE1vdXNlWSA9IG1vdXNlWTtcbiAgICB0aGlzLmxhc3RNb3VzZVggPSBtb3VzZVg7XG5cbiAgICB0aGlzLmN1cnJlbnRIZWlnaHQgPSBwYXJzZUludCh0aGlzLndpbmRvdy5oZWlnaHQsIDEwKTtcbiAgICB0aGlzLmN1cnJlbnRXaWR0aCA9IHBhcnNlSW50KHRoaXMud2luZG93LndpZHRoLCAxMCk7XG4gICAgdGhpcy5jdXJyZW50VG9wID0gcGFyc2VJbnQodGhpcy53aW5kb3cudG9wLCAxMCk7XG4gICAgdGhpcy5jdXJyZW50TGVmdCA9IHBhcnNlSW50KHRoaXMud2luZG93LmxlZnQsIDEwKTtcbiAgICB0aGlzLmN1cnJlbnRSaWdodCA9IHBhcnNlSW50KHRoaXMud2luZG93LnJpZ2h0LCAxMCk7XG4gICAgdGhpcy5jdXJyZW50Qm90dG9tID0gcGFyc2VJbnQodGhpcy53aW5kb3cuYm90dG9tLCAxMCk7XG4gICAgdGhpcy5jdXJyZW50TWluSGVpZ2h0ID0gcGFyc2VJbnQodGhpcy53aW5kb3cubWluSGVpZ2h0LCAxMCk7XG4gICAgdGhpcy5jdXJyZW50TWluV2lkdGggPSBwYXJzZUludCh0aGlzLndpbmRvdy5taW5XaWR0aCwgMTApO1xuXG4gICAgaWYgKHRoaXMuZGlyZWN0aW9uLmluZGV4T2YoXCJ3XCIpID4gLTEpIHtcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRXaWR0aCAtIGRpZmZYIDwgdGhpcy5jdXJyZW50TWluV2lkdGgpIHRoaXMubW91c2VPZmZzZXRYID0gdGhpcy5tb3VzZU9mZnNldFggLSAoZGlmZlggLSAoZGlmZlggPSB0aGlzLmN1cnJlbnRXaWR0aCAtIHRoaXMuY3VycmVudE1pbldpZHRoKSk7XG5cbiAgICAgIC8vQ29udGFpbiByZXNpemluZyB0byB0aGUgd2VzdFxuICAgICAgaWYgKHRoaXMuY3VycmVudExlZnQgKyBkaWZmWCA8IDApXG4gICAgICAgIHRoaXMubW91c2VPZmZzZXRYID0gdGhpcy5tb3VzZU9mZnNldFggLSAoZGlmZlggLSAoZGlmZlggPSAwIC0gdGhpcy5jdXJyZW50TGVmdCkpO1xuXG4gICAgICB0aGlzLndpbmRvdy5sZWZ0ID0gKHRoaXMuY3VycmVudExlZnQgKyBkaWZmWCkgKyAncHgnO1xuICAgICAgdGhpcy53aW5kb3cud2lkdGggPSAodGhpcy5jdXJyZW50V2lkdGggLSBkaWZmWCkgKyAncHgnO1xuICAgIH1cbiAgICBpZiAodGhpcy5kaXJlY3Rpb24uaW5kZXhPZihcIm5cIikgPiAtMSkge1xuICAgICAgaWYgKHRoaXMuY3VycmVudEhlaWdodCAtIGRpZmZZIDwgdGhpcy5jdXJyZW50TWluSGVpZ2h0KSB0aGlzLm1vdXNlT2Zmc2V0WSA9IHRoaXMubW91c2VPZmZzZXRZIC0gKGRpZmZZIC0gKGRpZmZZID0gdGhpcy5jdXJyZW50SGVpZ2h0IC0gdGhpcy5jdXJyZW50TWluSGVpZ2h0KSk7XG5cbiAgICAgIC8vQ29udGFpbiByZXNpemluZyB0byB0aGUgbm9ydGhcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRUb3AgKyBkaWZmWSA8IDApIHRoaXMubW91c2VPZmZzZXRZID0gdGhpcy5tb3VzZU9mZnNldFkgLSAoZGlmZlkgLSAoZGlmZlkgPSAwIC0gdGhpcy5jdXJyZW50VG9wKSk7XG5cbiAgICAgIHRoaXMud2luZG93LnRvcCA9ICh0aGlzLmN1cnJlbnRUb3AgKyBkaWZmWSkgKyAncHgnO1xuICAgICAgdGhpcy53aW5kb3cuaGVpZ2h0ID0gKHRoaXMuY3VycmVudEhlaWdodCAtIGRpZmZZKSArICdweCc7XG4gICAgfVxuICAgIGlmICh0aGlzLmRpcmVjdGlvbi5pbmRleE9mKFwiZVwiKSA+IC0xKSB7XG4gICAgICBpZiAodGhpcy5jdXJyZW50V2lkdGggKyBkaWZmWCA8IHRoaXMuY3VycmVudE1pbldpZHRoKSB0aGlzLm1vdXNlT2Zmc2V0WCA9IHRoaXMubW91c2VPZmZzZXRYIC0gKGRpZmZYIC0gKGRpZmZYID0gdGhpcy5jdXJyZW50TWluV2lkdGggLSB0aGlzLmN1cnJlbnRXaWR0aCkpO1xuXG4gICAgICAvL0NvbnRhaW4gcmVzaXppbmcgdG8gdGhlIGVhc3RcbiAgICAgIGlmICgodGhpcy5jdXJyZW50TGVmdCArIHRoaXMuY3VycmVudFdpZHRoKSArIGRpZmZYID4gdGhpcy52aWV3cG9ydC5vZmZzZXRXaWR0aClcbiAgICAgICAgdGhpcy5tb3VzZU9mZnNldFggPSB0aGlzLm1vdXNlT2Zmc2V0WCAtIChkaWZmWCAtIChkaWZmWCA9IHRoaXMudmlld3BvcnQub2Zmc2V0V2lkdGggLSAodGhpcy5jdXJyZW50TGVmdCArIHRoaXMuY3VycmVudFdpZHRoKSkpO1xuXG4gICAgICB0aGlzLndpbmRvdy53aWR0aCA9ICh0aGlzLmN1cnJlbnRXaWR0aCArIGRpZmZYKSArICdweCc7XG4gICAgfVxuICAgIGlmICh0aGlzLmRpcmVjdGlvbi5pbmRleE9mKFwic1wiKSA+IC0xKSB7XG4gICAgICBpZiAodGhpcy5jdXJyZW50SGVpZ2h0ICsgZGlmZlkgPCB0aGlzLmN1cnJlbnRNaW5IZWlnaHQpIHRoaXMubW91c2VPZmZzZXRZID0gdGhpcy5tb3VzZU9mZnNldFkgLSAoZGlmZlkgLSAoZGlmZlkgPSB0aGlzLmN1cnJlbnRNaW5IZWlnaHQgLSB0aGlzLmN1cnJlbnRIZWlnaHQpKTtcblxuICAgICAgLy9Db250YWluIHJlc2l6aW5nIHRvIHRoZSBzb3V0aFxuICAgICAgaWYgKCh0aGlzLmN1cnJlbnRUb3AgKyB0aGlzLmN1cnJlbnRIZWlnaHQpICsgZGlmZlkgPiB0aGlzLnZpZXdwb3J0Lm9mZnNldEhlaWdodClcbiAgICAgICAgdGhpcy5tb3VzZU9mZnNldFkgPSB0aGlzLm1vdXNlT2Zmc2V0WSAtIChkaWZmWSAtIChkaWZmWSA9IHRoaXMudmlld3BvcnQub2Zmc2V0SGVpZ2h0IC0gKHRoaXMuY3VycmVudFRvcCArIHRoaXMuY3VycmVudEhlaWdodCkpKTtcblxuICAgICAgdGhpcy53aW5kb3cuaGVpZ2h0ID0gKHRoaXMuY3VycmVudEhlaWdodCArIGRpZmZZKSArICdweCc7XG4gICAgfVxuICB9XG5cbiAgbW91c2VVcCA9IChldmVudDogYW55KSA9PiB7XG4gICAgdGhpcy5tb3VzZU9mZnNldFggPSAwO1xuICAgIHRoaXMubW91c2VPZmZzZXRZID0gMDtcbiAgICB0aGlzLmxhc3RNb3VzZVggPSAwO1xuICAgIHRoaXMubGFzdE1vdXNlWSA9IDA7XG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5tb3VzZU1vdmUpO1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLm1vdXNlVXApO1xuICB9O1xuXG4gIGdldFZpZXdwb3J0ID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZGVza3RvcC12aWV3cG9ydC1jb250YWluZXInKVswXTtcbiAgfTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCB0aGlzLm1vdXNlRG93bik7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCB0aGlzLm1vdXNlRG93bik7XG5cbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLm1vdXNlTW92ZSk7XG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMubW91c2VVcCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,34 +0,0 @@
1
- import { Component, Input, ViewEncapsulation } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../../services/tru-context-filters";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "../../toolbar/tru-toolbar";
6
- import * as i4 from "../../toolbar/menu/tru-toolbar-menu";
7
- import * as i5 from "../../toolbar/separator/tru-toolbar-separator";
8
- import * as i6 from "../../toolbar/context-filter/tru-toolbar-context-filter";
9
- import * as i7 from "../../toolbar/user-profile/tru-toolbar-user-profile";
10
- export class TruDesktopMenubar {
11
- constructor(contextFilters) {
12
- this.contextFilters = contextFilters;
13
- this.options = null;
14
- this.configs = null;
15
- this.filters = [];
16
- this.openWindow = (event, windowOverrides) => {
17
- this.desktopCtrl.openWindow(windowOverrides);
18
- };
19
- }
20
- ngOnInit() {
21
- this.options = this.desktopCtrl.getOptions();
22
- this.configs = this.options.menubarConfig;
23
- this.filters = this.contextFilters.filters;
24
- }
25
- }
26
- TruDesktopMenubar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruDesktopMenubar, deps: [{ token: i1.TruContextFilters }], target: i0.ɵɵFactoryTarget.Component });
27
- TruDesktopMenubar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: TruDesktopMenubar, selector: "tru-desktop-menubar", inputs: { desktopCtrl: "desktopCtrl" }, ngImport: i0, template: "<div class=\"desktop-main-menu\">\r\n <tru-toolbar>\r\n <tru-toolbar-menu *ngFor=\"let config of configs\" [config]=\"config\"></tru-toolbar-menu>\r\n <tru-toolbar-separator *ngIf=\"filters.length\"></tru-toolbar-separator>\r\n <tru-toolbar-context-filter></tru-toolbar-context-filter>\r\n </tru-toolbar>\r\n <tru-toolbar>\r\n <tru-toolbar-user-profile></tru-toolbar-user-profile>\r\n </tru-toolbar>\r\n</div>\r\n", styles: [".desktop-main-menu tru-toolbar{display:inline-block}tru-toolbar:nth-of-type(2){float:right}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.TruToolbar, selector: "tru-toolbar", inputs: ["config"] }, { kind: "component", type: i4.TruToolbarMenu, selector: "tru-toolbar-menu", inputs: ["config"] }, { kind: "component", type: i5.TruToolbarSeparator, selector: "tru-toolbar-separator" }, { kind: "component", type: i6.TruToolbarContextFilter, selector: "tru-toolbar-context-filter" }, { kind: "component", type: i7.TruToolbarUserProfile, selector: "tru-toolbar-user-profile" }], encapsulation: i0.ViewEncapsulation.None });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruDesktopMenubar, decorators: [{
29
- type: Component,
30
- args: [{ selector: 'tru-desktop-menubar', encapsulation: ViewEncapsulation.None, template: "<div class=\"desktop-main-menu\">\r\n <tru-toolbar>\r\n <tru-toolbar-menu *ngFor=\"let config of configs\" [config]=\"config\"></tru-toolbar-menu>\r\n <tru-toolbar-separator *ngIf=\"filters.length\"></tru-toolbar-separator>\r\n <tru-toolbar-context-filter></tru-toolbar-context-filter>\r\n </tru-toolbar>\r\n <tru-toolbar>\r\n <tru-toolbar-user-profile></tru-toolbar-user-profile>\r\n </tru-toolbar>\r\n</div>\r\n", styles: [".desktop-main-menu tru-toolbar{display:inline-block}tru-toolbar:nth-of-type(2){float:right}\n"] }]
31
- }], ctorParameters: function () { return [{ type: i1.TruContextFilters }]; }, propDecorators: { desktopCtrl: [{
32
- type: Input
33
- }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWRlc2t0b3AtbWVudWJhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9kZXNrdG9wL21lbnViYXIvdHJ1LWRlc2t0b3AtbWVudWJhci50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9kZXNrdG9wL21lbnViYXIvdHJ1LWRlc2t0b3AtbWVudWJhci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFTNUUsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixZQUFvQixjQUFpQztRQUFqQyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFFckQsWUFBTyxHQUFlLElBQUksQ0FBQztRQUMzQixZQUFPLEdBQWUsSUFBSSxDQUFDO1FBQzNCLFlBQU8sR0FBZSxFQUFFLENBQUM7UUFFekIsZUFBVSxHQUFHLENBQUMsS0FBVSxFQUFFLGVBQW9CLEVBQUUsRUFBRTtZQUNoRCxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUM7SUFSdUQsQ0FBQztJQVUxRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQztJQUM3QyxDQUFDOzs4R0FqQlUsaUJBQWlCO2tHQUFqQixpQkFBaUIsbUdDVDlCLCthQVVBOzJGRERhLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxxQkFBcUIsaUJBR2hCLGlCQUFpQixDQUFDLElBQUk7d0dBRzVCLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRydUNvbnRleHRGaWx0ZXJzIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdHJ1LWNvbnRleHQtZmlsdGVycyc7XHJcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndHJ1LWRlc2t0b3AtbWVudWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90cnUtZGVza3RvcC1tZW51YmFyLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90cnUtZGVza3RvcC1tZW51YmFyLmNzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFRydURlc2t0b3BNZW51YmFyIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgZGVza3RvcEN0cmw6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRleHRGaWx0ZXJzOiBUcnVDb250ZXh0RmlsdGVycykgeyB9XG5cbiAgb3B0aW9uczogYW55IHwgbnVsbCA9IG51bGw7XG4gIGNvbmZpZ3M6IGFueSB8IG51bGwgPSBudWxsO1xuICBmaWx0ZXJzOiBBcnJheTxhbnk+ID0gW107XG5cbiAgb3BlbldpbmRvdyA9IChldmVudDogYW55LCB3aW5kb3dPdmVycmlkZXM6IGFueSkgPT4ge1xuICAgIHRoaXMuZGVza3RvcEN0cmwub3BlbldpbmRvdyh3aW5kb3dPdmVycmlkZXMpO1xuICB9O1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuZGVza3RvcEN0cmwuZ2V0T3B0aW9ucygpO1xuICAgIHRoaXMuY29uZmlncyA9IHRoaXMub3B0aW9ucy5tZW51YmFyQ29uZmlnO1xuICAgIHRoaXMuZmlsdGVycyA9IHRoaXMuY29udGV4dEZpbHRlcnMuZmlsdGVycztcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRlc2t0b3AtbWFpbi1tZW51XCI+XHJcbiAgPHRydS10b29sYmFyPlxyXG4gICAgPHRydS10b29sYmFyLW1lbnUgKm5nRm9yPVwibGV0IGNvbmZpZyBvZiBjb25maWdzXCIgW2NvbmZpZ109XCJjb25maWdcIj48L3RydS10b29sYmFyLW1lbnU+XHJcbiAgICA8dHJ1LXRvb2xiYXItc2VwYXJhdG9yICpuZ0lmPVwiZmlsdGVycy5sZW5ndGhcIj48L3RydS10b29sYmFyLXNlcGFyYXRvcj5cclxuICAgIDx0cnUtdG9vbGJhci1jb250ZXh0LWZpbHRlcj48L3RydS10b29sYmFyLWNvbnRleHQtZmlsdGVyPlxyXG4gIDwvdHJ1LXRvb2xiYXI+XHJcbiAgPHRydS10b29sYmFyPlxyXG4gICAgPHRydS10b29sYmFyLXVzZXItcHJvZmlsZT48L3RydS10b29sYmFyLXVzZXItcHJvZmlsZT5cclxuICA8L3RydS10b29sYmFyPlxyXG48L2Rpdj5cclxuIl19
@@ -1,84 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { TruWindowEventArgs } from './tru-window-event-args';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../../services/tru-context-filters";
5
- import * as i2 from "./tru-window-event-handler";
6
- export class TruDesktopManager {
7
- constructor(contextFilters, windowEventHandler) {
8
- this.contextFilters = contextFilters;
9
- this.windowEventHandler = windowEventHandler;
10
- this.getWindowEvent = (tableName, tablePluralName, tablePluralLabel, componentName, entities = [], openAsDetaiView = false) => {
11
- var windowEvent = new TruWindowEventArgs();
12
- windowEvent.tableName = tableName;
13
- windowEvent.tablePluralName = tablePluralName;
14
- windowEvent.tablePluralLabel = tablePluralLabel;
15
- windowEvent.contextFilters = this.contextFilters.filters;
16
- windowEvent.views = [
17
- {
18
- active: true,
19
- entities: entities,
20
- entityIndex: 0,
21
- isDirty: false,
22
- isEditing: false,
23
- isInvalid: false,
24
- openAsDetaiView: openAsDetaiView,
25
- componentName: componentName
26
- }
27
- ];
28
- return windowEvent;
29
- };
30
- /**
31
- * Opens a window for a directive.
32
- * @param {string} directiveName - name of the view directive.
33
- * @param {object} data - values to pass to the view.
34
- * @param {optional bool} showIfExists - if true and a view already exists for the
35
- * directive, then shows its window instead of creating a new one.
36
- */
37
- this.addWindow = (tableName, tablePluralName, tablePluralLabel, componentName, entities = [], openAsDetaiView = false, showNavigation = true, showIfExists) => {
38
- this.windowEventHandler.open(this.getWindowEvent(tableName, tablePluralName, tablePluralLabel, componentName, entities, openAsDetaiView));
39
- };
40
- this.windowTitlesByBaseText = {};
41
- /**
42
- * Returns a unique string for the base name of a window. At first, returns the input.
43
- * For second call with same base name, returns the name plus ' - 2' and so on. When
44
- * all of the titles for the base name are released, then the next title will have no
45
- * suffix.
46
- * @param {string} text - base name of a window.
47
- * @returns {object} - text: the unique text and release(): releases the name for
48
- * future windows.
49
- */
50
- this.getUniqueTitle = (text) => {
51
- var baseText = text;
52
- var titles = this.windowTitlesByBaseText[baseText];
53
- if (!titles) {
54
- this.windowTitlesByBaseText[baseText] = titles = {
55
- dispensedCount: 1,
56
- activeCount: 1
57
- };
58
- }
59
- else {
60
- ++titles.activeCount;
61
- text += ' - ' + (++titles.dispensedCount);
62
- }
63
- return {
64
- text: text,
65
- release: () => {
66
- if (titles.activeCount === 1)
67
- delete this.windowTitlesByBaseText[baseText];
68
- else {
69
- --titles.activeCount;
70
- }
71
- }
72
- };
73
- };
74
- }
75
- }
76
- TruDesktopManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruDesktopManager, deps: [{ token: i1.TruContextFilters }, { token: i2.TruWindowEventHandler }], target: i0.ɵɵFactoryTarget.Injectable });
77
- TruDesktopManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruDesktopManager, providedIn: 'root' });
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruDesktopManager, decorators: [{
79
- type: Injectable,
80
- args: [{
81
- providedIn: 'root',
82
- }]
83
- }], ctorParameters: function () { return [{ type: i1.TruContextFilters }, { type: i2.TruWindowEventHandler }]; } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWRlc2t0b3AtbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9kZXNrdG9wL3NlcnZpY2VzL3RydS1kZXNrdG9wLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQVE3RCxNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFlBQ1UsY0FBaUMsRUFDakMsa0JBQXlDO1FBRHpDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXVCO1FBRW5ELG1CQUFjLEdBQUcsQ0FDZixTQUFpQixFQUNqQixlQUF1QixFQUN2QixnQkFBd0IsRUFDeEIsYUFBcUIsRUFDckIsV0FBaUMsRUFBRSxFQUNuQyxrQkFBMkIsS0FBSyxFQUFzQixFQUFFO1lBRXhELElBQUksV0FBVyxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztZQUMzQyxXQUFXLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztZQUNsQyxXQUFXLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztZQUM5QyxXQUFXLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7WUFDaEQsV0FBVyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQztZQUN6RCxXQUFXLENBQUMsS0FBSyxHQUFHO2dCQUNsQjtvQkFDRSxNQUFNLEVBQUUsSUFBSTtvQkFDWixRQUFRLEVBQUUsUUFBUTtvQkFDbEIsV0FBVyxFQUFFLENBQUM7b0JBQ2QsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsU0FBUyxFQUFFLEtBQUs7b0JBQ2hCLFNBQVMsRUFBRSxLQUFLO29CQUNoQixlQUFlLEVBQUUsZUFBZTtvQkFDaEMsYUFBYSxFQUFFLGFBQWE7aUJBQzdCO2FBQ0YsQ0FBQztZQUNGLE9BQU8sV0FBVyxDQUFDO1FBQ3JCLENBQUMsQ0FBQTtRQUVEOzs7Ozs7V0FNRztRQUNILGNBQVMsR0FBRyxDQUNWLFNBQWlCLEVBQ2pCLGVBQXVCLEVBQ3ZCLGdCQUF3QixFQUN4QixhQUFxQixFQUNyQixXQUFpQyxFQUFFLEVBQ25DLGtCQUEyQixLQUFLLEVBQ2hDLGlCQUEwQixJQUFJLEVBQzlCLFlBQXNCLEVBQUUsRUFBRTtZQUMxQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDNUksQ0FBQyxDQUFBO1FBRUQsMkJBQXNCLEdBQVEsRUFBRSxDQUFDO1FBRWpDOzs7Ozs7OztXQVFHO1FBQ0gsbUJBQWMsR0FBRyxDQUFDLElBQVksRUFBbUIsRUFBRTtZQUNqRCxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQU0sR0FBRztvQkFDL0MsY0FBYyxFQUFFLENBQUM7b0JBQ2pCLFdBQVcsRUFBRSxDQUFDO2lCQUNmLENBQUM7YUFDSDtpQkFBTTtnQkFDTCxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUM7Z0JBQ3JCLElBQUksSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUMzQztZQUNELE9BQU87Z0JBQ0wsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsT0FBTyxFQUFFLEdBQUcsRUFBRTtvQkFDWixJQUFJLE1BQU0sQ0FBQyxXQUFXLEtBQUssQ0FBQzt3QkFDMUIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUM7eUJBQzFDO3dCQUNILEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQztxQkFDdEI7Z0JBQ0gsQ0FBQzthQUNGLENBQUM7UUFDSixDQUFDLENBQUE7SUFsRnNELENBQUM7OzhHQUo3QyxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZoQixNQUFNOzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVHJ1V2luZG93RXZlbnRIYW5kbGVyIH0gZnJvbSAnLi90cnUtd2luZG93LWV2ZW50LWhhbmRsZXInO1xyXG5pbXBvcnQgeyBUcnVXaW5kb3dFdmVudEFyZ3MgfSBmcm9tICcuL3RydS13aW5kb3ctZXZlbnQtYXJncyc7XHJcbmltcG9ydCB7IFRydUNvbnRleHRGaWx0ZXJzIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3RydS1jb250ZXh0LWZpbHRlcnNcIjtcclxuaW1wb3J0IHsgVHJ1RW50aXR5QmFzZSB9IGZyb20gXCIuLi8uLi8uLi9iYXNlLWNsYXNzZXMvdHJ1LWVudGl0eS1iYXNlXCI7XHJcbmltcG9ydCB7IFRydURlc2t0b3BUaXRsZSB9IGZyb20gXCIuLi9jbGFzc2VzL3RydS1kZXNrdG9wLXRpdGxlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJ1RGVza3RvcE1hbmFnZXIge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY29udGV4dEZpbHRlcnM6IFRydUNvbnRleHRGaWx0ZXJzLFxyXG4gICAgcHJpdmF0ZSB3aW5kb3dFdmVudEhhbmRsZXI6IFRydVdpbmRvd0V2ZW50SGFuZGxlcikgeyB9XHJcblxyXG4gIGdldFdpbmRvd0V2ZW50ID0gKFxyXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXHJcbiAgICB0YWJsZVBsdXJhbE5hbWU6IHN0cmluZyxcclxuICAgIHRhYmxlUGx1cmFsTGFiZWw6IHN0cmluZyxcclxuICAgIGNvbXBvbmVudE5hbWU6IHN0cmluZyxcclxuICAgIGVudGl0aWVzOiBBcnJheTxUcnVFbnRpdHlCYXNlPiA9IFtdLFxyXG4gICAgb3BlbkFzRGV0YWlWaWV3OiBib29sZWFuID0gZmFsc2UpOiBUcnVXaW5kb3dFdmVudEFyZ3MgPT4ge1xyXG5cclxuICAgIHZhciB3aW5kb3dFdmVudCA9IG5ldyBUcnVXaW5kb3dFdmVudEFyZ3MoKTtcclxuICAgIHdpbmRvd0V2ZW50LnRhYmxlTmFtZSA9IHRhYmxlTmFtZTtcclxuICAgIHdpbmRvd0V2ZW50LnRhYmxlUGx1cmFsTmFtZSA9IHRhYmxlUGx1cmFsTmFtZTtcclxuICAgIHdpbmRvd0V2ZW50LnRhYmxlUGx1cmFsTGFiZWwgPSB0YWJsZVBsdXJhbExhYmVsO1xyXG4gICAgd2luZG93RXZlbnQuY29udGV4dEZpbHRlcnMgPSB0aGlzLmNvbnRleHRGaWx0ZXJzLmZpbHRlcnM7XHJcbiAgICB3aW5kb3dFdmVudC52aWV3cyA9IFtcclxuICAgICAge1xyXG4gICAgICAgIGFjdGl2ZTogdHJ1ZSxcclxuICAgICAgICBlbnRpdGllczogZW50aXRpZXMsXHJcbiAgICAgICAgZW50aXR5SW5kZXg6IDAsXHJcbiAgICAgICAgaXNEaXJ0eTogZmFsc2UsXHJcbiAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcclxuICAgICAgICBpc0ludmFsaWQ6IGZhbHNlLFxyXG4gICAgICAgIG9wZW5Bc0RldGFpVmlldzogb3BlbkFzRGV0YWlWaWV3LFxyXG4gICAgICAgIGNvbXBvbmVudE5hbWU6IGNvbXBvbmVudE5hbWVcclxuICAgICAgfVxyXG4gICAgXTtcclxuICAgIHJldHVybiB3aW5kb3dFdmVudDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9wZW5zIGEgd2luZG93IGZvciBhIGRpcmVjdGl2ZS5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gZGlyZWN0aXZlTmFtZSAtIG5hbWUgb2YgdGhlIHZpZXcgZGlyZWN0aXZlLlxyXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBkYXRhIC0gdmFsdWVzIHRvIHBhc3MgdG8gdGhlIHZpZXcuXHJcbiAgICogQHBhcmFtIHtvcHRpb25hbCBib29sfSBzaG93SWZFeGlzdHMgLSBpZiB0cnVlIGFuZCBhIHZpZXcgYWxyZWFkeSBleGlzdHMgZm9yIHRoZSBcclxuICAgKiBkaXJlY3RpdmUsIHRoZW4gc2hvd3MgaXRzIHdpbmRvdyBpbnN0ZWFkIG9mIGNyZWF0aW5nIGEgbmV3IG9uZS5cclxuICAgKi9cclxuICBhZGRXaW5kb3cgPSAoXHJcbiAgICB0YWJsZU5hbWU6IHN0cmluZyxcclxuICAgIHRhYmxlUGx1cmFsTmFtZTogc3RyaW5nLFxyXG4gICAgdGFibGVQbHVyYWxMYWJlbDogc3RyaW5nLFxyXG4gICAgY29tcG9uZW50TmFtZTogc3RyaW5nLFxyXG4gICAgZW50aXRpZXM6IEFycmF5PFRydUVudGl0eUJhc2U+ID0gW10sXHJcbiAgICBvcGVuQXNEZXRhaVZpZXc6IGJvb2xlYW4gPSBmYWxzZSxcclxuICAgIHNob3dOYXZpZ2F0aW9uOiBib29sZWFuID0gdHJ1ZSxcclxuICAgIHNob3dJZkV4aXN0cz86IGJvb2xlYW4pID0+IHtcclxuICAgIHRoaXMud2luZG93RXZlbnRIYW5kbGVyLm9wZW4odGhpcy5nZXRXaW5kb3dFdmVudCh0YWJsZU5hbWUsIHRhYmxlUGx1cmFsTmFtZSwgdGFibGVQbHVyYWxMYWJlbCwgY29tcG9uZW50TmFtZSwgZW50aXRpZXMsIG9wZW5Bc0RldGFpVmlldykpO1xyXG4gIH1cclxuXHJcbiAgd2luZG93VGl0bGVzQnlCYXNlVGV4dDogYW55ID0ge307XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgYSB1bmlxdWUgc3RyaW5nIGZvciB0aGUgYmFzZSBuYW1lIG9mIGEgd2luZG93LiAgQXQgZmlyc3QsIHJldHVybnMgdGhlIGlucHV0LlxyXG4gICAqIEZvciBzZWNvbmQgY2FsbCB3aXRoIHNhbWUgYmFzZSBuYW1lLCByZXR1cm5zIHRoZSBuYW1lIHBsdXMgJyAtIDInIGFuZCBzbyBvbi4gIFdoZW5cclxuICAgKiBhbGwgb2YgdGhlIHRpdGxlcyBmb3IgdGhlIGJhc2UgbmFtZSBhcmUgcmVsZWFzZWQsIHRoZW4gdGhlIG5leHQgdGl0bGUgd2lsbCBoYXZlIG5vXHJcbiAgICogc3VmZml4LlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gYmFzZSBuYW1lIG9mIGEgd2luZG93LlxyXG4gICAqIEByZXR1cm5zIHtvYmplY3R9IC0gdGV4dDogdGhlIHVuaXF1ZSB0ZXh0IGFuZCByZWxlYXNlKCk6IHJlbGVhc2VzIHRoZSBuYW1lIGZvclxyXG4gICAqICBmdXR1cmUgd2luZG93cy5cclxuICAgKi9cclxuICBnZXRVbmlxdWVUaXRsZSA9ICh0ZXh0OiBzdHJpbmcpOiBUcnVEZXNrdG9wVGl0bGUgPT4ge1xyXG4gICAgdmFyIGJhc2VUZXh0ID0gdGV4dDtcclxuICAgIHZhciB0aXRsZXMgPSB0aGlzLndpbmRvd1RpdGxlc0J5QmFzZVRleHRbYmFzZVRleHRdO1xyXG4gICAgaWYgKCF0aXRsZXMpIHtcclxuICAgICAgdGhpcy53aW5kb3dUaXRsZXNCeUJhc2VUZXh0W2Jhc2VUZXh0XSA9IHRpdGxlcyA9IHtcclxuICAgICAgICBkaXNwZW5zZWRDb3VudDogMSxcclxuICAgICAgICBhY3RpdmVDb3VudDogMVxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgKyt0aXRsZXMuYWN0aXZlQ291bnQ7XHJcbiAgICAgIHRleHQgKz0gJyAtICcgKyAoKyt0aXRsZXMuZGlzcGVuc2VkQ291bnQpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdGV4dDogdGV4dCxcclxuICAgICAgcmVsZWFzZTogKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aXRsZXMuYWN0aXZlQ291bnQgPT09IDEpXHJcbiAgICAgICAgICBkZWxldGUgdGhpcy53aW5kb3dUaXRsZXNCeUJhc2VUZXh0W2Jhc2VUZXh0XTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIC0tdGl0bGVzLmFjdGl2ZUNvdW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,116 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { TruDesktopViewConfig } from '../classes/tru-desktop-view-config';
3
- import * as i0 from "@angular/core";
4
- export class TruDesktopService {
5
- constructor() {
6
- /**
7
- * @tru.doc function
8
- * @name DesktopService.createDesktop
9
- * @module tru.desktop
10
- *
11
- * @description
12
- * Creates a new desktop instance.
13
- *
14
- * @returns {object} Desktop
15
- */
16
- this.createDesktop = function () {
17
- var desktop = new Desktop();
18
- return desktop;
19
- };
20
- }
21
- }
22
- TruDesktopService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruDesktopService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
23
- TruDesktopService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruDesktopService });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruDesktopService, decorators: [{
25
- type: Injectable
26
- }] });
27
- /**
28
- * @tru.desktop.doc class
29
- * @name DesktopService.Desktop
30
- * @module tru.desktop
31
- *
32
- * @description Desktop defines a logical desktop. Any non-dom properties and elements needed by the desktop should
33
- * be defined in this class
34
- *
35
- */
36
- export class Desktop {
37
- constructor() {
38
- this.options = new DesktopOptions();
39
- this.windowConfig = new WindowConfig();
40
- this.viewConfig = new TruDesktopViewConfig();
41
- }
42
- }
43
- ;
44
- /**
45
- * @tru.desktop.doc class
46
- * @name DesktopService.DesktopOptions
47
- * @module tru.desktop
48
- *
49
- * @description Default DesktopOptions class. DesktopOptions are defined by the application developer and overlaid
50
- * over this object.
51
- *
52
- */
53
- export class DesktopOptions {
54
- constructor() {
55
- this.allowDirtyClose = false;
56
- this.allowInvalidClose = false;
57
- this.cancelEditingOnNavigation = false;
58
- this.canCloseFn = undefined;
59
- this.canNavigateFn = undefined;
60
- this.displayViewportDimensions = false;
61
- this.enableAnimation = true;
62
- this.enableWindowCascading = true;
63
- this.logoUrl = undefined;
64
- this.menubarHeight = 32;
65
- this.menubarConfig = undefined;
66
- this.showLaunchMenu = false;
67
- }
68
- }
69
- ;
70
- /**
71
- * @tru.desktop.doc class
72
- * @name DesktopService.WindowConfig
73
- * @module tru.desktop
74
- *
75
- * @description
76
- * Default configuration object for a window. windowConfig properties can be defined by the application developer and overlaid
77
- * over this object.
78
- *
79
- */
80
- export class WindowConfig {
81
- constructor() {
82
- this.tableName = '';
83
- this.tablePluralName = '';
84
- this.tablePluralLabel = '';
85
- this.active = true;
86
- this.bottom = 'auto';
87
- this.globals = undefined;
88
- this.height = '400px';
89
- this.isDirty = false;
90
- this.isInvalid = false;
91
- this.left = 0;
92
- this.maximized = undefined;
93
- this.minHeight = '200px';
94
- this.minimized = false;
95
- this.minWidth = '200px';
96
- this.outOfBounds = false;
97
- this.savedPosition = {};
98
- this.right = 'auto';
99
- this.scope = undefined;
100
- this.title = '';
101
- this.top = 0;
102
- this.width = '400px';
103
- this.views = Array();
104
- this.zIndex = -1;
105
- this.isReadOnly = false;
106
- this.unsubscribes = [];
107
- this.wasReadOnly = false;
108
- this.contextFilters = [];
109
- this.destroy = () => {
110
- while (this.unsubscribes.length)
111
- this?.unsubscribes?.shift()?.call();
112
- };
113
- }
114
- }
115
- ;
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWRlc2t0b3Atc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9kZXNrdG9wL3NlcnZpY2VzL3RydS1kZXNrdG9wLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFHMUUsTUFBTSxPQUFPLGlCQUFpQjtJQUQ5QjtRQUVFOzs7Ozs7Ozs7V0FTRztRQUNJLGtCQUFhLEdBQUc7WUFDckIsSUFBSSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM1QixPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDLENBQUE7S0FDRjs7OEdBZlksaUJBQWlCO2tIQUFqQixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVTs7QUFtQlg7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLE9BQU8sT0FBTztJQUFwQjtRQUNFLFlBQU8sR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQy9CLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyxlQUFVLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO0lBQzFDLENBQUM7Q0FBQTtBQUFBLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBQTNCO1FBQ0Usb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLDhCQUF5QixHQUFHLEtBQUssQ0FBQztRQUNsQyxlQUFVLEdBQUcsU0FBUyxDQUFDO1FBQ3ZCLGtCQUFhLEdBQUcsU0FBUyxDQUFDO1FBQzFCLDhCQUF5QixHQUFHLEtBQUssQ0FBQztRQUNsQyxvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN2QiwwQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDN0IsWUFBTyxHQUFHLFNBQVMsQ0FBQztRQUNwQixrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixrQkFBYSxHQUFHLFNBQVMsQ0FBQztRQUMxQixtQkFBYyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0NBQUE7QUFBQSxDQUFDO0FBR0Y7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFBekI7UUFDRSxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLG9CQUFlLEdBQVcsRUFBRSxDQUFDO1FBQzdCLHFCQUFnQixHQUFXLEVBQUUsQ0FBQztRQUU5QixXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2QsV0FBTSxHQUFHLE1BQU0sQ0FBQztRQUNoQixZQUFPLEdBQUcsU0FBUyxDQUFDO1FBQ3BCLFdBQU0sR0FBRyxPQUFPLENBQUM7UUFDakIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLFNBQUksR0FBRyxDQUFDLENBQUM7UUFDVCxjQUFTLEdBQUcsU0FBUyxDQUFDO1FBQ3RCLGNBQVMsR0FBRyxPQUFPLENBQUM7UUFDcEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixhQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ25CLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25CLFVBQUssR0FBRyxNQUFNLENBQUM7UUFDZixVQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ2xCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxRQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsVUFBSyxHQUFHLE9BQU8sQ0FBQztRQUNoQixVQUFLLEdBQUcsS0FBSyxFQUF3QixDQUFDO1FBQ3RDLFdBQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNaLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsaUJBQVksR0FBZSxFQUFFLENBQUM7UUFDOUIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsbUJBQWMsR0FBNEIsRUFBRSxDQUFDO1FBRTdDLFlBQU8sR0FBRyxHQUFHLEVBQUU7WUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTTtnQkFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3ZFLENBQUMsQ0FBQTtJQUNILENBQUM7Q0FBQTtBQUFBLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBUcnVDb250ZXh0RmlsdGVyIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy90cnUtY29udGV4dC1maWx0ZXInO1xyXG5pbXBvcnQgeyBUcnVEZXNrdG9wVmlld0NvbmZpZyB9IGZyb20gJy4uL2NsYXNzZXMvdHJ1LWRlc2t0b3Atdmlldy1jb25maWcnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVHJ1RGVza3RvcFNlcnZpY2Uge1xyXG4gIC8qKlxyXG4gICAqIEB0cnUuZG9jIGZ1bmN0aW9uXHJcbiAgICogQG5hbWUgRGVza3RvcFNlcnZpY2UuY3JlYXRlRGVza3RvcFxyXG4gICAqIEBtb2R1bGUgdHJ1LmRlc2t0b3BcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqIENyZWF0ZXMgYSBuZXcgZGVza3RvcCBpbnN0YW5jZS5cclxuICAgKlxyXG4gICAqIEByZXR1cm5zIHtvYmplY3R9IERlc2t0b3BcclxuICAgKi9cclxuICBwdWJsaWMgY3JlYXRlRGVza3RvcCA9IGZ1bmN0aW9uICgpIHtcclxuICAgIHZhciBkZXNrdG9wID0gbmV3IERlc2t0b3AoKTtcclxuICAgIHJldHVybiBkZXNrdG9wO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBAdHJ1LmRlc2t0b3AuZG9jIGNsYXNzXHJcbiAqIEBuYW1lIERlc2t0b3BTZXJ2aWNlLkRlc2t0b3BcclxuICogQG1vZHVsZSB0cnUuZGVza3RvcFxyXG4gKlxyXG4gKiBAZGVzY3JpcHRpb24gRGVza3RvcCBkZWZpbmVzIGEgbG9naWNhbCBkZXNrdG9wLiAgQW55IG5vbi1kb20gcHJvcGVydGllcyBhbmQgZWxlbWVudHMgbmVlZGVkIGJ5IHRoZSBkZXNrdG9wIHNob3VsZFxyXG4gKiBiZSBkZWZpbmVkIGluIHRoaXMgY2xhc3NcclxuICpcclxuICovXHJcbmV4cG9ydCBjbGFzcyBEZXNrdG9wIHtcclxuICBvcHRpb25zID0gbmV3IERlc2t0b3BPcHRpb25zKCk7XHJcbiAgd2luZG93Q29uZmlnID0gbmV3IFdpbmRvd0NvbmZpZygpO1xyXG4gIHZpZXdDb25maWcgPSBuZXcgVHJ1RGVza3RvcFZpZXdDb25maWcoKTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBAdHJ1LmRlc2t0b3AuZG9jIGNsYXNzXHJcbiAqIEBuYW1lIERlc2t0b3BTZXJ2aWNlLkRlc2t0b3BPcHRpb25zXHJcbiAqIEBtb2R1bGUgdHJ1LmRlc2t0b3BcclxuICpcclxuICogQGRlc2NyaXB0aW9uIERlZmF1bHQgRGVza3RvcE9wdGlvbnMgY2xhc3MuICBEZXNrdG9wT3B0aW9ucyBhcmUgZGVmaW5lZCBieSB0aGUgYXBwbGljYXRpb24gZGV2ZWxvcGVyIGFuZCBvdmVybGFpZFxyXG4gKiBvdmVyIHRoaXMgb2JqZWN0LlxyXG4gKlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIERlc2t0b3BPcHRpb25zIHtcclxuICBhbGxvd0RpcnR5Q2xvc2UgPSBmYWxzZTtcclxuICBhbGxvd0ludmFsaWRDbG9zZSA9IGZhbHNlO1xyXG4gIGNhbmNlbEVkaXRpbmdPbk5hdmlnYXRpb24gPSBmYWxzZTtcclxuICBjYW5DbG9zZUZuID0gdW5kZWZpbmVkO1xyXG4gIGNhbk5hdmlnYXRlRm4gPSB1bmRlZmluZWQ7XHJcbiAgZGlzcGxheVZpZXdwb3J0RGltZW5zaW9ucyA9IGZhbHNlO1xyXG4gIGVuYWJsZUFuaW1hdGlvbiA9IHRydWU7XHJcbiAgZW5hYmxlV2luZG93Q2FzY2FkaW5nID0gdHJ1ZTtcclxuICBsb2dvVXJsID0gdW5kZWZpbmVkO1xyXG4gIG1lbnViYXJIZWlnaHQgPSAzMjtcclxuICBtZW51YmFyQ29uZmlnID0gdW5kZWZpbmVkO1xyXG4gIHNob3dMYXVuY2hNZW51ID0gZmFsc2U7XHJcbn07XHJcblxyXG5cclxuLyoqXHJcbiAqIEB0cnUuZGVza3RvcC5kb2MgY2xhc3NcclxuICogQG5hbWUgRGVza3RvcFNlcnZpY2UuV2luZG93Q29uZmlnXHJcbiAqIEBtb2R1bGUgdHJ1LmRlc2t0b3BcclxuICpcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIERlZmF1bHQgY29uZmlndXJhdGlvbiBvYmplY3QgZm9yIGEgd2luZG93LiB3aW5kb3dDb25maWcgcHJvcGVydGllcyBjYW4gYmUgZGVmaW5lZCBieSB0aGUgYXBwbGljYXRpb24gZGV2ZWxvcGVyIGFuZCBvdmVybGFpZFxyXG4gKiBvdmVyIHRoaXMgb2JqZWN0LlxyXG4gKlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFdpbmRvd0NvbmZpZyB7XHJcbiAgdGFibGVOYW1lOiBzdHJpbmcgPSAnJztcclxuICB0YWJsZVBsdXJhbE5hbWU6IHN0cmluZyA9ICcnO1xyXG4gIHRhYmxlUGx1cmFsTGFiZWw6IHN0cmluZyA9ICcnO1xyXG5cclxuICBhY3RpdmUgPSB0cnVlO1xyXG4gIGJvdHRvbSA9ICdhdXRvJztcclxuICBnbG9iYWxzID0gdW5kZWZpbmVkO1xyXG4gIGhlaWdodCA9ICc0MDBweCc7XHJcbiAgaXNEaXJ0eSA9IGZhbHNlO1xyXG4gIGlzSW52YWxpZCA9IGZhbHNlO1xyXG4gIGxlZnQgPSAwO1xyXG4gIG1heGltaXplZCA9IHVuZGVmaW5lZDtcclxuICBtaW5IZWlnaHQgPSAnMjAwcHgnO1xyXG4gIG1pbmltaXplZCA9IGZhbHNlO1xyXG4gIG1pbldpZHRoID0gJzIwMHB4JztcclxuICBvdXRPZkJvdW5kcyA9IGZhbHNlO1xyXG4gIHNhdmVkUG9zaXRpb24gPSB7fTtcclxuICByaWdodCA9ICdhdXRvJztcclxuICBzY29wZSA9IHVuZGVmaW5lZDtcclxuICB0aXRsZSA9ICcnO1xyXG4gIHRvcCA9IDA7XHJcbiAgd2lkdGggPSAnNDAwcHgnO1xyXG4gIHZpZXdzID0gQXJyYXk8VHJ1RGVza3RvcFZpZXdDb25maWc+KCk7XHJcbiAgekluZGV4ID0gLTE7XHJcbiAgaXNSZWFkT25seSA9IGZhbHNlO1xyXG4gIHVuc3Vic2NyaWJlczogQXJyYXk8YW55PiA9IFtdO1xyXG4gIHdhc1JlYWRPbmx5ID0gZmFsc2U7XHJcbiAgY29udGV4dEZpbHRlcnM6IEFycmF5PFRydUNvbnRleHRGaWx0ZXI+ID0gW107XHJcblxyXG4gIGRlc3Ryb3kgPSAoKSA9PiB7XHJcbiAgICB3aGlsZSAodGhpcy51bnN1YnNjcmliZXMubGVuZ3RoKSB0aGlzPy51bnN1YnNjcmliZXM/LnNoaWZ0KCk/LmNhbGwoKTtcclxuICB9XHJcbn07XHJcbiJdfQ==
@@ -1,27 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class TruWindowActionEventHandler {
5
- constructor() {
6
- this.save$ = new Subject();
7
- this.revert$ = new Subject();
8
- this.onSave = () => {
9
- return this.save$;
10
- };
11
- this.onRevert = () => {
12
- return this.revert$;
13
- };
14
- this.save = () => {
15
- this.save$.next(null);
16
- };
17
- this.revert = () => {
18
- this.revert$.next(null);
19
- };
20
- }
21
- }
22
- TruWindowActionEventHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruWindowActionEventHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
23
- TruWindowActionEventHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruWindowActionEventHandler });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruWindowActionEventHandler, decorators: [{
25
- type: Injectable
26
- }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXdpbmRvdy1hY3Rpb24tZXZlbnQtaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9kZXNrdG9wL3NlcnZpY2VzL3RydS13aW5kb3ctYWN0aW9uLWV2ZW50LWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUcvQixNQUFNLE9BQU8sMkJBQTJCO0lBRHhDO1FBR1UsVUFBSyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3JDLFlBQU8sR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUUvQyxXQUFNLEdBQUcsR0FBRyxFQUFFO1lBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3BCLENBQUMsQ0FBQTtRQUVELGFBQVEsR0FBRyxHQUFHLEVBQUU7WUFDZCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDdEIsQ0FBQyxDQUFBO1FBRUQsU0FBSSxHQUFHLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQTtRQUVELFdBQU0sR0FBRyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUE7S0FDRjs7d0hBcEJZLDJCQUEyQjs0SEFBM0IsMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBRHZDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFRydVdpbmRvd0FjdGlvbkV2ZW50SGFuZGxlciB7XHJcblxyXG4gIHByaXZhdGUgc2F2ZSQ6IFN1YmplY3Q8bnVsbD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHByaXZhdGUgcmV2ZXJ0JDogU3ViamVjdDxudWxsPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIG9uU2F2ZSA9ICgpID0+IHtcclxuICAgIHJldHVybiB0aGlzLnNhdmUkO1xyXG4gIH1cclxuXHJcbiAgb25SZXZlcnQgPSAoKSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5yZXZlcnQkO1xyXG4gIH1cclxuXHJcbiAgc2F2ZSA9ICgpID0+IHtcclxuICAgIHRoaXMuc2F2ZSQubmV4dChudWxsKTtcclxuICB9XHJcblxyXG4gIHJldmVydCA9ICgpID0+IHtcclxuICAgIHRoaXMucmV2ZXJ0JC5uZXh0KG51bGwpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,26 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class TruWindowEventArgs {
4
- constructor() {
5
- this.title = '';
6
- this.tableName = '';
7
- this.tablePluralName = '';
8
- this.tablePluralLabel = '';
9
- this.context = {};
10
- this.contentBottom = '23px';
11
- this.statusbarDirective = 'tru-statusbar';
12
- this.height = '450px';
13
- this.width = '900px';
14
- this.views = [{}];
15
- this.contextFilters = [];
16
- }
17
- }
18
- TruWindowEventArgs.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruWindowEventArgs, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
19
- TruWindowEventArgs.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruWindowEventArgs, providedIn: 'root' });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruWindowEventArgs, decorators: [{
21
- type: Injectable,
22
- args: [{
23
- providedIn: 'root'
24
- }]
25
- }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXdpbmRvdy1ldmVudC1hcmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2Rlc2t0b3Avc2VydmljZXMvdHJ1LXdpbmRvdy1ldmVudC1hcmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTNDLE1BQU0sT0FBTyxrQkFBa0I7SUFIL0I7UUFJRSxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFDdkIsb0JBQWUsR0FBVyxFQUFFLENBQUM7UUFDN0IscUJBQWdCLEdBQVcsRUFBRSxDQUFDO1FBQzlCLFlBQU8sR0FBUSxFQUFFLENBQUM7UUFDbEIsa0JBQWEsR0FBVyxNQUFNLENBQUE7UUFDOUIsdUJBQWtCLEdBQVcsZUFBZSxDQUFDO1FBQzdDLFdBQU0sR0FBVyxPQUFPLENBQUM7UUFDekIsVUFBSyxHQUFXLE9BQU8sQ0FBQztRQUN4QixVQUFLLEdBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUIsbUJBQWMsR0FBNEIsRUFBRSxDQUFDO0tBQzlDOzsrR0FaWSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQUZqQixNQUFNOzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRydUNvbnRleHRGaWx0ZXIgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL3RydS1jb250ZXh0LWZpbHRlcic7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVXaW5kb3dFdmVudEFyZ3Mge1xyXG4gIHRpdGxlOiBzdHJpbmcgPSAnJztcclxuICB0YWJsZU5hbWU6IHN0cmluZyA9ICcnO1xyXG4gIHRhYmxlUGx1cmFsTmFtZTogc3RyaW5nID0gJyc7XHJcbiAgdGFibGVQbHVyYWxMYWJlbDogc3RyaW5nID0gJyc7XHJcbiAgY29udGV4dDogYW55ID0ge307XHJcbiAgY29udGVudEJvdHRvbTogc3RyaW5nID0gJzIzcHgnXHJcbiAgc3RhdHVzYmFyRGlyZWN0aXZlOiBzdHJpbmcgPSAndHJ1LXN0YXR1c2Jhcic7XHJcbiAgaGVpZ2h0OiBzdHJpbmcgPSAnNDUwcHgnO1xyXG4gIHdpZHRoOiBzdHJpbmcgPSAnOTAwcHgnO1xyXG4gIHZpZXdzOiBBcnJheTxvYmplY3Q+ID0gW3t9XTtcclxuICBjb250ZXh0RmlsdGVyczogQXJyYXk8VHJ1Q29udGV4dEZpbHRlcj4gPSBbXTtcclxufVxyXG4iXX0=
@@ -1,44 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class TruWindowEventHandler {
5
- constructor() {
6
- this.open$ = new Subject();
7
- this.addView$ = new Subject();
8
- this.setWindowTitle$ = new Subject();
9
- this.removeForwadViews$ = new Subject();
10
- }
11
- onOpen() {
12
- return this.open$;
13
- }
14
- open(windowEvent) {
15
- this.open$.next(windowEvent);
16
- }
17
- onAddView() {
18
- return this.addView$;
19
- }
20
- addView(windowAddViewEvent) {
21
- this.addView$.next(windowAddViewEvent);
22
- }
23
- onRemoveForwardViews() {
24
- return this.removeForwadViews$;
25
- }
26
- removeForwardViews() {
27
- this.removeForwadViews$.next(null);
28
- }
29
- onSetWindowTitle() {
30
- return this.setWindowTitle$;
31
- }
32
- setWindowTitle(value) {
33
- this.setWindowTitle$.next(value);
34
- }
35
- }
36
- TruWindowEventHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruWindowEventHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
37
- TruWindowEventHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruWindowEventHandler, providedIn: 'root' });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruWindowEventHandler, decorators: [{
39
- type: Injectable,
40
- args: [{
41
- providedIn: 'root'
42
- }]
43
- }] });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXdpbmRvdy1ldmVudC1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2Rlc2t0b3Avc2VydmljZXMvdHJ1LXdpbmRvdy1ldmVudC1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFRL0IsTUFBTSxPQUFPLHFCQUFxQjtJQUhsQztRQUlVLFVBQUssR0FBZ0MsSUFBSSxPQUFPLEVBQXNCLENBQUM7UUFDdkUsYUFBUSxHQUFrQyxJQUFJLE9BQU8sRUFBd0IsQ0FBQztRQUM5RSxvQkFBZSxHQUFvQixJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQ3pELHVCQUFrQixHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO0tBaUNqRTtJQS9CQyxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLENBQUMsV0FBK0I7UUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELE9BQU8sQ0FBQyxrQkFBd0M7UUFDOUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pDLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDOztrSEFwQ1UscUJBQXFCO3NIQUFyQixxQkFBcUIsY0FGcEIsTUFBTTsyRkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBUcnVXaW5kb3dFdmVudEFyZ3MgfSBmcm9tICcuL3RydS13aW5kb3ctZXZlbnQtYXJncyc7XHJcbmltcG9ydCB7IFRydURlc2t0b3BWaWV3Q29uZmlnIH0gZnJvbSAnLi4vY2xhc3Nlcy90cnUtZGVza3RvcC12aWV3LWNvbmZpZyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVXaW5kb3dFdmVudEhhbmRsZXIge1xyXG4gIHByaXZhdGUgb3BlbiQ6IFN1YmplY3Q8VHJ1V2luZG93RXZlbnRBcmdzPiA9IG5ldyBTdWJqZWN0PFRydVdpbmRvd0V2ZW50QXJncz4oKTtcclxuICBwcml2YXRlIGFkZFZpZXckOiBTdWJqZWN0PFRydURlc2t0b3BWaWV3Q29uZmlnPiA9IG5ldyBTdWJqZWN0PFRydURlc2t0b3BWaWV3Q29uZmlnPigpO1xyXG4gIHByaXZhdGUgc2V0V2luZG93VGl0bGUkOiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcbiAgcHJpdmF0ZSByZW1vdmVGb3J3YWRWaWV3cyQ6IFN1YmplY3Q8bnVsbD4gPSBuZXcgU3ViamVjdDxudWxsPigpO1xyXG5cclxuICBvbk9wZW4oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5vcGVuJDtcclxuICB9XHJcblxyXG4gIG9wZW4od2luZG93RXZlbnQ6IFRydVdpbmRvd0V2ZW50QXJncykge1xyXG4gICAgdGhpcy5vcGVuJC5uZXh0KHdpbmRvd0V2ZW50KTtcclxuICB9XHJcblxyXG4gIG9uQWRkVmlldygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZFZpZXckO1xyXG4gIH1cclxuXHJcbiAgYWRkVmlldyh3aW5kb3dBZGRWaWV3RXZlbnQ6IFRydURlc2t0b3BWaWV3Q29uZmlnKSB7XHJcbiAgICB0aGlzLmFkZFZpZXckLm5leHQod2luZG93QWRkVmlld0V2ZW50KTtcclxuICB9XHJcblxyXG4gIG9uUmVtb3ZlRm9yd2FyZFZpZXdzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucmVtb3ZlRm9yd2FkVmlld3MkO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlRm9yd2FyZFZpZXdzKCkge1xyXG4gICAgdGhpcy5yZW1vdmVGb3J3YWRWaWV3cyQubmV4dChudWxsKTtcclxuICB9XHJcblxyXG4gIG9uU2V0V2luZG93VGl0bGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXRXaW5kb3dUaXRsZSQ7XHJcbiAgfVxyXG5cclxuICBzZXRXaW5kb3dUaXRsZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNldFdpbmRvd1RpdGxlJC5uZXh0KHZhbHVlKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,18 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class TruDesktopStatusbar {
4
- constructor() {
5
- this.label = ''; //this.contextFilter.label();
6
- }
7
- ngOnInit() {
8
- }
9
- }
10
- TruDesktopStatusbar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruDesktopStatusbar, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- TruDesktopStatusbar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: TruDesktopStatusbar, selector: "tru-desktop-statusbar", inputs: { desktopCtrl: "desktopCtrl" }, ngImport: i0, template: "<div class=\"desktop-window-statusbar\" data-ng-class=\"{'desktop-window-maximized': window.maximized, 'desktop-window-opacity': !window.active}\">\r\n <div class=\"desktop-window-statusbar-container\">\r\n <div class=\"desktop-window-statusbar-context-filter-container\">\r\n <p class=\"desktop-window-statusbar-context-filter-container-text\">{{label}}</p>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".desktop-window-statusbar{position:absolute!important;left:0;right:0;bottom:0;height:23px;background:#006dcc;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top:1px solid #e7e7e7}.desktop-window-statusbar-container{position:absolute;top:1px;left:2px;right:0}.desktop-window-statusbar-context-filter-container{float:right;color:#fff;font-weight:700;line-height:8px;margin-right:5px}.desktop-window-statusbar-context-filter-container-text{line-height:1.5;cursor:default}\n"] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruDesktopStatusbar, decorators: [{
13
- type: Component,
14
- args: [{ selector: 'tru-desktop-statusbar', template: "<div class=\"desktop-window-statusbar\" data-ng-class=\"{'desktop-window-maximized': window.maximized, 'desktop-window-opacity': !window.active}\">\r\n <div class=\"desktop-window-statusbar-container\">\r\n <div class=\"desktop-window-statusbar-context-filter-container\">\r\n <p class=\"desktop-window-statusbar-context-filter-container-text\">{{label}}</p>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".desktop-window-statusbar{position:absolute!important;left:0;right:0;bottom:0;height:23px;background:#006dcc;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top:1px solid #e7e7e7}.desktop-window-statusbar-container{position:absolute;top:1px;left:2px;right:0}.desktop-window-statusbar-context-filter-container{float:right;color:#fff;font-weight:700;line-height:8px;margin-right:5px}.desktop-window-statusbar-context-filter-container-text{line-height:1.5;cursor:default}\n"] }]
15
- }], ctorParameters: function () { return []; }, propDecorators: { desktopCtrl: [{
16
- type: Input
17
- }] } });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWRlc2t0b3Atc3RhdHVzYmFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2Rlc2t0b3Avc3RhdHVzYmFyL3RydS1kZXNrdG9wLXN0YXR1c2Jhci50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9kZXNrdG9wL3N0YXR1c2Jhci90cnUtZGVza3RvcC1zdGF0dXNiYXIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPekQsTUFBTSxPQUFPLG1CQUFtQjtJQUs5QjtRQUNFLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUEsNkJBQTZCO0lBQy9DLENBQUM7SUFFRCxRQUFRO0lBRVIsQ0FBQzs7Z0hBWFUsbUJBQW1CO29HQUFuQixtQkFBbUIscUdDUGhDLHlaQU9BOzJGREFhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSx1QkFBdUI7MEVBS3hCLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndHJ1LWRlc2t0b3Atc3RhdHVzYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RydS1kZXNrdG9wLXN0YXR1c2Jhci5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdHJ1LWRlc2t0b3Atc3RhdHVzYmFyLmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRydURlc2t0b3BTdGF0dXNiYXIgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBkZXNrdG9wQ3RybDogYW55O1xuXG4gIGxhYmVsOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5sYWJlbCA9ICcnOy8vdGhpcy5jb250ZXh0RmlsdGVyLmxhYmVsKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcblxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZGVza3RvcC13aW5kb3ctc3RhdHVzYmFyXCIgZGF0YS1uZy1jbGFzcz1cInsnZGVza3RvcC13aW5kb3ctbWF4aW1pemVkJzogd2luZG93Lm1heGltaXplZCwgJ2Rlc2t0b3Atd2luZG93LW9wYWNpdHknOiAhd2luZG93LmFjdGl2ZX1cIj5cclxuICA8ZGl2IGNsYXNzPVwiZGVza3RvcC13aW5kb3ctc3RhdHVzYmFyLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImRlc2t0b3Atd2luZG93LXN0YXR1c2Jhci1jb250ZXh0LWZpbHRlci1jb250YWluZXJcIj5cclxuICAgICAgPHAgY2xhc3M9XCJkZXNrdG9wLXdpbmRvdy1zdGF0dXNiYXItY29udGV4dC1maWx0ZXItY29udGFpbmVyLXRleHRcIj57e2xhYmVsfX08L3A+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,40 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/material/icon";
5
- export class TruDesktopTaskbar {
6
- constructor() {
7
- this.options = null;
8
- this.desktopShown = false;
9
- this.updateWindowState = (wdw) => {
10
- if (wdw.active)
11
- this.desktopCtrl.minimize(wdw);
12
- else if (!wdw.outOfBounds)
13
- this.desktopCtrl.restore(wdw);
14
- else if (wdw.outOfBounds)
15
- this.desktopCtrl.recover(wdw);
16
- };
17
- this.hideShowAll = () => {
18
- this.desktopShown = this.desktopCtrl.hideShowAll();
19
- };
20
- this.close = (e, wdw) => {
21
- this.desktopCtrl.closeWindow(wdw);
22
- e.stopPropagation();
23
- e.preventDefault();
24
- };
25
- }
26
- ngOnInit() {
27
- this.options = this.desktopCtrl.getOptions();
28
- }
29
- }
30
- TruDesktopTaskbar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruDesktopTaskbar, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
- TruDesktopTaskbar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: TruDesktopTaskbar, selector: "tru-desktop-taskbar", inputs: { windows: "windows", desktopCtrl: "desktopCtrl" }, ngImport: i0, template: "<div class=\"desktop-taskbar-container\">\r\n <div class=\"desktop-taskbar-list\">\r\n <ul>\r\n <li class=\"am-fade-and-scale desktop-text\"\r\n *ngFor=\"let window of windows\"\r\n (click)=\"updateWindowState(window)\">\r\n <div class=\"desktop-relative desktop-taskbar-list-item\" [ngClass]=\"{'desktop-active-taskbar-list-item': window.active, 'desktop-minimized-taskbar-list-item': window.minimized, 'desktop-taskbar-list-item-recover': window.outOfBounds}\">\r\n <div class=\"desktop-taskbar-list-item-title\">\r\n <span>{{window.title}}</span>\r\n </div>\r\n <mat-icon [svgIcon]=\"'tru-toolbar-close-icon'\" class=\"desktop-taskbar-list-item-close-icon\" [ngClass]=\"{'desktop-taskbar-list-item-close-minimized': window.minimized}\" (click)=\"close($event, window)\"></mat-icon>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"desktop-taskbar-hide\">\r\n <div class=\"desktop-taskbar-hide-button\" (click)=\"hideShowAll()\">\r\n\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".desktop-taskbar-container{position:absolute!important;left:0;right:0;bottom:0;height:40px;background:#f8f8f8;border:1px solid #6b6b6b}.desktop-taskbar-launch-menu{position:absolute!important;top:0;left:0;bottom:0;width:50px;background:#f8f8f8;border-right:1px solid #e7e7e7}.desktop-taskbar-launch-button{height:35px;width:43px;background-clip:padding-box;border-radius:6px;border:1px solid #dfdfdf;margin:2px;padding-top:1px;padding-left:5px}.desktop-taskbar-launch-button:active{margin-top:3px;margin-left:3px;outline:0;box-shadow:0 0 10px #0057ff}.desktop-taskbar-list{position:absolute!important;inset:0 16px 0 0;background:#f8f8f8}.desktop-taskbar-list-offset{left:50px}.desktop-taskbar-list ul{padding:3px;margin:0}.desktop-taskbar-list ul>li{display:inline-block;list-style:none;width:165px;height:33px}.desktop-taskbar-list ul>li>div{background-clip:padding-box;border-radius:0;border:1px solid #dfdfdf;line-height:30px;margin-top:1px;margin-left:7px;overflow:hidden}.desktop-taskbar-list ul>li>div:active{top:1px;left:1px}.desktop-taskbar-list li span{position:relative;left:5px;margin-left:5px;text-overflow:ellipsis;font-size:12px;font-weight:700}.desktop-taskbar-list-item-recover{background:maroon!important;color:#fff!important}.desktop-taskbar-list-item-title{width:135px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:default}.desktop-taskbar-list-item-close{position:absolute;z-index:1;top:11px;right:5px;font-size:9px;color:#333;cursor:pointer}.desktop-taskbar-list-item-close-minimized{color:#bababa}.desktop-taskbar-list-item-close:active{top:10px;right:6px}.desktop-taskbar-list-item-close:hover{color:maroon}.desktop-taskbar-list-item{background-color:#f8f8f8;position:relative}.desktop-taskbar-list-item-close-icon{position:absolute;right:2px;top:5px;height:16px}.desktop-active-taskbar-list-item{outline:0;border:1px solid #6b6b6b!important;box-shadow:inset 0 1px 1px #00000013;color:#333}.desktop-minimized-taskbar-list-item{color:#bababa}.desktop-taskbar-hide{position:absolute!important;top:0;right:0;bottom:0;width:16px;background:#f8f8f8}.desktop-taskbar-hide-button{height:35px;width:12px;background-clip:padding-box;border-radius:0;border:1px solid #dfdfdf;margin:2px}.desktop-taskbar-hide-button:active{margin-top:3px;margin-left:3px;outline:0;box-shadow:0 0 10px #0057ff}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruDesktopTaskbar, decorators: [{
33
- type: Component,
34
- args: [{ selector: 'tru-desktop-taskbar', template: "<div class=\"desktop-taskbar-container\">\r\n <div class=\"desktop-taskbar-list\">\r\n <ul>\r\n <li class=\"am-fade-and-scale desktop-text\"\r\n *ngFor=\"let window of windows\"\r\n (click)=\"updateWindowState(window)\">\r\n <div class=\"desktop-relative desktop-taskbar-list-item\" [ngClass]=\"{'desktop-active-taskbar-list-item': window.active, 'desktop-minimized-taskbar-list-item': window.minimized, 'desktop-taskbar-list-item-recover': window.outOfBounds}\">\r\n <div class=\"desktop-taskbar-list-item-title\">\r\n <span>{{window.title}}</span>\r\n </div>\r\n <mat-icon [svgIcon]=\"'tru-toolbar-close-icon'\" class=\"desktop-taskbar-list-item-close-icon\" [ngClass]=\"{'desktop-taskbar-list-item-close-minimized': window.minimized}\" (click)=\"close($event, window)\"></mat-icon>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"desktop-taskbar-hide\">\r\n <div class=\"desktop-taskbar-hide-button\" (click)=\"hideShowAll()\">\r\n\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".desktop-taskbar-container{position:absolute!important;left:0;right:0;bottom:0;height:40px;background:#f8f8f8;border:1px solid #6b6b6b}.desktop-taskbar-launch-menu{position:absolute!important;top:0;left:0;bottom:0;width:50px;background:#f8f8f8;border-right:1px solid #e7e7e7}.desktop-taskbar-launch-button{height:35px;width:43px;background-clip:padding-box;border-radius:6px;border:1px solid #dfdfdf;margin:2px;padding-top:1px;padding-left:5px}.desktop-taskbar-launch-button:active{margin-top:3px;margin-left:3px;outline:0;box-shadow:0 0 10px #0057ff}.desktop-taskbar-list{position:absolute!important;inset:0 16px 0 0;background:#f8f8f8}.desktop-taskbar-list-offset{left:50px}.desktop-taskbar-list ul{padding:3px;margin:0}.desktop-taskbar-list ul>li{display:inline-block;list-style:none;width:165px;height:33px}.desktop-taskbar-list ul>li>div{background-clip:padding-box;border-radius:0;border:1px solid #dfdfdf;line-height:30px;margin-top:1px;margin-left:7px;overflow:hidden}.desktop-taskbar-list ul>li>div:active{top:1px;left:1px}.desktop-taskbar-list li span{position:relative;left:5px;margin-left:5px;text-overflow:ellipsis;font-size:12px;font-weight:700}.desktop-taskbar-list-item-recover{background:maroon!important;color:#fff!important}.desktop-taskbar-list-item-title{width:135px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:default}.desktop-taskbar-list-item-close{position:absolute;z-index:1;top:11px;right:5px;font-size:9px;color:#333;cursor:pointer}.desktop-taskbar-list-item-close-minimized{color:#bababa}.desktop-taskbar-list-item-close:active{top:10px;right:6px}.desktop-taskbar-list-item-close:hover{color:maroon}.desktop-taskbar-list-item{background-color:#f8f8f8;position:relative}.desktop-taskbar-list-item-close-icon{position:absolute;right:2px;top:5px;height:16px}.desktop-active-taskbar-list-item{outline:0;border:1px solid #6b6b6b!important;box-shadow:inset 0 1px 1px #00000013;color:#333}.desktop-minimized-taskbar-list-item{color:#bababa}.desktop-taskbar-hide{position:absolute!important;top:0;right:0;bottom:0;width:16px;background:#f8f8f8}.desktop-taskbar-hide-button{height:35px;width:12px;background-clip:padding-box;border-radius:0;border:1px solid #dfdfdf;margin:2px}.desktop-taskbar-hide-button:active{margin-top:3px;margin-left:3px;outline:0;box-shadow:0 0 10px #0057ff}\n"] }]
35
- }], ctorParameters: function () { return []; }, propDecorators: { windows: [{
36
- type: Input
37
- }], desktopCtrl: [{
38
- type: Input
39
- }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWRlc2t0b3AtdGFza2Jhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9kZXNrdG9wL3Rhc2tiYXIvdHJ1LWRlc2t0b3AtdGFza2Jhci50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9kZXNrdG9wL3Rhc2tiYXIvdHJ1LWRlc2t0b3AtdGFza2Jhci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7O0FBT3pELE1BQU0sT0FBTyxpQkFBaUI7SUFRNUI7UUFIQSxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2YsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFRckIsc0JBQWlCLEdBQUcsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUMvQixJQUFJLEdBQUcsQ0FBQyxNQUFNO2dCQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUM1QixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVc7Z0JBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUMzQixJQUFJLEdBQUcsQ0FBQyxXQUFXO2dCQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUM7UUFFRixnQkFBVyxHQUFHLEdBQUcsRUFBRTtZQUNqQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckQsQ0FBQyxDQUFDO1FBRUYsVUFBSyxHQUFHLENBQUMsQ0FBTSxFQUFFLEdBQVEsRUFBRSxFQUFFO1lBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2xDLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNwQixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDO0lBdkJjLENBQUM7SUFFakIsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMvQyxDQUFDOzs4R0FaVSxpQkFBaUI7a0dBQWpCLGlCQUFpQix1SENQOUIsdWpDQXFCQTsyRkRkYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UscUJBQXFCOzBFQU10QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0cnUtZGVza3RvcC10YXNrYmFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdHJ1LWRlc2t0b3AtdGFza2Jhci5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90cnUtZGVza3RvcC10YXNrYmFyLmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVEZXNrdG9wVGFza2JhciBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIHdpbmRvd3M6IGFueTtcclxuICBASW5wdXQoKSBkZXNrdG9wQ3RybDogYW55O1xyXG5cclxuICBvcHRpb25zID0gbnVsbDtcclxuICBkZXNrdG9wU2hvd24gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmRlc2t0b3BDdHJsLmdldE9wdGlvbnMoKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVdpbmRvd1N0YXRlID0gKHdkdzogYW55KSA9PiB7XHJcbiAgICBpZiAod2R3LmFjdGl2ZSlcclxuICAgICAgdGhpcy5kZXNrdG9wQ3RybC5taW5pbWl6ZSh3ZHcpO1xyXG4gICAgZWxzZSBpZiAoIXdkdy5vdXRPZkJvdW5kcylcclxuICAgICAgdGhpcy5kZXNrdG9wQ3RybC5yZXN0b3JlKHdkdyk7XHJcbiAgICBlbHNlIGlmICh3ZHcub3V0T2ZCb3VuZHMpXHJcbiAgICAgIHRoaXMuZGVza3RvcEN0cmwucmVjb3Zlcih3ZHcpO1xyXG4gIH07XHJcblxyXG4gIGhpZGVTaG93QWxsID0gKCkgPT4ge1xyXG4gICAgdGhpcy5kZXNrdG9wU2hvd24gPSB0aGlzLmRlc2t0b3BDdHJsLmhpZGVTaG93QWxsKCk7XHJcbiAgfTtcclxuXHJcbiAgY2xvc2UgPSAoZTogYW55LCB3ZHc6IGFueSkgPT4ge1xyXG4gICAgdGhpcy5kZXNrdG9wQ3RybC5jbG9zZVdpbmRvdyh3ZHcpO1xyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICB9O1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJkZXNrdG9wLXRhc2tiYXItY29udGFpbmVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cImRlc2t0b3AtdGFza2Jhci1saXN0XCI+XHJcbiAgICA8dWw+XHJcbiAgICAgIDxsaSBjbGFzcz1cImFtLWZhZGUtYW5kLXNjYWxlIGRlc2t0b3AtdGV4dFwiXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgd2luZG93IG9mIHdpbmRvd3NcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInVwZGF0ZVdpbmRvd1N0YXRlKHdpbmRvdylcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVza3RvcC1yZWxhdGl2ZSBkZXNrdG9wLXRhc2tiYXItbGlzdC1pdGVtXCIgW25nQ2xhc3NdPVwieydkZXNrdG9wLWFjdGl2ZS10YXNrYmFyLWxpc3QtaXRlbSc6IHdpbmRvdy5hY3RpdmUsICdkZXNrdG9wLW1pbmltaXplZC10YXNrYmFyLWxpc3QtaXRlbSc6IHdpbmRvdy5taW5pbWl6ZWQsICdkZXNrdG9wLXRhc2tiYXItbGlzdC1pdGVtLXJlY292ZXInOiB3aW5kb3cub3V0T2ZCb3VuZHN9XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVza3RvcC10YXNrYmFyLWxpc3QtaXRlbS10aXRsZVwiPlxyXG4gICAgICAgICAgICA8c3Bhbj57e3dpbmRvdy50aXRsZX19PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwiJ3RydS10b29sYmFyLWNsb3NlLWljb24nXCIgY2xhc3M9XCJkZXNrdG9wLXRhc2tiYXItbGlzdC1pdGVtLWNsb3NlLWljb25cIiBbbmdDbGFzc109XCJ7J2Rlc2t0b3AtdGFza2Jhci1saXN0LWl0ZW0tY2xvc2UtbWluaW1pemVkJzogd2luZG93Lm1pbmltaXplZH1cIiAoY2xpY2spPVwiY2xvc2UoJGV2ZW50LCB3aW5kb3cpXCI+PC9tYXQtaWNvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImRlc2t0b3AtdGFza2Jhci1oaWRlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZGVza3RvcC10YXNrYmFyLWhpZGUtYnV0dG9uXCIgKGNsaWNrKT1cImhpZGVTaG93QWxsKClcIj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==