@kaspernj/api-maker 1.0.445 → 1.0.447
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.
- package/{.eslintrc.cjs → .eslintrc.js} +4 -0
- package/README.md +35 -0
- package/android/build.gradle +43 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/java/expo/modules/api_maker/ApiMakerModule.kt +50 -0
- package/android/src/main/java/expo/modules/api_maker/ApiMakerView.kt +30 -0
- package/build/api.js +120 -0
- package/build/attribute-not-loaded-error.js +2 -0
- package/build/base-component.js +5 -0
- package/build/base-error.js +33 -0
- package/build/base-model/attribute.js +25 -0
- package/build/base-model/column.js +11 -0
- package/build/base-model/reflection.js +14 -0
- package/build/base-model/scope.js +11 -0
- package/build/base-model.js +828 -0
- package/build/bootstrap/attribute-row/index.js +105 -0
- package/build/bootstrap/attribute-rows.js +31 -0
- package/build/bootstrap/card.js +138 -0
- package/build/bootstrap/checkbox.js +97 -0
- package/build/bootstrap/checkboxes.js +183 -0
- package/build/bootstrap/index.js +2 -0
- package/build/bootstrap/input.js +128 -0
- package/build/bootstrap/invalid-feedback.js +27 -0
- package/build/bootstrap/paginate.js +150 -0
- package/build/bootstrap/radio-buttons.js +72 -0
- package/build/bootstrap/select.js +88 -0
- package/build/bootstrap/sort-link.js +130 -0
- package/build/cable-connection-pool.js +128 -0
- package/build/cable-subscription-pool.js +207 -0
- package/build/cable-subscription.js +21 -0
- package/build/cache-key-generator.js +81 -0
- package/build/can-can.js +134 -0
- package/build/channels-consumer.js +3 -0
- package/build/collection-loader.js +48 -0
- package/build/collection.js +279 -0
- package/build/command-submit-data.js +81 -0
- package/build/commands-pool.js +195 -0
- package/build/compose.js +9 -0
- package/build/config.js +53 -0
- package/build/custom-error.js +5 -0
- package/build/data-set-to-attributes.js +10 -0
- package/build/deserializer.js +56 -0
- package/build/destroy-error.js +5 -0
- package/build/devise.js +109 -0
- package/build/draggable-sort/controller.js +136 -0
- package/build/draggable-sort/index.js +114 -0
- package/build/draggable-sort/item.js +188 -0
- package/build/error-logger.js +101 -0
- package/build/error-messages.js +13 -0
- package/build/event-connection.js +32 -0
- package/build/event-model-class.js +24 -0
- package/build/events.js +5 -0
- package/build/form.js +83 -0
- package/build/index.js +3 -0
- package/build/inputs/attachment.js +121 -0
- package/build/inputs/auto-submit.js +36 -0
- package/build/inputs/checkbox.js +145 -0
- package/build/inputs/checkboxes.js +111 -0
- package/build/inputs/id-for-component.js +15 -0
- package/build/inputs/input-wrapper.js +18 -0
- package/build/inputs/input.js +230 -0
- package/build/inputs/money.js +179 -0
- package/build/inputs/name-for-component.js +13 -0
- package/build/inputs/select.js +92 -0
- package/build/instance-of-class-name.js +23 -0
- package/build/key-value-store.js +53 -0
- package/build/link.js +68 -0
- package/build/logger.js +30 -0
- package/build/modal.js +37 -0
- package/build/model-class-require.js +13 -0
- package/build/model-events.js +30 -0
- package/build/model-name.js +28 -0
- package/build/model-prop-type.js +101 -0
- package/build/model-recipes-loader.js +32 -0
- package/build/model-recipes-model-loader.js +357 -0
- package/build/models-response-reader.js +40 -0
- package/build/models.js +8 -0
- package/build/money-formatter.js +77 -0
- package/build/not-loaded-error.js +2 -0
- package/build/params.js +60 -0
- package/build/preloaded.js +38 -0
- package/build/resize-observer.js +11 -0
- package/build/result.js +13 -0
- package/build/router/route.js +262 -0
- package/build/router/switch.js +72 -0
- package/build/router.js +57 -0
- package/build/routes-native.js +202 -0
- package/build/routes.js +50 -0
- package/build/run-last.js +35 -0
- package/build/serializer.js +63 -0
- package/build/services.js +20 -0
- package/build/session-status-updater.js +126 -0
- package/build/source-maps-loader.js +171 -0
- package/build/super-admin/config-reader.js +84 -0
- package/build/super-admin/edit-page/edit-attribute-checkbox.js +85 -0
- package/build/super-admin/edit-page/edit-attribute-content.js +54 -0
- package/build/super-admin/edit-page/edit-attribute-input.js +79 -0
- package/build/super-admin/edit-page/edit-attribute.js +76 -0
- package/build/super-admin/edit-page.js +120 -0
- package/build/super-admin/has-edit-config.js +12 -0
- package/build/super-admin/index-page.js +24 -0
- package/build/super-admin/index.js +180 -0
- package/build/super-admin/layout/header/index.js +151 -0
- package/build/super-admin/layout/index.js +109 -0
- package/build/super-admin/layout/menu/index.js +93 -0
- package/build/super-admin/layout/menu/menu-content.js +40 -0
- package/build/super-admin/layout/menu/menu-item.js +83 -0
- package/build/super-admin/layout/no-access.js +25 -0
- package/build/super-admin/model-class-table.js +61 -0
- package/build/super-admin/models.js +8 -0
- package/build/super-admin/show-nav.js +49 -0
- package/build/super-admin/show-page/belongs-to-attribute-row.js +28 -0
- package/build/super-admin/show-page/index.js +141 -0
- package/build/super-admin/show-reflection-actions.js +47 -0
- package/build/super-admin/show-reflection-link.js +46 -0
- package/build/super-admin/show-reflection-page.js +47 -0
- package/build/table/column-content.js +112 -0
- package/build/table/column-identifier.js +18 -0
- package/build/table/column-visible.js +7 -0
- package/build/table/components/column.js +20 -0
- package/build/table/components/flat-list.js +20 -0
- package/build/table/components/header.js +25 -0
- package/build/table/components/row.js +25 -0
- package/build/table/filters/attribute-element.js +43 -0
- package/build/table/filters/filter-form.js +392 -0
- package/build/table/filters/filter.js +89 -0
- package/build/table/filters/index.js +182 -0
- package/build/table/filters/load-search-modal.js +174 -0
- package/build/table/filters/reflection-element.js +36 -0
- package/build/table/filters/save-search-modal.js +86 -0
- package/build/table/filters/scope-element.js +41 -0
- package/build/table/header-column-content.js +67 -0
- package/build/table/header-column.js +144 -0
- package/build/table/header-select.js +104 -0
- package/build/table/model-callback-args.js +10 -0
- package/build/table/model-column.js +87 -0
- package/build/table/model-row.js +179 -0
- package/build/table/select-calculator.js +63 -0
- package/build/table/settings/column-row.js +97 -0
- package/build/table/settings/download-action.js +78 -0
- package/build/table/settings/index.js +92 -0
- package/build/table/table-settings.js +219 -0
- package/build/table/table.js +972 -0
- package/build/table/use-sorting.js +34 -0
- package/build/table/widths.js +75 -0
- package/build/table/worker-plugins-check-all-checkbox.js +125 -0
- package/build/table/worker-plugins-checkbox.js +115 -0
- package/build/translated-attributes.js +10 -0
- package/build/translated-collections.js +11 -0
- package/build/updated-attribute.js +76 -0
- package/build/url-encode.js +15 -0
- package/build/use-breakpoint.js +44 -0
- package/build/use-can-can.js +55 -0
- package/build/use-collection.js +225 -0
- package/build/use-created-event.js +52 -0
- package/build/use-current-user.js +73 -0
- package/build/use-destroyed-event.js +60 -0
- package/build/use-event-emitter.js +13 -0
- package/build/use-event-listener.js +16 -0
- package/build/use-input.js +140 -0
- package/build/use-model-event.js +60 -0
- package/build/use-model.js +169 -0
- package/build/use-resize-observer.js +23 -0
- package/build/use-router.js +102 -0
- package/build/use-screen-layout.js +39 -0
- package/build/use-updated-event.js +60 -0
- package/build/use-validation-errors.js +30 -0
- package/build/utils/card.js +51 -0
- package/build/utils/checkbox.js +48 -0
- package/build/utils/default-style.js +18 -0
- package/build/utils/modal.js +61 -0
- package/build/utils/text.js +18 -0
- package/build/validation-error.js +28 -0
- package/build/validation-errors.js +98 -0
- package/build/with-collection.js +13 -0
- package/build/with-current-user.js +9 -0
- package/build/with-model.js +14 -0
- package/build/with-router.js +21 -0
- package/expo-module.config.json +17 -0
- package/ios/ApiMaker.podspec +29 -0
- package/ios/ApiMakerModule.swift +48 -0
- package/ios/ApiMakerView.swift +38 -0
- package/package.json +35 -14
- package/src/{api.mjs → api.js} +5 -5
- package/src/{base-error.mjs → base-error.js} +1 -1
- package/src/base-model/{attribute.mjs → attribute.js} +1 -1
- package/src/base-model/{reflection.mjs → reflection.js} +1 -1
- package/src/{base-model.mjs → base-model.js} +14 -14
- package/src/bootstrap/attribute-row/index.jsx +2 -2
- package/src/bootstrap/attribute-rows.jsx +1 -1
- package/src/bootstrap/card.jsx +1 -1
- package/src/bootstrap/checkbox.jsx +1 -1
- package/src/bootstrap/checkboxes.jsx +1 -1
- package/src/bootstrap/input.jsx +1 -1
- package/src/bootstrap/paginate.jsx +2 -2
- package/src/bootstrap/sort-link.jsx +3 -3
- package/src/{cable-connection-pool.mjs → cable-connection-pool.js} +3 -3
- package/src/{cable-subscription-pool.mjs → cable-subscription-pool.js} +4 -4
- package/src/{cable-subscription.mjs → cable-subscription.js} +1 -1
- package/src/{can-can.mjs → can-can.js} +1 -1
- package/src/collection-loader.jsx +2 -2
- package/src/{collection.mjs → collection.js} +3 -3
- package/src/{commands-pool.mjs → commands-pool.js} +11 -11
- package/src/{custom-error.mjs → custom-error.js} +1 -1
- package/src/{deserializer.mjs → deserializer.js} +2 -2
- package/src/{destroy-error.mjs → destroy-error.js} +1 -1
- package/src/{devise.mjs → devise.js} +5 -9
- package/src/draggable-sort/controller.js +137 -0
- package/src/draggable-sort/index.jsx +108 -0
- package/src/draggable-sort/item.jsx +174 -0
- package/src/{error-logger.mjs → error-logger.js} +1 -1
- package/src/event-connection.jsx +1 -1
- package/src/event-model-class.jsx +1 -1
- package/src/form.jsx +1 -1
- package/src/index.js +3 -0
- package/src/inputs/attachment.jsx +2 -2
- package/src/inputs/checkbox.jsx +7 -6
- package/src/inputs/checkboxes.jsx +1 -1
- package/src/inputs/input-wrapper.jsx +1 -1
- package/src/inputs/input.jsx +8 -7
- package/src/inputs/money.jsx +3 -3
- package/src/inputs/select.jsx +1 -1
- package/src/{key-value-store.mjs → key-value-store.js} +1 -1
- package/src/link.jsx +2 -2
- package/src/modal.jsx +1 -1
- package/src/{model-class-require.mjs → model-class-require.js} +4 -2
- package/src/{model-events.mjs → model-events.js} +1 -1
- package/src/{model-name.mjs → model-name.js} +1 -1
- package/src/{model-recipes-loader.mjs → model-recipes-loader.js} +1 -1
- package/src/{model-recipes-model-loader.mjs → model-recipes-model-loader.js} +2 -2
- package/src/{models-response-reader.mjs → models-response-reader.js} +2 -2
- package/src/models.js +7 -0
- package/src/{models.mjs.erb → models.js.erb} +1 -1
- package/src/{params.mjs → params.js} +2 -2
- package/src/{preloaded.mjs → preloaded.js} +1 -1
- package/src/resize-observer.jsx +1 -1
- package/src/router/route.jsx +1 -1
- package/src/router/switch.jsx +1 -1
- package/src/router.jsx +1 -1
- package/src/{routes-native.mjs → routes-native.js} +1 -1
- package/src/{services.mjs → services.js} +1 -1
- package/src/{session-status-updater.mjs → session-status-updater.js} +3 -3
- package/src/{source-maps-loader.mjs → source-maps-loader.js} +1 -1
- package/src/super-admin/edit-page/edit-attribute-checkbox.jsx +1 -1
- package/src/super-admin/edit-page/edit-attribute-content.jsx +1 -1
- package/src/super-admin/edit-page/edit-attribute-input.jsx +1 -1
- package/src/super-admin/edit-page/edit-attribute.jsx +1 -1
- package/src/super-admin/edit-page.jsx +2 -2
- package/src/super-admin/has-edit-config.js +1 -1
- package/src/super-admin/index-page.jsx +1 -1
- package/src/super-admin/index.jsx +7 -7
- package/src/super-admin/layout/header/index.jsx +2 -2
- package/src/super-admin/layout/index.jsx +3 -3
- package/src/super-admin/layout/menu/index.jsx +3 -3
- package/src/super-admin/layout/menu/menu-content.jsx +2 -2
- package/src/super-admin/layout/menu/{menu-item/index.jsx → menu-item.jsx} +5 -6
- package/src/super-admin/layout/no-access.jsx +2 -2
- package/src/super-admin/model-class-table.jsx +3 -3
- package/src/super-admin/models.js +1 -1
- package/src/super-admin/show-nav.jsx +2 -2
- package/src/super-admin/show-page/belongs-to-attribute-row.jsx +1 -1
- package/src/super-admin/show-page/index.jsx +2 -2
- package/src/super-admin/show-reflection-actions.jsx +1 -1
- package/src/super-admin/show-reflection-link.jsx +1 -1
- package/src/super-admin/show-reflection-page.jsx +1 -1
- package/src/table/column-content.jsx +1 -1
- package/src/table/components/column.jsx +8 -2
- package/src/table/components/header.jsx +2 -2
- package/src/table/filters/filter-form.jsx +1 -1
- package/src/table/filters/index.jsx +5 -3
- package/src/table/filters/load-search-modal.jsx +6 -4
- package/src/table/filters/save-search-modal.jsx +4 -4
- package/src/table/header-column.jsx +59 -79
- package/src/table/header-select.jsx +1 -1
- package/src/table/model-column.jsx +12 -6
- package/src/table/model-row.jsx +11 -7
- package/src/table/{select-calculator.mjs → select-calculator.js} +1 -1
- package/src/table/settings/column-row.jsx +4 -3
- package/src/table/settings/download-action.jsx +3 -3
- package/src/table/settings/index.jsx +3 -3
- package/src/table/table-settings.js +5 -4
- package/src/table/table.jsx +149 -71
- package/src/table/{use-sorting.mjs → use-sorting.js} +1 -1
- package/src/table/{widths.mjs → widths.jsx} +11 -2
- package/src/table/worker-plugins-check-all-checkbox.jsx +2 -2
- package/src/table/worker-plugins-checkbox.jsx +2 -2
- package/src/{translated-collections.mjs → translated-collections.js} +1 -1
- package/src/updated-attribute.jsx +1 -1
- package/src/{use-breakpoint.mjs → use-breakpoint.js} +2 -2
- package/src/use-can-can.js +55 -0
- package/src/{use-collection.mjs → use-collection.js} +4 -4
- package/src/{use-created-event.mjs → use-created-event.js} +2 -2
- package/src/{use-current-user.mjs → use-current-user.js} +6 -5
- package/src/{use-destroyed-event.mjs → use-destroyed-event.js} +2 -2
- package/src/{use-input.mjs → use-input.js} +5 -5
- package/src/use-model-event.js +2 -2
- package/src/{use-model.mjs → use-model.js} +4 -4
- package/src/{use-resize-observer.mjs → use-resize-observer.js} +1 -1
- package/src/use-router.jsx +2 -2
- package/src/{use-updated-event.mjs → use-updated-event.js} +2 -2
- package/src/{use-validation-errors.mjs → use-validation-errors.js} +3 -3
- package/src/utils/checkbox.jsx +2 -2
- package/src/{validation-error.mjs → validation-error.js} +1 -1
- package/src/{validation-errors.mjs → validation-errors.js} +1 -1
- package/src/with-current-user.jsx +1 -1
- package/src/with-model.jsx +1 -1
- package/__tests__/base-model.test.mjs +0 -71
- package/__tests__/cable-connection-pool.test.mjs +0 -227
- package/__tests__/cable-subscription-pool.test.mjs +0 -27
- package/__tests__/can-can.test.mjs +0 -34
- package/__tests__/collection.test.mjs +0 -51
- package/__tests__/custom-error.test.mjs +0 -13
- package/__tests__/model-name.test.mjs +0 -34
- package/__tests__/model-prop-type.test.mjs +0 -113
- package/__tests__/params.test.mjs +0 -40
- package/__tests__/routes-native.test.mjs +0 -104
- package/__tests__/routes.test.mjs +0 -47
- package/__tests__/serializer.test.mjs +0 -30
- package/__tests__/support/task.mjs +0 -27
- package/__tests__/support/user.mjs +0 -32
- package/index.js +0 -1
- package/jest.config.js +0 -9
- package/src/event-created.jsx +0 -12
- package/src/event-destroyed.jsx +0 -25
- package/src/event-emitter-listener.jsx +0 -10
- package/src/event-listener.jsx +0 -25
- package/src/event-updated.jsx +0 -27
- package/src/super-admin/layout/menu/menu-item/style.scss +0 -10
- package/src/use-can-can.mjs +0 -48
- package/src/with-can-can.jsx +0 -12
- package/webpack.config.js +0 -15
- /package/src/{attribute-not-loaded-error.mjs → attribute-not-loaded-error.js} +0 -0
- /package/src/base-model/{column.mjs → column.js} +0 -0
- /package/src/base-model/{scope.mjs → scope.js} +0 -0
- /package/src/{cache-key-generator.mjs → cache-key-generator.js} +0 -0
- /package/src/{channels-consumer.mjs → channels-consumer.js} +0 -0
- /package/src/{command-submit-data.mjs → command-submit-data.js} +0 -0
- /package/src/{config.mjs → config.js} +0 -0
- /package/src/{data-set-to-attributes.mjs → data-set-to-attributes.js} +0 -0
- /package/src/{error-messages.mjs → error-messages.js} +0 -0
- /package/src/{events.mjs → events.js} +0 -0
- /package/src/inputs/{auto-submit.mjs → auto-submit.js} +0 -0
- /package/src/inputs/{id-for-component.mjs → id-for-component.js} +0 -0
- /package/src/inputs/{name-for-component.mjs → name-for-component.js} +0 -0
- /package/src/{instance-of-class-name.mjs → instance-of-class-name.js} +0 -0
- /package/src/{logger.mjs → logger.js} +0 -0
- /package/src/{model-prop-type.mjs → model-prop-type.js} +0 -0
- /package/src/{money-formatter.mjs → money-formatter.js} +0 -0
- /package/src/{not-loaded-error.mjs → not-loaded-error.js} +0 -0
- /package/src/{result.mjs → result.js} +0 -0
- /package/src/{routes.mjs → routes.js} +0 -0
- /package/src/{run-last.mjs → run-last.js} +0 -0
- /package/src/{serializer.mjs → serializer.js} +0 -0
- /package/src/table/{column-identifier.mjs → column-identifier.js} +0 -0
- /package/src/table/{column-visible.mjs → column-visible.js} +0 -0
- /package/src/table/{model-callback-args.mjs → model-callback-args.js} +0 -0
- /package/src/{translated-collections-data.mjs.erb → translated-collections-data.js.erb} +0 -0
- /package/src/{url-encode.mjs → url-encode.js} +0 -0
- /package/src/{use-event-emitter.mjs → use-event-emitter.js} +0 -0
- /package/src/{use-event-listener.mjs → use-event-listener.js} +0 -0
- /package/src/{use-screen-layout.mjs → use-screen-layout.js} +0 -0
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import AttributeRow from "../../bootstrap/attribute-row";
|
|
2
|
+
import BaseComponent from "../../base-component";
|
|
3
|
+
import BelongsToAttributeRow from "./belongs-to-attribute-row";
|
|
4
|
+
import ConfigReader from "../config-reader";
|
|
5
|
+
import { digg } from "diggerize";
|
|
6
|
+
import memo from "set-state-compare/src/memo";
|
|
7
|
+
import * as inflection from "inflection";
|
|
8
|
+
import PropTypes from "prop-types";
|
|
9
|
+
import { useMemo } from "react";
|
|
10
|
+
import { shapeComponent } from "set-state-compare/src/shape-component";
|
|
11
|
+
import ShowNav from "../show-nav";
|
|
12
|
+
import useModel from "../../use-model";
|
|
13
|
+
import { View } from "react-native";
|
|
14
|
+
const AttributePresenter = memo(({
|
|
15
|
+
attribute,
|
|
16
|
+
model,
|
|
17
|
+
modelArgs
|
|
18
|
+
}) => {
|
|
19
|
+
const attributeRowProps = {
|
|
20
|
+
model
|
|
21
|
+
};
|
|
22
|
+
if (typeof attribute == "object") {
|
|
23
|
+
if (attribute.attribute) attributeRowProps.attribute = attribute.attribute;
|
|
24
|
+
if (attribute.content) attributeRowProps.children = attribute.content(modelArgs);
|
|
25
|
+
if (attribute.label) attributeRowProps.label = attribute.label;
|
|
26
|
+
} else if (attribute) {
|
|
27
|
+
attributeRowProps.attribute = attribute;
|
|
28
|
+
}
|
|
29
|
+
return /*#__PURE__*/React.createElement(AttributeRow, attributeRowProps);
|
|
30
|
+
});
|
|
31
|
+
export default memo(shapeComponent(class ApiMakerSuperAdminShowPage extends BaseComponent {
|
|
32
|
+
static propTypes = {
|
|
33
|
+
modelClass: PropTypes.func.isRequired
|
|
34
|
+
};
|
|
35
|
+
setup() {
|
|
36
|
+
const {
|
|
37
|
+
modelClass
|
|
38
|
+
} = this.props;
|
|
39
|
+
const configReader = useMemo(() => ConfigReader.forModel(modelClass), [modelClass]);
|
|
40
|
+
const showConfig = configReader.modelConfig?.show;
|
|
41
|
+
this.setInstance({
|
|
42
|
+
configReader,
|
|
43
|
+
showConfig
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
render() {
|
|
47
|
+
const {
|
|
48
|
+
modelClass
|
|
49
|
+
} = this.props;
|
|
50
|
+
const {
|
|
51
|
+
configReader,
|
|
52
|
+
showConfig
|
|
53
|
+
} = this.tt;
|
|
54
|
+
const attributes = configReader.attributesToShow();
|
|
55
|
+
const extraContent = showConfig?.extraContent;
|
|
56
|
+
const modelClassName = modelClass.modelClassData().name;
|
|
57
|
+
const primaryKeyName = modelClass.primaryKey();
|
|
58
|
+
const preload = [];
|
|
59
|
+
const select = showConfig?.extraSelect || {};
|
|
60
|
+
const modelClassSelect = select[modelClassName] || [];
|
|
61
|
+
if (showConfig?.preload) {
|
|
62
|
+
for (const showConfigPreload of showConfig.preload) {
|
|
63
|
+
preload.push(showConfigPreload);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (!(modelClassName in select)) select[modelClassName] = modelClassSelect;
|
|
67
|
+
if (!modelClassSelect.includes(primaryKeyName)) modelClassSelect.push(primaryKeyName);
|
|
68
|
+
|
|
69
|
+
// Select all attributes selected by default because they will be shown by default
|
|
70
|
+
for (const attribute of modelClass.attributes()) {
|
|
71
|
+
if ((attribute.isSelectedByDefault() || attribute.name() == "name") && !modelClassSelect.includes(attribute.name())) {
|
|
72
|
+
modelClassSelect.push(attribute.name());
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
for (const reflection of modelClass.reflections()) {
|
|
76
|
+
if (reflection.macro() == "belongs_to") {
|
|
77
|
+
const reflectionModelClass = reflection.modelClass();
|
|
78
|
+
const reflectionModelClassName = reflectionModelClass.modelClassData().name;
|
|
79
|
+
const reflectionModelClassAttributes = reflectionModelClass.attributes();
|
|
80
|
+
const nameAttribute = reflectionModelClassAttributes.find(attribute => attribute.name() == "name");
|
|
81
|
+
preload.push(inflection.underscore(reflection.name()));
|
|
82
|
+
if (!(reflectionModelClassName in select)) select[reflectionModelClassName] = [];
|
|
83
|
+
if (!select[reflectionModelClassName].includes("id")) select[reflectionModelClassName].push("id");
|
|
84
|
+
if (nameAttribute && !select[reflectionModelClassName].includes("name")) select[reflectionModelClassName].push("name");
|
|
85
|
+
|
|
86
|
+
// The foreign key is needed to look up any belongs-to-relationships
|
|
87
|
+
if (!modelClassSelect.includes(reflection.foreignKey())) {
|
|
88
|
+
const foreignKeyAttribute = reflectionModelClassAttributes.find(attribute => attribute.name() == reflection.foreignKey());
|
|
89
|
+
if (!foreignKeyAttribute) {
|
|
90
|
+
throw new Error(`${reflection.foreignKey()} wasn't defined as an attribute on ${modelClassName}`);
|
|
91
|
+
}
|
|
92
|
+
modelClassSelect.push(reflection.foreignKey());
|
|
93
|
+
}
|
|
94
|
+
} else if (reflection.macro() == "has_one") {
|
|
95
|
+
const reflectionModelClass = reflection.modelClass();
|
|
96
|
+
const reflectionModelClassName = reflectionModelClass.modelClassData().name;
|
|
97
|
+
const reflectionModelClassAttributes = reflectionModelClass.attributes();
|
|
98
|
+
const nameAttribute = reflectionModelClassAttributes.find(attribute => attribute.name() == "name");
|
|
99
|
+
preload.push(inflection.underscore(reflection.name()));
|
|
100
|
+
if (!(reflectionModelClassName in select)) select[reflectionModelClassName] = [];
|
|
101
|
+
if (!select[reflectionModelClassName].includes("id")) select[reflectionModelClassName].push("id");
|
|
102
|
+
if (nameAttribute && !select[reflectionModelClassName].includes("name")) select[reflectionModelClassName].push("name");
|
|
103
|
+
|
|
104
|
+
// The foreign key is needed to look up any has-one-relationships
|
|
105
|
+
if (!modelClassSelect.includes(reflection.foreignKey()) && !select[reflectionModelClassName].includes(reflection.foreignKey()) && !reflection.through()) {
|
|
106
|
+
select[reflectionModelClassName].push(reflection.foreignKey());
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
const useModelResult = useModel(modelClass, {
|
|
111
|
+
loadByQueryParam: ({
|
|
112
|
+
queryParams
|
|
113
|
+
}) => queryParams.model_id,
|
|
114
|
+
preload,
|
|
115
|
+
select
|
|
116
|
+
});
|
|
117
|
+
const camelizedLower = digg(modelClass.modelClassData(), "camelizedLower");
|
|
118
|
+
const model = digg(useModelResult, camelizedLower);
|
|
119
|
+
const modelArgs = {};
|
|
120
|
+
modelArgs[inflection.camelize(modelClass.modelClassData().name, true)] = model;
|
|
121
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
122
|
+
dataSet: {
|
|
123
|
+
component: "super-admin--show-page"
|
|
124
|
+
}
|
|
125
|
+
}, model && /*#__PURE__*/React.createElement(ShowNav, {
|
|
126
|
+
model: model,
|
|
127
|
+
modelClass: modelClass
|
|
128
|
+
}), attributes && model && attributes.map(attribute => /*#__PURE__*/React.createElement(AttributePresenter, {
|
|
129
|
+
attribute: attribute,
|
|
130
|
+
key: attribute.key || attribute.attribute || attribute,
|
|
131
|
+
modelArgs: modelArgs,
|
|
132
|
+
model: model
|
|
133
|
+
})), model && modelClass.reflections().filter(reflection => reflection.macro() == "belongs_to" || reflection.macro() == "has_one").map(reflection => /*#__PURE__*/React.createElement(BelongsToAttributeRow, {
|
|
134
|
+
key: reflection.name(),
|
|
135
|
+
model: model,
|
|
136
|
+
modelClass: modelClass,
|
|
137
|
+
reflection: reflection
|
|
138
|
+
})), model && extraContent && extraContent(modelArgs));
|
|
139
|
+
}
|
|
140
|
+
}));
|
|
141
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBdHRyaWJ1dGVSb3ciLCJCYXNlQ29tcG9uZW50IiwiQmVsb25nc1RvQXR0cmlidXRlUm93IiwiQ29uZmlnUmVhZGVyIiwiZGlnZyIsIm1lbW8iLCJpbmZsZWN0aW9uIiwiUHJvcFR5cGVzIiwidXNlTWVtbyIsInNoYXBlQ29tcG9uZW50IiwiU2hvd05hdiIsInVzZU1vZGVsIiwiVmlldyIsIkF0dHJpYnV0ZVByZXNlbnRlciIsImF0dHJpYnV0ZSIsIm1vZGVsIiwibW9kZWxBcmdzIiwiYXR0cmlidXRlUm93UHJvcHMiLCJjb250ZW50IiwiY2hpbGRyZW4iLCJsYWJlbCIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsIkFwaU1ha2VyU3VwZXJBZG1pblNob3dQYWdlIiwicHJvcFR5cGVzIiwibW9kZWxDbGFzcyIsImZ1bmMiLCJpc1JlcXVpcmVkIiwic2V0dXAiLCJwcm9wcyIsImNvbmZpZ1JlYWRlciIsImZvck1vZGVsIiwic2hvd0NvbmZpZyIsIm1vZGVsQ29uZmlnIiwic2hvdyIsInNldEluc3RhbmNlIiwicmVuZGVyIiwidHQiLCJhdHRyaWJ1dGVzIiwiYXR0cmlidXRlc1RvU2hvdyIsImV4dHJhQ29udGVudCIsIm1vZGVsQ2xhc3NOYW1lIiwibW9kZWxDbGFzc0RhdGEiLCJuYW1lIiwicHJpbWFyeUtleU5hbWUiLCJwcmltYXJ5S2V5IiwicHJlbG9hZCIsInNlbGVjdCIsImV4dHJhU2VsZWN0IiwibW9kZWxDbGFzc1NlbGVjdCIsInNob3dDb25maWdQcmVsb2FkIiwicHVzaCIsImluY2x1ZGVzIiwiaXNTZWxlY3RlZEJ5RGVmYXVsdCIsInJlZmxlY3Rpb24iLCJyZWZsZWN0aW9ucyIsIm1hY3JvIiwicmVmbGVjdGlvbk1vZGVsQ2xhc3MiLCJyZWZsZWN0aW9uTW9kZWxDbGFzc05hbWUiLCJyZWZsZWN0aW9uTW9kZWxDbGFzc0F0dHJpYnV0ZXMiLCJuYW1lQXR0cmlidXRlIiwiZmluZCIsInVuZGVyc2NvcmUiLCJmb3JlaWduS2V5IiwiZm9yZWlnbktleUF0dHJpYnV0ZSIsIkVycm9yIiwidGhyb3VnaCIsInVzZU1vZGVsUmVzdWx0IiwibG9hZEJ5UXVlcnlQYXJhbSIsInF1ZXJ5UGFyYW1zIiwibW9kZWxfaWQiLCJjYW1lbGl6ZWRMb3dlciIsImNhbWVsaXplIiwiZGF0YVNldCIsImNvbXBvbmVudCIsIm1hcCIsImtleSIsImZpbHRlciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdXBlci1hZG1pbi9zaG93LXBhZ2UvaW5kZXguanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBBdHRyaWJ1dGVSb3cgZnJvbSBcIi4uLy4uL2Jvb3RzdHJhcC9hdHRyaWJ1dGUtcm93XCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi8uLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQgQmVsb25nc1RvQXR0cmlidXRlUm93IGZyb20gXCIuL2JlbG9uZ3MtdG8tYXR0cmlidXRlLXJvd1wiXG5pbXBvcnQgQ29uZmlnUmVhZGVyIGZyb20gXCIuLi9jb25maWctcmVhZGVyXCJcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL21lbW9cIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCB7dXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvc2hhcGUtY29tcG9uZW50XCJcbmltcG9ydCBTaG93TmF2IGZyb20gXCIuLi9zaG93LW5hdlwiXG5pbXBvcnQgdXNlTW9kZWwgZnJvbSBcIi4uLy4uL3VzZS1tb2RlbFwiXG5pbXBvcnQge1ZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuXG5jb25zdCBBdHRyaWJ1dGVQcmVzZW50ZXIgPSBtZW1vKCh7YXR0cmlidXRlLCBtb2RlbCwgbW9kZWxBcmdzfSkgPT4ge1xuICBjb25zdCBhdHRyaWJ1dGVSb3dQcm9wcyA9IHtcbiAgICBtb2RlbFxuICB9XG5cbiAgaWYgKHR5cGVvZiBhdHRyaWJ1dGUgPT0gXCJvYmplY3RcIikge1xuICAgIGlmIChhdHRyaWJ1dGUuYXR0cmlidXRlKSBhdHRyaWJ1dGVSb3dQcm9wcy5hdHRyaWJ1dGUgPSBhdHRyaWJ1dGUuYXR0cmlidXRlXG4gICAgaWYgKGF0dHJpYnV0ZS5jb250ZW50KSBhdHRyaWJ1dGVSb3dQcm9wcy5jaGlsZHJlbiA9IGF0dHJpYnV0ZS5jb250ZW50KG1vZGVsQXJncylcbiAgICBpZiAoYXR0cmlidXRlLmxhYmVsKSBhdHRyaWJ1dGVSb3dQcm9wcy5sYWJlbCA9IGF0dHJpYnV0ZS5sYWJlbFxuICB9IGVsc2UgaWYgKGF0dHJpYnV0ZSkge1xuICAgIGF0dHJpYnV0ZVJvd1Byb3BzLmF0dHJpYnV0ZSA9IGF0dHJpYnV0ZVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8QXR0cmlidXRlUm93IHsuLi5hdHRyaWJ1dGVSb3dQcm9wc30gLz5cbiAgKVxufSlcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlclN1cGVyQWRtaW5TaG93UGFnZSBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG1vZGVsQ2xhc3M6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWRcbiAgfVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHttb2RlbENsYXNzfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCBjb25maWdSZWFkZXIgPSB1c2VNZW1vKCgpID0+IENvbmZpZ1JlYWRlci5mb3JNb2RlbChtb2RlbENsYXNzKSwgW21vZGVsQ2xhc3NdKVxuICAgIGNvbnN0IHNob3dDb25maWcgPSBjb25maWdSZWFkZXIubW9kZWxDb25maWc/LnNob3dcblxuICAgIHRoaXMuc2V0SW5zdGFuY2Uoe2NvbmZpZ1JlYWRlciwgc2hvd0NvbmZpZ30pXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge21vZGVsQ2xhc3N9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtjb25maWdSZWFkZXIsIHNob3dDb25maWd9ID0gdGhpcy50dFxuICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBjb25maWdSZWFkZXIuYXR0cmlidXRlc1RvU2hvdygpXG4gICAgY29uc3QgZXh0cmFDb250ZW50ID0gc2hvd0NvbmZpZz8uZXh0cmFDb250ZW50XG4gICAgY29uc3QgbW9kZWxDbGFzc05hbWUgPSBtb2RlbENsYXNzLm1vZGVsQ2xhc3NEYXRhKCkubmFtZVxuICAgIGNvbnN0IHByaW1hcnlLZXlOYW1lID0gbW9kZWxDbGFzcy5wcmltYXJ5S2V5KClcbiAgICBjb25zdCBwcmVsb2FkID0gW11cbiAgICBjb25zdCBzZWxlY3QgPSBzaG93Q29uZmlnPy5leHRyYVNlbGVjdCB8fCB7fVxuICAgIGNvbnN0IG1vZGVsQ2xhc3NTZWxlY3QgPSBzZWxlY3RbbW9kZWxDbGFzc05hbWVdIHx8IFtdXG5cbiAgICBpZiAoc2hvd0NvbmZpZz8ucHJlbG9hZCkge1xuICAgICAgZm9yIChjb25zdCBzaG93Q29uZmlnUHJlbG9hZCBvZiBzaG93Q29uZmlnLnByZWxvYWQpIHtcbiAgICAgICAgcHJlbG9hZC5wdXNoKHNob3dDb25maWdQcmVsb2FkKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghKG1vZGVsQ2xhc3NOYW1lIGluIHNlbGVjdCkpIHNlbGVjdFttb2RlbENsYXNzTmFtZV0gPSBtb2RlbENsYXNzU2VsZWN0XG4gICAgaWYgKCFtb2RlbENsYXNzU2VsZWN0LmluY2x1ZGVzKHByaW1hcnlLZXlOYW1lKSkgbW9kZWxDbGFzc1NlbGVjdC5wdXNoKHByaW1hcnlLZXlOYW1lKVxuXG4gICAgLy8gU2VsZWN0IGFsbCBhdHRyaWJ1dGVzIHNlbGVjdGVkIGJ5IGRlZmF1bHQgYmVjYXVzZSB0aGV5IHdpbGwgYmUgc2hvd24gYnkgZGVmYXVsdFxuICAgIGZvciAoY29uc3QgYXR0cmlidXRlIG9mIG1vZGVsQ2xhc3MuYXR0cmlidXRlcygpKSB7XG4gICAgICBpZiAoKGF0dHJpYnV0ZS5pc1NlbGVjdGVkQnlEZWZhdWx0KCkgfHwgYXR0cmlidXRlLm5hbWUoKSA9PSBcIm5hbWVcIikgJiYgIW1vZGVsQ2xhc3NTZWxlY3QuaW5jbHVkZXMoYXR0cmlidXRlLm5hbWUoKSkpIHtcbiAgICAgICAgbW9kZWxDbGFzc1NlbGVjdC5wdXNoKGF0dHJpYnV0ZS5uYW1lKCkpXG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCByZWZsZWN0aW9uIG9mIG1vZGVsQ2xhc3MucmVmbGVjdGlvbnMoKSkge1xuICAgICAgaWYgKHJlZmxlY3Rpb24ubWFjcm8oKSA9PSBcImJlbG9uZ3NfdG9cIikge1xuICAgICAgICBjb25zdCByZWZsZWN0aW9uTW9kZWxDbGFzcyA9IHJlZmxlY3Rpb24ubW9kZWxDbGFzcygpXG4gICAgICAgIGNvbnN0IHJlZmxlY3Rpb25Nb2RlbENsYXNzTmFtZSA9IHJlZmxlY3Rpb25Nb2RlbENsYXNzLm1vZGVsQ2xhc3NEYXRhKCkubmFtZVxuICAgICAgICBjb25zdCByZWZsZWN0aW9uTW9kZWxDbGFzc0F0dHJpYnV0ZXMgPSByZWZsZWN0aW9uTW9kZWxDbGFzcy5hdHRyaWJ1dGVzKClcbiAgICAgICAgY29uc3QgbmFtZUF0dHJpYnV0ZSA9IHJlZmxlY3Rpb25Nb2RlbENsYXNzQXR0cmlidXRlcy5maW5kKChhdHRyaWJ1dGUpID0+IGF0dHJpYnV0ZS5uYW1lKCkgPT0gXCJuYW1lXCIpXG5cbiAgICAgICAgcHJlbG9hZC5wdXNoKGluZmxlY3Rpb24udW5kZXJzY29yZShyZWZsZWN0aW9uLm5hbWUoKSkpXG5cbiAgICAgICAgaWYgKCEocmVmbGVjdGlvbk1vZGVsQ2xhc3NOYW1lIGluIHNlbGVjdCkpIHNlbGVjdFtyZWZsZWN0aW9uTW9kZWxDbGFzc05hbWVdID0gW11cbiAgICAgICAgaWYgKCFzZWxlY3RbcmVmbGVjdGlvbk1vZGVsQ2xhc3NOYW1lXS5pbmNsdWRlcyhcImlkXCIpKSBzZWxlY3RbcmVmbGVjdGlvbk1vZGVsQ2xhc3NOYW1lXS5wdXNoKFwiaWRcIilcbiAgICAgICAgaWYgKG5hbWVBdHRyaWJ1dGUgJiYgIXNlbGVjdFtyZWZsZWN0aW9uTW9kZWxDbGFzc05hbWVdLmluY2x1ZGVzKFwibmFtZVwiKSkgc2VsZWN0W3JlZmxlY3Rpb25Nb2RlbENsYXNzTmFtZV0ucHVzaChcIm5hbWVcIilcblxuICAgICAgICAvLyBUaGUgZm9yZWlnbiBrZXkgaXMgbmVlZGVkIHRvIGxvb2sgdXAgYW55IGJlbG9uZ3MtdG8tcmVsYXRpb25zaGlwc1xuICAgICAgICBpZiAoIW1vZGVsQ2xhc3NTZWxlY3QuaW5jbHVkZXMocmVmbGVjdGlvbi5mb3JlaWduS2V5KCkpKSB7XG4gICAgICAgICAgY29uc3QgZm9yZWlnbktleUF0dHJpYnV0ZSA9IHJlZmxlY3Rpb25Nb2RlbENsYXNzQXR0cmlidXRlcy5maW5kKChhdHRyaWJ1dGUpID0+IGF0dHJpYnV0ZS5uYW1lKCkgPT0gcmVmbGVjdGlvbi5mb3JlaWduS2V5KCkpXG5cbiAgICAgICAgICBpZiAoIWZvcmVpZ25LZXlBdHRyaWJ1dGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgJHtyZWZsZWN0aW9uLmZvcmVpZ25LZXkoKX0gd2Fzbid0IGRlZmluZWQgYXMgYW4gYXR0cmlidXRlIG9uICR7bW9kZWxDbGFzc05hbWV9YClcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtb2RlbENsYXNzU2VsZWN0LnB1c2gocmVmbGVjdGlvbi5mb3JlaWduS2V5KCkpXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAocmVmbGVjdGlvbi5tYWNybygpID09IFwiaGFzX29uZVwiKSB7XG4gICAgICAgIGNvbnN0IHJlZmxlY3Rpb25Nb2RlbENsYXNzID0gcmVmbGVjdGlvbi5tb2RlbENsYXNzKClcbiAgICAgICAgY29uc3QgcmVmbGVjdGlvbk1vZGVsQ2xhc3NOYW1lID0gcmVmbGVjdGlvbk1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKS5uYW1lXG4gICAgICAgIGNvbnN0IHJlZmxlY3Rpb25Nb2RlbENsYXNzQXR0cmlidXRlcyA9IHJlZmxlY3Rpb25Nb2RlbENsYXNzLmF0dHJpYnV0ZXMoKVxuICAgICAgICBjb25zdCBuYW1lQXR0cmlidXRlID0gcmVmbGVjdGlvbk1vZGVsQ2xhc3NBdHRyaWJ1dGVzLmZpbmQoKGF0dHJpYnV0ZSkgPT4gYXR0cmlidXRlLm5hbWUoKSA9PSBcIm5hbWVcIilcblxuICAgICAgICBwcmVsb2FkLnB1c2goaW5mbGVjdGlvbi51bmRlcnNjb3JlKHJlZmxlY3Rpb24ubmFtZSgpKSlcblxuICAgICAgICBpZiAoIShyZWZsZWN0aW9uTW9kZWxDbGFzc05hbWUgaW4gc2VsZWN0KSkgc2VsZWN0W3JlZmxlY3Rpb25Nb2RlbENsYXNzTmFtZV0gPSBbXVxuICAgICAgICBpZiAoIXNlbGVjdFtyZWZsZWN0aW9uTW9kZWxDbGFzc05hbWVdLmluY2x1ZGVzKFwiaWRcIikpIHNlbGVjdFtyZWZsZWN0aW9uTW9kZWxDbGFzc05hbWVdLnB1c2goXCJpZFwiKVxuICAgICAgICBpZiAobmFtZUF0dHJpYnV0ZSAmJiAhc2VsZWN0W3JlZmxlY3Rpb25Nb2RlbENsYXNzTmFtZV0uaW5jbHVkZXMoXCJuYW1lXCIpKSBzZWxlY3RbcmVmbGVjdGlvbk1vZGVsQ2xhc3NOYW1lXS5wdXNoKFwibmFtZVwiKVxuXG4gICAgICAgIC8vIFRoZSBmb3JlaWduIGtleSBpcyBuZWVkZWQgdG8gbG9vayB1cCBhbnkgaGFzLW9uZS1yZWxhdGlvbnNoaXBzXG4gICAgICAgIGlmICghbW9kZWxDbGFzc1NlbGVjdC5pbmNsdWRlcyhyZWZsZWN0aW9uLmZvcmVpZ25LZXkoKSkgJiYgIXNlbGVjdFtyZWZsZWN0aW9uTW9kZWxDbGFzc05hbWVdLmluY2x1ZGVzKHJlZmxlY3Rpb24uZm9yZWlnbktleSgpKSAmJiAhcmVmbGVjdGlvbi50aHJvdWdoKCkpIHtcbiAgICAgICAgICBzZWxlY3RbcmVmbGVjdGlvbk1vZGVsQ2xhc3NOYW1lXS5wdXNoKHJlZmxlY3Rpb24uZm9yZWlnbktleSgpKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgdXNlTW9kZWxSZXN1bHQgPSB1c2VNb2RlbChtb2RlbENsYXNzLCB7XG4gICAgICBsb2FkQnlRdWVyeVBhcmFtOiAoe3F1ZXJ5UGFyYW1zfSkgPT4gcXVlcnlQYXJhbXMubW9kZWxfaWQsXG4gICAgICBwcmVsb2FkLFxuICAgICAgc2VsZWN0XG4gICAgfSlcbiAgICBjb25zdCBjYW1lbGl6ZWRMb3dlciA9IGRpZ2cobW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLCBcImNhbWVsaXplZExvd2VyXCIpXG4gICAgY29uc3QgbW9kZWwgPSBkaWdnKHVzZU1vZGVsUmVzdWx0LCBjYW1lbGl6ZWRMb3dlcilcbiAgICBjb25zdCBtb2RlbEFyZ3MgPSB7fVxuXG4gICAgbW9kZWxBcmdzW2luZmxlY3Rpb24uY2FtZWxpemUobW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLm5hbWUsIHRydWUpXSA9IG1vZGVsXG5cbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXcgZGF0YVNldD17e2NvbXBvbmVudDogXCJzdXBlci1hZG1pbi0tc2hvdy1wYWdlXCJ9fT5cbiAgICAgICAge21vZGVsICYmXG4gICAgICAgICAgPFNob3dOYXYgbW9kZWw9e21vZGVsfSBtb2RlbENsYXNzPXttb2RlbENsYXNzfSAvPlxuICAgICAgICB9XG4gICAgICAgIHthdHRyaWJ1dGVzICYmIG1vZGVsICYmIGF0dHJpYnV0ZXMubWFwKChhdHRyaWJ1dGUpID0+XG4gICAgICAgICAgPEF0dHJpYnV0ZVByZXNlbnRlciBhdHRyaWJ1dGU9e2F0dHJpYnV0ZX0ga2V5PXthdHRyaWJ1dGUua2V5IHx8IGF0dHJpYnV0ZS5hdHRyaWJ1dGUgfHwgYXR0cmlidXRlfSBtb2RlbEFyZ3M9e21vZGVsQXJnc30gbW9kZWw9e21vZGVsfSAvPlxuICAgICAgICApfVxuICAgICAgICB7bW9kZWwgJiYgbW9kZWxDbGFzcy5yZWZsZWN0aW9ucygpLmZpbHRlcigocmVmbGVjdGlvbikgPT4gcmVmbGVjdGlvbi5tYWNybygpID09IFwiYmVsb25nc190b1wiIHx8IHJlZmxlY3Rpb24ubWFjcm8oKSA9PSBcImhhc19vbmVcIikubWFwKChyZWZsZWN0aW9uKSA9PlxuICAgICAgICAgIDxCZWxvbmdzVG9BdHRyaWJ1dGVSb3cga2V5PXtyZWZsZWN0aW9uLm5hbWUoKX0gbW9kZWw9e21vZGVsfSBtb2RlbENsYXNzPXttb2RlbENsYXNzfSByZWZsZWN0aW9uPXtyZWZsZWN0aW9ufSAvPlxuICAgICAgICApfVxuICAgICAgICB7bW9kZWwgJiYgZXh0cmFDb250ZW50ICYmIGV4dHJhQ29udGVudChtb2RlbEFyZ3MpfVxuICAgICAgPC9WaWV3PlxuICAgIClcbiAgfVxufSkpXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFlBQVksTUFBTSwrQkFBK0I7QUFDeEQsT0FBT0MsYUFBYSxNQUFNLHNCQUFzQjtBQUNoRCxPQUFPQyxxQkFBcUIsTUFBTSw0QkFBNEI7QUFDOUQsT0FBT0MsWUFBWSxNQUFNLGtCQUFrQjtBQUMzQyxTQUFRQyxJQUFJLFFBQU8sV0FBVztBQUM5QixPQUFPQyxJQUFJLE1BQU0sNEJBQTRCO0FBQzdDLE9BQU8sS0FBS0MsVUFBVSxNQUFNLFlBQVk7QUFDeEMsT0FBT0MsU0FBUyxNQUFNLFlBQVk7QUFDbEMsU0FBUUMsT0FBTyxRQUFPLE9BQU87QUFDN0IsU0FBUUMsY0FBYyxRQUFPLHVDQUF1QztBQUNwRSxPQUFPQyxPQUFPLE1BQU0sYUFBYTtBQUNqQyxPQUFPQyxRQUFRLE1BQU0saUJBQWlCO0FBQ3RDLFNBQVFDLElBQUksUUFBTyxjQUFjO0FBRWpDLE1BQU1DLGtCQUFrQixHQUFHUixJQUFJLENBQUMsQ0FBQztFQUFDUyxTQUFTO0VBQUVDLEtBQUs7RUFBRUM7QUFBUyxDQUFDLEtBQUs7RUFDakUsTUFBTUMsaUJBQWlCLEdBQUc7SUFDeEJGO0VBQ0YsQ0FBQztFQUVELElBQUksT0FBT0QsU0FBUyxJQUFJLFFBQVEsRUFBRTtJQUNoQyxJQUFJQSxTQUFTLENBQUNBLFNBQVMsRUFBRUcsaUJBQWlCLENBQUNILFNBQVMsR0FBR0EsU0FBUyxDQUFDQSxTQUFTO0lBQzFFLElBQUlBLFNBQVMsQ0FBQ0ksT0FBTyxFQUFFRCxpQkFBaUIsQ0FBQ0UsUUFBUSxHQUFHTCxTQUFTLENBQUNJLE9BQU8sQ0FBQ0YsU0FBUyxDQUFDO0lBQ2hGLElBQUlGLFNBQVMsQ0FBQ00sS0FBSyxFQUFFSCxpQkFBaUIsQ0FBQ0csS0FBSyxHQUFHTixTQUFTLENBQUNNLEtBQUs7RUFDaEUsQ0FBQyxNQUFNLElBQUlOLFNBQVMsRUFBRTtJQUNwQkcsaUJBQWlCLENBQUNILFNBQVMsR0FBR0EsU0FBUztFQUN6QztFQUVBLG9CQUNFTyxLQUFBLENBQUFDLGFBQUEsQ0FBQ3RCLFlBQVksRUFBS2lCLGlCQUFvQixDQUFDO0FBRTNDLENBQUMsQ0FBQztBQUVGLGVBQWVaLElBQUksQ0FBQ0ksY0FBYyxDQUFDLE1BQU1jLDBCQUEwQixTQUFTdEIsYUFBYSxDQUFDO0VBQ3hGLE9BQU91QixTQUFTLEdBQUc7SUFDakJDLFVBQVUsRUFBRWxCLFNBQVMsQ0FBQ21CLElBQUksQ0FBQ0M7RUFDN0IsQ0FBQztFQUVEQyxLQUFLQSxDQUFBLEVBQUc7SUFDTixNQUFNO01BQUNIO0lBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQ0ksS0FBSztJQUMvQixNQUFNQyxZQUFZLEdBQUd0QixPQUFPLENBQUMsTUFBTUwsWUFBWSxDQUFDNEIsUUFBUSxDQUFDTixVQUFVLENBQUMsRUFBRSxDQUFDQSxVQUFVLENBQUMsQ0FBQztJQUNuRixNQUFNTyxVQUFVLEdBQUdGLFlBQVksQ0FBQ0csV0FBVyxFQUFFQyxJQUFJO0lBRWpELElBQUksQ0FBQ0MsV0FBVyxDQUFDO01BQUNMLFlBQVk7TUFBRUU7SUFBVSxDQUFDLENBQUM7RUFDOUM7RUFFQUksTUFBTUEsQ0FBQSxFQUFHO0lBQ1AsTUFBTTtNQUFDWDtJQUFVLENBQUMsR0FBRyxJQUFJLENBQUNJLEtBQUs7SUFDL0IsTUFBTTtNQUFDQyxZQUFZO01BQUVFO0lBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQ0ssRUFBRTtJQUMxQyxNQUFNQyxVQUFVLEdBQUdSLFlBQVksQ0FBQ1MsZ0JBQWdCLENBQUMsQ0FBQztJQUNsRCxNQUFNQyxZQUFZLEdBQUdSLFVBQVUsRUFBRVEsWUFBWTtJQUM3QyxNQUFNQyxjQUFjLEdBQUdoQixVQUFVLENBQUNpQixjQUFjLENBQUMsQ0FBQyxDQUFDQyxJQUFJO0lBQ3ZELE1BQU1DLGNBQWMsR0FBR25CLFVBQVUsQ0FBQ29CLFVBQVUsQ0FBQyxDQUFDO0lBQzlDLE1BQU1DLE9BQU8sR0FBRyxFQUFFO0lBQ2xCLE1BQU1DLE1BQU0sR0FBR2YsVUFBVSxFQUFFZ0IsV0FBVyxJQUFJLENBQUMsQ0FBQztJQUM1QyxNQUFNQyxnQkFBZ0IsR0FBR0YsTUFBTSxDQUFDTixjQUFjLENBQUMsSUFBSSxFQUFFO0lBRXJELElBQUlULFVBQVUsRUFBRWMsT0FBTyxFQUFFO01BQ3ZCLEtBQUssTUFBTUksaUJBQWlCLElBQUlsQixVQUFVLENBQUNjLE9BQU8sRUFBRTtRQUNsREEsT0FBTyxDQUFDSyxJQUFJLENBQUNELGlCQUFpQixDQUFDO01BQ2pDO0lBQ0Y7SUFFQSxJQUFJLEVBQUVULGNBQWMsSUFBSU0sTUFBTSxDQUFDLEVBQUVBLE1BQU0sQ0FBQ04sY0FBYyxDQUFDLEdBQUdRLGdCQUFnQjtJQUMxRSxJQUFJLENBQUNBLGdCQUFnQixDQUFDRyxRQUFRLENBQUNSLGNBQWMsQ0FBQyxFQUFFSyxnQkFBZ0IsQ0FBQ0UsSUFBSSxDQUFDUCxjQUFjLENBQUM7O0lBRXJGO0lBQ0EsS0FBSyxNQUFNOUIsU0FBUyxJQUFJVyxVQUFVLENBQUNhLFVBQVUsQ0FBQyxDQUFDLEVBQUU7TUFDL0MsSUFBSSxDQUFDeEIsU0FBUyxDQUFDdUMsbUJBQW1CLENBQUMsQ0FBQyxJQUFJdkMsU0FBUyxDQUFDNkIsSUFBSSxDQUFDLENBQUMsSUFBSSxNQUFNLEtBQUssQ0FBQ00sZ0JBQWdCLENBQUNHLFFBQVEsQ0FBQ3RDLFNBQVMsQ0FBQzZCLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUNuSE0sZ0JBQWdCLENBQUNFLElBQUksQ0FBQ3JDLFNBQVMsQ0FBQzZCLElBQUksQ0FBQyxDQUFDLENBQUM7TUFDekM7SUFDRjtJQUVBLEtBQUssTUFBTVcsVUFBVSxJQUFJN0IsVUFBVSxDQUFDOEIsV0FBVyxDQUFDLENBQUMsRUFBRTtNQUNqRCxJQUFJRCxVQUFVLENBQUNFLEtBQUssQ0FBQyxDQUFDLElBQUksWUFBWSxFQUFFO1FBQ3RDLE1BQU1DLG9CQUFvQixHQUFHSCxVQUFVLENBQUM3QixVQUFVLENBQUMsQ0FBQztRQUNwRCxNQUFNaUMsd0JBQXdCLEdBQUdELG9CQUFvQixDQUFDZixjQUFjLENBQUMsQ0FBQyxDQUFDQyxJQUFJO1FBQzNFLE1BQU1nQiw4QkFBOEIsR0FBR0Ysb0JBQW9CLENBQUNuQixVQUFVLENBQUMsQ0FBQztRQUN4RSxNQUFNc0IsYUFBYSxHQUFHRCw4QkFBOEIsQ0FBQ0UsSUFBSSxDQUFFL0MsU0FBUyxJQUFLQSxTQUFTLENBQUM2QixJQUFJLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQztRQUVwR0csT0FBTyxDQUFDSyxJQUFJLENBQUM3QyxVQUFVLENBQUN3RCxVQUFVLENBQUNSLFVBQVUsQ0FBQ1gsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXRELElBQUksRUFBRWUsd0JBQXdCLElBQUlYLE1BQU0sQ0FBQyxFQUFFQSxNQUFNLENBQUNXLHdCQUF3QixDQUFDLEdBQUcsRUFBRTtRQUNoRixJQUFJLENBQUNYLE1BQU0sQ0FBQ1csd0JBQXdCLENBQUMsQ0FBQ04sUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFTCxNQUFNLENBQUNXLHdCQUF3QixDQUFDLENBQUNQLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDakcsSUFBSVMsYUFBYSxJQUFJLENBQUNiLE1BQU0sQ0FBQ1csd0JBQXdCLENBQUMsQ0FBQ04sUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFTCxNQUFNLENBQUNXLHdCQUF3QixDQUFDLENBQUNQLElBQUksQ0FBQyxNQUFNLENBQUM7O1FBRXRIO1FBQ0EsSUFBSSxDQUFDRixnQkFBZ0IsQ0FBQ0csUUFBUSxDQUFDRSxVQUFVLENBQUNTLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRTtVQUN2RCxNQUFNQyxtQkFBbUIsR0FBR0wsOEJBQThCLENBQUNFLElBQUksQ0FBRS9DLFNBQVMsSUFBS0EsU0FBUyxDQUFDNkIsSUFBSSxDQUFDLENBQUMsSUFBSVcsVUFBVSxDQUFDUyxVQUFVLENBQUMsQ0FBQyxDQUFDO1VBRTNILElBQUksQ0FBQ0MsbUJBQW1CLEVBQUU7WUFDeEIsTUFBTSxJQUFJQyxLQUFLLENBQUMsR0FBR1gsVUFBVSxDQUFDUyxVQUFVLENBQUMsQ0FBQyxzQ0FBc0N0QixjQUFjLEVBQUUsQ0FBQztVQUNuRztVQUVBUSxnQkFBZ0IsQ0FBQ0UsSUFBSSxDQUFDRyxVQUFVLENBQUNTLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDaEQ7TUFDRixDQUFDLE1BQU0sSUFBSVQsVUFBVSxDQUFDRSxLQUFLLENBQUMsQ0FBQyxJQUFJLFNBQVMsRUFBRTtRQUMxQyxNQUFNQyxvQkFBb0IsR0FBR0gsVUFBVSxDQUFDN0IsVUFBVSxDQUFDLENBQUM7UUFDcEQsTUFBTWlDLHdCQUF3QixHQUFHRCxvQkFBb0IsQ0FBQ2YsY0FBYyxDQUFDLENBQUMsQ0FBQ0MsSUFBSTtRQUMzRSxNQUFNZ0IsOEJBQThCLEdBQUdGLG9CQUFvQixDQUFDbkIsVUFBVSxDQUFDLENBQUM7UUFDeEUsTUFBTXNCLGFBQWEsR0FBR0QsOEJBQThCLENBQUNFLElBQUksQ0FBRS9DLFNBQVMsSUFBS0EsU0FBUyxDQUFDNkIsSUFBSSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUM7UUFFcEdHLE9BQU8sQ0FBQ0ssSUFBSSxDQUFDN0MsVUFBVSxDQUFDd0QsVUFBVSxDQUFDUixVQUFVLENBQUNYLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV0RCxJQUFJLEVBQUVlLHdCQUF3QixJQUFJWCxNQUFNLENBQUMsRUFBRUEsTUFBTSxDQUFDVyx3QkFBd0IsQ0FBQyxHQUFHLEVBQUU7UUFDaEYsSUFBSSxDQUFDWCxNQUFNLENBQUNXLHdCQUF3QixDQUFDLENBQUNOLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRUwsTUFBTSxDQUFDVyx3QkFBd0IsQ0FBQyxDQUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ2pHLElBQUlTLGFBQWEsSUFBSSxDQUFDYixNQUFNLENBQUNXLHdCQUF3QixDQUFDLENBQUNOLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRUwsTUFBTSxDQUFDVyx3QkFBd0IsQ0FBQyxDQUFDUCxJQUFJLENBQUMsTUFBTSxDQUFDOztRQUV0SDtRQUNBLElBQUksQ0FBQ0YsZ0JBQWdCLENBQUNHLFFBQVEsQ0FBQ0UsVUFBVSxDQUFDUyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQ2hCLE1BQU0sQ0FBQ1csd0JBQXdCLENBQUMsQ0FBQ04sUUFBUSxDQUFDRSxVQUFVLENBQUNTLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDVCxVQUFVLENBQUNZLE9BQU8sQ0FBQyxDQUFDLEVBQUU7VUFDdkpuQixNQUFNLENBQUNXLHdCQUF3QixDQUFDLENBQUNQLElBQUksQ0FBQ0csVUFBVSxDQUFDUyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ2hFO01BQ0Y7SUFDRjtJQUVBLE1BQU1JLGNBQWMsR0FBR3hELFFBQVEsQ0FBQ2MsVUFBVSxFQUFFO01BQzFDMkMsZ0JBQWdCLEVBQUVBLENBQUM7UUFBQ0M7TUFBVyxDQUFDLEtBQUtBLFdBQVcsQ0FBQ0MsUUFBUTtNQUN6RHhCLE9BQU87TUFDUEM7SUFDRixDQUFDLENBQUM7SUFDRixNQUFNd0IsY0FBYyxHQUFHbkUsSUFBSSxDQUFDcUIsVUFBVSxDQUFDaUIsY0FBYyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQztJQUMxRSxNQUFNM0IsS0FBSyxHQUFHWCxJQUFJLENBQUMrRCxjQUFjLEVBQUVJLGNBQWMsQ0FBQztJQUNsRCxNQUFNdkQsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUVwQkEsU0FBUyxDQUFDVixVQUFVLENBQUNrRSxRQUFRLENBQUMvQyxVQUFVLENBQUNpQixjQUFjLENBQUMsQ0FBQyxDQUFDQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRzVCLEtBQUs7SUFFOUUsb0JBQ0VNLEtBQUEsQ0FBQUMsYUFBQSxDQUFDVixJQUFJO01BQUM2RCxPQUFPLEVBQUU7UUFBQ0MsU0FBUyxFQUFFO01BQXdCO0lBQUUsR0FDbEQzRCxLQUFLLGlCQUNKTSxLQUFBLENBQUFDLGFBQUEsQ0FBQ1osT0FBTztNQUFDSyxLQUFLLEVBQUVBLEtBQU07TUFBQ1UsVUFBVSxFQUFFQTtJQUFXLENBQUUsQ0FBQyxFQUVsRGEsVUFBVSxJQUFJdkIsS0FBSyxJQUFJdUIsVUFBVSxDQUFDcUMsR0FBRyxDQUFFN0QsU0FBUyxpQkFDL0NPLEtBQUEsQ0FBQUMsYUFBQSxDQUFDVCxrQkFBa0I7TUFBQ0MsU0FBUyxFQUFFQSxTQUFVO01BQUM4RCxHQUFHLEVBQUU5RCxTQUFTLENBQUM4RCxHQUFHLElBQUk5RCxTQUFTLENBQUNBLFNBQVMsSUFBSUEsU0FBVTtNQUFDRSxTQUFTLEVBQUVBLFNBQVU7TUFBQ0QsS0FBSyxFQUFFQTtJQUFNLENBQUUsQ0FDekksQ0FBQyxFQUNBQSxLQUFLLElBQUlVLFVBQVUsQ0FBQzhCLFdBQVcsQ0FBQyxDQUFDLENBQUNzQixNQUFNLENBQUV2QixVQUFVLElBQUtBLFVBQVUsQ0FBQ0UsS0FBSyxDQUFDLENBQUMsSUFBSSxZQUFZLElBQUlGLFVBQVUsQ0FBQ0UsS0FBSyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQ21CLEdBQUcsQ0FBRXJCLFVBQVUsaUJBQzlJakMsS0FBQSxDQUFBQyxhQUFBLENBQUNwQixxQkFBcUI7TUFBQzBFLEdBQUcsRUFBRXRCLFVBQVUsQ0FBQ1gsSUFBSSxDQUFDLENBQUU7TUFBQzVCLEtBQUssRUFBRUEsS0FBTTtNQUFDVSxVQUFVLEVBQUVBLFVBQVc7TUFBQzZCLFVBQVUsRUFBRUE7SUFBVyxDQUFFLENBQ2hILENBQUMsRUFDQXZDLEtBQUssSUFBSXlCLFlBQVksSUFBSUEsWUFBWSxDQUFDeEIsU0FBUyxDQUM1QyxDQUFDO0VBRVg7QUFDRixDQUFDLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import BaseComponent from "../base-component";
|
|
2
|
+
import { digg } from "diggerize";
|
|
3
|
+
import memo from "set-state-compare/src/memo";
|
|
4
|
+
import { useMemo } from "react";
|
|
5
|
+
import PropTypes from "prop-types";
|
|
6
|
+
import propTypesExact from "prop-types-exact";
|
|
7
|
+
import { shapeComponent } from "set-state-compare/src/shape-component";
|
|
8
|
+
export default memo(shapeComponent(class SuperAdminShowReflectionActions extends BaseComponent {
|
|
9
|
+
static propTypes = propTypesExact({
|
|
10
|
+
model: PropTypes.object,
|
|
11
|
+
modelClass: PropTypes.func,
|
|
12
|
+
reflectionName: PropTypes.string
|
|
13
|
+
});
|
|
14
|
+
setup() {
|
|
15
|
+
const {
|
|
16
|
+
modelClass,
|
|
17
|
+
reflectionName
|
|
18
|
+
} = this.p;
|
|
19
|
+
this.reflection = useMemo(() => modelClass.reflections().find(reflection => reflection.name() == reflectionName), [modelClass, reflectionName]);
|
|
20
|
+
this.canCan = useCanCan(() => [[this.reflection.modelClass(), ["new"]]]);
|
|
21
|
+
}
|
|
22
|
+
render() {
|
|
23
|
+
const {
|
|
24
|
+
canCan,
|
|
25
|
+
reflection
|
|
26
|
+
} = this.tt;
|
|
27
|
+
const {
|
|
28
|
+
model
|
|
29
|
+
} = this.p;
|
|
30
|
+
const modelClassName = digg(reflection, "reflectionData", "className");
|
|
31
|
+
const modelData = {};
|
|
32
|
+
const dataParamName = inflection.singularize(reflection.reflectionData.collectionName);
|
|
33
|
+
modelData[reflection.foreignKey()] = model?.id();
|
|
34
|
+
const linkParams = {
|
|
35
|
+
model: modelClassName,
|
|
36
|
+
mode: "new"
|
|
37
|
+
};
|
|
38
|
+
linkParams[dataParamName] = modelData;
|
|
39
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, canCan?.can("new", reflection.modelClass()) && /*#__PURE__*/React.createElement(Link, {
|
|
40
|
+
dataSet: {
|
|
41
|
+
class: "create-new-model-link"
|
|
42
|
+
},
|
|
43
|
+
to: Params.withParams(linkParams)
|
|
44
|
+
}, "Create new"));
|
|
45
|
+
}
|
|
46
|
+
}));
|
|
47
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwiZGlnZyIsIm1lbW8iLCJ1c2VNZW1vIiwiUHJvcFR5cGVzIiwicHJvcFR5cGVzRXhhY3QiLCJzaGFwZUNvbXBvbmVudCIsIlN1cGVyQWRtaW5TaG93UmVmbGVjdGlvbkFjdGlvbnMiLCJwcm9wVHlwZXMiLCJtb2RlbCIsIm9iamVjdCIsIm1vZGVsQ2xhc3MiLCJmdW5jIiwicmVmbGVjdGlvbk5hbWUiLCJzdHJpbmciLCJzZXR1cCIsInAiLCJyZWZsZWN0aW9uIiwicmVmbGVjdGlvbnMiLCJmaW5kIiwibmFtZSIsImNhbkNhbiIsInVzZUNhbkNhbiIsInJlbmRlciIsInR0IiwibW9kZWxDbGFzc05hbWUiLCJtb2RlbERhdGEiLCJkYXRhUGFyYW1OYW1lIiwiaW5mbGVjdGlvbiIsInNpbmd1bGFyaXplIiwicmVmbGVjdGlvbkRhdGEiLCJjb2xsZWN0aW9uTmFtZSIsImZvcmVpZ25LZXkiLCJpZCIsImxpbmtQYXJhbXMiLCJtb2RlIiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJjYW4iLCJMaW5rIiwiZGF0YVNldCIsImNsYXNzIiwidG8iLCJQYXJhbXMiLCJ3aXRoUGFyYW1zIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N1cGVyLWFkbWluL3Nob3ctcmVmbGVjdGlvbi1hY3Rpb25zLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvbWVtb1wiXG5pbXBvcnQge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL3NoYXBlLWNvbXBvbmVudFwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgU3VwZXJBZG1pblNob3dSZWZsZWN0aW9uQWN0aW9ucyBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0gcHJvcFR5cGVzRXhhY3Qoe1xuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG1vZGVsQ2xhc3M6IFByb3BUeXBlcy5mdW5jLFxuICAgIHJlZmxlY3Rpb25OYW1lOiBQcm9wVHlwZXMuc3RyaW5nXG4gIH0pXG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge21vZGVsQ2xhc3MsIHJlZmxlY3Rpb25OYW1lfSA9IHRoaXMucFxuXG4gICAgdGhpcy5yZWZsZWN0aW9uID0gdXNlTWVtbygoKSA9PiBtb2RlbENsYXNzLnJlZmxlY3Rpb25zKCkuZmluZCgocmVmbGVjdGlvbikgPT4gcmVmbGVjdGlvbi5uYW1lKCkgPT0gcmVmbGVjdGlvbk5hbWUpLCBbbW9kZWxDbGFzcywgcmVmbGVjdGlvbk5hbWVdKVxuICAgIHRoaXMuY2FuQ2FuID0gdXNlQ2FuQ2FuKCgpID0+IFtbdGhpcy5yZWZsZWN0aW9uLm1vZGVsQ2xhc3MoKSwgW1wibmV3XCJdXV0pXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2NhbkNhbiwgcmVmbGVjdGlvbn0gPSB0aGlzLnR0XG4gICAgY29uc3Qge21vZGVsfSA9IHRoaXMucFxuICAgIGNvbnN0IG1vZGVsQ2xhc3NOYW1lID0gZGlnZyhyZWZsZWN0aW9uLCBcInJlZmxlY3Rpb25EYXRhXCIsIFwiY2xhc3NOYW1lXCIpXG4gICAgY29uc3QgbW9kZWxEYXRhID0ge31cbiAgICBjb25zdCBkYXRhUGFyYW1OYW1lID0gaW5mbGVjdGlvbi5zaW5ndWxhcml6ZShyZWZsZWN0aW9uLnJlZmxlY3Rpb25EYXRhLmNvbGxlY3Rpb25OYW1lKVxuXG4gICAgbW9kZWxEYXRhW3JlZmxlY3Rpb24uZm9yZWlnbktleSgpXSA9IG1vZGVsPy5pZCgpXG5cbiAgICBjb25zdCBsaW5rUGFyYW1zID0ge1xuICAgICAgbW9kZWw6IG1vZGVsQ2xhc3NOYW1lLFxuICAgICAgbW9kZTogXCJuZXdcIlxuICAgIH1cblxuICAgIGxpbmtQYXJhbXNbZGF0YVBhcmFtTmFtZV0gPSBtb2RlbERhdGFcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7Y2FuQ2FuPy5jYW4oXCJuZXdcIiwgcmVmbGVjdGlvbi5tb2RlbENsYXNzKCkpICYmXG4gICAgICAgICAgPExpbmsgZGF0YVNldD17e2NsYXNzOiBcImNyZWF0ZS1uZXctbW9kZWwtbGlua1wifX0gdG89e1BhcmFtcy53aXRoUGFyYW1zKGxpbmtQYXJhbXMpfT5cbiAgICAgICAgICAgIENyZWF0ZSBuZXdcbiAgICAgICAgICA8L0xpbms+XG4gICAgICAgIH1cbiAgICAgIDwvPlxuICAgIClcbiAgfVxufSkpXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLGFBQWEsTUFBTSxtQkFBbUI7QUFDN0MsU0FBUUMsSUFBSSxRQUFPLFdBQVc7QUFDOUIsT0FBT0MsSUFBSSxNQUFNLDRCQUE0QjtBQUM3QyxTQUFRQyxPQUFPLFFBQU8sT0FBTztBQUM3QixPQUFPQyxTQUFTLE1BQU0sWUFBWTtBQUNsQyxPQUFPQyxjQUFjLE1BQU0sa0JBQWtCO0FBQzdDLFNBQVFDLGNBQWMsUUFBTyx1Q0FBdUM7QUFFcEUsZUFBZUosSUFBSSxDQUFDSSxjQUFjLENBQUMsTUFBTUMsK0JBQStCLFNBQVNQLGFBQWEsQ0FBQztFQUM3RixPQUFPUSxTQUFTLEdBQUdILGNBQWMsQ0FBQztJQUNoQ0ksS0FBSyxFQUFFTCxTQUFTLENBQUNNLE1BQU07SUFDdkJDLFVBQVUsRUFBRVAsU0FBUyxDQUFDUSxJQUFJO0lBQzFCQyxjQUFjLEVBQUVULFNBQVMsQ0FBQ1U7RUFDNUIsQ0FBQyxDQUFDO0VBRUZDLEtBQUtBLENBQUEsRUFBRztJQUNOLE1BQU07TUFBQ0osVUFBVTtNQUFFRTtJQUFjLENBQUMsR0FBRyxJQUFJLENBQUNHLENBQUM7SUFFM0MsSUFBSSxDQUFDQyxVQUFVLEdBQUdkLE9BQU8sQ0FBQyxNQUFNUSxVQUFVLENBQUNPLFdBQVcsQ0FBQyxDQUFDLENBQUNDLElBQUksQ0FBRUYsVUFBVSxJQUFLQSxVQUFVLENBQUNHLElBQUksQ0FBQyxDQUFDLElBQUlQLGNBQWMsQ0FBQyxFQUFFLENBQUNGLFVBQVUsRUFBRUUsY0FBYyxDQUFDLENBQUM7SUFDakosSUFBSSxDQUFDUSxNQUFNLEdBQUdDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUNMLFVBQVUsQ0FBQ04sVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztFQUMxRTtFQUVBWSxNQUFNQSxDQUFBLEVBQUc7SUFDUCxNQUFNO01BQUNGLE1BQU07TUFBRUo7SUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDTyxFQUFFO0lBQ3BDLE1BQU07TUFBQ2Y7SUFBSyxDQUFDLEdBQUcsSUFBSSxDQUFDTyxDQUFDO0lBQ3RCLE1BQU1TLGNBQWMsR0FBR3hCLElBQUksQ0FBQ2dCLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLENBQUM7SUFDdEUsTUFBTVMsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNwQixNQUFNQyxhQUFhLEdBQUdDLFVBQVUsQ0FBQ0MsV0FBVyxDQUFDWixVQUFVLENBQUNhLGNBQWMsQ0FBQ0MsY0FBYyxDQUFDO0lBRXRGTCxTQUFTLENBQUNULFVBQVUsQ0FBQ2UsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHdkIsS0FBSyxFQUFFd0IsRUFBRSxDQUFDLENBQUM7SUFFaEQsTUFBTUMsVUFBVSxHQUFHO01BQ2pCekIsS0FBSyxFQUFFZ0IsY0FBYztNQUNyQlUsSUFBSSxFQUFFO0lBQ1IsQ0FBQztJQUVERCxVQUFVLENBQUNQLGFBQWEsQ0FBQyxHQUFHRCxTQUFTO0lBRXJDLG9CQUNFVSxLQUFBLENBQUFDLGFBQUEsQ0FBQUQsS0FBQSxDQUFBRSxRQUFBLFFBQ0dqQixNQUFNLEVBQUVrQixHQUFHLENBQUMsS0FBSyxFQUFFdEIsVUFBVSxDQUFDTixVQUFVLENBQUMsQ0FBQyxDQUFDLGlCQUMxQ3lCLEtBQUEsQ0FBQUMsYUFBQSxDQUFDRyxJQUFJO01BQUNDLE9BQU8sRUFBRTtRQUFDQyxLQUFLLEVBQUU7TUFBdUIsQ0FBRTtNQUFDQyxFQUFFLEVBQUVDLE1BQU0sQ0FBQ0MsVUFBVSxDQUFDWCxVQUFVO0lBQUUsR0FBQyxZQUU5RSxDQUVSLENBQUM7RUFFUDtBQUNGLENBQUMsQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import BaseComponent from "../base-component";
|
|
2
|
+
import { digg } from "diggerize";
|
|
3
|
+
import Link from "../link";
|
|
4
|
+
import memo from "set-state-compare/src/memo";
|
|
5
|
+
import { shapeComponent } from "set-state-compare/src/shape-component";
|
|
6
|
+
import Text from "../utils/text";
|
|
7
|
+
import { useMemo } from "react";
|
|
8
|
+
export default memo(shapeComponent(class ApiMakerSuperAdminShowReflectionLink extends BaseComponent {
|
|
9
|
+
setup() {
|
|
10
|
+
this.useStates({
|
|
11
|
+
count: undefined
|
|
12
|
+
});
|
|
13
|
+
useMemo(() => {
|
|
14
|
+
this.countRelationship();
|
|
15
|
+
}, []);
|
|
16
|
+
}
|
|
17
|
+
countRelationship = async () => {
|
|
18
|
+
const {
|
|
19
|
+
model,
|
|
20
|
+
reflection
|
|
21
|
+
} = this.p;
|
|
22
|
+
const query = model[reflection.name()]();
|
|
23
|
+
const count = await query.ransack().count();
|
|
24
|
+
this.setState({
|
|
25
|
+
count
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
render() {
|
|
29
|
+
const {
|
|
30
|
+
model,
|
|
31
|
+
modelClass,
|
|
32
|
+
reflection
|
|
33
|
+
} = this.p;
|
|
34
|
+
const {
|
|
35
|
+
count
|
|
36
|
+
} = this.s;
|
|
37
|
+
return /*#__PURE__*/React.createElement(Link, {
|
|
38
|
+
to: Params.withParams({
|
|
39
|
+
model: digg(modelClass.modelClassData(), "name"),
|
|
40
|
+
model_id: model.primaryKey(),
|
|
41
|
+
model_reflection: reflection.name()
|
|
42
|
+
})
|
|
43
|
+
}, /*#__PURE__*/React.createElement(Text, null, modelClass.humanAttributeName(reflection.name()), " (", count, ")"));
|
|
44
|
+
}
|
|
45
|
+
}));
|
|
46
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwiZGlnZyIsIkxpbmsiLCJtZW1vIiwic2hhcGVDb21wb25lbnQiLCJUZXh0IiwidXNlTWVtbyIsIkFwaU1ha2VyU3VwZXJBZG1pblNob3dSZWZsZWN0aW9uTGluayIsInNldHVwIiwidXNlU3RhdGVzIiwiY291bnQiLCJ1bmRlZmluZWQiLCJjb3VudFJlbGF0aW9uc2hpcCIsIm1vZGVsIiwicmVmbGVjdGlvbiIsInAiLCJxdWVyeSIsIm5hbWUiLCJyYW5zYWNrIiwic2V0U3RhdGUiLCJyZW5kZXIiLCJtb2RlbENsYXNzIiwicyIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsInRvIiwiUGFyYW1zIiwid2l0aFBhcmFtcyIsIm1vZGVsQ2xhc3NEYXRhIiwibW9kZWxfaWQiLCJwcmltYXJ5S2V5IiwibW9kZWxfcmVmbGVjdGlvbiIsImh1bWFuQXR0cmlidXRlTmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdXBlci1hZG1pbi9zaG93LXJlZmxlY3Rpb24tbGluay5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgTGluayBmcm9tIFwiLi4vbGlua1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL21lbW9cIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9zaGFwZS1jb21wb25lbnRcIlxuaW1wb3J0IFRleHQgZnJvbSBcIi4uL3V0aWxzL3RleHRcIlxuaW1wb3J0IHt1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyU3VwZXJBZG1pblNob3dSZWZsZWN0aW9uTGluayBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzZXR1cCgpIHtcbiAgICB0aGlzLnVzZVN0YXRlcyh7Y291bnQ6IHVuZGVmaW5lZH0pXG5cbiAgICB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHRoaXMuY291bnRSZWxhdGlvbnNoaXAoKVxuICAgIH0sIFtdKVxuICB9XG5cbiAgY291bnRSZWxhdGlvbnNoaXAgPSBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qge21vZGVsLCByZWZsZWN0aW9ufSA9IHRoaXMucFxuICAgIGNvbnN0IHF1ZXJ5ID0gbW9kZWxbcmVmbGVjdGlvbi5uYW1lKCldKClcbiAgICBjb25zdCBjb3VudCA9IGF3YWl0IHF1ZXJ5LnJhbnNhY2soKS5jb3VudCgpXG5cbiAgICB0aGlzLnNldFN0YXRlKHtjb3VudH0pXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge21vZGVsLCBtb2RlbENsYXNzLCByZWZsZWN0aW9ufSA9IHRoaXMucFxuICAgIGNvbnN0IHtjb3VudH0gPSB0aGlzLnNcblxuICAgIHJldHVybiAoXG4gICAgICA8TGluayB0bz17UGFyYW1zLndpdGhQYXJhbXMoe21vZGVsOiBkaWdnKG1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lXCIpLCBtb2RlbF9pZDogbW9kZWwucHJpbWFyeUtleSgpLCBtb2RlbF9yZWZsZWN0aW9uOiByZWZsZWN0aW9uLm5hbWUoKX0pfT5cbiAgICAgICAgPFRleHQ+XG4gICAgICAgICAge21vZGVsQ2xhc3MuaHVtYW5BdHRyaWJ1dGVOYW1lKHJlZmxlY3Rpb24ubmFtZSgpKX0gKHtjb3VudH0pXG4gICAgICAgIDwvVGV4dD5cbiAgICAgIDwvTGluaz5cbiAgICApXG4gIH1cbn0pKVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxhQUFhLE1BQU0sbUJBQW1CO0FBQzdDLFNBQVFDLElBQUksUUFBTyxXQUFXO0FBQzlCLE9BQU9DLElBQUksTUFBTSxTQUFTO0FBQzFCLE9BQU9DLElBQUksTUFBTSw0QkFBNEI7QUFDN0MsU0FBUUMsY0FBYyxRQUFPLHVDQUF1QztBQUNwRSxPQUFPQyxJQUFJLE1BQU0sZUFBZTtBQUNoQyxTQUFRQyxPQUFPLFFBQU8sT0FBTztBQUU3QixlQUFlSCxJQUFJLENBQUNDLGNBQWMsQ0FBQyxNQUFNRyxvQ0FBb0MsU0FBU1AsYUFBYSxDQUFDO0VBQ2xHUSxLQUFLQSxDQUFBLEVBQUc7SUFDTixJQUFJLENBQUNDLFNBQVMsQ0FBQztNQUFDQyxLQUFLLEVBQUVDO0lBQVMsQ0FBQyxDQUFDO0lBRWxDTCxPQUFPLENBQUMsTUFBTTtNQUNaLElBQUksQ0FBQ00saUJBQWlCLENBQUMsQ0FBQztJQUMxQixDQUFDLEVBQUUsRUFBRSxDQUFDO0VBQ1I7RUFFQUEsaUJBQWlCLEdBQUcsTUFBQUEsQ0FBQSxLQUFZO0lBQzlCLE1BQU07TUFBQ0MsS0FBSztNQUFFQztJQUFVLENBQUMsR0FBRyxJQUFJLENBQUNDLENBQUM7SUFDbEMsTUFBTUMsS0FBSyxHQUFHSCxLQUFLLENBQUNDLFVBQVUsQ0FBQ0csSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEMsTUFBTVAsS0FBSyxHQUFHLE1BQU1NLEtBQUssQ0FBQ0UsT0FBTyxDQUFDLENBQUMsQ0FBQ1IsS0FBSyxDQUFDLENBQUM7SUFFM0MsSUFBSSxDQUFDUyxRQUFRLENBQUM7TUFBQ1Q7SUFBSyxDQUFDLENBQUM7RUFDeEIsQ0FBQztFQUVEVSxNQUFNQSxDQUFBLEVBQUc7SUFDUCxNQUFNO01BQUNQLEtBQUs7TUFBRVEsVUFBVTtNQUFFUDtJQUFVLENBQUMsR0FBRyxJQUFJLENBQUNDLENBQUM7SUFDOUMsTUFBTTtNQUFDTDtJQUFLLENBQUMsR0FBRyxJQUFJLENBQUNZLENBQUM7SUFFdEIsb0JBQ0VDLEtBQUEsQ0FBQUMsYUFBQSxDQUFDdEIsSUFBSTtNQUFDdUIsRUFBRSxFQUFFQyxNQUFNLENBQUNDLFVBQVUsQ0FBQztRQUFDZCxLQUFLLEVBQUVaLElBQUksQ0FBQ29CLFVBQVUsQ0FBQ08sY0FBYyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUM7UUFBRUMsUUFBUSxFQUFFaEIsS0FBSyxDQUFDaUIsVUFBVSxDQUFDLENBQUM7UUFBRUMsZ0JBQWdCLEVBQUVqQixVQUFVLENBQUNHLElBQUksQ0FBQztNQUFDLENBQUM7SUFBRSxnQkFDakpNLEtBQUEsQ0FBQUMsYUFBQSxDQUFDbkIsSUFBSSxRQUNGZ0IsVUFBVSxDQUFDVyxrQkFBa0IsQ0FBQ2xCLFVBQVUsQ0FBQ0csSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUUsRUFBQ1AsS0FBSyxFQUFDLEdBQ3ZELENBQ0YsQ0FBQztFQUVYO0FBQ0YsQ0FBQyxDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import BaseComponent from "../base-component";
|
|
2
|
+
import { digg } from "diggerize";
|
|
3
|
+
import PropTypes from "prop-types";
|
|
4
|
+
import propTypesExact from "prop-types-exact";
|
|
5
|
+
import memo from "set-state-compare/src/memo";
|
|
6
|
+
import ModelClassTable from "./model-class-table";
|
|
7
|
+
import { shapeComponent } from "set-state-compare/src/shape-component";
|
|
8
|
+
import ShowNav from "./show-nav";
|
|
9
|
+
import useQueryParams from "on-location-changed/src/use-query-params";
|
|
10
|
+
import { View } from "react-native";
|
|
11
|
+
export default memo(shapeComponent(class ApiMakerSuperAdminShowReflectionPage extends BaseComponent {
|
|
12
|
+
static propTypes = propTypesExact({
|
|
13
|
+
modelClass: PropTypes.func.isRequired,
|
|
14
|
+
modelId: PropTypes.string.isRequired
|
|
15
|
+
});
|
|
16
|
+
render() {
|
|
17
|
+
const {
|
|
18
|
+
modelClass
|
|
19
|
+
} = this.p;
|
|
20
|
+
const queryParams = useQueryParams();
|
|
21
|
+
const camelizedLower = digg(modelClass.modelClassData(), "camelizedLower");
|
|
22
|
+
const useModelResult = useModel(modelClass, {
|
|
23
|
+
loadByQueryParam: ({
|
|
24
|
+
queryParams
|
|
25
|
+
}) => digg(queryParams, "model_id")
|
|
26
|
+
});
|
|
27
|
+
const model = digg(useModelResult, camelizedLower);
|
|
28
|
+
const reflections = modelClass.reflections();
|
|
29
|
+
const reflection = reflections.find(reflectionI => reflectionI.name() == queryParams.model_reflection);
|
|
30
|
+
const reflectionModelClass = reflection.modelClass();
|
|
31
|
+
let collection;
|
|
32
|
+
if (model) collection = model[reflection.name()]();
|
|
33
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
34
|
+
dataSet: {
|
|
35
|
+
component: "super-admin--show-page"
|
|
36
|
+
}
|
|
37
|
+
}, model && /*#__PURE__*/React.createElement(ShowNav, {
|
|
38
|
+
model: model,
|
|
39
|
+
modelClass: modelClass
|
|
40
|
+
}), collection && /*#__PURE__*/React.createElement(ModelClassTable, {
|
|
41
|
+
collection: collection,
|
|
42
|
+
key: reflectionModelClass.modelName().human(),
|
|
43
|
+
modelClass: reflectionModelClass
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
}));
|
|
47
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwiZGlnZyIsIlByb3BUeXBlcyIsInByb3BUeXBlc0V4YWN0IiwibWVtbyIsIk1vZGVsQ2xhc3NUYWJsZSIsInNoYXBlQ29tcG9uZW50IiwiU2hvd05hdiIsInVzZVF1ZXJ5UGFyYW1zIiwiVmlldyIsIkFwaU1ha2VyU3VwZXJBZG1pblNob3dSZWZsZWN0aW9uUGFnZSIsInByb3BUeXBlcyIsIm1vZGVsQ2xhc3MiLCJmdW5jIiwiaXNSZXF1aXJlZCIsIm1vZGVsSWQiLCJzdHJpbmciLCJyZW5kZXIiLCJwIiwicXVlcnlQYXJhbXMiLCJjYW1lbGl6ZWRMb3dlciIsIm1vZGVsQ2xhc3NEYXRhIiwidXNlTW9kZWxSZXN1bHQiLCJ1c2VNb2RlbCIsImxvYWRCeVF1ZXJ5UGFyYW0iLCJtb2RlbCIsInJlZmxlY3Rpb25zIiwicmVmbGVjdGlvbiIsImZpbmQiLCJyZWZsZWN0aW9uSSIsIm5hbWUiLCJtb2RlbF9yZWZsZWN0aW9uIiwicmVmbGVjdGlvbk1vZGVsQ2xhc3MiLCJjb2xsZWN0aW9uIiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiZGF0YVNldCIsImNvbXBvbmVudCIsImtleSIsIm1vZGVsTmFtZSIsImh1bWFuIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N1cGVyLWFkbWluL3Nob3ctcmVmbGVjdGlvbi1wYWdlLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvbWVtb1wiXG5pbXBvcnQgTW9kZWxDbGFzc1RhYmxlIGZyb20gXCIuL21vZGVsLWNsYXNzLXRhYmxlXCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvc2hhcGUtY29tcG9uZW50XCJcbmltcG9ydCBTaG93TmF2IGZyb20gXCIuL3Nob3ctbmF2XCJcbmltcG9ydCB1c2VRdWVyeVBhcmFtcyBmcm9tIFwib24tbG9jYXRpb24tY2hhbmdlZC9zcmMvdXNlLXF1ZXJ5LXBhcmFtc1wiXG5pbXBvcnQge1ZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyU3VwZXJBZG1pblNob3dSZWZsZWN0aW9uUGFnZSBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0gcHJvcFR5cGVzRXhhY3Qoe1xuICAgIG1vZGVsQ2xhc3M6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgbW9kZWxJZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkXG4gIH0pXG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHttb2RlbENsYXNzfSA9IHRoaXMucFxuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gdXNlUXVlcnlQYXJhbXMoKVxuICAgIGNvbnN0IGNhbWVsaXplZExvd2VyID0gZGlnZyhtb2RlbENsYXNzLm1vZGVsQ2xhc3NEYXRhKCksIFwiY2FtZWxpemVkTG93ZXJcIilcbiAgICBjb25zdCB1c2VNb2RlbFJlc3VsdCA9IHVzZU1vZGVsKG1vZGVsQ2xhc3MsIHtsb2FkQnlRdWVyeVBhcmFtOiAoe3F1ZXJ5UGFyYW1zfSkgPT4gZGlnZyhxdWVyeVBhcmFtcywgXCJtb2RlbF9pZFwiKX0pXG4gICAgY29uc3QgbW9kZWwgPSBkaWdnKHVzZU1vZGVsUmVzdWx0LCBjYW1lbGl6ZWRMb3dlcilcbiAgICBjb25zdCByZWZsZWN0aW9ucyA9IG1vZGVsQ2xhc3MucmVmbGVjdGlvbnMoKVxuICAgIGNvbnN0IHJlZmxlY3Rpb24gPSByZWZsZWN0aW9ucy5maW5kKChyZWZsZWN0aW9uSSkgPT4gcmVmbGVjdGlvbkkubmFtZSgpID09IHF1ZXJ5UGFyYW1zLm1vZGVsX3JlZmxlY3Rpb24pXG4gICAgY29uc3QgcmVmbGVjdGlvbk1vZGVsQ2xhc3MgPSByZWZsZWN0aW9uLm1vZGVsQ2xhc3MoKVxuICAgIGxldCBjb2xsZWN0aW9uXG5cbiAgICBpZiAobW9kZWwpIGNvbGxlY3Rpb24gPSBtb2RlbFtyZWZsZWN0aW9uLm5hbWUoKV0oKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3IGRhdGFTZXQ9e3tjb21wb25lbnQ6IFwic3VwZXItYWRtaW4tLXNob3ctcGFnZVwifX0+XG4gICAgICAgIHttb2RlbCAmJlxuICAgICAgICAgIDxTaG93TmF2IG1vZGVsPXttb2RlbH0gbW9kZWxDbGFzcz17bW9kZWxDbGFzc30gLz5cbiAgICAgICAgfVxuICAgICAgICB7Y29sbGVjdGlvbiAmJlxuICAgICAgICAgIDxNb2RlbENsYXNzVGFibGVcbiAgICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgICBrZXk9e3JlZmxlY3Rpb25Nb2RlbENsYXNzLm1vZGVsTmFtZSgpLmh1bWFuKCl9XG4gICAgICAgICAgICBtb2RlbENsYXNzPXtyZWZsZWN0aW9uTW9kZWxDbGFzc31cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICA8L1ZpZXc+XG4gICAgKVxuICB9XG59KSlcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsYUFBYSxNQUFNLG1CQUFtQjtBQUM3QyxTQUFRQyxJQUFJLFFBQU8sV0FBVztBQUM5QixPQUFPQyxTQUFTLE1BQU0sWUFBWTtBQUNsQyxPQUFPQyxjQUFjLE1BQU0sa0JBQWtCO0FBQzdDLE9BQU9DLElBQUksTUFBTSw0QkFBNEI7QUFDN0MsT0FBT0MsZUFBZSxNQUFNLHFCQUFxQjtBQUNqRCxTQUFRQyxjQUFjLFFBQU8sdUNBQXVDO0FBQ3BFLE9BQU9DLE9BQU8sTUFBTSxZQUFZO0FBQ2hDLE9BQU9DLGNBQWMsTUFBTSwwQ0FBMEM7QUFDckUsU0FBUUMsSUFBSSxRQUFPLGNBQWM7QUFFakMsZUFBZUwsSUFBSSxDQUFDRSxjQUFjLENBQUMsTUFBTUksb0NBQW9DLFNBQVNWLGFBQWEsQ0FBQztFQUNsRyxPQUFPVyxTQUFTLEdBQUdSLGNBQWMsQ0FBQztJQUNoQ1MsVUFBVSxFQUFFVixTQUFTLENBQUNXLElBQUksQ0FBQ0MsVUFBVTtJQUNyQ0MsT0FBTyxFQUFFYixTQUFTLENBQUNjLE1BQU0sQ0FBQ0Y7RUFDNUIsQ0FBQyxDQUFDO0VBRUZHLE1BQU1BLENBQUEsRUFBRztJQUNQLE1BQU07TUFBQ0w7SUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDTSxDQUFDO0lBQzNCLE1BQU1DLFdBQVcsR0FBR1gsY0FBYyxDQUFDLENBQUM7SUFDcEMsTUFBTVksY0FBYyxHQUFHbkIsSUFBSSxDQUFDVyxVQUFVLENBQUNTLGNBQWMsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLENBQUM7SUFDMUUsTUFBTUMsY0FBYyxHQUFHQyxRQUFRLENBQUNYLFVBQVUsRUFBRTtNQUFDWSxnQkFBZ0IsRUFBRUEsQ0FBQztRQUFDTDtNQUFXLENBQUMsS0FBS2xCLElBQUksQ0FBQ2tCLFdBQVcsRUFBRSxVQUFVO0lBQUMsQ0FBQyxDQUFDO0lBQ2pILE1BQU1NLEtBQUssR0FBR3hCLElBQUksQ0FBQ3FCLGNBQWMsRUFBRUYsY0FBYyxDQUFDO0lBQ2xELE1BQU1NLFdBQVcsR0FBR2QsVUFBVSxDQUFDYyxXQUFXLENBQUMsQ0FBQztJQUM1QyxNQUFNQyxVQUFVLEdBQUdELFdBQVcsQ0FBQ0UsSUFBSSxDQUFFQyxXQUFXLElBQUtBLFdBQVcsQ0FBQ0MsSUFBSSxDQUFDLENBQUMsSUFBSVgsV0FBVyxDQUFDWSxnQkFBZ0IsQ0FBQztJQUN4RyxNQUFNQyxvQkFBb0IsR0FBR0wsVUFBVSxDQUFDZixVQUFVLENBQUMsQ0FBQztJQUNwRCxJQUFJcUIsVUFBVTtJQUVkLElBQUlSLEtBQUssRUFBRVEsVUFBVSxHQUFHUixLQUFLLENBQUNFLFVBQVUsQ0FBQ0csSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFbEQsb0JBQ0VJLEtBQUEsQ0FBQUMsYUFBQSxDQUFDMUIsSUFBSTtNQUFDMkIsT0FBTyxFQUFFO1FBQUNDLFNBQVMsRUFBRTtNQUF3QjtJQUFFLEdBQ2xEWixLQUFLLGlCQUNKUyxLQUFBLENBQUFDLGFBQUEsQ0FBQzVCLE9BQU87TUFBQ2tCLEtBQUssRUFBRUEsS0FBTTtNQUFDYixVQUFVLEVBQUVBO0lBQVcsQ0FBRSxDQUFDLEVBRWxEcUIsVUFBVSxpQkFDVEMsS0FBQSxDQUFBQyxhQUFBLENBQUM5QixlQUFlO01BQ2Q0QixVQUFVLEVBQUVBLFVBQVc7TUFDdkJLLEdBQUcsRUFBRU4sb0JBQW9CLENBQUNPLFNBQVMsQ0FBQyxDQUFDLENBQUNDLEtBQUssQ0FBQyxDQUFFO01BQzlDNUIsVUFBVSxFQUFFb0I7SUFBcUIsQ0FDbEMsQ0FFQyxDQUFDO0VBRVg7QUFDRixDQUFDLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { digs } from "diggerize";
|
|
2
|
+
import * as inflection from "inflection";
|
|
3
|
+
import modelCallbackArgs from "./model-callback-args";
|
|
4
|
+
import MoneyFormatter from "../money-formatter";
|
|
5
|
+
import Text from "../utils/text";
|
|
6
|
+
export default class ApiMakerTableColumnContent {
|
|
7
|
+
constructor({
|
|
8
|
+
column,
|
|
9
|
+
mode = "react-native",
|
|
10
|
+
model,
|
|
11
|
+
table
|
|
12
|
+
}) {
|
|
13
|
+
this.column = column;
|
|
14
|
+
this.mode = mode;
|
|
15
|
+
this.model = model;
|
|
16
|
+
this.table = table;
|
|
17
|
+
}
|
|
18
|
+
columnContentFromContentArg() {
|
|
19
|
+
const args = modelCallbackArgs(this.table, this.model);
|
|
20
|
+
args.mode = this.mode;
|
|
21
|
+
const value = this.column.content(args);
|
|
22
|
+
return this.presentColumnValue(value);
|
|
23
|
+
}
|
|
24
|
+
columnsContentFromAttributeAndPath() {
|
|
25
|
+
const {
|
|
26
|
+
attribute: attributeName
|
|
27
|
+
} = digs(this.column, "attribute");
|
|
28
|
+
const attributeNameUnderscore = inflection.underscore(attributeName);
|
|
29
|
+
const path = this.column.path || [];
|
|
30
|
+
let value;
|
|
31
|
+
let currentModel = this.model;
|
|
32
|
+
if (path.length > 0) {
|
|
33
|
+
for (const pathPart of path) {
|
|
34
|
+
currentModel = currentModel[pathPart]();
|
|
35
|
+
if (!currentModel) return;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (!(attributeName in currentModel)) {
|
|
39
|
+
throw new Error(`${currentModel.constructor.modelName().human()} doesn't respond to ${attributeName}`);
|
|
40
|
+
}
|
|
41
|
+
if (currentModel.isAttributeLoaded(attributeName)) {
|
|
42
|
+
value = currentModel[attributeName]();
|
|
43
|
+
}
|
|
44
|
+
const attribute = currentModel.constructor.attributes().find(attribute => attribute.name() == attributeNameUnderscore);
|
|
45
|
+
const modelColumn = attribute?.getColumn();
|
|
46
|
+
if (modelColumn?.getType() == "date" && value) {
|
|
47
|
+
const contentText = this.presentDateTime({
|
|
48
|
+
apiMakerType: "date",
|
|
49
|
+
value
|
|
50
|
+
});
|
|
51
|
+
if (this.mode == "html") {
|
|
52
|
+
return contentText;
|
|
53
|
+
} else {
|
|
54
|
+
return /*#__PURE__*/React.createElement(Text, null, contentText);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return this.presentColumnValue(value);
|
|
58
|
+
}
|
|
59
|
+
content() {
|
|
60
|
+
if (this.column.content) {
|
|
61
|
+
return this.columnContentFromContentArg();
|
|
62
|
+
} else if (!this.column.content && this.column.attribute) {
|
|
63
|
+
return this.columnsContentFromAttributeAndPath();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
presentColumnValue(value) {
|
|
67
|
+
let contentText;
|
|
68
|
+
if (value instanceof Date) {
|
|
69
|
+
contentText = this.presentDateTime({
|
|
70
|
+
value
|
|
71
|
+
});
|
|
72
|
+
} else if (MoneyFormatter.isMoney(value)) {
|
|
73
|
+
contentText = MoneyFormatter.format(value);
|
|
74
|
+
} else if (typeof value == "boolean") {
|
|
75
|
+
if (value) {
|
|
76
|
+
contentText = I18n.t("js.shared.yes", {
|
|
77
|
+
defaultValue: "Yes"
|
|
78
|
+
});
|
|
79
|
+
} else {
|
|
80
|
+
contentText = I18n.t("js.shared.no", {
|
|
81
|
+
defaultValue: "No"
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
} else if (Array.isArray(value)) {
|
|
85
|
+
contentText = value.map(valuePart => this.presentColumnValue(valuePart)).filter(valuePart => Boolean(valuePart)).join(", ");
|
|
86
|
+
} else if (typeof value == "string") {
|
|
87
|
+
contentText = value;
|
|
88
|
+
} else {
|
|
89
|
+
// Its a React node - just return it and trust the provider to be HTML compatible.
|
|
90
|
+
return value;
|
|
91
|
+
}
|
|
92
|
+
if (this.mode == "html") {
|
|
93
|
+
return contentText;
|
|
94
|
+
}
|
|
95
|
+
return /*#__PURE__*/React.createElement(Text, null, contentText);
|
|
96
|
+
}
|
|
97
|
+
presentDateTime({
|
|
98
|
+
apiMakerType,
|
|
99
|
+
value
|
|
100
|
+
}) {
|
|
101
|
+
if (!apiMakerType || apiMakerType == "time") {
|
|
102
|
+
const dateTimeFormatName = this.table.props.defaultDateTimeFormatName || "time.formats.default";
|
|
103
|
+
return I18n.l(dateTimeFormatName, value);
|
|
104
|
+
} else if (apiMakerType == "date") {
|
|
105
|
+
const dateFormatName = this.table.props.defaultDateFormatName || "date.formats.default";
|
|
106
|
+
return I18n.l(dateFormatName, value);
|
|
107
|
+
} else {
|
|
108
|
+
throw new Error(`Unhandled type: ${apiMakerType}`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkaWdzIiwiaW5mbGVjdGlvbiIsIm1vZGVsQ2FsbGJhY2tBcmdzIiwiTW9uZXlGb3JtYXR0ZXIiLCJUZXh0IiwiQXBpTWFrZXJUYWJsZUNvbHVtbkNvbnRlbnQiLCJjb25zdHJ1Y3RvciIsImNvbHVtbiIsIm1vZGUiLCJtb2RlbCIsInRhYmxlIiwiY29sdW1uQ29udGVudEZyb21Db250ZW50QXJnIiwiYXJncyIsInZhbHVlIiwiY29udGVudCIsInByZXNlbnRDb2x1bW5WYWx1ZSIsImNvbHVtbnNDb250ZW50RnJvbUF0dHJpYnV0ZUFuZFBhdGgiLCJhdHRyaWJ1dGUiLCJhdHRyaWJ1dGVOYW1lIiwiYXR0cmlidXRlTmFtZVVuZGVyc2NvcmUiLCJ1bmRlcnNjb3JlIiwicGF0aCIsImN1cnJlbnRNb2RlbCIsImxlbmd0aCIsInBhdGhQYXJ0IiwiRXJyb3IiLCJtb2RlbE5hbWUiLCJodW1hbiIsImlzQXR0cmlidXRlTG9hZGVkIiwiYXR0cmlidXRlcyIsImZpbmQiLCJuYW1lIiwibW9kZWxDb2x1bW4iLCJnZXRDb2x1bW4iLCJnZXRUeXBlIiwiY29udGVudFRleHQiLCJwcmVzZW50RGF0ZVRpbWUiLCJhcGlNYWtlclR5cGUiLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJEYXRlIiwiaXNNb25leSIsImZvcm1hdCIsIkkxOG4iLCJ0IiwiZGVmYXVsdFZhbHVlIiwiQXJyYXkiLCJpc0FycmF5IiwibWFwIiwidmFsdWVQYXJ0IiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJkYXRlVGltZUZvcm1hdE5hbWUiLCJwcm9wcyIsImRlZmF1bHREYXRlVGltZUZvcm1hdE5hbWUiLCJsIiwiZGF0ZUZvcm1hdE5hbWUiLCJkZWZhdWx0RGF0ZUZvcm1hdE5hbWUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdGFibGUvY29sdW1uLWNvbnRlbnQuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGlnc30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBtb2RlbENhbGxiYWNrQXJncyBmcm9tIFwiLi9tb2RlbC1jYWxsYmFjay1hcmdzXCJcbmltcG9ydCBNb25leUZvcm1hdHRlciBmcm9tIFwiLi4vbW9uZXktZm9ybWF0dGVyXCJcbmltcG9ydCBUZXh0IGZyb20gXCIuLi91dGlscy90ZXh0XCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBpTWFrZXJUYWJsZUNvbHVtbkNvbnRlbnQge1xuICBjb25zdHJ1Y3Rvcih7Y29sdW1uLCBtb2RlID0gXCJyZWFjdC1uYXRpdmVcIiwgbW9kZWwsIHRhYmxlfSkge1xuICAgIHRoaXMuY29sdW1uID0gY29sdW1uXG4gICAgdGhpcy5tb2RlID0gbW9kZVxuICAgIHRoaXMubW9kZWwgPSBtb2RlbFxuICAgIHRoaXMudGFibGUgPSB0YWJsZVxuICB9XG5cbiAgY29sdW1uQ29udGVudEZyb21Db250ZW50QXJnKCkge1xuICAgIGNvbnN0IGFyZ3MgPSBtb2RlbENhbGxiYWNrQXJncyh0aGlzLnRhYmxlLCB0aGlzLm1vZGVsKVxuXG4gICAgYXJncy5tb2RlID0gdGhpcy5tb2RlXG5cbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuY29sdW1uLmNvbnRlbnQoYXJncylcblxuICAgIHJldHVybiB0aGlzLnByZXNlbnRDb2x1bW5WYWx1ZSh2YWx1ZSlcbiAgfVxuXG4gIGNvbHVtbnNDb250ZW50RnJvbUF0dHJpYnV0ZUFuZFBhdGgoKSB7XG4gICAgY29uc3Qge2F0dHJpYnV0ZTogYXR0cmlidXRlTmFtZX0gPSBkaWdzKHRoaXMuY29sdW1uLCBcImF0dHJpYnV0ZVwiKVxuICAgIGNvbnN0IGF0dHJpYnV0ZU5hbWVVbmRlcnNjb3JlID0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKGF0dHJpYnV0ZU5hbWUpXG4gICAgY29uc3QgcGF0aCA9IHRoaXMuY29sdW1uLnBhdGggfHwgW11cbiAgICBsZXQgdmFsdWVcbiAgICBsZXQgY3VycmVudE1vZGVsID0gdGhpcy5tb2RlbFxuXG4gICAgaWYgKHBhdGgubGVuZ3RoID4gMCkge1xuICAgICAgZm9yIChjb25zdCBwYXRoUGFydCBvZiBwYXRoKSB7XG4gICAgICAgIGN1cnJlbnRNb2RlbCA9IGN1cnJlbnRNb2RlbFtwYXRoUGFydF0oKVxuICAgICAgICBpZiAoIWN1cnJlbnRNb2RlbCkgcmV0dXJuXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCEoYXR0cmlidXRlTmFtZSBpbiBjdXJyZW50TW9kZWwpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7Y3VycmVudE1vZGVsLmNvbnN0cnVjdG9yLm1vZGVsTmFtZSgpLmh1bWFuKCl9IGRvZXNuJ3QgcmVzcG9uZCB0byAke2F0dHJpYnV0ZU5hbWV9YClcbiAgICB9XG5cbiAgICBpZiAoY3VycmVudE1vZGVsLmlzQXR0cmlidXRlTG9hZGVkKGF0dHJpYnV0ZU5hbWUpKSB7XG4gICAgICB2YWx1ZSA9IGN1cnJlbnRNb2RlbFthdHRyaWJ1dGVOYW1lXSgpXG4gICAgfVxuXG4gICAgY29uc3QgYXR0cmlidXRlID0gY3VycmVudE1vZGVsLmNvbnN0cnVjdG9yLmF0dHJpYnV0ZXMoKS5maW5kKChhdHRyaWJ1dGUpID0+IGF0dHJpYnV0ZS5uYW1lKCkgPT0gYXR0cmlidXRlTmFtZVVuZGVyc2NvcmUpXG4gICAgY29uc3QgbW9kZWxDb2x1bW4gPSBhdHRyaWJ1dGU/LmdldENvbHVtbigpXG5cbiAgICBpZiAobW9kZWxDb2x1bW4/LmdldFR5cGUoKSA9PSBcImRhdGVcIiAmJiB2YWx1ZSkge1xuICAgICAgY29uc3QgY29udGVudFRleHQgPSB0aGlzLnByZXNlbnREYXRlVGltZSh7YXBpTWFrZXJUeXBlOiBcImRhdGVcIiwgdmFsdWV9KVxuXG4gICAgICBpZiAodGhpcy5tb2RlID09IFwiaHRtbFwiKSB7XG4gICAgICAgIHJldHVybiBjb250ZW50VGV4dFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8VGV4dD57Y29udGVudFRleHR9PC9UZXh0PlxuICAgICAgICApXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucHJlc2VudENvbHVtblZhbHVlKHZhbHVlKVxuICB9XG5cbiAgY29udGVudCgpIHtcbiAgICBpZiAodGhpcy5jb2x1bW4uY29udGVudCkge1xuICAgICAgcmV0dXJuIHRoaXMuY29sdW1uQ29udGVudEZyb21Db250ZW50QXJnKClcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmNvbHVtbi5jb250ZW50ICYmIHRoaXMuY29sdW1uLmF0dHJpYnV0ZSkge1xuICAgICAgcmV0dXJuIHRoaXMuY29sdW1uc0NvbnRlbnRGcm9tQXR0cmlidXRlQW5kUGF0aCgpXG4gICAgfVxuICB9XG5cbiAgcHJlc2VudENvbHVtblZhbHVlKHZhbHVlKSB7XG4gICAgbGV0IGNvbnRlbnRUZXh0XG5cbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICBjb250ZW50VGV4dCA9IHRoaXMucHJlc2VudERhdGVUaW1lKHt2YWx1ZX0pXG4gICAgfSBlbHNlIGlmIChNb25leUZvcm1hdHRlci5pc01vbmV5KHZhbHVlKSkge1xuICAgICAgY29udGVudFRleHQgPSBNb25leUZvcm1hdHRlci5mb3JtYXQodmFsdWUpXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT0gXCJib29sZWFuXCIpIHtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICBjb250ZW50VGV4dCA9IEkxOG4udChcImpzLnNoYXJlZC55ZXNcIiwge2RlZmF1bHRWYWx1ZTogXCJZZXNcIn0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb250ZW50VGV4dCA9IEkxOG4udChcImpzLnNoYXJlZC5ub1wiLCB7ZGVmYXVsdFZhbHVlOiBcIk5vXCJ9KVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIGNvbnRlbnRUZXh0ID0gdmFsdWVcbiAgICAgICAgLm1hcCgodmFsdWVQYXJ0KSA9PiB0aGlzLnByZXNlbnRDb2x1bW5WYWx1ZSh2YWx1ZVBhcnQpKVxuICAgICAgICAuZmlsdGVyKCh2YWx1ZVBhcnQpID0+IEJvb2xlYW4odmFsdWVQYXJ0KSlcbiAgICAgICAgLmpvaW4oXCIsIFwiKVxuXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT0gXCJzdHJpbmdcIikge1xuICAgICAgY29udGVudFRleHQgPSB2YWx1ZVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBJdHMgYSBSZWFjdCBub2RlIC0ganVzdCByZXR1cm4gaXQgYW5kIHRydXN0IHRoZSBwcm92aWRlciB0byBiZSBIVE1MIGNvbXBhdGlibGUuXG4gICAgICByZXR1cm4gdmFsdWVcbiAgICB9XG5cbiAgICBpZiAodGhpcy5tb2RlID09IFwiaHRtbFwiKSB7XG4gICAgICByZXR1cm4gY29udGVudFRleHRcbiAgICB9XG5cbiAgICByZXR1cm4gPFRleHQ+e2NvbnRlbnRUZXh0fTwvVGV4dD5cbiAgfVxuXG4gIHByZXNlbnREYXRlVGltZSh7YXBpTWFrZXJUeXBlLCB2YWx1ZX0pIHtcbiAgICBpZiAoIWFwaU1ha2VyVHlwZSB8fCBhcGlNYWtlclR5cGUgPT0gXCJ0aW1lXCIpIHtcbiAgICAgIGNvbnN0IGRhdGVUaW1lRm9ybWF0TmFtZSA9IHRoaXMudGFibGUucHJvcHMuZGVmYXVsdERhdGVUaW1lRm9ybWF0TmFtZSB8fCBcInRpbWUuZm9ybWF0cy5kZWZhdWx0XCJcblxuICAgICAgcmV0dXJuIEkxOG4ubChkYXRlVGltZUZvcm1hdE5hbWUsIHZhbHVlKVxuICAgIH0gZWxzZSBpZiAoYXBpTWFrZXJUeXBlID09IFwiZGF0ZVwiKSB7XG4gICAgICBjb25zdCBkYXRlRm9ybWF0TmFtZSA9IHRoaXMudGFibGUucHJvcHMuZGVmYXVsdERhdGVGb3JtYXROYW1lIHx8IFwiZGF0ZS5mb3JtYXRzLmRlZmF1bHRcIlxuXG4gICAgICByZXR1cm4gSTE4bi5sKGRhdGVGb3JtYXROYW1lLCB2YWx1ZSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmhhbmRsZWQgdHlw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
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export default function columnIdentifier(column) {
|
|
2
|
+
if ("identifier" in column) return column.identifier;
|
|
3
|
+
const parts = [];
|
|
4
|
+
if ("path" in column) {
|
|
5
|
+
for (const pathPart of column.path) {
|
|
6
|
+
parts.push(pathPart);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
if ("attribute" in column) {
|
|
10
|
+
parts.push(`attribute-${column.attribute}`);
|
|
11
|
+
}
|
|
12
|
+
if ("sortKey" in column) {
|
|
13
|
+
parts.push(`sort-key-${column.sortKey}`);
|
|
14
|
+
}
|
|
15
|
+
if (parts.length == 0) throw new Error(`Couldn't figure out the identifier for that column: ${JSON.stringify(column)}`);
|
|
16
|
+
return parts.join("--");
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb2x1bW5JZGVudGlmaWVyIiwiY29sdW1uIiwiaWRlbnRpZmllciIsInBhcnRzIiwicGF0aFBhcnQiLCJwYXRoIiwicHVzaCIsImF0dHJpYnV0ZSIsInNvcnRLZXkiLCJsZW5ndGgiLCJFcnJvciIsIkpTT04iLCJzdHJpbmdpZnkiLCJqb2luIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RhYmxlL2NvbHVtbi1pZGVudGlmaWVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNvbHVtbklkZW50aWZpZXIoY29sdW1uKSB7XG4gIGlmIChcImlkZW50aWZpZXJcIiBpbiBjb2x1bW4pIHJldHVybiBjb2x1bW4uaWRlbnRpZmllclxuXG4gIGNvbnN0IHBhcnRzID0gW11cblxuICBpZiAoXCJwYXRoXCIgaW4gY29sdW1uKSB7XG4gICAgZm9yIChjb25zdCBwYXRoUGFydCBvZiBjb2x1bW4ucGF0aCkge1xuICAgICAgcGFydHMucHVzaChwYXRoUGFydClcbiAgICB9XG4gIH1cblxuICBpZiAoXCJhdHRyaWJ1dGVcIiBpbiBjb2x1bW4pIHtcbiAgICBwYXJ0cy5wdXNoKGBhdHRyaWJ1dGUtJHtjb2x1bW4uYXR0cmlidXRlfWApXG4gIH1cblxuICBpZiAoXCJzb3J0S2V5XCIgaW4gY29sdW1uKSB7XG4gICAgcGFydHMucHVzaChgc29ydC1rZXktJHtjb2x1bW4uc29ydEtleX1gKVxuICB9XG5cbiAgaWYgKHBhcnRzLmxlbmd0aCA9PSAwKSB0aHJvdyBuZXcgRXJyb3IoYENvdWxkbid0IGZpZ3VyZSBvdXQgdGhlIGlkZW50aWZpZXIgZm9yIHRoYXQgY29sdW1uOiAke0pTT04uc3RyaW5naWZ5KGNvbHVtbil9YClcblxuICByZXR1cm4gcGFydHMuam9pbihcIi0tXCIpXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLGVBQWUsU0FBU0EsZ0JBQWdCQSxDQUFDQyxNQUFNLEVBQUU7RUFDL0MsSUFBSSxZQUFZLElBQUlBLE1BQU0sRUFBRSxPQUFPQSxNQUFNLENBQUNDLFVBQVU7RUFFcEQsTUFBTUMsS0FBSyxHQUFHLEVBQUU7RUFFaEIsSUFBSSxNQUFNLElBQUlGLE1BQU0sRUFBRTtJQUNwQixLQUFLLE1BQU1HLFFBQVEsSUFBSUgsTUFBTSxDQUFDSSxJQUFJLEVBQUU7TUFDbENGLEtBQUssQ0FBQ0csSUFBSSxDQUFDRixRQUFRLENBQUM7SUFDdEI7RUFDRjtFQUVBLElBQUksV0FBVyxJQUFJSCxNQUFNLEVBQUU7SUFDekJFLEtBQUssQ0FBQ0csSUFBSSxDQUFDLGFBQWFMLE1BQU0sQ0FBQ00sU0FBUyxFQUFFLENBQUM7RUFDN0M7RUFFQSxJQUFJLFNBQVMsSUFBSU4sTUFBTSxFQUFFO0lBQ3ZCRSxLQUFLLENBQUNHLElBQUksQ0FBQyxZQUFZTCxNQUFNLENBQUNPLE9BQU8sRUFBRSxDQUFDO0VBQzFDO0VBRUEsSUFBSUwsS0FBSyxDQUFDTSxNQUFNLElBQUksQ0FBQyxFQUFFLE1BQU0sSUFBSUMsS0FBSyxDQUFDLHVEQUF1REMsSUFBSSxDQUFDQyxTQUFTLENBQUNYLE1BQU0sQ0FBQyxFQUFFLENBQUM7RUFFdkgsT0FBT0UsS0FBSyxDQUFDVSxJQUFJLENBQUMsSUFBSSxDQUFDO0FBQ3pCIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export default function columnVisible(column, tableSettingColumn) {
|
|
2
|
+
if (tableSettingColumn.visible() !== null) return tableSettingColumn.visible();
|
|
3
|
+
if (!column) return false;
|
|
4
|
+
if ("defaultVisible" in column) return column.defaultVisible;
|
|
5
|
+
return true;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb2x1bW5WaXNpYmxlIiwiY29sdW1uIiwidGFibGVTZXR0aW5nQ29sdW1uIiwidmlzaWJsZSIsImRlZmF1bHRWaXNpYmxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RhYmxlL2NvbHVtbi12aXNpYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNvbHVtblZpc2libGUoY29sdW1uLCB0YWJsZVNldHRpbmdDb2x1bW4pIHtcbiAgaWYgKHRhYmxlU2V0dGluZ0NvbHVtbi52aXNpYmxlKCkgIT09IG51bGwpIHJldHVybiB0YWJsZVNldHRpbmdDb2x1bW4udmlzaWJsZSgpXG4gIGlmICghY29sdW1uKSByZXR1cm4gZmFsc2VcbiAgaWYgKFwiZGVmYXVsdFZpc2libGVcIiBpbiBjb2x1bW4pIHJldHVybiBjb2x1bW4uZGVmYXVsdFZpc2libGVcblxuICByZXR1cm4gdHJ1ZVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxlQUFlLFNBQVNBLGFBQWFBLENBQUNDLE1BQU0sRUFBRUMsa0JBQWtCLEVBQUU7RUFDaEUsSUFBSUEsa0JBQWtCLENBQUNDLE9BQU8sQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU9ELGtCQUFrQixDQUFDQyxPQUFPLENBQUMsQ0FBQztFQUM5RSxJQUFJLENBQUNGLE1BQU0sRUFBRSxPQUFPLEtBQUs7RUFDekIsSUFBSSxnQkFBZ0IsSUFBSUEsTUFBTSxFQUFFLE9BQU9BLE1BQU0sQ0FBQ0csY0FBYztFQUU1RCxPQUFPLElBQUk7QUFDYiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import BaseComponent from "../../base-component";
|
|
3
|
+
import memo from "set-state-compare/src/memo";
|
|
4
|
+
import { shapeComponent } from "set-state-compare/src/shape-component";
|
|
5
|
+
import { Animated, View } from "react-native";
|
|
6
|
+
export default memo(shapeComponent(class SharedTableColumn extends BaseComponent {
|
|
7
|
+
render() {
|
|
8
|
+
const {
|
|
9
|
+
dataSet,
|
|
10
|
+
...restProps
|
|
11
|
+
} = this.props;
|
|
12
|
+
const actualDataSet = Object.assign({
|
|
13
|
+
component: "api-maker/table/components/column"
|
|
14
|
+
}, dataSet);
|
|
15
|
+
return /*#__PURE__*/React.createElement(Animated.View, _extends({
|
|
16
|
+
dataSet: actualDataSet
|
|
17
|
+
}, restProps));
|
|
18
|
+
}
|
|
19
|
+
}));
|
|
20
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwibWVtbyIsInNoYXBlQ29tcG9uZW50IiwiQW5pbWF0ZWQiLCJWaWV3IiwiU2hhcmVkVGFibGVDb2x1bW4iLCJyZW5kZXIiLCJkYXRhU2V0IiwicmVzdFByb3BzIiwicHJvcHMiLCJhY3R1YWxEYXRhU2V0IiwiT2JqZWN0IiwiYXNzaWduIiwiY29tcG9uZW50IiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFibGUvY29tcG9uZW50cy9jb2x1bW4uanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi8uLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL21lbW9cIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9zaGFwZS1jb21wb25lbnRcIlxuaW1wb3J0IHtBbmltYXRlZCwgVmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgU2hhcmVkVGFibGVDb2x1bW4gZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtkYXRhU2V0LCAuLi5yZXN0UHJvcHN9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IGFjdHVhbERhdGFTZXQgPSBPYmplY3QuYXNzaWduKFxuICAgICAge2NvbXBvbmVudDogXCJhcGktbWFrZXIvdGFibGUvY29tcG9uZW50cy9jb2x1bW5cIn0sXG4gICAgICBkYXRhU2V0XG4gICAgKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxBbmltYXRlZC5WaWV3IGRhdGFTZXQ9e2FjdHVhbERhdGFTZXR9IHsuLi5yZXN0UHJvcHN9IC8+XG4gICAgKVxuICB9XG59KSlcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLGFBQWEsTUFBTSxzQkFBc0I7QUFDaEQsT0FBT0MsSUFBSSxNQUFNLDRCQUE0QjtBQUM3QyxTQUFRQyxjQUFjLFFBQU8sdUNBQXVDO0FBQ3BFLFNBQVFDLFFBQVEsRUFBRUMsSUFBSSxRQUFPLGNBQWM7QUFFM0MsZUFBZUgsSUFBSSxDQUFDQyxjQUFjLENBQUMsTUFBTUcsaUJBQWlCLFNBQVNMLGFBQWEsQ0FBQztFQUMvRU0sTUFBTUEsQ0FBQSxFQUFHO0lBQ1AsTUFBTTtNQUFDQyxPQUFPO01BQUUsR0FBR0M7SUFBUyxDQUFDLEdBQUcsSUFBSSxDQUFDQyxLQUFLO0lBQzFDLE1BQU1DLGFBQWEsR0FBR0MsTUFBTSxDQUFDQyxNQUFNLENBQ2pDO01BQUNDLFNBQVMsRUFBRTtJQUFtQyxDQUFDLEVBQ2hETixPQUNGLENBQUM7SUFFRCxvQkFDRU8sS0FBQSxDQUFBQyxhQUFBLENBQUNaLFFBQVEsQ0FBQ0MsSUFBSSxFQUFBWSxRQUFBO01BQUNULE9BQU8sRUFBRUc7SUFBYyxHQUFLRixTQUFTLENBQUcsQ0FBQztFQUU1RDtBQUNGLENBQUMsQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import BaseComponent from "../../base-component";
|
|
3
|
+
import { FlatList } from "react-native";
|
|
4
|
+
import memo from "set-state-compare/src/memo";
|
|
5
|
+
import { shapeComponent } from "set-state-compare/src/shape-component";
|
|
6
|
+
export default memo(shapeComponent(class SharedTagble extends BaseComponent {
|
|
7
|
+
render() {
|
|
8
|
+
const {
|
|
9
|
+
style,
|
|
10
|
+
...restProps
|
|
11
|
+
} = this.props;
|
|
12
|
+
const actualStyle = Object.assign({
|
|
13
|
+
width: "100%"
|
|
14
|
+
}, style);
|
|
15
|
+
return /*#__PURE__*/React.createElement(FlatList, _extends({
|
|
16
|
+
style: actualStyle
|
|
17
|
+
}, restProps));
|
|
18
|
+
}
|
|
19
|
+
}));
|
|
20
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwiRmxhdExpc3QiLCJtZW1vIiwic2hhcGVDb21wb25lbnQiLCJTaGFyZWRUYWdibGUiLCJyZW5kZXIiLCJzdHlsZSIsInJlc3RQcm9wcyIsInByb3BzIiwiYWN0dWFsU3R5bGUiLCJPYmplY3QiLCJhc3NpZ24iLCJ3aWR0aCIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RhYmxlL2NvbXBvbmVudHMvZmxhdC1saXN0LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IHtGbGF0TGlzdH0gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL21lbW9cIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9zaGFwZS1jb21wb25lbnRcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIFNoYXJlZFRhZ2JsZSBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge3N0eWxlLCAuLi5yZXN0UHJvcHN9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IGFjdHVhbFN0eWxlID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHt3aWR0aDogXCIxMDAlXCJ9LFxuICAgICAgc3R5bGVcbiAgICApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPEZsYXRMaXN0IHN0eWxlPXthY3R1YWxTdHlsZX0gey4uLnJlc3RQcm9wc30gLz5cbiAgICApXG4gIH1cbn0pKVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsYUFBYSxNQUFNLHNCQUFzQjtBQUNoRCxTQUFRQyxRQUFRLFFBQU8sY0FBYztBQUNyQyxPQUFPQyxJQUFJLE1BQU0sNEJBQTRCO0FBQzdDLFNBQVFDLGNBQWMsUUFBTyx1Q0FBdUM7QUFFcEUsZUFBZUQsSUFBSSxDQUFDQyxjQUFjLENBQUMsTUFBTUMsWUFBWSxTQUFTSixhQUFhLENBQUM7RUFDMUVLLE1BQU1BLENBQUEsRUFBRztJQUNQLE1BQU07TUFBQ0MsS0FBSztNQUFFLEdBQUdDO0lBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQ0MsS0FBSztJQUN4QyxNQUFNQyxXQUFXLEdBQUdDLE1BQU0sQ0FBQ0MsTUFBTSxDQUMvQjtNQUFDQyxLQUFLLEVBQUU7SUFBTSxDQUFDLEVBQ2ZOLEtBQ0YsQ0FBQztJQUVELG9CQUNFTyxLQUFBLENBQUFDLGFBQUEsQ0FBQ2IsUUFBUSxFQUFBYyxRQUFBO01BQUNULEtBQUssRUFBRUc7SUFBWSxHQUFLRixTQUFTLENBQUcsQ0FBQztFQUVuRDtBQUNGLENBQUMsQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import BaseComponent from "../../base-component";
|
|
3
|
+
import classNames from "classnames";
|
|
4
|
+
import memo from "set-state-compare/src/memo";
|
|
5
|
+
import { shapeComponent } from "set-state-compare/src/shape-component";
|
|
6
|
+
import { Animated } from "react-native";
|
|
7
|
+
export default memo(shapeComponent(class SharedTableHeader extends BaseComponent {
|
|
8
|
+
render() {
|
|
9
|
+
const {
|
|
10
|
+
dataSet,
|
|
11
|
+
...restProps
|
|
12
|
+
} = this.props;
|
|
13
|
+
const {
|
|
14
|
+
component,
|
|
15
|
+
...restDataSet
|
|
16
|
+
} = dataSet || {};
|
|
17
|
+
const actualDataSet = Object.assign({
|
|
18
|
+
component: classNames("api-maker/table/header", component)
|
|
19
|
+
}, restDataSet);
|
|
20
|
+
return /*#__PURE__*/React.createElement(Animated.View, _extends({
|
|
21
|
+
dataSet: actualDataSet
|
|
22
|
+
}, restProps));
|
|
23
|
+
}
|
|
24
|
+
}));
|
|
25
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwiY2xhc3NOYW1lcyIsIm1lbW8iLCJzaGFwZUNvbXBvbmVudCIsIkFuaW1hdGVkIiwiU2hhcmVkVGFibGVIZWFkZXIiLCJyZW5kZXIiLCJkYXRhU2V0IiwicmVzdFByb3BzIiwicHJvcHMiLCJjb21wb25lbnQiLCJyZXN0RGF0YVNldCIsImFjdHVhbERhdGFTZXQiLCJPYmplY3QiLCJhc3NpZ24iLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJWaWV3IiwiX2V4dGVuZHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFibGUvY29tcG9uZW50cy9oZWFkZXIuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi8uLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL21lbW9cIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9zaGFwZS1jb21wb25lbnRcIlxuaW1wb3J0IHtBbmltYXRlZH0gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgU2hhcmVkVGFibGVIZWFkZXIgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtkYXRhU2V0LCAuLi5yZXN0UHJvcHN9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtjb21wb25lbnQsIC4uLnJlc3REYXRhU2V0fSA9IGRhdGFTZXQgfHwge31cbiAgICBjb25zdCBhY3R1YWxEYXRhU2V0ID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHtjb21wb25lbnQ6IGNsYXNzTmFtZXMoXCJhcGktbWFrZXIvdGFibGUvaGVhZGVyXCIsIGNvbXBvbmVudCl9LFxuICAgICAgcmVzdERhdGFTZXRcbiAgICApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPEFuaW1hdGVkLlZpZXcgZGF0YVNldD17YWN0dWFsRGF0YVNldH0gey4uLnJlc3RQcm9wc30gLz5cbiAgICApXG4gIH1cbn0pKVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsYUFBYSxNQUFNLHNCQUFzQjtBQUNoRCxPQUFPQyxVQUFVLE1BQU0sWUFBWTtBQUNuQyxPQUFPQyxJQUFJLE1BQU0sNEJBQTRCO0FBQzdDLFNBQVFDLGNBQWMsUUFBTyx1Q0FBdUM7QUFDcEUsU0FBUUMsUUFBUSxRQUFPLGNBQWM7QUFFckMsZUFBZUYsSUFBSSxDQUFDQyxjQUFjLENBQUMsTUFBTUUsaUJBQWlCLFNBQVNMLGFBQWEsQ0FBQztFQUMvRU0sTUFBTUEsQ0FBQSxFQUFHO0lBQ1AsTUFBTTtNQUFDQyxPQUFPO01BQUUsR0FBR0M7SUFBUyxDQUFDLEdBQUcsSUFBSSxDQUFDQyxLQUFLO0lBQzFDLE1BQU07TUFBQ0MsU0FBUztNQUFFLEdBQUdDO0lBQVcsQ0FBQyxHQUFHSixPQUFPLElBQUksQ0FBQyxDQUFDO0lBQ2pELE1BQU1LLGFBQWEsR0FBR0MsTUFBTSxDQUFDQyxNQUFNLENBQ2pDO01BQUNKLFNBQVMsRUFBRVQsVUFBVSxDQUFDLHdCQUF3QixFQUFFUyxTQUFTO0lBQUMsQ0FBQyxFQUM1REMsV0FDRixDQUFDO0lBRUQsb0JBQ0VJLEtBQUEsQ0FBQUMsYUFBQSxDQUFDWixRQUFRLENBQUNhLElBQUksRUFBQUMsUUFBQTtNQUFDWCxPQUFPLEVBQUVLO0lBQWMsR0FBS0osU0FBUyxDQUFHLENBQUM7RUFFNUQ7QUFDRixDQUFDLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import BaseComponent from "../../base-component";
|
|
3
|
+
import memo from "set-state-compare/src/memo";
|
|
4
|
+
import { shapeComponent } from "set-state-compare/src/shape-component";
|
|
5
|
+
import useBreakpoint from "../../use-breakpoint";
|
|
6
|
+
import { View } from "react-native";
|
|
7
|
+
export default memo(shapeComponent(class SharedTableRow extends BaseComponent {
|
|
8
|
+
render() {
|
|
9
|
+
const {
|
|
10
|
+
style,
|
|
11
|
+
...restProps
|
|
12
|
+
} = this.props;
|
|
13
|
+
const {
|
|
14
|
+
name: breakpoint,
|
|
15
|
+
smDown
|
|
16
|
+
} = useBreakpoint();
|
|
17
|
+
const actualStyle = Object.assign({
|
|
18
|
+
flexDirection: breakpoint == "sm" || smDown ? "column" : "row"
|
|
19
|
+
}, style);
|
|
20
|
+
return /*#__PURE__*/React.createElement(View, _extends({
|
|
21
|
+
style: actualStyle
|
|
22
|
+
}, restProps));
|
|
23
|
+
}
|
|
24
|
+
}));
|
|
25
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwibWVtbyIsInNoYXBlQ29tcG9uZW50IiwidXNlQnJlYWtwb2ludCIsIlZpZXciLCJTaGFyZWRUYWJsZVJvdyIsInJlbmRlciIsInN0eWxlIiwicmVzdFByb3BzIiwicHJvcHMiLCJuYW1lIiwiYnJlYWtwb2ludCIsInNtRG93biIsImFjdHVhbFN0eWxlIiwiT2JqZWN0IiwiYXNzaWduIiwiZmxleERpcmVjdGlvbiIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RhYmxlL2NvbXBvbmVudHMvcm93LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9tZW1vXCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvc2hhcGUtY29tcG9uZW50XCJcbmltcG9ydCB1c2VCcmVha3BvaW50IGZyb20gXCIuLi8uLi91c2UtYnJlYWtwb2ludFwiXG5pbXBvcnQge1ZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIFNoYXJlZFRhYmxlUm93IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7c3R5bGUsIC4uLnJlc3RQcm9wc30gPSB0aGlzLnByb3BzXG4gICAgY29uc3Qge25hbWU6IGJyZWFrcG9pbnQsIHNtRG93bn0gPSB1c2VCcmVha3BvaW50KClcbiAgICBjb25zdCBhY3R1YWxTdHlsZSA9IE9iamVjdC5hc3NpZ24oXG4gICAgICB7XG4gICAgICAgIGZsZXhEaXJlY3Rpb246IGJyZWFrcG9pbnQgPT0gXCJzbVwiIHx8IHNtRG93biA/IFwiY29sdW1uXCIgOiBcInJvd1wiXG4gICAgICB9LFxuICAgICAgc3R5bGVcbiAgICApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXcgc3R5bGU9e2FjdHVhbFN0eWxlfSB7Li4ucmVzdFByb3BzfSAvPlxuICAgIClcbiAgfVxufSkpXG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxhQUFhLE1BQU0sc0JBQXNCO0FBQ2hELE9BQU9DLElBQUksTUFBTSw0QkFBNEI7QUFDN0MsU0FBUUMsY0FBYyxRQUFPLHVDQUF1QztBQUNwRSxPQUFPQyxhQUFhLE1BQU0sc0JBQXNCO0FBQ2hELFNBQVFDLElBQUksUUFBTyxjQUFjO0FBRWpDLGVBQWVILElBQUksQ0FBQ0MsY0FBYyxDQUFDLE1BQU1HLGNBQWMsU0FBU0wsYUFBYSxDQUFDO0VBQzVFTSxNQUFNQSxDQUFBLEVBQUc7SUFDUCxNQUFNO01BQUNDLEtBQUs7TUFBRSxHQUFHQztJQUFTLENBQUMsR0FBRyxJQUFJLENBQUNDLEtBQUs7SUFDeEMsTUFBTTtNQUFDQyxJQUFJLEVBQUVDLFVBQVU7TUFBRUM7SUFBTSxDQUFDLEdBQUdULGFBQWEsQ0FBQyxDQUFDO0lBQ2xELE1BQU1VLFdBQVcsR0FBR0MsTUFBTSxDQUFDQyxNQUFNLENBQy9CO01BQ0VDLGFBQWEsRUFBRUwsVUFBVSxJQUFJLElBQUksSUFBSUMsTUFBTSxHQUFHLFFBQVEsR0FBRztJQUMzRCxDQUFDLEVBQ0RMLEtBQ0YsQ0FBQztJQUVELG9CQUNFVSxLQUFBLENBQUFDLGFBQUEsQ0FBQ2QsSUFBSSxFQUFBZSxRQUFBO01BQUNaLEtBQUssRUFBRU07SUFBWSxHQUFLTCxTQUFTLENBQUcsQ0FBQztFQUUvQztBQUNGLENBQUMsQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|