@kaspernj/api-maker 1.0.449 → 1.0.450

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 (143) hide show
  1. package/build/bootstrap/attribute-row/index.js +2 -2
  2. package/build/bootstrap/attribute-rows.js +2 -1
  3. package/build/bootstrap/card.js +2 -2
  4. package/build/bootstrap/checkboxes.js +2 -2
  5. package/build/bootstrap/input.js +3 -2
  6. package/build/bootstrap/paginate.js +2 -2
  7. package/build/bootstrap/sort-link.js +2 -1
  8. package/build/draggable-sort/index.js +2 -2
  9. package/build/draggable-sort/item.js +2 -2
  10. package/build/flash-message.js +49 -0
  11. package/build/form.js +3 -3
  12. package/build/inputs/attachment.js +12 -4
  13. package/build/inputs/checkbox.js +2 -2
  14. package/build/inputs/input-wrapper.js +2 -1
  15. package/build/inputs/input.js +19 -6
  16. package/build/inputs/money.js +3 -3
  17. package/build/inputs/select.js +3 -2
  18. package/build/link.js +2 -1
  19. package/build/modal.js +2 -1
  20. package/build/money-formatter.js +6 -5
  21. package/build/router/route.js +11 -3
  22. package/build/router.js +3 -3
  23. package/build/super-admin/edit-page/edit-attribute-input.js +2 -2
  24. package/build/super-admin/edit-page/edit-attribute.js +2 -1
  25. package/build/super-admin/edit-page.js +4 -1
  26. package/build/super-admin/index-page.js +2 -1
  27. package/build/super-admin/index.js +3 -2
  28. package/build/super-admin/layout/header/index.js +2 -1
  29. package/build/super-admin/layout/index.js +6 -6
  30. package/build/super-admin/layout/menu/index.js +3 -1
  31. package/build/super-admin/layout/menu/menu-content.js +9 -3
  32. package/build/super-admin/layout/menu/menu-item.js +2 -1
  33. package/build/super-admin/layout/no-access.js +6 -4
  34. package/build/super-admin/model-class-table.js +2 -2
  35. package/build/super-admin/show-nav.js +3 -1
  36. package/build/super-admin/show-page/belongs-to-attribute-row.js +2 -1
  37. package/build/super-admin/show-page/index.js +2 -2
  38. package/build/super-admin/show-reflection-actions.js +2 -2
  39. package/build/super-admin/show-reflection-link.js +3 -1
  40. package/build/super-admin/show-reflection-page.js +2 -1
  41. package/build/table/column-content.js +10 -5
  42. package/build/table/components/column.js +2 -1
  43. package/build/table/components/flat-list.js +2 -1
  44. package/build/table/components/header.js +2 -1
  45. package/build/table/components/row.js +2 -1
  46. package/build/table/filters/attribute-element.js +2 -1
  47. package/build/table/filters/filter-form.js +15 -5
  48. package/build/table/filters/filter.js +2 -1
  49. package/build/table/filters/index.js +4 -2
  50. package/build/table/filters/load-search-modal.js +4 -3
  51. package/build/table/filters/reflection-element.js +2 -1
  52. package/build/table/filters/save-search-modal.js +3 -1
  53. package/build/table/filters/scope-element.js +2 -1
  54. package/build/table/header-column-content.js +2 -1
  55. package/build/table/header-column.js +2 -2
  56. package/build/table/header-select.js +2 -1
  57. package/build/table/model-column.js +11 -1
  58. package/build/table/model-row.js +16 -3
  59. package/build/table/settings/column-row.js +2 -2
  60. package/build/table/settings/download-action.js +2 -1
  61. package/build/table/settings/index.js +2 -2
  62. package/build/table/worker-plugins-check-all-checkbox.js +2 -2
  63. package/build/table/worker-plugins-checkbox.js +2 -2
  64. package/build/translated-collections.js +3 -2
  65. package/build/use-input.js +4 -7
  66. package/build/utils/default-style.js +2 -2
  67. package/build/utils/text.js +2 -1
  68. package/build/with-collection.js +2 -1
  69. package/build/with-current-user.js +2 -1
  70. package/build/with-model.js +2 -1
  71. package/build/with-router.js +2 -1
  72. package/package.json +3 -3
  73. package/src/bootstrap/attribute-row/index.jsx +1 -1
  74. package/src/bootstrap/attribute-rows.jsx +1 -0
  75. package/src/bootstrap/card.jsx +1 -1
  76. package/src/bootstrap/checkboxes.jsx +1 -1
  77. package/src/bootstrap/input.jsx +2 -1
  78. package/src/bootstrap/paginate.jsx +1 -1
  79. package/src/bootstrap/sort-link.jsx +1 -0
  80. package/src/draggable-sort/index.jsx +1 -1
  81. package/src/draggable-sort/item.jsx +1 -1
  82. package/src/flash-message.js +51 -0
  83. package/src/form.jsx +2 -3
  84. package/src/inputs/attachment.jsx +5 -3
  85. package/src/inputs/checkbox.jsx +1 -1
  86. package/src/inputs/input-wrapper.jsx +1 -0
  87. package/src/inputs/input.jsx +10 -5
  88. package/src/inputs/money.jsx +2 -2
  89. package/src/inputs/select.jsx +2 -1
  90. package/src/link.jsx +1 -0
  91. package/src/modal.jsx +1 -0
  92. package/src/money-formatter.js +5 -4
  93. package/src/router/route.jsx +5 -2
  94. package/src/router.jsx +3 -2
  95. package/src/super-admin/edit-page/edit-attribute-input.jsx +1 -1
  96. package/src/super-admin/edit-page/edit-attribute.jsx +1 -0
  97. package/src/super-admin/edit-page.jsx +3 -0
  98. package/src/super-admin/index-page.jsx +1 -0
  99. package/src/super-admin/index.jsx +2 -1
  100. package/src/super-admin/layout/header/index.jsx +1 -0
  101. package/src/super-admin/layout/index.jsx +4 -4
  102. package/src/super-admin/layout/menu/index.jsx +2 -0
  103. package/src/super-admin/layout/menu/menu-content.jsx +4 -2
  104. package/src/super-admin/layout/menu/menu-item.jsx +1 -0
  105. package/src/super-admin/layout/no-access.jsx +4 -2
  106. package/src/super-admin/model-class-table.jsx +1 -1
  107. package/src/super-admin/show-nav.jsx +2 -0
  108. package/src/super-admin/show-page/belongs-to-attribute-row.jsx +1 -0
  109. package/src/super-admin/show-page/index.jsx +1 -1
  110. package/src/super-admin/show-reflection-actions.jsx +1 -1
  111. package/src/super-admin/show-reflection-link.jsx +2 -0
  112. package/src/super-admin/show-reflection-page.jsx +1 -0
  113. package/src/table/column-content.jsx +8 -5
  114. package/src/table/components/column.jsx +1 -0
  115. package/src/table/components/flat-list.jsx +1 -0
  116. package/src/table/components/header.jsx +1 -0
  117. package/src/table/components/row.jsx +1 -0
  118. package/src/table/filters/attribute-element.jsx +1 -0
  119. package/src/table/filters/filter-form.jsx +13 -5
  120. package/src/table/filters/filter.jsx +1 -0
  121. package/src/table/filters/index.jsx +3 -1
  122. package/src/table/filters/load-search-modal.jsx +3 -2
  123. package/src/table/filters/reflection-element.jsx +1 -0
  124. package/src/table/filters/save-search-modal.jsx +2 -0
  125. package/src/table/filters/scope-element.jsx +1 -0
  126. package/src/table/header-column-content.jsx +1 -0
  127. package/src/table/header-column.jsx +1 -1
  128. package/src/table/header-select.jsx +1 -0
  129. package/src/table/model-column.jsx +4 -1
  130. package/src/table/model-row.jsx +10 -1
  131. package/src/table/settings/column-row.jsx +1 -1
  132. package/src/table/settings/download-action.jsx +1 -0
  133. package/src/table/settings/index.jsx +1 -1
  134. package/src/table/worker-plugins-check-all-checkbox.jsx +1 -1
  135. package/src/table/worker-plugins-checkbox.jsx +1 -1
  136. package/src/translated-collections.js +2 -1
  137. package/src/use-input.js +3 -8
  138. package/src/utils/default-style.jsx +1 -1
  139. package/src/utils/text.jsx +1 -0
  140. package/src/with-collection.jsx +1 -0
  141. package/src/with-current-user.jsx +1 -0
  142. package/src/with-model.jsx +1 -0
  143. package/src/with-router.jsx +1 -0
