@mediusinc/mng-commons 0.2.5 → 0.2.9

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 (265) hide show
  1. package/README.md +46 -0
  2. package/assets/i18n/en.json +202 -147
  3. package/assets/i18n/sl.json +202 -147
  4. package/esm2020/lib/api/models/builders/query-param.builder.mjs +1 -1
  5. package/esm2020/lib/api/models/filter-match-type.model.mjs +1 -1
  6. package/esm2020/lib/api/models/filter-param.model.mjs +16 -27
  7. package/esm2020/lib/api/models/mappers.mjs +7 -7
  8. package/esm2020/lib/api/models/query-mode.model.mjs +1 -1
  9. package/esm2020/lib/api/models/query-param.model.mjs +38 -37
  10. package/esm2020/lib/api/models/query-result.model.mjs +14 -13
  11. package/esm2020/lib/api/services/crud-api.abstract.service.mjs +28 -21
  12. package/esm2020/lib/api/utils/medius-rest.util.mjs +11 -7
  13. package/esm2020/lib/api/utils/object-serializer.util.mjs +34 -27
  14. package/esm2020/lib/components/action/action.component.mjs +10 -7
  15. package/esm2020/lib/components/action/dialog/action-dialog.component.mjs +17 -14
  16. package/esm2020/lib/components/action/models/action-confirmation-service.model.mjs +1 -1
  17. package/esm2020/lib/components/action/models/action-execution.model.mjs +1 -1
  18. package/esm2020/lib/components/action/route/action-route.component.mjs +8 -6
  19. package/esm2020/lib/components/form/autocomplete/autocomplete.component.mjs +16 -14
  20. package/esm2020/lib/components/form/dropdown/dropdown.component.mjs +16 -15
  21. package/esm2020/lib/components/form/editor/form-editor.component.mjs +21 -24
  22. package/esm2020/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +3 -3
  23. package/esm2020/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +3 -3
  24. package/esm2020/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +4 -4
  25. package/esm2020/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +8 -4
  26. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +13 -14
  27. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +12 -11
  28. package/esm2020/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +4 -4
  29. package/esm2020/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +1 -3
  30. package/esm2020/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.mjs +1 -3
  31. package/esm2020/lib/components/form/models/form-editor.event.mjs +1 -1
  32. package/esm2020/lib/components/layout/breadcrumb.component.mjs +3 -3
  33. package/esm2020/lib/components/layout/footer.component.mjs +3 -3
  34. package/esm2020/lib/components/layout/main-layout.component.mjs +4 -4
  35. package/esm2020/lib/components/layout/menu-item.component.mjs +36 -34
  36. package/esm2020/lib/components/layout/menu.component.mjs +3 -3
  37. package/esm2020/lib/components/layout/services/main-layout.component.service.mjs +4 -1
  38. package/esm2020/lib/components/layout/topbar.component.mjs +5 -4
  39. package/esm2020/lib/components/tableview/index.mjs +2 -1
  40. package/esm2020/lib/components/tableview/models/table.event.mjs +1 -1
  41. package/esm2020/lib/components/tableview/route/tableview-route.abstract.component.mjs +4 -4
  42. package/esm2020/lib/components/tableview/route/tableview-route.component.mjs +33 -0
  43. package/esm2020/lib/components/tableview/services/tableview.component.service.mjs +9 -5
  44. package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +4 -3
  45. package/esm2020/lib/components/tableview/table/column-value/column-value.component.mjs +1 -1
  46. package/esm2020/lib/components/tableview/table/table.component.mjs +29 -27
  47. package/esm2020/lib/components/tableview/tableview.component.mjs +11 -3
  48. package/esm2020/lib/config/formly.config.mjs +30 -22
  49. package/esm2020/lib/config/models/mng-config.model.mjs +1 -1
  50. package/esm2020/lib/data-providers/base.data-provider.mjs +1 -8
  51. package/esm2020/lib/data-providers/editor.data-provider.mjs +2 -2
  52. package/esm2020/lib/data-providers/lookup.data-provider.mjs +1 -1
  53. package/esm2020/lib/data-providers/tableview.data-provider.mjs +2 -2
  54. package/esm2020/lib/descriptors/action.descriptor.mjs +3 -5
  55. package/esm2020/lib/descriptors/editor.descriptor.mjs +105 -72
  56. package/esm2020/lib/descriptors/field.validator.mjs +1 -1
  57. package/esm2020/lib/descriptors/lookup.descriptor.mjs +1 -1
  58. package/esm2020/lib/descriptors/model.descriptor.mjs +3 -3
  59. package/esm2020/lib/descriptors/table.descriptor.mjs +52 -43
  60. package/esm2020/lib/descriptors/tableview.descriptor.mjs +7 -7
  61. package/esm2020/lib/directives/component.directive.mjs +2 -2
  62. package/esm2020/lib/directives/template.directive.mjs +2 -3
  63. package/esm2020/lib/mng-commons.module.mjs +36 -41
  64. package/esm2020/lib/models/enum.model.mjs +2 -0
  65. package/esm2020/lib/models/index.mjs +2 -2
  66. package/esm2020/lib/models/user.model.mjs +1 -1
  67. package/esm2020/lib/pipes/boolean.pipe.mjs +1 -1
  68. package/esm2020/lib/pipes/i18n-property.pipe.mjs +18 -0
  69. package/esm2020/lib/pipes/index.mjs +2 -1
  70. package/esm2020/lib/pipes/property-path.pipe.mjs +1 -1
  71. package/esm2020/lib/router/index.mjs +2 -0
  72. package/esm2020/lib/router/models/index.mjs +2 -0
  73. package/esm2020/lib/router/models/router.model.mjs +2 -0
  74. package/esm2020/lib/router/route-builder.mjs +293 -0
  75. package/esm2020/lib/services/action.service.mjs +19 -15
  76. package/esm2020/lib/services/commons.service.mjs +15 -23
  77. package/esm2020/lib/services/configuration.service.mjs +3 -4
  78. package/esm2020/lib/services/navigation.service.mjs +2 -2
  79. package/esm2020/lib/services/providers/config-service.provider.mjs +2 -2
  80. package/esm2020/lib/services/providers/formly-config.provider.mjs +1 -1
  81. package/esm2020/lib/services/tokens/browser-storage.token.mjs +1 -1
  82. package/esm2020/lib/types/type.decorator.mjs +7 -1
  83. package/esm2020/lib/types/type.model.mjs +1 -1
  84. package/esm2020/lib/utils/editor-formly.util.mjs +10 -21
  85. package/esm2020/lib/utils/enum.util.mjs +61 -0
  86. package/esm2020/lib/utils/i18n.util.mjs +39 -27
  87. package/esm2020/lib/utils/index.mjs +2 -1
  88. package/esm2020/lib/utils/model.util.mjs +1 -1
  89. package/esm2020/lib/utils/route.util.mjs +24 -0
  90. package/esm2020/lib/utils/toast.util.mjs +3 -2
  91. package/esm2020/lib/utils/type.util.mjs +40 -2
  92. package/esm2020/public-api.mjs +2 -1
  93. package/fesm2015/mediusinc-mng-commons.mjs +3138 -2599
  94. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  95. package/fesm2020/mediusinc-mng-commons.mjs +3129 -2589
  96. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  97. package/lib/api/models/filter-param.model.d.ts +1 -1
  98. package/lib/api/services/crud-api.abstract.service.d.ts +6 -6
  99. package/lib/api/utils/medius-rest.util.d.ts +1 -1
  100. package/lib/api/utils/object-serializer.util.d.ts +6 -5
  101. package/lib/components/action/action.component.d.ts +3 -3
  102. package/lib/components/action/dialog/action-dialog.component.d.ts +9 -8
  103. package/lib/components/action/models/action-execution.model.d.ts +1 -1
  104. package/lib/components/action/route/action-route.component.d.ts +2 -2
  105. package/lib/components/form/autocomplete/autocomplete.component.d.ts +4 -3
  106. package/lib/components/form/dropdown/dropdown.component.d.ts +4 -3
  107. package/lib/components/form/editor/form-editor.component.d.ts +7 -6
  108. package/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +2 -1
  109. package/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +2 -1
  110. package/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +1 -1
  111. package/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +1 -3
  112. package/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.d.ts +1 -3
  113. package/lib/components/layout/main-layout.component.d.ts +3 -3
  114. package/lib/components/layout/menu-item.component.d.ts +7 -7
  115. package/lib/components/layout/services/main-layout.component.service.d.ts +1 -1
  116. package/lib/components/layout/topbar.component.d.ts +4 -4
  117. package/lib/components/tableview/index.d.ts +1 -0
  118. package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +4 -3
  119. package/lib/components/tableview/route/tableview-route.component.d.ts +15 -0
  120. package/lib/components/tableview/services/tableview.component.service.d.ts +3 -2
  121. package/lib/components/tableview/table/table.component.d.ts +21 -19
  122. package/lib/components/tableview/tableview.component.d.ts +6 -4
  123. package/lib/config/formly.config.d.ts +2 -1
  124. package/lib/data-providers/base.data-provider.d.ts +0 -3
  125. package/lib/descriptors/action.descriptor.d.ts +2 -2
  126. package/lib/descriptors/editor.descriptor.d.ts +40 -33
  127. package/lib/descriptors/lookup.descriptor.d.ts +1 -1
  128. package/lib/descriptors/table.descriptor.d.ts +19 -16
  129. package/lib/descriptors/tableview.descriptor.d.ts +9 -9
  130. package/lib/mng-commons.module.d.ts +68 -65
  131. package/lib/models/enum.model.d.ts +5 -0
  132. package/lib/models/index.d.ts +1 -1
  133. package/lib/pipes/i18n-property.pipe.d.ts +8 -0
  134. package/lib/pipes/index.d.ts +1 -0
  135. package/lib/router/index.d.ts +1 -0
  136. package/lib/router/models/index.d.ts +1 -0
  137. package/lib/router/models/router.model.d.ts +22 -0
  138. package/lib/router/route-builder.d.ts +66 -0
  139. package/lib/services/action.service.d.ts +3 -3
  140. package/lib/services/commons.service.d.ts +6 -6
  141. package/lib/services/navigation.service.d.ts +1 -1
  142. package/lib/services/providers/formly-config.provider.d.ts +1 -1
  143. package/lib/types/type.decorator.d.ts +2 -0
  144. package/lib/types/type.model.d.ts +2 -2
  145. package/lib/utils/editor-formly.util.d.ts +1 -1
  146. package/lib/utils/enum.util.d.ts +39 -0
  147. package/lib/utils/i18n.util.d.ts +6 -2
  148. package/lib/utils/index.d.ts +1 -0
  149. package/lib/utils/model.util.d.ts +1 -1
  150. package/lib/utils/route.util.d.ts +4 -0
  151. package/lib/utils/toast.util.d.ts +1 -1
  152. package/lib/utils/type.util.d.ts +22 -1
  153. package/package.json +2 -2
  154. package/public-api.d.ts +1 -0
  155. package/scss/common/layout/_breadcrumb.scss +6 -6
  156. package/scss/common/layout/_config.scss +7 -8
  157. package/scss/common/layout/_exception.scss +12 -11
  158. package/scss/common/layout/_footer.scss +3 -3
  159. package/scss/common/layout/_help.scss +8 -9
  160. package/scss/common/layout/_inlinemenu.scss +3 -3
  161. package/scss/common/layout/_invoice.scss +16 -16
  162. package/scss/common/layout/_landing.scss +57 -60
  163. package/scss/common/layout/_loader.scss +0 -1
  164. package/scss/common/layout/_login.scss +3 -4
  165. package/scss/common/layout/_main.scss +3 -3
  166. package/scss/common/layout/_mixins.scss +28 -20
  167. package/scss/common/layout/_rightmenu.scss +5 -5
  168. package/scss/common/layout/_topbar.scss +7 -5
  169. package/scss/common/layout/_typography.scss +11 -6
  170. package/scss/common/layout/_utils.scss +1 -1
  171. package/scss/common/layout/_widgets.scss +20 -19
  172. package/scss/common/layout/menu/_menu_common.scss +6 -6
  173. package/scss/common/layout/menu/_menu_overlay.scss +1 -1
  174. package/scss/common/layout/menu/_menu_sidebar.scss +6 -5
  175. package/scss/common/layout/menu/_menu_slim.scss +2 -3
  176. package/scss/common/layout/menu/_menu_static.scss +1 -1
  177. package/scss/common/layout/menu/_menu_theme.scss +2 -3
  178. package/scss/common/theme/designer/_colors.scss +11 -12
  179. package/scss/common/theme/designer/_common.scss +4 -3
  180. package/scss/common/theme/designer/_mixins.scss +56 -56
  181. package/scss/common/theme/designer/components/button/_button.scss +32 -20
  182. package/scss/common/theme/designer/components/button/_speeddial.scss +1 -1
  183. package/scss/common/theme/designer/components/button/_splitbutton.scss +2 -1
  184. package/scss/common/theme/designer/components/data/_carousel.scss +1 -1
  185. package/scss/common/theme/designer/components/data/_datatable.scss +5 -5
  186. package/scss/common/theme/designer/components/data/_filter.scss +2 -3
  187. package/scss/common/theme/designer/components/data/_fullcalendar.scss +10 -10
  188. package/scss/common/theme/designer/components/data/_orderlist.scss +2 -2
  189. package/scss/common/theme/designer/components/data/_paginator.scss +1 -1
  190. package/scss/common/theme/designer/components/data/_picklist.scss +1 -1
  191. package/scss/common/theme/designer/components/data/_timeline.scss +3 -6
  192. package/scss/common/theme/designer/components/data/_tree.scss +2 -2
  193. package/scss/common/theme/designer/components/data/_treetable.scss +2 -3
  194. package/scss/common/theme/designer/components/input/_autocomplete.scss +8 -8
  195. package/scss/common/theme/designer/components/input/_calendar.scss +6 -6
  196. package/scss/common/theme/designer/components/input/_cascadeselect.scss +1 -1
  197. package/scss/common/theme/designer/components/input/_checkbox.scss +4 -4
  198. package/scss/common/theme/designer/components/input/_chips.scss +4 -4
  199. package/scss/common/theme/designer/components/input/_colorpicker.scss +2 -2
  200. package/scss/common/theme/designer/components/input/_dropdown.scss +2 -2
  201. package/scss/common/theme/designer/components/input/_editor.scss +7 -7
  202. package/scss/common/theme/designer/components/input/_inputgroup.scss +1 -1
  203. package/scss/common/theme/designer/components/input/_inputmask.scss +1 -1
  204. package/scss/common/theme/designer/components/input/_inputnumber.scss +1 -1
  205. package/scss/common/theme/designer/components/input/_inputswitch.scss +2 -2
  206. package/scss/common/theme/designer/components/input/_inputtext.scss +3 -3
  207. package/scss/common/theme/designer/components/input/_listbox.scss +1 -1
  208. package/scss/common/theme/designer/components/input/_multiselect.scss +5 -6
  209. package/scss/common/theme/designer/components/input/_radiobutton.scss +2 -2
  210. package/scss/common/theme/designer/components/input/_rating.scss +1 -1
  211. package/scss/common/theme/designer/components/input/_selectbutton.scss +1 -1
  212. package/scss/common/theme/designer/components/input/_togglebutton.scss +1 -1
  213. package/scss/common/theme/designer/components/input/_treeselect.scss +2 -2
  214. package/scss/common/theme/designer/components/menu/_contextmenu.scss +3 -2
  215. package/scss/common/theme/designer/components/menu/_dock.scss +4 -4
  216. package/scss/common/theme/designer/components/menu/_megamenu.scss +10 -9
  217. package/scss/common/theme/designer/components/menu/_menu.scss +2 -2
  218. package/scss/common/theme/designer/components/menu/_menubar.scss +12 -11
  219. package/scss/common/theme/designer/components/menu/_panelmenu.scss +1 -2
  220. package/scss/common/theme/designer/components/menu/_slidemenu.scss +3 -2
  221. package/scss/common/theme/designer/components/menu/_steps.scss +1 -2
  222. package/scss/common/theme/designer/components/menu/_tieredmenu.scss +3 -2
  223. package/scss/common/theme/designer/components/messages/_message.scss +1 -1
  224. package/scss/common/theme/designer/components/messages/_toast.scss +1 -2
  225. package/scss/common/theme/designer/components/misc/_avatar.scss +1 -1
  226. package/scss/common/theme/designer/components/misc/_badge.scss +1 -1
  227. package/scss/common/theme/designer/components/misc/_blockui.scss +1 -1
  228. package/scss/common/theme/designer/components/misc/_chip.scss +2 -2
  229. package/scss/common/theme/designer/components/misc/_inplace.scss +0 -1
  230. package/scss/common/theme/designer/components/misc/_scrolltop.scss +1 -1
  231. package/scss/common/theme/designer/components/misc/_skeleton.scss +1 -1
  232. package/scss/common/theme/designer/components/misc/_tag.scss +1 -1
  233. package/scss/common/theme/designer/components/misc/_terminal.scss +8 -8
  234. package/scss/common/theme/designer/components/multimedia/_galleria.scss +1 -1
  235. package/scss/common/theme/designer/components/overlay/_confirmpopup.scss +2 -4
  236. package/scss/common/theme/designer/components/overlay/_dialog.scss +3 -3
  237. package/scss/common/theme/designer/components/overlay/_overlaypanel.scss +2 -4
  238. package/scss/common/theme/designer/components/panel/_accordion.scss +2 -2
  239. package/scss/common/theme/designer/components/panel/_divider.scss +1 -1
  240. package/scss/common/theme/designer/components/panel/_scrollpanel.scss +1 -1
  241. package/scss/common/theme/designer/components/panel/_splitter.scss +1 -1
  242. package/scss/common/theme/extensions/_button.scss +18 -6
  243. package/scss/common/theme/extensions/_orderlist.scss +0 -1
  244. package/scss/common/theme/extensions/_picklist.scss +0 -1
  245. package/scss/common/theme/extensions/_tree.scss +0 -1
  246. package/scss/common/variables/layout/_common.scss +9 -9
  247. package/scss/common/variables/layout/_layout_dark.scss +12 -12
  248. package/scss/common/variables/layout/_layout_light.scss +13 -13
  249. package/scss/common/variables/theme/_theme_dark.scss +76 -76
  250. package/scss/common/variables/theme/_theme_light.scss +80 -80
  251. package/scss/layout/default/_mng-variables-layout-dark.scss +1 -1
  252. package/scss/mng-commons-dark.scss +2 -2
  253. package/scss/mng-commons-light.scss +2 -2
  254. package/scss/mng-overrides/_layout_dialog.scss +4 -3
  255. package/scss/mng-overrides/_layout_forms.scss +6 -1
  256. package/scss/mng-overrides/_layout_radio.scss +1 -1
  257. package/scss/mng-overrides/_theme_datepicker.scss +7 -0
  258. package/scss/mng-overrides/_theme_dialog.scss +0 -1
  259. package/scss/mng-overrides/_theme_dropdown.scss +0 -1
  260. package/scss/mng-overrides/_theme_styles.scss +1 -0
  261. package/scss/mng-overrides/_theme_tableview.scss +6 -6
  262. package/scss/theme/default/_mng-variables-theme-dark.scss +2 -1
  263. package/scss/theme/default/_mng-variables-theme-light.scss +2 -1
  264. package/esm2020/lib/models/router.model.mjs +0 -2
  265. package/lib/models/router.model.d.ts +0 -14
@@ -0,0 +1,66 @@
1
+ import { Type } from '@angular/core';
2
+ import { LoadChildren, Route, Routes } from '@angular/router';
3
+ import { MenuItem } from 'primeng/api';
4
+ import { MngMainLayoutComponent } from '../components/layout';
5
+ import { ITableviewDataProvider } from '../data-providers';
6
+ import { ActionDescriptor, TableviewDescriptor } from '../descriptors';
7
+ import { BreadcrumbType } from './models';
8
+ export declare class RoutesBuilder {
9
+ private readonly layoutRoute?;
10
+ private routes;
11
+ private currentRoute?;
12
+ private constructor();
13
+ static create(): RoutesBuilder;
14
+ static createWithLayout(layoutComponent?: typeof MngMainLayoutComponent): RoutesBuilder;
15
+ addAngularRoute(route: Route): this;
16
+ addRouteRedirect(path: string, redirectTo: string, pathMatch?: 'full' | 'prefix'): this;
17
+ addLazyRoute(path: string, loadChildren: LoadChildren): this;
18
+ addRoute(path: string, component: Type<any>): this;
19
+ addTableviewRoutes<T, S>(path: string, descriptor: TableviewDescriptor<T>, tableviewDataProvider: ITableviewDataProvider<T, S>, actions?: Array<ActionDescriptor<T>>, hasDetails?: boolean, hasEdit?: boolean, hasAdd?: boolean): this;
20
+ addTableviewRoutesFromComponent(path: string, component: Type<any>, hasDetails?: boolean, hasEdit?: boolean, hasAdd?: boolean): this;
21
+ addRouteBuilder(routeBuilder: RouteBuilder): this;
22
+ toRoute(): RouteBuilder;
23
+ buildRoutes(): Routes;
24
+ buildMenu(): Array<MenuItem>;
25
+ }
26
+ export declare class RouteBuilder {
27
+ private readonly route;
28
+ private routePath;
29
+ private root?;
30
+ private parent?;
31
+ private children;
32
+ private menuItem?;
33
+ private menuItemChildren;
34
+ private breadcrumb?;
35
+ private pageTitle?;
36
+ private constructor();
37
+ static create(path: string, component: Type<any>): RouteBuilder;
38
+ static createRedirect(path: string, redirectTo: string, pathMatch?: 'full' | 'prefix'): RouteBuilder;
39
+ static createFromRoute(route: Route): RouteBuilder;
40
+ static createTableviewRoutes<T, S>(path: string, descriptor: TableviewDescriptor<T>, tableviewDataProvider: ITableviewDataProvider<T, S>, actions?: Array<ActionDescriptor<T>>, hasDetails?: boolean, hasEdit?: boolean, hasAdd?: boolean): RouteBuilder;
41
+ static createTableviewRoutesFromComponent(path: string, component: Type<any>, hasDetails?: boolean, hasEdit?: boolean, hasAdd?: boolean): RouteBuilder;
42
+ private static addActionsSubroutesToTableviewParent;
43
+ withRoot(routesBuilder: RoutesBuilder): this;
44
+ withParent(parent: RouteBuilder): this;
45
+ withBreadcrumb(breadcrumb: BreadcrumbType): this;
46
+ withPageTitle(pageTitle: string): this;
47
+ withRedirectTo(redirectTo: string): this;
48
+ withPathMatch(pathMatch: 'full' | 'prefix'): this;
49
+ withTitle(title: string): this;
50
+ withData(data: any): this;
51
+ withPrimeMenuItem(menuItem: MenuItem): this;
52
+ withMenuItem(icon?: string, label?: string, routerLink?: Array<string>): this;
53
+ withMenuItemChild(label: string, icon?: string, routerLink?: Array<string>): this;
54
+ withMenuItemChildren(routesBuilder: RoutesBuilder): this;
55
+ addChild(path: string, component: Type<any>): RouteBuilder;
56
+ addChildBuilder(routeBuilder: RouteBuilder): this;
57
+ addTableviewRoutes<T, S>(path: string, descriptor: TableviewDescriptor<T>, tableviewDataProvider: ITableviewDataProvider<T, S>, actions?: Array<ActionDescriptor<T>>, hasDetails?: boolean, hasEdit?: boolean, hasAdd?: boolean): RouteBuilder;
58
+ addTableviewRoutesFromComponent(path: string, component: Type<any>, hasDetails?: boolean, hasEdit?: boolean, hasAdd?: boolean): RouteBuilder;
59
+ toParent(): RouteBuilder;
60
+ toRoot(): RoutesBuilder;
61
+ finish(): RoutesBuilder;
62
+ buildRoute(): Route;
63
+ buildMenu(): Array<MenuItem>;
64
+ private createMenuItem;
65
+ private adjustMenuRouterLinksFromBuilder;
66
+ }
@@ -1,14 +1,14 @@
1
1
  import { Injector } from '@angular/core';