@@ -1,3 +1,5 @@
1
+ import React, {useRef} from "react"
2
+ import {shapeComponent, ShapeComponent} from "set-state-compare/src/shape-component"
1
3
  import classNames from "classnames"
2
4
  import Config from "../config"
3
5
  import {digg} from "diggerize"
@@ -7,8 +9,6 @@ import memo from "set-state-compare/src/memo"
7
9
  import MoneyFormatter from "../money-formatter"
8
10
  import PropTypes from "prop-types"
9
11
  import PropTypesExact from "prop-types-exact"
10
- import {useRef} from "react"
11
- import {shapeComponent, ShapeComponent} from "set-state-compare/src/shape-component"
12
12
 
13
13
  export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeComponent {
14
14
  static defaultProps = {
@@ -1,7 +1,8 @@
1
1
  import BaseComponent from "../base-component"
2
2
  import inputWrapper from "./input-wrapper"
3
- import PropTypes from "prop-types"
4
3
  import memo from "set-state-compare/src/memo"
4
+ import PropTypes from "prop-types"
5
+ import React from "react"
5
6
  import {shapeComponent} from "set-state-compare/src/shape-component"
6
7
  import {useForm} from "../form"
7
8
 
package/src/link.jsx CHANGED
@@ -3,6 +3,7 @@ import BaseComponent from "./base-component"
3
3
  import dataSetToAttributes from "./data-set-to-attributes"
4
4
  import memo from "set-state-compare/src/memo"
5
5
  import PropTypes from "prop-types"
6
+ import React from "react"
6
7
  import {shapeComponent} from "set-state-compare/src/shape-component"
7
8
 
8
9
  export default memo(shapeComponent(class ApiMakerLink extends BaseComponent {
package/src/modal.jsx CHANGED
@@ -1,5 +1,6 @@
1
1
  import BaseComponent from "./base-component"
2
2
  import memo from "set-state-compare/src/memo"
3
+ import React from "react"
3
4
  import {shapeComponent} from "set-state-compare/src/shape-component"
4
5
  import {Modal, Pressable, View} from "react-native"
5
6
 
@@ -1,3 +1,4 @@
1
+ import I18nOnSteroids from "i18n-on-steroids"
1
2
  import Money from "js-money"
2
3
  import formatNumber from "format-number"
3
4
  import replaceall from "replaceall"
@@ -12,9 +13,9 @@ export default class MoneyFormatter {
12
13
  }
13
14
 
14
15
  static stringToFloat (moneyString) {
15
- let unformatted = replaceall(I18n.t("number.currency.format.delimiter"), "", moneyString)
16
+ let unformatted = replaceall(I18nOnSteroids.getCurrent().t("number.currency.format.delimiter"), "", moneyString)
16
17
 
17
- unformatted = replaceall(I18n.t("number.currency.format.separator"), ".", unformatted)
18
+ unformatted = replaceall(I18nOnSteroids.getCurrent().t("number.currency.format.separator"), ".", unformatted)
18
19
  const float = parseFloat(unformatted)
19
20
 
20
21
  return float
@@ -74,8 +75,8 @@ export default class MoneyFormatter {
74
75
  const amount = (this.amount / 100).toFixed(this.decimalDigits())
75
76
  const formatOptions = {
76
77
  prefix: this.prefix(),
77
- decimal: I18n.t("number.currency.format.separator"),
78
- integerSeparator: I18n.t("number.currency.format.delimiter")
78
+ decimal: I18nOnSteroids.getCurrent().t("number.currency.format.separator"),
79
+ integerSeparator: I18nOnSteroids.getCurrent().t("number.currency.format.delimiter")
79
80
  }
80
81
 
81
82
  return formatNumber(formatOptions)(amount)
@@ -5,6 +5,7 @@ import PropTypes from "prop-types"
5
5
  import propTypesExact from "prop-types-exact"
6
6
  import {shapeComponent} from "set-state-compare/src/shape-component"
7
7
  import Switch, {CurrentSwitchContext} from "./switch"
8
+ import useI18n from "i18n-on-steroids/src/use-i18n"
8
9
 
9
10
  const CurrentPathContext = createContext([])
10
11
  const ParamsContext = createContext({})
@@ -35,6 +36,7 @@ const Route = memo(shapeComponent(class Route extends BaseComponent {
35
36
  pathParts = null
36
37
 
37
38
  setup() {
39
+ const {t} = useI18n({namespace: "js.api_maker.router.route"})
38
40
  const {path} = this.props
39
41
  const {pathsMatched, switchGroup} = useContext(CurrentSwitchContext)
40
42
  const givenRoute = useContext(RouteContext)
@@ -42,6 +44,7 @@ const Route = memo(shapeComponent(class Route extends BaseComponent {
42
44
 
43
45
  this.debug = false
44
46
  this.log(() => ({givenRoute}))
47
+ this.t = t
45
48
 
46
49
  this.requireComponent = useContext(RequireComponentContext)
47
50
  this.currentParams = useContext(ParamsContext)
@@ -103,7 +106,7 @@ const Route = memo(shapeComponent(class Route extends BaseComponent {
103
106
  }
104
107
 
105
108
  loadMatches() {
106
- const {newRouteParts} = this.tt
109
+ const {newRouteParts, t} = this.tt
107
110
  const {component, path} = this.props
108
111
  const {exact, includeInPath, fallback} = this.p
109
112
 
@@ -115,7 +118,7 @@ const Route = memo(shapeComponent(class Route extends BaseComponent {
115
118
 
116
119
  for (const pathPartIndex in this.pathParts) {
117
120
  const pathPart = this.pathParts[pathPartIndex]
118
- const translatedPathPart = I18n.t(`routes.${pathPart}`, {defaultValue: pathPart})
121
+ const translatedPathPart = t(`routes.${pathPart}`, {defaultValue: pathPart})
119
122
 
120
123
  if (!(pathPartIndex in this.routeParts)) {
121
124
  this.log(() => `No match for: ${pathPartIndex}`)
package/src/router.jsx CHANGED
@@ -4,20 +4,21 @@ import propTypesExact from "prop-types-exact"
4
4
  import React, {memo} from "react"
5
5
  import {shapeComponent} from "set-state-compare/src/shape-component"
6
6
  import {Suspense} from "react"
7
+ import usePath from "on-location-changed/src/use-path"
7
8
  import useRouter from "./use-router"
8
9
 
9
10
  export default memo(shapeComponent(class ApiMakerRouter extends BaseComponent {
10
11
  static propTypes = propTypesExact({
11
12
  history: PropTypes.object,
12
13
  notFoundComponent: PropTypes.elementType,
13
- path: PropTypes.string,
14
14
  requireComponent: PropTypes.func.isRequired,
15
15
  routeDefinitions: PropTypes.object,
16
16
  routes: PropTypes.object
17
17
  })
18
18
 
19
19
  render() {
20
- const {notFoundComponent, path, requireComponent, routeDefinitions, routes} = this.props
20
+ const path = usePath()
21
+ const {notFoundComponent, requireComponent, routeDefinitions, routes} = this.props
21
22
  const {match} = useRouter({path, routes, routeDefinitions})
22
23
  const {matchingRoute} = match
23
24
 
@@ -1,4 +1,4 @@
1
- import {useMemo} from "react"
1
+ import React, {useMemo} from "react"
2
2
  import {TextInput, View} from "react-native"
3
3
  import BaseComponent from "../../base-component"
4
4
  import memo from "set-state-compare/src/memo"
@@ -8,6 +8,7 @@ import Locales from "shared/locales"
8
8
  import memo from "set-state-compare/src/memo"
9
9
  import PropTypes from "prop-types"
10
10
  import propTypesExact from "prop-types-exact"
11
+ import React from "react"
11
12
  import {View} from "react-native"
12
13
  import {shapeComponent} from "set-state-compare/src/shape-component"
13
14
 
@@ -3,12 +3,15 @@ import BaseComponent from "../base-component"
3
3
  import ConfigReader from "./config-reader"
4
4
  import {digg} from "diggerize"
5
5
  import EditAttribute from "./edit-page/edit-attribute"
6
+ import FlashMessage from "../flash-message"
6
7
  import {Form} from "../form"
7
8
  import * as inflection from "inflection"
8
9
  import Locales from "shared/locales"
9
10
  import memo from "set-state-compare/src/memo"
11
+ import Params from "../params"
10
12
  import PropTypes from "prop-types"
11
13
  import propTypesExact from "prop-types-exact"
14
+ import React from "react"
12
15
  import {shapeComponent} from "set-state-compare/src/shape-component"
13
16
  import Text from "../utils/text"
14
17
  import useCurrentUser from "../use-current-user"
@@ -2,6 +2,7 @@ import BaseComponent from "../base-component"
2
2
  import memo from "set-state-compare/src/memo"
3
3
  import ModelClassTable from "./model-class-table"
4
4
  import PropTypes from "prop-types"
5
+ import React from "react"
5
6
  import {shapeComponent} from "set-state-compare/src/shape-component"
6
7
  import {View} from "react-native"
7
8
 
@@ -1,3 +1,4 @@
1
+ import React, {useMemo} from "react"
1
2
  import {Pressable, View} from "react-native"
2
3
  import BaseComponent from "../base-component"
3
4
  import ConfigReader from "./config-reader"
@@ -7,8 +8,8 @@ import IndexPage from "./index-page"
7
8
  import Layout from "./layout/index"
8
9
  import Link from "../link"
9
10
  import memo from "set-state-compare/src/memo"
10
- import {useMemo} from "react"
11
11
  import modelsModule from "@kaspernj/api-maker/build/models"
12
+ import Params from "../params"
12
13
  import {shapeComponent} from "set-state-compare/src/shape-component"
13
14
  import ShowPage from "./show-page/index"
14
15
  import ShowReflectionActions from "./show-reflection-actions"
@@ -5,6 +5,7 @@ import memo from "set-state-compare/src/memo"
5
5
  import {useRef} from "react"
6
6
  import PropTypes from "prop-types"
7
7
  import PropTypesExact from "prop-types-exact"
8
+ import React from "react"
8
9
  import {shapeComponent} from "set-state-compare/src/shape-component"
9
10
  import Text from "../../../utils/text"
10
11
  import {Pressable, View} from "react-native"
@@ -1,4 +1,5 @@
1
1
  // import "../../../src/super-admin/layout/style"
2
+ import React, {useMemo} from "react"
2
3
  import BaseComponent from "../../base-component"
3
4
  import CommandsPool from "../../commands-pool"
4
5
  import config from "super-admin/config"
@@ -7,7 +8,6 @@ import memo from "set-state-compare/src/memo"
7
8
  import Menu from "./menu"
8
9
  import PropTypes from "prop-types"
9
10
  import PropTypesExact from "prop-types-exact"
10
- import {useMemo} from "react"
11
11
  import {shapeComponent} from "set-state-compare/src/shape-component"
12
12
  import useCurrentUser from "../../use-current-user"
13
13
  import useI18n from "i18n-on-steroids/src/use-i18n"
@@ -21,9 +21,9 @@ export default memo(shapeComponent(class ApiMakerSuperAdminLayout extends BaseCo
21
21
  active: PropTypes.string,
22
22
  children: PropTypes.node,
23
23
  className: PropTypes.string,
24
- currentCustomer: PropTypes.instanceOf(User),
24
+ currentCustomer: PropTypes.object,
25
25
  currentCustomerId: PropTypes.string,
26
- currentUser: PropTypes.instanceOf(User),
26
+ currentUser: PropTypes.object,
27
27
  headTitle: PropTypes.string,
28
28
  headerTitle: PropTypes.string
29
29
  })
@@ -38,7 +38,7 @@ export default memo(shapeComponent(class ApiMakerSuperAdminLayout extends BaseCo
38
38
  useMemo(() => {
39
39
  CommandsPool.current().globalRequestData.layout = "admin"
40
40
  CommandsPool.current().globalRequestData.locale = locale
41
- }, [I18n.locale])
41
+ }, [locale])
42
42
  }
43
43
 
44
44
  render() {
@@ -4,8 +4,10 @@ import memo from "set-state-compare/src/memo"
4
4
  import Link from "../../../link"
5
5
  import MenuContent from "./menu-content"
6
6
  import MenuItem from "./menu-item"
7
+ import Params from "../../../params"
7
8
  import PropTypes from "prop-types"
8
9
  import PropTypesExact from "prop-types-exact"
10
+ import React from "react"
9
11
  import {shapeComponent} from "set-state-compare/src/shape-component"
10
12
  import Text from "../../../utils/text"
11
13
  import useCurrentUser from "../../../use-current-user"
@@ -1,7 +1,7 @@
1
+ import React, {useMemo} from "react"
1
2
  import BaseComponent from "../../../base-component"
2
3
  import {digg} from "diggerize"
3
4
  import memo from "set-state-compare/src/memo"
4
- import {useMemo} from "react"
5
5
  import MenuItem from "./menu-item"
6
6
  import models from "../../models"
7
7
  import Params from "../../../params"
@@ -9,6 +9,7 @@ import PropTypes from "prop-types"
9
9
  import PropTypesExact from "prop-types-exact"
10
10
  import {shapeComponent} from "set-state-compare/src/shape-component"
11
11
  import useCanCan from "../../../use-can-can"
12
+ import useI18n from "i18n-on-steroids/src/use-i18n"
12
13
 
13
14
  export default memo(shapeComponent(class ComponentsAdminLayoutMenuContent extends BaseComponent {
14
15
  static propTypes = PropTypesExact({
@@ -16,11 +17,12 @@ export default memo(shapeComponent(class ComponentsAdminLayoutMenuContent extend
16
17
  })
17
18
 
18
19
  render() {
20
+ const {locale} = useI18n({namespace: "js.api_maker.super_admin.layout.menu.menu_content"})
19
21
  const {active} = this.p
20
22
  const canCan = useCanCan(() => models.map((modelClass) => [modelClass, ["index"]]))
21
23
  const sortedModels = useMemo(
22
24
  () => models.sort((a, b) => a.modelName().human({count: 2}).toLowerCase().localeCompare(b.modelName().human({count: 2}).toLowerCase())),
23
- [I18n.locale]
25
+ [locale]
24
26
  )
25
27
 
26
28
  return (
@@ -3,6 +3,7 @@ import classNames from "classnames"
3
3
  import Link from "../../../link"
4
4
  import memo from "set-state-compare/src/memo"
5
5
  import PropTypes from "prop-types"
6
+ import React from "react"
6
7
  import {shapeComponent} from "set-state-compare/src/shape-component"
7
8
  import Text from "../../../utils/text"
8
9
 
@@ -1,9 +1,11 @@
1
1
  import BaseComponent from "../../base-component"
2
2
  import memo from "set-state-compare/src/memo"
3
+ import React from "react"
4
+ import {View} from "react-native"
3
5
  import {shapeComponent} from "set-state-compare/src/shape-component"
6
+ import Text from "../../utils/text"
4
7
  import useCurrentUser from "../../use-current-user"
5
8
  import useI18n from "i18n-on-steroids/src/use-i18n"
6
- import {View} from "react-native"
7
9
 
8
10
  export default memo(shapeComponent(class ComponentsAdminLayoutNoAccess extends BaseComponent {
9
11
  render() {
@@ -17,7 +19,7 @@ export default memo(shapeComponent(class ComponentsAdminLayoutNoAccess extends B
17
19
  userRoles: currentUser?.userRoles()?.loaded()?.map((userRole) => userRole.role()?.identifier()).join(", ")
18
20
  }}
19
21
  >
20
- {t(".you_dont_have_no_access_to_this_page", {defaultValue: "You don't have access to this page."})}
22
+ <Text>{t(".you_dont_have_no_access_to_this_page", {defaultValue: "You don't have access to this page."})}</Text>
21
23
  </View>
22
24
  )
23
25
  }
@@ -6,7 +6,7 @@ import * as inflection from "inflection"
6
6
  import memo from "set-state-compare/src/memo"
7
7
  import Params from "../params"
8
8
  import PropTypes from "prop-types"
9
- import {useMemo} from "react"
9
+ import React, {useMemo} from "react"
10
10
  import {shapeComponent} from "set-state-compare/src/shape-component"
11
11
  import Table from "../table/table"
12
12
  import useCurrentUser from "../use-current-user"
@@ -3,6 +3,8 @@ import Link from "../link"
3
3
  import PropTypes from "prop-types"
4
4
  import PropTypesExact from "prop-types-exact"
5
5
  import memo from "set-state-compare/src/memo"
6
+ import Params from "../params"
7
+ import React from "react"
6
8
  import {shapeComponent} from "set-state-compare/src/shape-component"
7
9
  import ShowReflectionLink from "./show-reflection-link"
8
10
  import Text from "../utils/text"
@@ -4,6 +4,7 @@ import * as inflection from "inflection"
4
4
  import Link from "../../link"
5
5
  import memo from "set-state-compare/src/memo"
6
6
  import Params from "../../params"
7
+ import React from "react"
7
8
  import {shapeComponent} from "set-state-compare/src/shape-component"
8
9
  import Text from "../../utils/text"
9
10
 
@@ -1,3 +1,4 @@
1
+ import React, {useMemo} from "react"
1
2
  import AttributeRow from "../../bootstrap/attribute-row"
2
3
  import BaseComponent from "../../base-component"
3
4
  import BelongsToAttributeRow from "./belongs-to-attribute-row"
@@ -6,7 +7,6 @@ import {digg} from "diggerize"
6
7
  import memo from "set-state-compare/src/memo"
7
8
  import * as inflection from "inflection"
8
9
  import PropTypes from "prop-types"
9
- import {useMemo} from "react"
10
10
  import {shapeComponent} from "set-state-compare/src/shape-component"
11
11
  import ShowNav from "../show-nav"
12
12
  import useModel from "../../use-model"
@@ -1,7 +1,7 @@
1
1
  import BaseComponent from "../base-component"
2
2
  import {digg} from "diggerize"
3
3
  import memo from "set-state-compare/src/memo"
4
- import {useMemo} from "react"
4
+ import React, {useMemo} from "react"
5
5
  import PropTypes from "prop-types"
6
6
  import propTypesExact from "prop-types-exact"
7
7
  import {shapeComponent} from "set-state-compare/src/shape-component"
@@ -2,6 +2,8 @@ import BaseComponent from "../base-component"
2
2
  import {digg} from "diggerize"
3
3
  import Link from "../link"
4
4
  import memo from "set-state-compare/src/memo"
5
+ import Params from "../params"
6
+ import React from "react"
5
7
  import {shapeComponent} from "set-state-compare/src/shape-component"
6
8
  import Text from "../utils/text"
7
9
  import {useMemo} from "react"
@@ -4,6 +4,7 @@ import PropTypes from "prop-types"
4
4
  import propTypesExact from "prop-types-exact"
5
5
  import memo from "set-state-compare/src/memo"
6
6
  import ModelClassTable from "./model-class-table"
7
+ import React from "react"
7
8
  import {shapeComponent} from "set-state-compare/src/shape-component"
8
9
  import ShowNav from "./show-nav"
9
10
  import useQueryParams from "on-location-changed/src/use-query-params"
@@ -2,13 +2,16 @@ import {digs} from "diggerize"
2
2
  import * as inflection from "inflection"
3
3
  import modelCallbackArgs from "./model-callback-args"
4
4
  import MoneyFormatter from "../money-formatter"
5
+ import React from "react"
5
6
  import Text from "../utils/text"
6
7
 
7
8
  export default class ApiMakerTableColumnContent {
8
- constructor({column, mode = "react-native", model, table}) {
9
+ constructor({column, l, mode = "react-native", model, t, table}) {
9
10
  this.column = column
11
+ this.l = l
10
12
  this.mode = mode
11
13
  this.model = model
14
+ this.t = t
12
15
  this.table = table
13
16
  }
14
17
 
@@ -79,9 +82,9 @@ export default class ApiMakerTableColumnContent {
79
82
  contentText = MoneyFormatter.format(value)
80
83
  } else if (typeof value == "boolean") {
81
84
  if (value) {
82
- contentText = I18n.t("js.shared.yes", {defaultValue: "Yes"})
85
+ contentText = this.t("js.shared.yes", {defaultValue: "Yes"})
83
86
  } else {
84
- contentText = I18n.t("js.shared.no", {defaultValue: "No"})
87
+ contentText = this.t("js.shared.no", {defaultValue: "No"})
85
88
  }
86
89
  } else if (Array.isArray(value)) {
87
90
  contentText = value
@@ -107,11 +110,11 @@ export default class ApiMakerTableColumnContent {
107
110
  if (!apiMakerType || apiMakerType == "time") {
108
111
  const dateTimeFormatName = this.table.props.defaultDateTimeFormatName || "time.formats.default"
109
112
 
110
- return I18n.l(dateTimeFormatName, value)
113
+ return this.l(dateTimeFormatName, value)
111
114
  } else if (apiMakerType == "date") {
112
115
  const dateFormatName = this.table.props.defaultDateFormatName || "date.formats.default"
113
116
 
114
- return I18n.l(dateFormatName, value)
117
+ return this.l(dateFormatName, value)
115
118
  } else {
116
119
  throw new Error(`Unhandled type: ${apiMakerType}`)
117
120
  }
@@ -1,5 +1,6 @@
1
1
  import BaseComponent from "../../base-component"
2
2
  import memo from "set-state-compare/src/memo"
3
+ import React from "react"
3
4
  import {shapeComponent} from "set-state-compare/src/shape-component"
4
5
  import {Animated, View} from "react-native"
5
6
 
@@ -1,6 +1,7 @@
1
1
  import BaseComponent from "../../base-component"
2
2
  import {FlatList} from "react-native"
3
3
  import memo from "set-state-compare/src/memo"
4
+ import React from "react"
4
5
  import {shapeComponent} from "set-state-compare/src/shape-component"
5
6
 
6
7
  export default memo(shapeComponent(class SharedTagble extends BaseComponent {
@@ -1,6 +1,7 @@
1
1
  import BaseComponent from "../../base-component"
2
2
  import classNames from "classnames"
3
3
  import memo from "set-state-compare/src/memo"
4
+ import React from "react"
4
5
  import {shapeComponent} from "set-state-compare/src/shape-component"
5
6
  import {Animated} from "react-native"
6
7
 
@@ -1,5 +1,6 @@
1
1
  import BaseComponent from "../../base-component"
2
2
  import memo from "set-state-compare/src/memo"
3
+ import React from "react"
3
4
  import {shapeComponent} from "set-state-compare/src/shape-component"
4
5
  import useBreakpoint from "../../use-breakpoint"
5
6
  import {View} from "react-native"
@@ -4,6 +4,7 @@ import PropTypes from "prop-types"
4
4
  import PropTypesExact from "prop-types-exact"
5
5
  import memo from "set-state-compare/src/memo"
6
6
  import {Pressable} from "react-native"
7
+ import React from "react"
7
8
  import {shapeComponent} from "set-state-compare/src/shape-component"
8
9
  import Text from "../../utils/text"
9
10
 
@@ -1,3 +1,5 @@
1
+ import {useMemo, useRef} from "react"
2
+ import {ActivityIndicator, View} from "react-native"
1
3
  import AttributeElement from "./attribute-element"
2
4
  import BaseComponent from "../../base-component"
3
5
  import {digg, digs} from "diggerize"
@@ -5,16 +7,17 @@ import * as inflection from "inflection"
5
7
  import {Form} from "../../form"
6
8
  import Input from "../../inputs/input"
7
9
  import memo from "set-state-compare/src/memo"
10
+ import Params from "../../params"
8
11
  import PropTypes from "prop-types"
9
12
  import PropTypesExact from "prop-types-exact"
10
- import {useMemo, useRef} from "react"
11
- import {ActivityIndicator, View} from "react-native"
13
+ import React from "react"
12
14
  import ReflectionElement from "./reflection-element"
13
15
  import ScopeElement from "./scope-element"
14
16
  import Select from "../../inputs/select"
15
17
  import Services from "../../services"
16
18
  import {shapeComponent} from "set-state-compare/src/shape-component"
17
19
  import Text from "../../utils/text"
20
+ import useI18n from "i18n-on-steroids/src/use-i18n"
18
21
 
19
22
  export default memo(shapeComponent(class ApiMakerTableFiltersFilterForm extends BaseComponent {
20
23
  static propTypes = PropTypesExact({
@@ -25,6 +28,8 @@ export default memo(shapeComponent(class ApiMakerTableFiltersFilterForm extends
25
28
  })
26
29
 
27
30
  setup() {
31
+ const {t} = useI18n({namespace: "js.api_maker.table.filters.filter_form"})
32
+
28
33
  this.useStates({
29
34
  associations: null,
30
35
  attribute: undefined,
@@ -40,7 +45,10 @@ export default memo(shapeComponent(class ApiMakerTableFiltersFilterForm extends
40
45
  value: this.props.filter.v
41
46
  })
42
47
 
43
- this.setInstance({valueInputRef: useRef()})
48
+ this.setInstance({
49
+ t,
50
+ valueInputRef: useRef(),
51
+ })
44
52
 
45
53
  useMemo(() => {
46
54
  this.loadRansackPredicates()
@@ -155,7 +163,7 @@ export default memo(shapeComponent(class ApiMakerTableFiltersFilterForm extends
155
163
  }
156
164
 
157
165
  render() {
158
- const {valueInputRef} = digs(this, "valueInputRef")
166
+ const {t, valueInputRef} = this.tt
159
167
  const {attribute, path, predicate, predicates, scope, value} = this.s
160
168
  let submitEnabled = false
161
169
 
@@ -231,7 +239,7 @@ export default memo(shapeComponent(class ApiMakerTableFiltersFilterForm extends
231
239
  </View>
232
240
  <View>
233
241
  <button className="apply-filter-button" disabled={!submitEnabled}>
234
- {I18n.t("js.api_maker.table.filters.relationship_select.apply", {defaultValue: "Apply"})}
242
+ {t(".apply", {defaultValue: "Apply"})}
235
243
  </button>
236
244
  </View>
237
245
  </Form>
@@ -4,6 +4,7 @@ import FontAwesomeIcon from "react-native-vector-icons/FontAwesome"
4
4
  import PropTypes from "prop-types"
5
5
  import PropTypesExact from "prop-types-exact"
6
6
  import memo from "set-state-compare/src/memo"
7
+ import React from "react"
7
8
  import {shapeComponent} from "set-state-compare/src/shape-component"
8
9
  import Text from "../../utils/text"
9
10
 
@@ -4,10 +4,12 @@ import Filter from "./filter"
4
4
  import FilterForm from "./filter-form"
5
5
  import LoadSearchModal from "./load-search-modal"
6
6
  import SaveSearchModal from "./save-search-modal"
7
+ import Params from "../../params"
7
8
  import PropTypes from "prop-types"
9
+ import models from "../../models"
8
10
  import memo from "set-state-compare/src/memo"
9
11
  import {shapeComponent} from "set-state-compare/src/shape-component"
10
- import models from "../../models"
12
+ import React from "react"
11
13
  import useI18n from "i18n-on-steroids/src/use-i18n"
12
14
  import useQueryParams from "on-location-changed/src/use-query-params"
13
15
  import {View} from "react-native"
@@ -1,12 +1,13 @@
1
+ import React, {useMemo} from "react"
2
+ import {Pressable, View} from "react-native"
1
3
  import apiMakerConfig from "@kaspernj/api-maker/build/config"
2
4
  import BaseComponent from "../../base-component"
3
5
  import classNames from "classnames"
4
6
  import {digg} from "diggerize"
5
7
  import memo from "set-state-compare/src/memo"
6
- import {useMemo} from "react"
7
8
  import {shapeComponent} from "set-state-compare/src/shape-component"
8
9
  import models from "../../models"
9
- import {Pressable, View} from "react-native"
10
+ import Params from "../../params"
10
11
  import Text from "../../utils/text"
11
12
  import useI18n from "i18n-on-steroids/src/use-i18n"
12
13
 
@@ -3,6 +3,7 @@ import PropTypes from "prop-types"
3
3
  import PropTypesExact from "prop-types-exact"
4
4
  import memo from "set-state-compare/src/memo"
5
5
  import {Pressable} from "react-native"
6
+ import React from "react"
6
7
  import {shapeComponent} from "set-state-compare/src/shape-component"
7
8
  import Text from "../../utils/text"
8
9
 
@@ -2,9 +2,11 @@ import apiMakerConfig from "@kaspernj/api-maker/build/config"
2
2
  import BaseComponent from "../../base-component"
3
3
  import Checkbox from "../../bootstrap/checkbox"
4
4
  import {digg} from "diggerize"
5
+ import FlashMessage from "../../flash-message"
5
6
  import {Form} from "../../form"
6
7
  import Input from "../../bootstrap/input"
7
8
  import modelClassRequire from "../../model-class-require"
9
+ import React from "react"
8
10
  import {shapeComponent} from "set-state-compare/src/shape-component"
9
11
  import memo from "set-state-compare/src/memo"
10
12
  import useI18n from "i18n-on-steroids/src/use-i18n"
@@ -2,6 +2,7 @@ import BaseComponent from "../../base-component"
2
2
  import PropTypes from "prop-types"
3
3
  import memo from "set-state-compare/src/memo"
4
4
  import {Pressable} from "react-native"
5
+ import React from "react"
5
6
  import {shapeComponent} from "set-state-compare/src/shape-component"
6
7
  import Text from "../../utils/text"
7
8
 
@@ -4,6 +4,7 @@ import memo from "set-state-compare/src/memo"
4
4
  import {View} from "react-native"
5
5
  import PropTypes from "prop-types"
6
6
  import propTypesExact from "prop-types-exact"
7
+ import React from "react"
7
8
  import {shapeComponent} from "set-state-compare/src/shape-component"
8
9
  import SortLink from "../bootstrap/sort-link"
9
10
  import Text from "../utils/text"
@@ -1,4 +1,4 @@
1
- import {useMemo} from "react"
1
+ import React, {useMemo} from "react"
2
2
  import BaseComponent from "../base-component"
3
3
  import classNames from "classnames"
4
4
  import FontAwesomeIcon from "react-native-vector-icons/FontAwesome"
@@ -6,6 +6,7 @@ import memo from "set-state-compare/src/memo"
6
6
  import Modal from "../utils/modal"
7
7
  import PropTypes from "prop-types"
8
8
  import propTypesExact from "prop-types-exact"
9
+ import React from "react"
9
10
  import {shapeComponent} from "set-state-compare/src/shape-component"
10
11
  import Text from "../utils/text"
11
12
  import useI18n from "i18n-on-steroids/src/use-i18n"