2
2
  import { ActivatedRoute, Router } from '@angular/router';
3
- import { DialogService } from 'primeng/dynamicdialog';
4
- import { ConfirmationService } from 'primeng/api';
5
3
  import { TranslateService } from '@ngx-translate/core';
4
+ import { ConfirmationService } from 'primeng/api';
5
+ import { DialogService } from 'primeng/dynamicdialog';
6
6
  import { Observable } from 'rxjs';
7
7
  import { ActionActivationResult, ActionData, ActionExecContext, ActionRunResult, ActionTriggerResult } from '../components/action/models';
8
- import { ActionDescriptor, ActionEditorDescriptor } from '../descriptors';
9
8
  import { MngTableCellClickEvent } from '../components/tableview/models';
10
9
  import { TableviewComponentService } from '../components/tableview/services';
11
10
  import { IDataProvider, IEditorDataProvider } from '../data-providers';
11
+ import { ActionDescriptor, ActionEditorDescriptor } from '../descriptors';
12
12
  import { IdType } from '../types';
13
13
  import * as i0 from "@angular/core";
14
14
  export declare class MngActionService {
@@ -1,11 +1,11 @@
1
- import { Router } from '@angular/router';
2
1
  import { Title } from '@angular/platform-browser';
3
- import { MenuItem, PrimeNGConfig } from 'primeng/api';
2
+ import { Router } from '@angular/router';
4
3
  import { TranslateService } from '@ngx-translate/core';
4
+ import { MenuItem, PrimeNGConfig } from 'primeng/api';
5
5
  import { Observable } from 'rxjs';
6
- import { MngConfigurationService } from './configuration.service';
7
6
  import { MngModuleConfig } from '../config/models';
8
7
  import { IUser } from '../models';
8
+ import { MngConfigurationService } from './configuration.service';
9
9
  import * as i0 from "@angular/core";
10
10
  export declare class MngCommonsService {
11
11
  private router;
@@ -55,9 +55,9 @@ export declare class MngCommonsService {
55
55
  get breadcrumbs$(): Observable<MenuItem[]>;
56
56
  get colorSchemeIsLight(): boolean;
57
57
  get colorSchemeIsDark(): boolean;
58
- get user(): IUser;
59
- get user$(): Observable<IUser>;
60
- set user(user: IUser);
58
+ get user(): IUser | undefined;
59
+ set user(user: IUser | undefined);
60
+ get user$(): Observable<IUser | undefined>;
61
61
  initialize(): void;
62
62
  menuChangeActiveKey(key: string): void;
63
63
  menuReset(): void;
@@ -1,5 +1,5 @@
1
- import { Router } from '@angular/router';
2
1
  import { Location } from '@angular/common';
2
+ import { Router } from '@angular/router';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class MngNavigationService {
5
5
  private router;
@@ -1,4 +1,4 @@
1
- import { TranslateService } from '@ngx-translate/core';
2
1
  import { ConfigOption } from '@ngx-formly/core';
2
+ import { TranslateService } from '@ngx-translate/core';
3
3
  import { MngModuleConfig } from '../../config/models';
4
4
  export declare function mngFormlyConfigProvider(translate: TranslateService, moduleConfig?: MngModuleConfig): ConfigOption;
@@ -1,2 +1,4 @@
1
1
  export declare const typeNameDecoratorPropertyName = "typeName";
2
2
  export declare function TypeName(typeName: string): ClassDecorator;
3
+ export declare const enumNameDecoratorPropertyName = "enumName";
4
+ export declare function EnumName(typeName: string): ClassDecorator;
@@ -2,9 +2,9 @@ export interface ClassType<T> extends Function {
2
2
  new (...args: any[]): T;
3
3
  }
4
4
  export interface EnumType {
5
- [key: number]: EnumMemberType;
5
+ [key: string]: EnumConstantType;
6
6
  }
7
- export declare type EnumMemberType = string | number;
7
+ export declare type EnumConstantType = string | number;
8
8
  export declare type IdType = number | string;
9
9
  export declare type PrimitiveType = string | boolean | number;
10
10
  export declare type PropertyType = PrimitiveType | Date | EnumType;
@@ -1,5 +1,5 @@
1
1
  import { FormlyFieldConfig } from '@ngx-formly/core';
2
- import { EditorDescriptor, AFieldDescriptor, FieldTabGroupDescriptor, FieldGroupDescriptor } from '../descriptors';
2
+ import { AFieldDescriptor, EditorDescriptor, FieldGroupDescriptor, FieldTabGroupDescriptor } from '../descriptors';
3
3
  export declare class EditorFormlyUtil {
4
4
  static createFormlyConfigFromDescriptor(descriptor: EditorDescriptor<any>): FormlyFieldConfig[];
5
5
  static createFormlyTabType(tabGroups: FieldTabGroupDescriptor<any>[]): FormlyFieldConfig[];
@@ -0,0 +1,39 @@
1
+ import { EnumValue } from '../models';
2
+ import { EnumConstantType, EnumType } from '../types';
3
+ export declare class EnumUtil {
4
+ /**
5
+ * Returns array of names for constants in enum.
6
+ * @param enumType Enum object.
7
+ */
8
+ static getConstantNames(enumType: EnumType): Array<string>;
9
+ /**
10
+ * Returns array of string values for constants in enum.
11
+ * @param enumType Enum object.
12
+ */
13
+ static getConstantValuesAsString(enumType: EnumType): Array<string>;
14
+ /**
15
+ * Returns array of number values for constants in enum.
16
+ * @param enumType Enum object.
17
+ */
18
+ static getConstantValuesAsNumber(enumType: EnumType): Array<number>;
19
+ /**
20
+ * Returns array of type EnumValue for all constants in enum.
21
+ * @param enumType Enum object.
22
+ * @param nameAsValue If use name of constant as value (optional, default: false).
23
+ * @param titlePath Base path for title to use as translation (optional).
24
+ */
25
+ static fromConstantsAsEnumValueArray(enumType: EnumType, nameAsValue?: boolean, titlePath?: string): EnumValue<string | number>[];
26
+ /**
27
+ * Returns array of type EnumValue for provided values in enum.
28
+ * @param enumType Enum object.
29
+ * @param nameAsValue If use name of constant as value (optional, default: false).
30
+ * @param titlePath Base path for title to use as translation (optional).
31
+ */
32
+ static fromValuesAsEnumValueArray(enumType: EnumType, values: Array<EnumConstantType>, nameAsValue?: boolean, titlePath?: string): EnumValue<string | number>[];
33
+ /**
34
+ * Gets constant name for value.
35
+ * @param enumType Enum object.
36
+ * @param value Value of enum constant.
37
+ */
38
+ static getConstantName(enumType: EnumType, value: EnumConstantType): string | null;
39
+ }
@@ -3,16 +3,20 @@ import { Observable } from 'rxjs';
3
3
  import { ActionDescriptor, ModelDescriptor } from '../descriptors';
4
4
  export declare class I18nUtil {
5
5
  static instantModelTranslation(translate: TranslateService, model: ModelDescriptor<any>, keyPath: string, customKey?: string, item?: any, fallbackKey?: string, i18nParams?: any): string | null;
6
+ static getModelTabKey(model: ModelDescriptor<any>, tab: string): string;
7
+ static getModelGroupKey(model: ModelDescriptor<any>, group: string): string;
8
+ static getModelPropertyKey(model: ModelDescriptor<any>, property: string): string;
6
9
  static instantActionTranslation(translate: TranslateService, action: ActionDescriptor<any>, keyPath: string, customKey?: string, item?: any, fallbackKey?: string, functionNameKey?: string, i18nParams?: any): string | null;
7
10
  static streamActionTranslation(translate: TranslateService, action: ActionDescriptor<any>, keyPath: string, customKey?: string, item?: any, fallbackKey?: string): Observable<string | null>;
8
11
  static getActionTranslation(translate: TranslateService, action: ActionDescriptor<any>, keyPath: string, customKey?: string, item?: any, fallbackKey?: string, oneTime?: boolean): Observable<string | null>;
9
- private static getModelKeysByPriority;
10
- private static getActionKeysByPriority;
11
12
  static getModelI18nParams(model: ModelDescriptor<any>, item: any, i18nModelName?: string, i18nParameters?: any): any;
12
13
  static getActionI18nParams(action: ActionDescriptor<any>, item: any, i18nModelName?: string, i18nParameters?: any, functionTitle?: string): any;
13
14
  static instantModelName(translate: TranslateService, model: ModelDescriptor<any>, singular?: boolean): string | null;
14
15
  static getModelName(translate: TranslateService, model: ModelDescriptor<any>, oneTime?: boolean, singular?: boolean): Observable<string | null>;
15
16
  static getModelNameKeys(model: ModelDescriptor<any>, singular?: boolean): string[];
17
+ private static getModelKeysByPriority;
18
+ private static getModelKeyPath;
19
+ private static getActionKeysByPriority;
16
20
  private static selectKeyByPriority;
17
21
  private static getFunctionTitle;
18
22
  }
@@ -1,4 +1,5 @@
1
1
  export * from './editor-formly.util';
2
+ export * from './enum.util';
2
3
  export * from './i18n.util';
3
4
  export * from './model.util';
4
5
  export * from './toast.util';
@@ -1,5 +1,5 @@
1
- import { ClassType } from '../types';
2
1
  import { ILookupDescriptor } from '../descriptors';
2
+ import { ClassType } from '../types';
3
3
  export declare class ModelUtil {
4
4
  static findIdAttribute<T>(classType: ClassType<T>): string | null;
5
5
  static findTitleAttribute<T>(classType: ClassType<T>): string | null;
@@ -0,0 +1,4 @@
1
+ export declare class RouteUtil {
2
+ static removeEmptyPathSegments(path: Array<string>): string[];
3
+ static appendPathToBasePath(basePath: Array<string>, path: Array<string>): string[];
4
+ }
@@ -1,6 +1,6 @@
1
1
  import { TranslateService } from '@ngx-translate/core';
2
- import { ActionDescriptor, TableDescriptor } from '../descriptors';
3
2
  import { TableviewComponentService } from '../components/tableview/services';
3
+ import { ActionDescriptor, TableDescriptor } from '../descriptors';
4
4
  export declare class ToastUtil {
5
5
  static tableNotificationError(translationService: TranslateService, table: TableDescriptor<any>, error: any, tableview?: TableviewComponentService<any, any>): void;
6
6
  static actionNotificationSuccess(translationService: TranslateService, action: ActionDescriptor<any>, functionName: string, customTitleKey?: string, customMessageKey?: string, tableview?: TableviewComponentService<any, any>, item?: any): void;
@@ -1,15 +1,36 @@
1
1
  import 'reflect-metadata';
2
- import { ClassType } from '../types';
2
+ import { ClassType, EnumType } from '../types';
3
3
  export declare class TypeUtil {
4
+ /**
5
+ * Defines type name decorator.
6
+ * @param targetType class.
7
+ * @param typeName Name of the type.
8
+ */
4
9
  static defineReflectTypeName(targetType: ClassType<any>, typeName?: string): void;
10
+ /**
11
+ * Defines enum name decorator.
12
+ * @param targetType enum object.
13
+ * @param enumName Name of the enum.
14
+ */
15
+ static defineReflectEnumName(targetType: EnumType, enumName: string): void;
5
16
  /**
6
17
  * Gets type name from either decorator or reflect metadata.
7
18
  * @param type Class.
8
19
  */
9
20
  static findTypeName(type: ClassType<any>): string;
21
+ /**
22
+ * Gets enum name from either decorator or reflect metadata.
23
+ * @param enumType Class.
24
+ */
25
+ static findEnumName(enumType: EnumType): string;
10
26
  /**
11
27
  * Get value from decorator defined property name
12
28
  * @param type Class.
13
29
  */
14
30
  static getDecoratorTypeName(type: Function): string | undefined;
31
+ /**
32
+ * Get value from decorator defined property name
33
+ * @param type Enum object.
34
+ */
35
+ static getDecoratorEnumName(type: EnumType): string | undefined;
15
36
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mediusinc/mng-commons",
3
- "version": "0.2.5",
3
+ "version": "0.2.9",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.1.0",
6
6
  "@angular/core": "^13.1.0",
@@ -34,5 +34,5 @@
34
34
  }
35
35
  },
36
36
  "sideEffects": false,
37
- "readme": "# Angular Commons\n\nCommons knjižnica za izgradnjo uporabniškega vmesnika na ogrodju Angular.\n\n## Predhodne zahteve\n\n- Node.js (LTS v14) in npm\n- pnpm package manager (https://pnpm.io/), ki optimizira delovanje privzetega npm.\n- Zahtevane skupne odvisnosti (peer dependencies)\n - Angular (moduli `@angular/core`, `@angular/common`, `@angular/forms`, `@angular/router`) verzije `^13.1.0`\n - Ngx Formly (modul `@ngx-formly/core`) verzije `^6.0.0-next.6`\n - Ngx Translate (module `@ngx-translate/core`) verzije `^14.0.0`\n - PrimeNG (modul `primeng`) verzije `^13.0.0`\n\n## Namestitev\n\n```bash\npnpm i @mediusinc/mng-commons\n```\n\n## Lokalizacija (i18n)\n\nModul `ngx-translate` se konfigurira na končnem projektu in je na končnem projektu potrebno določiti način za load prevodov.\nPrimer konfiguracije za multi-module HTTP loader:\n\n- HTTP loader factory:\n```ts\nexport function i18nHttpLoaderFactory(http: HttpClient) {\n return new MultiTranslateHttpLoader(http, [\n {prefix: './assets/i18n/mng/', suffix: '.json'},\n {prefix: './assets/i18n/', suffix: '.json'}\n ]);\n}\n```\n\n- Konfiguracija v `AppModule`:\n```ts\nTranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: i18nHttpLoaderFactory,\n deps: [HttpClient]\n }\n})\n```\n\n- Definicijo jezikov podamo preko konfiguracije `MngCommonsModule`:\n```ts\nMngCommonsModule.forRoot({\n languages: ['en', 'sl']\n})\n```\n\nKnjižnica pakira tudi osnovne prevode, ki so del modula. Za vključitev na zgornji način je potrebno dodati naslednjo konfiguracijo v `angular.json` med `assets` nastavitve:\n```json\n{\n \"glob\": \"**/*\",\n \"input\": \"./node_modules/@mediusinc/mng-commons/assets/i18n\",\n \"output\": \"/assets/i18n/mng\"\n}\n```\n\n## Tema\n\nOpcijsko se vključi tudi tema MNG Commons, ki ima dve svetlo in temno varianto.\nZa vključitev se v stile na končnem projektu doda import v `style.scss`:\n\n```scss\n# Za svetlo temo:\n@import '~../node_modules/@mediusinc/mng-commons/scss/mng-commons-light';\n\n# Za temno temo:\n@import '~../node_modules/@mediusinc/mng-commons/scss/mng-commons-dark';\n```\n\n~~~~\nPrimarno se uporablja svetla tema!\n~~~~\n\nPri uporabi temne teme je potrebno dodatno nastaviti tudi `colorMode` v modulu:\n```ts\nMngCommonsModule.forRoot({\n app: {\n colorScheme: 'dark'\n }\n});\n```\n\nTema za svoje delovanje uporablja primeNG stile (za posamezne komponente) in PrimeFlex kot pomožno CSS knjižnico.\nDodatno se lahko na končnem projektu lahko uporabi še ikone PrimeIcons.\nGlede ne preference se opcijsko dodajo naslednji importi (**pred importom MNG commons teme!**):\n\n```scss\n@import '~../node_modules/primeng/resources/primeng.min.css';\n@import '~../node_modules/primeflex/primeflex.scss';\n@import '~../node_modules/primeicons/primeicons.css';\n```\n\nPri prvem importu ni potrebno namestiti dodatnih odvisnosti (je že vključeno z primeng), za drugi dve pa je potrebno namestiti:\n```bash\npnpm i primeflex\npnpm i primeicons\n```\n\nDodajanje MNG Commons slik v `assets` na končnem projektu se uredi z konfiguracijo v `assets` segmentu znotraj `angular.json`, kjer se doda:\n\n```json\n{\n \"glob\": \"**/*\",\n \"input\": \"./node_modules/@mediusinc/mng-commons/assets/images\",\n \"output\": \"/assets/images/mng\"\n}\n```\n\n"
37
+ "readme": "# Angular Commons\n\nCommons knjižnica za izgradnjo uporabniškega vmesnika na ogrodju Angular.\n\n## Predhodne zahteve\n\n- Node.js (LTS v14) in npm\n- pnpm package manager (https://pnpm.io/), ki optimizira delovanje privzetega npm.\n- Zahtevane skupne odvisnosti (peer dependencies)\n - Angular (moduli `@angular/core`, `@angular/common`, `@angular/forms`, `@angular/router`) verzije `^13.1.0`\n - Ngx Formly (modul `@ngx-formly/core`) verzije `^6.0.0-next.6`\n - Ngx Translate (module `@ngx-translate/core`) verzije `^14.0.0`\n - PrimeNG (modul `primeng`) verzije `^13.0.0`\n\n## Namestitev\n\n```bash\npnpm i @mediusinc/mng-commons\n```\n\n## Lokalizacija (i18n)\n\nModul `ngx-translate` se konfigurira na končnem projektu in je na končnem projektu potrebno določiti način za load prevodov.\nPrimer konfiguracije za multi-module HTTP loader:\n\n- HTTP loader factory:\n```ts\nexport function i18nHttpLoaderFactory(http: HttpClient) {\n return new MultiTranslateHttpLoader(http, [\n {prefix: './assets/i18n/mng/', suffix: '.json'},\n {prefix: './assets/i18n/', suffix: '.json'}\n ]);\n}\n```\n\n- Konfiguracija v `AppModule`:\n```ts\nTranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: i18nHttpLoaderFactory,\n deps: [HttpClient]\n }\n})\n```\n\n- Definicijo jezikov podamo preko konfiguracije `MngCommonsModule`:\n```ts\nMngCommonsModule.forRoot({\n languages: ['en', 'sl']\n})\n```\n\nKnjižnica pakira tudi osnovne prevode, ki so del modula. Za vključitev na zgornji način je potrebno dodati naslednjo konfiguracijo v `angular.json` med `assets` nastavitve:\n```json\n{\n \"glob\": \"**/*\",\n \"input\": \"./node_modules/@mediusinc/mng-commons/assets/i18n\",\n \"output\": \"/assets/i18n/mng\"\n}\n```\n\n## Tema\n\nOpcijsko se vključi tudi tema MNG Commons, ki ima dve svetlo in temno varianto.\nZa vključitev se v stile na končnem projektu doda import v `style.scss`:\n\n```scss\n# Za svetlo temo:\n@import '~../node_modules/@mediusinc/mng-commons/scss/mng-commons-light';\n\n# Za temno temo:\n@import '~../node_modules/@mediusinc/mng-commons/scss/mng-commons-dark';\n```\n\n~~~~\nPrimarno se uporablja svetla tema!\n~~~~\n\nPri uporabi temne teme je potrebno dodatno nastaviti tudi `colorMode` v modulu:\n```ts\nMngCommonsModule.forRoot({\n app: {\n colorScheme: 'dark'\n }\n});\n```\n\nTema za svoje delovanje uporablja primeNG stile (za posamezne komponente) in PrimeFlex kot pomožno CSS knjižnico.\nDodatno se lahko na končnem projektu lahko uporabi še ikone PrimeIcons.\nGlede ne preference se opcijsko dodajo naslednji importi (**pred importom MNG commons teme!**):\n\n```scss\n@import '~../node_modules/primeng/resources/primeng.min.css';\n@import '~../node_modules/primeflex/primeflex.scss';\n@import '~../node_modules/primeicons/primeicons.css';\n```\n\nPri prvem importu ni potrebno namestiti dodatnih odvisnosti (je že vključeno z primeng), za drugi dve pa je potrebno namestiti:\n```bash\npnpm i primeflex\npnpm i primeicons\n```\n\nDodajanje MNG Commons slik v `assets` na končnem projektu se uredi z konfiguracijo v `assets` segmentu znotraj `angular.json`, kjer se doda:\n\n```json\n{\n \"glob\": \"**/*\",\n \"input\": \"./node_modules/@mediusinc/mng-commons/assets/images\",\n \"output\": \"/assets/images/mng\"\n}\n```\n\n## Custom Formly validatorji\n\nValidatorje lahko dodajamo samostojno na polja, ali pa na skupine polj.\n\nDodajanje se v obeh primerih razlikuje.\n- validator na polje lahko dodamo preko polja, kjer mu podamo ime, funkcijo in sporočilo za validacijo.\n```typescript\nserviceChannelsTableviewDescriptor.addField('cost.code')\n .withValidator('codeValidator', control => control.value, (err, field) => 'error message');\n```\n- validator na skupine lahko dodamo preko\n```typescript\nserviceChannelsTableviewDescriptor.createFieldGroup('Service cost', 'ServiceChannelDto.fieldGroups.serviceCost')\n .withValidator('serviceCostAllOrNoneFieldsRequired', this.serviceCostAllOrNoneFieldsRequired);\n```\n\nKo dodajamo na grupe, moramo registrirati tudi globalno sporočilo za validacijo v `formly-translate.extension.ts`, kjer mora biti ime sporočila za validacijo enako kot napaka, ki jo nastavljamo v samem validatorju.\n```typescript\nexport function formlyConfigProvider(translate: TranslateService): ConfigOption {\n return {\n validationMessages: [\n { name: 'required', message: getRequiredValidationMessage(translate)},\n ...\n // naše sporočilo, ki se imenuje serviceCostAllOrNoneFieldsRequired\n { name: 'serviceCostAllOrNoneFieldsRequired', message: serviceCostAllOrNoneFieldsRequiredValidatorMessage(translate)}\n ],\n extras: { lazyRender: true },\n wrappers: formlyWrappersConfig,\n types: formlyTypesConfig\n };\n}\n\nexport function serviceCostAllOrNoneFieldsRequired(control: AbstractControl): boolean {\n const { code, value, description } = control.value.cost;\n const costControl = control.get('cost');\n\n // tu vmes je še druga koda\n \n // nastavimo enako napako, kot je ime sporočila\n costControl.get('code').setErrors({serviceCostAllOrNoneFieldsRequired: true});\n costControl.get('value').setErrors({serviceCostAllOrNoneFieldsRequired: true});\n costControl.get('description').setErrors({serviceCostAllOrNoneFieldsRequired: true});\n\n return false;\n}\n```\n"
38
38
  }
package/public-api.d.ts CHANGED
@@ -22,4 +22,5 @@ export * from './lib/config';
22
22
  export * from './lib/data-providers';
23
23
  export * from './lib/descriptors';
24
24
  export * from './lib/models';
25
+ export * from './lib/router';
25
26
  export * from './lib/types';
@@ -10,10 +10,10 @@
10
10
  ul {
11
11
  li {
12
12
  &.p-breadcrumb-chevron {
13
- margin: 0 .75rem;
13
+ margin: 0 0.75rem;
14
14
 
15
15
  &::before {
16
- content: "\2044";
16
+ content: '\2044';
17
17
  font-weight: bold;
18
18
  font-size: 1.25rem;
19
19
  }
@@ -39,20 +39,20 @@
39
39
 
40
40
  .layout-breadcrumb-right-items {
41
41
  .search-icon {
42
- display:none;
42
+ display: none;
43
43
  align-items: center;
44
44
  justify-content: center;
45
45
  color: $textColor;
46
46
  width: 32px;
47
47
  height: 32px;
48
- margin-right: .5rem;
48
+ margin-right: 0.5rem;
49
49
  }
50
50
 
51
51
  .search-wrapper {
52
52
  transition: transform $animationDuration $animationTimingFunction;
53
53
 
54
54
  .p-input-icon-left {
55
- margin-right: .5rem;
55
+ margin-right: 0.5rem;
56
56
  width: 100%;
57
57
 
58
58
  input {
@@ -68,7 +68,7 @@
68
68
  .layout-breadcrumb-container {
69
69
  .layout-breadcrumb-right-items {
70
70
  .search-icon {
71
- display:flex;
71
+ display: flex;
72
72
  }
73
73
  .search-wrapper {
74
74
  width: 0;
@@ -11,11 +11,11 @@
11
11
  z-index: 999;
12
12
  border-left: 0 none;
13
13
  transform: translateX(100%);
14
- transition: transform .4s cubic-bezier(.05,.74,.2,.99);
14
+ transition: transform 0.4s cubic-bezier(0.05, 0.74, 0.2, 0.99);
15
15
 
16
16
  &.layout-config-active {
17
17
  transform: translateX(0);
18
- box-shadow: 0 2px 4px -1px rgba(0,0,0,.2), 0 4px 5px 0 rgba(0,0,0,.14), 0 1px 10px 0 rgba(0,0,0,.12);
18
+ box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
19
19
 
20
20
  .layout-config-content {
21
21
  .layout-config-button {
@@ -36,10 +36,9 @@
36
36
  @include flex-wrap(wrap);
37
37
 
38
38
  > div {
39
- padding: .25rem;
39
+ padding: 0.25rem;
40
40
  }
41
41
 
42
-
43
42
  a {
44
43
  width: 2rem;
45
44
  height: 2rem;
@@ -49,15 +48,15 @@
49
48
  @include flex-align-center();
50
49
  @include flex-justify-center();
51
50
  transition: transform $transitionDuration;
52
- box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);
51
+ box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
53
52
 
54
53
  i {
55
54
  font-size: 1rem;
56
55
  position: absolute;
57
56
  top: 50%;
58
57
  left: 50%;
59
- margin-left: -.5rem;
60
- margin-top: -.5rem;
58
+ margin-left: -0.5rem;
59
+ margin-top: -0.5rem;
61
60
  color: #ffffff;
62
61
  }
63
62
 
@@ -86,7 +85,7 @@
86
85
  overflow: hidden;
87
86
  cursor: pointer;
88
87
  z-index: 999;
89
- box-shadow: -.25rem 0 1rem rgba(0,0,0,.15);
88
+ box-shadow: -0.25rem 0 1rem rgba(0, 0, 0, 0.15);
90
89
 
91
90
  i {
92
91
  font-size: 2rem;
@@ -12,12 +12,12 @@
12
12
  &.notfound {
13
13
  .exception-panel {
14
14
  h1 {
15
- color: #0F8BFD;
16
- text-shadow: 0px 0px 50px rgba(#0F8BFD, 0.2);
15
+ color: #0f8bfd;
16
+ text-shadow: 0px 0px 50px rgba(#0f8bfd, 0.2);
17
17
  }
18
18
 
19
19
  h3 {
20
- color: darken(#0F8BFD, 30%);
20
+ color: darken(#0f8bfd, 30%);
21
21
  }
22
22
  }
23
23
  }
@@ -25,12 +25,12 @@
25
25
  &.accessdenied {
26
26
  .exception-panel {
27
27
  h1 {
28
- color: #0F8BFD;
29
- text-shadow: 0px 0px 50px rgba(#0F8BFD, 0.2);
28
+ color: #0f8bfd;
29
+ text-shadow: 0px 0px 50px rgba(#0f8bfd, 0.2);
30
30
  }
31
31
 
32
32
  h3 {
33
- color: darken(#0F8BFD, 30%);
33
+ color: darken(#0f8bfd, 30%);
34
34
  }
35
35
  }
36
36
  }
@@ -38,12 +38,12 @@
38
38
  &.error {
39
39
  .exception-panel {
40
40
  h1 {
41
- color: #FC6161;
42
- text-shadow: 0px 0px 50px rgba(#FC6161, 0.2);
41
+ color: #fc6161;
42
+ text-shadow: 0px 0px 50px rgba(#fc6161, 0.2);
43
43
  }
44
44
 
45
45
  h3 {
46
- color: lighten(#FC6161, 10%);
46
+ color: lighten(#fc6161, 10%);
47
47
  max-width: 720px;
48
48
  }
49
49
  }
@@ -103,7 +103,8 @@
103
103
  .exception-body {
104
104
  background-size: auto;
105
105
 
106
- &.accessdenied, &.error {
106
+ &.accessdenied,
107
+ &.error {
107
108
  .exception-panel {
108
109
  h1 {
109
110
  font-size: 70px;
@@ -120,7 +121,7 @@
120
121
  margin-top: 0;
121
122
 
122
123
  h3 {
123
- line-height: .75;
124
+ line-height: 0.75;
124
125
  }
125
126
 
126
127
  button {
@@ -17,13 +17,13 @@
17
17
  .app-name {
18
18
  font-size: 1rem;
19
19
  font-weight: 600;
20
- letter-spacing: .2px;
21
- margin-left: .5rem;
20
+ letter-spacing: 0.2px;
21
+ margin-left: 0.5rem;
22
22
  }
23
23
  }
24
24
 
25
25
  .copyright {
26
- font-size: .875rem;
26
+ font-size: 0.875rem;
27
27
  color: $textSecondaryColor;
28
28
  }
29
29
  }
@@ -16,7 +16,7 @@
16
16
  .help-search-effect {
17
17
  background: $bodyImage;
18
18
  background-repeat: no-repeat;
19
- transform: matrix(-1, 0, 0, 1, 0, 0);
19
+ transform: matrix(-1, 0, 0, 1, 0, 0);
20
20
  }
21
21
 
22
22
  .search-container {
@@ -39,7 +39,7 @@
39
39
  position: absolute;
40
40
  margin-left: 1rem;
41
41
  top: 50%;
42
- margin-top: -.5rem;
42
+ margin-top: -0.5rem;
43
43
  }
44
44
  }
45
45
  }
@@ -62,10 +62,10 @@
62
62
  .status-bar {
63
63
  flex: 1 1 0;
64
64
  -ms-flex: 1 1 0px;
65
- background: #0BD18A;
65
+ background: #0bd18a;
66
66
  box-shadow: 0px 0px 10px rgba(11, 209, 138, 0.3);
67
67
  height: 50px;
68
- margin-right: .25rem;
68
+ margin-right: 0.25rem;
69
69
  transition: transform $transitionDuration;
70
70
 
71
71
  &:last-child {
@@ -73,7 +73,7 @@
73
73
  }
74
74
 
75
75
  &.status-bar-failure {
76
- background: #FC6161;
76
+ background: #fc6161;
77
77
  box-shadow: 0px 0px 10px rgba(252, 97, 97, 0.3);
78
78
  }
79
79
 
@@ -137,20 +137,19 @@
137
137
  width: 50px;
138
138
  height: 50px;
139
139
  border-radius: 50%;
140
-
141
140
  }
142
141
  }
143
142
 
144
143
  &:nth-child(1) {
145
- background-image: linear-gradient(180deg, rgba(28, 28, 44, 0) 33.85%, rgba(27, 27, 44, 0.8) 80.77%), url("#{$baseHref}assets/images/mng/pages/help/blog1.jpg");
144
+ background-image: linear-gradient(180deg, rgba(28, 28, 44, 0) 33.85%, rgba(27, 27, 44, 0.8) 80.77%), url('#{$baseHref}assets/images/mng/pages/help/blog1.jpg');
146
145
  }
147
146
 
148
147
  &:nth-child(2) {
149
- background-image: linear-gradient(186.73deg, rgba(28, 28, 44, 0) 46.89%, rgba(27, 27, 44, 0.8) 95.1%), url("#{$baseHref}assets/images/mng/pages/help/blog2.jpg");
148
+ background-image: linear-gradient(186.73deg, rgba(28, 28, 44, 0) 46.89%, rgba(27, 27, 44, 0.8) 95.1%), url('#{$baseHref}assets/images/mng/pages/help/blog2.jpg');
150
149
  }
151
150
 
152
151
  &:nth-child(3) {
153
- background-image: linear-gradient(180deg, rgba(28, 28, 44, 0) 33.85%, rgba(27, 27, 44, 0.8) 80.77%), url("#{$baseHref}assets/images/mng/pages/help/blog3.jpg");
152
+ background-image: linear-gradient(180deg, rgba(28, 28, 44, 0) 33.85%, rgba(27, 27, 44, 0.8) 80.77%), url('#{$baseHref}assets/images/mng/pages/help/blog3.jpg');
154
153
  }
155
154
  }
156
155
  }
@@ -34,10 +34,10 @@
34
34
  transition: all $transitionDuration;
35
35
  cursor: pointer;
36
36
  user-select: none;
37
- margin-top: .2rem;
37
+ margin-top: 0.2rem;
38
38
 
39
39
  &:last-child {
40
- margin-bottom: .5rem;
40
+ margin-bottom: 0.5rem;
41
41
  }
42
42
 
43
43
  a {
@@ -47,7 +47,7 @@
47
47
  color: $textColor;
48
48
 
49
49
  i {
50
- margin-right: .75rem;
50
+ margin-right: 0.75rem;
51
51
  }
52
52
  }
53
53
  }