@kaspernj/api-maker 1.0.446 → 1.0.448
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 -16
- 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/index.jsx +3 -3
- package/src/draggable-sort/item.jsx +2 -2
- 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/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-select.jsx +1 -1
- package/src/table/model-column.jsx +1 -1
- package/src/table/model-row.jsx +2 -2
- package/src/table/{select-calculator.mjs → select-calculator.js} +1 -1
- package/src/table/settings/column-row.jsx +2 -2
- 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 +8 -8
- package/src/table/{use-sorting.mjs → use-sorting.js} +1 -1
- 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/draggable-sort/{controller.mjs → controller.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,32 @@
|
|
|
1
|
+
import ModelEvents from "./model-events";
|
|
2
|
+
import PropTypes from "prop-types";
|
|
3
|
+
import propTypesExact from "prop-types-exact";
|
|
4
|
+
import React from "react";
|
|
5
|
+
export default class ApiMakerEventConnection extends React.PureComponent {
|
|
6
|
+
static defaultProps = {
|
|
7
|
+
active: true
|
|
8
|
+
};
|
|
9
|
+
static propTypes = propTypesExact({
|
|
10
|
+
active: PropTypes.bool.isRequired,
|
|
11
|
+
model: PropTypes.object.isRequired,
|
|
12
|
+
event: PropTypes.string.isRequired,
|
|
13
|
+
onCall: PropTypes.func.isRequired
|
|
14
|
+
});
|
|
15
|
+
componentDidMount() {
|
|
16
|
+
this.subscription = ModelEvents.connect(this.props.model, this.props.event, (...args) => this.onCall(...args));
|
|
17
|
+
}
|
|
18
|
+
componentWillUnmount() {
|
|
19
|
+
if (this.subscription) {
|
|
20
|
+
this.subscription.unsubscribe();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
render() {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
onCall(...args) {
|
|
27
|
+
if (this.props.active) {
|
|
28
|
+
this.props.onCall(...args);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNb2RlbEV2ZW50cyIsIlByb3BUeXBlcyIsInByb3BUeXBlc0V4YWN0IiwiUmVhY3QiLCJBcGlNYWtlckV2ZW50Q29ubmVjdGlvbiIsIlB1cmVDb21wb25lbnQiLCJkZWZhdWx0UHJvcHMiLCJhY3RpdmUiLCJwcm9wVHlwZXMiLCJib29sIiwiaXNSZXF1aXJlZCIsIm1vZGVsIiwib2JqZWN0IiwiZXZlbnQiLCJzdHJpbmciLCJvbkNhbGwiLCJmdW5jIiwiY29tcG9uZW50RGlkTW91bnQiLCJzdWJzY3JpcHRpb24iLCJjb25uZWN0IiwicHJvcHMiLCJhcmdzIiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJ1bnN1YnNjcmliZSIsInJlbmRlciJdLCJzb3VyY2VzIjpbIi4uL3NyYy9ldmVudC1jb25uZWN0aW9uLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTW9kZWxFdmVudHMgZnJvbSBcIi4vbW9kZWwtZXZlbnRzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlckV2ZW50Q29ubmVjdGlvbiBleHRlbmRzIFJlYWN0LlB1cmVDb21wb25lbnQge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGFjdGl2ZTogdHJ1ZVxuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBhY3RpdmU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgbW9kZWw6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBldmVudDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIG9uQ2FsbDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZFxuICB9KVxuXG4gIGNvbXBvbmVudERpZE1vdW50ICgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IE1vZGVsRXZlbnRzLmNvbm5lY3QodGhpcy5wcm9wcy5tb2RlbCwgdGhpcy5wcm9wcy5ldmVudCwgKC4uLmFyZ3MpID0+IHRoaXMub25DYWxsKC4uLmFyZ3MpKVxuICB9XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQgKCkge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICAgIH1cbiAgfVxuXG4gIHJlbmRlciAoKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIG9uQ2FsbCAoLi4uYXJncykge1xuICAgIGlmICh0aGlzLnByb3BzLmFjdGl2ZSkge1xuICAgICAgdGhpcy5wcm9wcy5vbkNhbGwoLi4uYXJncylcbiAgICB9XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsV0FBVyxNQUFNLGdCQUFnQjtBQUN4QyxPQUFPQyxTQUFTLE1BQU0sWUFBWTtBQUNsQyxPQUFPQyxjQUFjLE1BQU0sa0JBQWtCO0FBQzdDLE9BQU9DLEtBQUssTUFBTSxPQUFPO0FBRXpCLGVBQWUsTUFBTUMsdUJBQXVCLFNBQVNELEtBQUssQ0FBQ0UsYUFBYSxDQUFDO0VBQ3ZFLE9BQU9DLFlBQVksR0FBRztJQUNwQkMsTUFBTSxFQUFFO0VBQ1YsQ0FBQztFQUVELE9BQU9DLFNBQVMsR0FBR04sY0FBYyxDQUFDO0lBQ2hDSyxNQUFNLEVBQUVOLFNBQVMsQ0FBQ1EsSUFBSSxDQUFDQyxVQUFVO0lBQ2pDQyxLQUFLLEVBQUVWLFNBQVMsQ0FBQ1csTUFBTSxDQUFDRixVQUFVO0lBQ2xDRyxLQUFLLEVBQUVaLFNBQVMsQ0FBQ2EsTUFBTSxDQUFDSixVQUFVO0lBQ2xDSyxNQUFNLEVBQUVkLFNBQVMsQ0FBQ2UsSUFBSSxDQUFDTjtFQUN6QixDQUFDLENBQUM7RUFFRk8saUJBQWlCQSxDQUFBLEVBQUk7SUFDbkIsSUFBSSxDQUFDQyxZQUFZLEdBQUdsQixXQUFXLENBQUNtQixPQUFPLENBQUMsSUFBSSxDQUFDQyxLQUFLLENBQUNULEtBQUssRUFBRSxJQUFJLENBQUNTLEtBQUssQ0FBQ1AsS0FBSyxFQUFFLENBQUMsR0FBR1EsSUFBSSxLQUFLLElBQUksQ0FBQ04sTUFBTSxDQUFDLEdBQUdNLElBQUksQ0FBQyxDQUFDO0VBQ2hIO0VBRUFDLG9CQUFvQkEsQ0FBQSxFQUFJO0lBQ3RCLElBQUksSUFBSSxDQUFDSixZQUFZLEVBQUU7TUFDckIsSUFBSSxDQUFDQSxZQUFZLENBQUNLLFdBQVcsQ0FBQyxDQUFDO0lBQ2pDO0VBQ0Y7RUFFQUMsTUFBTUEsQ0FBQSxFQUFJO0lBQ1IsT0FBTyxJQUFJO0VBQ2I7RUFFQVQsTUFBTUEsQ0FBRSxHQUFHTSxJQUFJLEVBQUU7SUFDZixJQUFJLElBQUksQ0FBQ0QsS0FBSyxDQUFDYixNQUFNLEVBQUU7TUFDckIsSUFBSSxDQUFDYSxLQUFLLENBQUNMLE1BQU0sQ0FBQyxHQUFHTSxJQUFJLENBQUM7SUFDNUI7RUFDRjtBQUNGIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import ModelEvents from "./model-events";
|
|
2
|
+
import PropTypes from "prop-types";
|
|
3
|
+
import propTypesExact from "prop-types-exact";
|
|
4
|
+
import React from "react";
|
|
5
|
+
export default class ApiMakerEventModelClass extends React.PureComponent {
|
|
6
|
+
static propTypes = propTypesExact({
|
|
7
|
+
event: PropTypes.string.isRequired,
|
|
8
|
+
modelClass: PropTypes.func.isRequired,
|
|
9
|
+
onCall: PropTypes.func.isRequired
|
|
10
|
+
});
|
|
11
|
+
componentDidMount() {
|
|
12
|
+
this.connect();
|
|
13
|
+
}
|
|
14
|
+
componentWillUnmount() {
|
|
15
|
+
if (this.connection) {
|
|
16
|
+
this.connection.unsubscribe();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
connect() {
|
|
20
|
+
this.connection = ModelEvents.connectModelClass(this.props.modelClass, this.props.event, this.props.onCall);
|
|
21
|
+
}
|
|
22
|
+
render = () => null;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNb2RlbEV2ZW50cyIsIlByb3BUeXBlcyIsInByb3BUeXBlc0V4YWN0IiwiUmVhY3QiLCJBcGlNYWtlckV2ZW50TW9kZWxDbGFzcyIsIlB1cmVDb21wb25lbnQiLCJwcm9wVHlwZXMiLCJldmVudCIsInN0cmluZyIsImlzUmVxdWlyZWQiLCJtb2RlbENsYXNzIiwiZnVuYyIsIm9uQ2FsbCIsImNvbXBvbmVudERpZE1vdW50IiwiY29ubmVjdCIsImNvbXBvbmVudFdpbGxVbm1vdW50IiwiY29ubmVjdGlvbiIsInVuc3Vic2NyaWJlIiwiY29ubmVjdE1vZGVsQ2xhc3MiLCJwcm9wcyIsInJlbmRlciJdLCJzb3VyY2VzIjpbIi4uL3NyYy9ldmVudC1tb2RlbC1jbGFzcy5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1vZGVsRXZlbnRzIGZyb20gXCIuL21vZGVsLWV2ZW50c1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBpTWFrZXJFdmVudE1vZGVsQ2xhc3MgZXh0ZW5kcyBSZWFjdC5QdXJlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBldmVudDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIG1vZGVsQ2xhc3M6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DYWxsOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkXG4gIH0pXG5cbiAgY29tcG9uZW50RGlkTW91bnQgKCkge1xuICAgIHRoaXMuY29ubmVjdCgpXG4gIH1cblxuICBjb21wb25lbnRXaWxsVW5tb3VudCAoKSB7XG4gICAgaWYgKHRoaXMuY29ubmVjdGlvbikge1xuICAgICAgdGhpcy5jb25uZWN0aW9uLnVuc3Vic2NyaWJlKClcbiAgICB9XG4gIH1cblxuICBjb25uZWN0ICgpIHtcbiAgICB0aGlzLmNvbm5lY3Rpb24gPSBNb2RlbEV2ZW50cy5jb25uZWN0TW9kZWxDbGFzcyh0aGlzLnByb3BzLm1vZGVsQ2xhc3MsIHRoaXMucHJvcHMuZXZlbnQsIHRoaXMucHJvcHMub25DYWxsKVxuICB9XG5cbiAgcmVuZGVyID0gKCkgPT4gbnVsbFxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxXQUFXLE1BQU0sZ0JBQWdCO0FBQ3hDLE9BQU9DLFNBQVMsTUFBTSxZQUFZO0FBQ2xDLE9BQU9DLGNBQWMsTUFBTSxrQkFBa0I7QUFDN0MsT0FBT0MsS0FBSyxNQUFNLE9BQU87QUFFekIsZUFBZSxNQUFNQyx1QkFBdUIsU0FBU0QsS0FBSyxDQUFDRSxhQUFhLENBQUM7RUFDdkUsT0FBT0MsU0FBUyxHQUFHSixjQUFjLENBQUM7SUFDaENLLEtBQUssRUFBRU4sU0FBUyxDQUFDTyxNQUFNLENBQUNDLFVBQVU7SUFDbENDLFVBQVUsRUFBRVQsU0FBUyxDQUFDVSxJQUFJLENBQUNGLFVBQVU7SUFDckNHLE1BQU0sRUFBRVgsU0FBUyxDQUFDVSxJQUFJLENBQUNGO0VBQ3pCLENBQUMsQ0FBQztFQUVGSSxpQkFBaUJBLENBQUEsRUFBSTtJQUNuQixJQUFJLENBQUNDLE9BQU8sQ0FBQyxDQUFDO0VBQ2hCO0VBRUFDLG9CQUFvQkEsQ0FBQSxFQUFJO0lBQ3RCLElBQUksSUFBSSxDQUFDQyxVQUFVLEVBQUU7TUFDbkIsSUFBSSxDQUFDQSxVQUFVLENBQUNDLFdBQVcsQ0FBQyxDQUFDO0lBQy9CO0VBQ0Y7RUFFQUgsT0FBT0EsQ0FBQSxFQUFJO0lBQ1QsSUFBSSxDQUFDRSxVQUFVLEdBQUdoQixXQUFXLENBQUNrQixpQkFBaUIsQ0FBQyxJQUFJLENBQUNDLEtBQUssQ0FBQ1QsVUFBVSxFQUFFLElBQUksQ0FBQ1MsS0FBSyxDQUFDWixLQUFLLEVBQUUsSUFBSSxDQUFDWSxLQUFLLENBQUNQLE1BQU0sQ0FBQztFQUM3RztFQUVBUSxNQUFNLEdBQUdBLENBQUEsS0FBTSxJQUFJO0FBQ3JCIiwiaWdub3JlTGlzdCI6W119
|
package/build/events.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import EventEmitter from "events";
|
|
2
|
+
const events = new EventEmitter();
|
|
3
|
+
events.setMaxListeners(1000);
|
|
4
|
+
export default events;
|
|
5
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFdmVudEVtaXR0ZXIiLCJldmVudHMiLCJzZXRNYXhMaXN0ZW5lcnMiXSwic291cmNlcyI6WyIuLi9zcmMvZXZlbnRzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFdmVudEVtaXR0ZXIgZnJvbSBcImV2ZW50c1wiXG5cbmNvbnN0IGV2ZW50cyA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG5ldmVudHMuc2V0TWF4TGlzdGVuZXJzKDEwMDApXG5cbmV4cG9ydCBkZWZhdWx0IGV2ZW50c1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxZQUFZLE1BQU0sUUFBUTtBQUVqQyxNQUFNQyxNQUFNLEdBQUcsSUFBSUQsWUFBWSxDQUFDLENBQUM7QUFFakNDLE1BQU0sQ0FBQ0MsZUFBZSxDQUFDLElBQUksQ0FBQztBQUU1QixlQUFlRCxNQUFNIiwiaWdub3JlTGlzdCI6W119
|
package/build/form.js
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
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 { createContext, useContext, useMemo } from "react";
|
|
3
|
+
import BaseComponent from "./base-component";
|
|
4
|
+
import FormDataObjectizer from "form-data-objectizer";
|
|
5
|
+
import memo from "set-state-compare/src/memo";
|
|
6
|
+
import { Platform } from "react-native";
|
|
7
|
+
import PropTypes from "prop-types";
|
|
8
|
+
import { shapeComponent } from "set-state-compare/src/shape-component";
|
|
9
|
+
const FormContext = /*#__PURE__*/createContext(null);
|
|
10
|
+
class FormInputs {
|
|
11
|
+
constructor(props) {
|
|
12
|
+
this.inputs = {};
|
|
13
|
+
this.onSubmit = props?.onSubmit;
|
|
14
|
+
}
|
|
15
|
+
asObject() {
|
|
16
|
+
const result = {};
|
|
17
|
+
const formDataObjectizer = new FormDataObjectizer();
|
|
18
|
+
for (const key in this.inputs) {
|
|
19
|
+
const value = this.inputs[key];
|
|
20
|
+
formDataObjectizer.treatInitial(key, value, result);
|
|
21
|
+
}
|
|
22
|
+
return result;
|
|
23
|
+
}
|
|
24
|
+
setValue(name, value) {
|
|
25
|
+
if (!name) throw new Error("'name' is required");
|
|
26
|
+
this.inputs[name] = value;
|
|
27
|
+
}
|
|
28
|
+
setValueWithHidden(name, value) {
|
|
29
|
+
this.setValue(name, value);
|
|
30
|
+
if (Platform.OS == "web") {
|
|
31
|
+
return /*#__PURE__*/React.createElement("input", {
|
|
32
|
+
name: name,
|
|
33
|
+
type: "hidden",
|
|
34
|
+
value: value !== null && value !== undefined ? value : ""
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
submit() {
|
|
39
|
+
if (this.onSubmit) {
|
|
40
|
+
this.onSubmit();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
const Form = memo(shapeComponent(class Form extends BaseComponent {
|
|
45
|
+
static propTypes = {
|
|
46
|
+
children: PropTypes.node,
|
|
47
|
+
formRef: PropTypes.object,
|
|
48
|
+
onSubmit: PropTypes.func,
|
|
49
|
+
setForm: PropTypes.func
|
|
50
|
+
};
|
|
51
|
+
render() {
|
|
52
|
+
const {
|
|
53
|
+
children,
|
|
54
|
+
formRef,
|
|
55
|
+
onSubmit,
|
|
56
|
+
setForm,
|
|
57
|
+
...restProps
|
|
58
|
+
} = this.props;
|
|
59
|
+
const form = useMemo(() => new FormInputs({
|
|
60
|
+
onSubmit
|
|
61
|
+
}), []);
|
|
62
|
+
useMemo(() => {
|
|
63
|
+
if (setForm) {
|
|
64
|
+
setForm(form);
|
|
65
|
+
}
|
|
66
|
+
}, [setForm]);
|
|
67
|
+
return /*#__PURE__*/React.createElement(FormContext.Provider, {
|
|
68
|
+
value: form
|
|
69
|
+
}, Platform.OS == "web" && /*#__PURE__*/React.createElement("form", _extends({
|
|
70
|
+
ref: formRef,
|
|
71
|
+
onSubmit: this.tt.onFormSubmit
|
|
72
|
+
}, restProps), children), Platform.OS != "web" && this.props.children);
|
|
73
|
+
}
|
|
74
|
+
onFormSubmit = e => {
|
|
75
|
+
e.preventDefault();
|
|
76
|
+
if (this.props.onSubmit) {
|
|
77
|
+
this.props.onSubmit();
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
}));
|
|
81
|
+
const useForm = () => useContext(FormContext);
|
|
82
|
+
export { Form, FormContext, FormInputs, useForm };
|
|
83
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVDb250ZXh0IiwidXNlQ29udGV4dCIsInVzZU1lbW8iLCJCYXNlQ29tcG9uZW50IiwiRm9ybURhdGFPYmplY3RpemVyIiwibWVtbyIsIlBsYXRmb3JtIiwiUHJvcFR5cGVzIiwic2hhcGVDb21wb25lbnQiLCJGb3JtQ29udGV4dCIsIkZvcm1JbnB1dHMiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiaW5wdXRzIiwib25TdWJtaXQiLCJhc09iamVjdCIsInJlc3VsdCIsImZvcm1EYXRhT2JqZWN0aXplciIsImtleSIsInZhbHVlIiwidHJlYXRJbml0aWFsIiwic2V0VmFsdWUiLCJuYW1lIiwiRXJyb3IiLCJzZXRWYWx1ZVdpdGhIaWRkZW4iLCJPUyIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsInR5cGUiLCJ1bmRlZmluZWQiLCJzdWJtaXQiLCJGb3JtIiwicHJvcFR5cGVzIiwiY2hpbGRyZW4iLCJub2RlIiwiZm9ybVJlZiIsIm9iamVjdCIsImZ1bmMiLCJzZXRGb3JtIiwicmVuZGVyIiwicmVzdFByb3BzIiwiZm9ybSIsIlByb3ZpZGVyIiwiX2V4dGVuZHMiLCJyZWYiLCJ0dCIsIm9uRm9ybVN1Ym1pdCIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInVzZUZvcm0iXSwic291cmNlcyI6WyIuLi9zcmMvZm9ybS5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjcmVhdGVDb250ZXh0LCB1c2VDb250ZXh0LCB1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IEZvcm1EYXRhT2JqZWN0aXplciBmcm9tIFwiZm9ybS1kYXRhLW9iamVjdGl6ZXJcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9tZW1vXCJcbmltcG9ydCB7UGxhdGZvcm19IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL3NoYXBlLWNvbXBvbmVudFwiXG5cbmNvbnN0IEZvcm1Db250ZXh0ID0gY3JlYXRlQ29udGV4dChudWxsKVxuXG5jbGFzcyBGb3JtSW5wdXRzIHtcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICB0aGlzLmlucHV0cyA9IHt9XG4gICAgdGhpcy5vblN1Ym1pdCA9IHByb3BzPy5vblN1Ym1pdFxuICB9XG5cbiAgYXNPYmplY3QoKSB7XG4gICAgY29uc3QgcmVzdWx0ID0ge31cbiAgICBjb25zdCBmb3JtRGF0YU9iamVjdGl6ZXIgPSBuZXcgRm9ybURhdGFPYmplY3RpemVyKClcblxuICAgIGZvcihjb25zdCBrZXkgaW4gdGhpcy5pbnB1dHMpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5pbnB1dHNba2V5XVxuXG4gICAgICBmb3JtRGF0YU9iamVjdGl6ZXIudHJlYXRJbml0aWFsKGtleSwgdmFsdWUsIHJlc3VsdClcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBzZXRWYWx1ZShuYW1lLCB2YWx1ZSkge1xuICAgIGlmICghbmFtZSkgdGhyb3cgbmV3IEVycm9yKFwiJ25hbWUnIGlzIHJlcXVpcmVkXCIpXG5cbiAgICB0aGlzLmlucHV0c1tuYW1lXSA9IHZhbHVlXG4gIH1cblxuICBzZXRWYWx1ZVdpdGhIaWRkZW4obmFtZSwgdmFsdWUpIHtcbiAgICB0aGlzLnNldFZhbHVlKG5hbWUsIHZhbHVlKVxuXG4gICAgaWYgKFBsYXRmb3JtLk9TID09IFwid2ViXCIpIHtcbiAgICAgIHJldHVybiA8aW5wdXQgbmFtZT17bmFtZX0gdHlwZT1cImhpZGRlblwiIHZhbHVlPXt2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUgOiBcIlwifSAvPlxuICAgIH1cbiAgfVxuXG4gIHN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5vblN1Ym1pdCkge1xuICAgICAgdGhpcy5vblN1Ym1pdCgpXG4gICAgfVxuICB9XG59XG5cbmNvbnN0IEZvcm0gPSBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEZvcm0gZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUsXG4gICAgZm9ybVJlZjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBvblN1Ym1pdDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgc2V0Rm9ybTogUHJvcFR5cGVzLmZ1bmNcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7Y2hpbGRyZW4sIGZvcm1SZWYsIG9uU3VibWl0LCBzZXRGb3JtLCAuLi5yZXN0UHJvcHN9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IGZvcm0gPSB1c2VNZW1vKCgpID0+IG5ldyBGb3JtSW5wdXRzKHtvblN1Ym1pdH0pLCBbXSlcblxuICAgIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgaWYgKHNldEZvcm0pIHtcbiAgICAgICAgc2V0Rm9ybShmb3JtKVxuICAgICAgfVxuICAgIH0sIFtzZXRGb3JtXSlcblxuICAgIHJldHVybiAoXG4gICAgICA8Rm9ybUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2Zvcm19PlxuICAgICAgICB7UGxhdGZvcm0uT1MgPT0gXCJ3ZWJcIiAmJlxuICAgICAgICAgIDxmb3JtIHJlZj17Zm9ybVJlZn0gb25TdWJtaXQ9e3RoaXMudHQub25Gb3JtU3VibWl0fSB7Li4ucmVzdFByb3BzfT5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgIH1cbiAgICAgICAge1BsYXRmb3JtLk9TICE9IFwid2ViXCIgJiYgdGhpcy5wcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvRm9ybUNvbnRleHQuUHJvdmlkZXI+XG4gICAgKVxuICB9XG5cbiAgb25Gb3JtU3VibWl0ID0gKGUpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcblxuICAgIGlmICh0aGlzLnByb3BzLm9uU3VibWl0KSB7XG4gICAgICB0aGlzLnByb3BzLm9uU3VibWl0KClcbiAgICB9XG4gIH1cbn0pKVxuXG5jb25zdCB1c2VGb3JtID0gKCkgPT4gdXNlQ29udGV4dChGb3JtQ29udGV4dClcblxuZXhwb3J0IHtGb3JtLCBGb3JtQ29udGV4dCwgRm9ybUlucHV0cywgdXNlRm9ybX1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVFBLGFBQWEsRUFBRUMsVUFBVSxFQUFFQyxPQUFPLFFBQU8sT0FBTztBQUN4RCxPQUFPQyxhQUFhLE1BQU0sa0JBQWtCO0FBQzVDLE9BQU9DLGtCQUFrQixNQUFNLHNCQUFzQjtBQUNyRCxPQUFPQyxJQUFJLE1BQU0sNEJBQTRCO0FBQzdDLFNBQVFDLFFBQVEsUUFBTyxjQUFjO0FBQ3JDLE9BQU9DLFNBQVMsTUFBTSxZQUFZO0FBQ2xDLFNBQVFDLGNBQWMsUUFBTyx1Q0FBdUM7QUFFcEUsTUFBTUMsV0FBVyxnQkFBR1QsYUFBYSxDQUFDLElBQUksQ0FBQztBQUV2QyxNQUFNVSxVQUFVLENBQUM7RUFDZkMsV0FBV0EsQ0FBQ0MsS0FBSyxFQUFFO0lBQ2pCLElBQUksQ0FBQ0MsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNoQixJQUFJLENBQUNDLFFBQVEsR0FBR0YsS0FBSyxFQUFFRSxRQUFRO0VBQ2pDO0VBRUFDLFFBQVFBLENBQUEsRUFBRztJQUNULE1BQU1DLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDakIsTUFBTUMsa0JBQWtCLEdBQUcsSUFBSWIsa0JBQWtCLENBQUMsQ0FBQztJQUVuRCxLQUFJLE1BQU1jLEdBQUcsSUFBSSxJQUFJLENBQUNMLE1BQU0sRUFBRTtNQUM1QixNQUFNTSxLQUFLLEdBQUcsSUFBSSxDQUFDTixNQUFNLENBQUNLLEdBQUcsQ0FBQztNQUU5QkQsa0JBQWtCLENBQUNHLFlBQVksQ0FBQ0YsR0FBRyxFQUFFQyxLQUFLLEVBQUVILE1BQU0sQ0FBQztJQUNyRDtJQUVBLE9BQU9BLE1BQU07RUFDZjtFQUVBSyxRQUFRQSxD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
|
package/build/index.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const stub = "Hello World";
|
|
2
|
+
export { stub };
|
|
3
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHViIl0sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHN0dWIgPSBcIkhlbGxvIFdvcmxkXCJcblxuZXhwb3J0IHtzdHVifVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxNQUFNQSxJQUFJLEdBQUcsYUFBYTtBQUUxQixTQUFRQSxJQUFJIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,121 @@
|
|
|
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 { Input as ApiMakerInput } from "@kaspernj/api-maker/build/inputs/input";
|
|
4
|
+
import Checkbox from "./checkbox";
|
|
5
|
+
import memo from "set-state-compare/src/memo";
|
|
6
|
+
import { shapeComponent } from "set-state-compare/src/shape-component";
|
|
7
|
+
export default memo(shapeComponent(class ApiMakerInputsAttachment extends BaseComponent {
|
|
8
|
+
static propTypes = {
|
|
9
|
+
className: PropTypes.string,
|
|
10
|
+
model: PropTypes.object.isRequired,
|
|
11
|
+
onPurgeChanged: PropTypes.func,
|
|
12
|
+
purgeName: PropTypes.string
|
|
13
|
+
};
|
|
14
|
+
setup() {
|
|
15
|
+
const {
|
|
16
|
+
inputProps
|
|
17
|
+
} = useInput({
|
|
18
|
+
props: this.props
|
|
19
|
+
});
|
|
20
|
+
this.setInstance({
|
|
21
|
+
inputProps
|
|
22
|
+
});
|
|
23
|
+
this.useStates({
|
|
24
|
+
purgeChecked: false
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
render() {
|
|
28
|
+
const {
|
|
29
|
+
inputProps
|
|
30
|
+
} = this.tt;
|
|
31
|
+
const {
|
|
32
|
+
attribute,
|
|
33
|
+
checkboxComponent,
|
|
34
|
+
className,
|
|
35
|
+
label,
|
|
36
|
+
model,
|
|
37
|
+
name,
|
|
38
|
+
onPurgeChanged,
|
|
39
|
+
purgeName,
|
|
40
|
+
wrapperOpts,
|
|
41
|
+
...restProps
|
|
42
|
+
} = this.props;
|
|
43
|
+
const CheckboxComponent = checkboxComponent || Checkbox;
|
|
44
|
+
const newInputProps = Object.assign({}, inputProps, {
|
|
45
|
+
type: "file"
|
|
46
|
+
});
|
|
47
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
48
|
+
className: classNames("api-maker--inputs--attachment", "components--inputs--input", className)
|
|
49
|
+
}, restProps), this.isImage() && /*#__PURE__*/React.createElement("a", {
|
|
50
|
+
href: this.getUrl(),
|
|
51
|
+
target: "_blank"
|
|
52
|
+
}, /*#__PURE__*/React.createElement("img", {
|
|
53
|
+
src: this.getUrl(),
|
|
54
|
+
style: {
|
|
55
|
+
maxWidth: "200px",
|
|
56
|
+
maxHeight: "200px"
|
|
57
|
+
}
|
|
58
|
+
})), this.getUrl() && /*#__PURE__*/React.createElement("div", {
|
|
59
|
+
className: "input-checkbox",
|
|
60
|
+
style: {
|
|
61
|
+
paddingTop: "15px",
|
|
62
|
+
paddingBottom: "15px"
|
|
63
|
+
}
|
|
64
|
+
}, /*#__PURE__*/React.createElement(CheckboxComponent, {
|
|
65
|
+
id: this.getPurgeInputId(),
|
|
66
|
+
name: this.getPurgeInputName(),
|
|
67
|
+
onChange: this.props.onPurgeChanged
|
|
68
|
+
}), /*#__PURE__*/React.createElement("label", {
|
|
69
|
+
className: "checkbox-label",
|
|
70
|
+
htmlFor: this.getPurgeInputId()
|
|
71
|
+
}, I18n.t("js.shared.delete"))), !this.s.purgeChecked && /*#__PURE__*/React.createElement(ApiMakerInput, {
|
|
72
|
+
defaultValue: null,
|
|
73
|
+
inputProps: newInputProps,
|
|
74
|
+
model: model
|
|
75
|
+
}));
|
|
76
|
+
}
|
|
77
|
+
getContentType() {
|
|
78
|
+
const {
|
|
79
|
+
attribute,
|
|
80
|
+
model
|
|
81
|
+
} = this.p;
|
|
82
|
+
const attributeName = `${attribute}ContentType`;
|
|
83
|
+
if (!(attributeName in model)) throw new Error(`No such method on ${model.modelClassData().name}: ${attributeName}`);
|
|
84
|
+
return model[attributeName]();
|
|
85
|
+
}
|
|
86
|
+
getPurgeInputId() {
|
|
87
|
+
const {
|
|
88
|
+
inputProps
|
|
89
|
+
} = this.tt;
|
|
90
|
+
return `${inputProps.id}_purge`;
|
|
91
|
+
}
|
|
92
|
+
getPurgeInputName() {
|
|
93
|
+
if ("purgeName" in this.props) return this.props.purgeName;
|
|
94
|
+
const {
|
|
95
|
+
inputProps
|
|
96
|
+
} = this.tt;
|
|
97
|
+
if (!inputProps.name) return null;
|
|
98
|
+
const match = inputProps.name.match(/^(.+)\[(.+?)\]$/);
|
|
99
|
+
const purgeInputName = `${match[1]}[${match[2]}_purge]`;
|
|
100
|
+
return purgeInputName;
|
|
101
|
+
}
|
|
102
|
+
getUrl() {
|
|
103
|
+
const {
|
|
104
|
+
attribute,
|
|
105
|
+
model
|
|
106
|
+
} = this.p;
|
|
107
|
+
const attributeName = `${attribute}Url`;
|
|
108
|
+
if (!(attributeName in model)) throw new Error(`No such method on ${model.modelClassData().name}: ${attributeName}`);
|
|
109
|
+
return model[attributeName]();
|
|
110
|
+
}
|
|
111
|
+
isImage() {
|
|
112
|
+
return this.getContentType()?.startsWith("image/");
|
|
113
|
+
}
|
|
114
|
+
onPurgeChanged = e => {
|
|
115
|
+
this.setState({
|
|
116
|
+
purgeChecked: digg(e, "target", "checked")
|
|
117
|
+
});
|
|
118
|
+
if (this.props.onPurgeChanged) this.props.onPurgeChanged(e);
|
|
119
|
+
};
|
|
120
|
+
}));
|
|
121
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwiSW5wdXQiLCJBcGlNYWtlcklucHV0IiwiQ2hlY2tib3giLCJtZW1vIiwic2hhcGVDb21wb25lbnQiLCJBcGlNYWtlcklucHV0c0F0dGFjaG1lbnQiLCJwcm9wVHlwZXMiLCJjbGFzc05hbWUiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJtb2RlbCIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJvblB1cmdlQ2hhbmdlZCIsImZ1bmMiLCJwdXJnZU5hbWUiLCJzZXR1cCIsImlucHV0UHJvcHMiLCJ1c2VJbnB1dCIsInByb3BzIiwic2V0SW5zdGFuY2UiLCJ1c2VTdGF0ZXMiLCJwdXJnZUNoZWNrZWQiLCJyZW5kZXIiLCJ0dCIsImF0dHJpYnV0ZSIsImNoZWNrYm94Q29tcG9uZW50IiwibGFiZWwiLCJuYW1lIiwid3JhcHBlck9wdHMiLCJyZXN0UHJvcHMiLCJDaGVja2JveENvbXBvbmVudCIsIm5ld0lucHV0UHJvcHMiLCJPYmplY3QiLCJhc3NpZ24iLCJ0eXBlIiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMiLCJjbGFzc05hbWVzIiwiaXNJbWFnZSIsImhyZWYiLCJnZXRVcmwiLCJ0YXJnZXQiLCJzcmMiLCJzdHlsZSIsIm1heFdpZHRoIiwibWF4SGVpZ2h0IiwicGFkZGluZ1RvcCIsInBhZGRpbmdCb3R0b20iLCJpZCIsImdldFB1cmdlSW5wdXRJZCIsImdldFB1cmdlSW5wdXROYW1lIiwib25DaGFuZ2UiLCJodG1sRm9yIiwiSTE4biIsInQiLCJzIiwiZGVmYXVsdFZhbHVlIiwiZ2V0Q29udGVudFR5cGUiLCJwIiwiYXR0cmlidXRlTmFtZSIsIkVycm9yIiwibW9kZWxDbGFzc0RhdGEiLCJtYXRjaCIsInB1cmdlSW5wdXROYW1lIiwic3RhcnRzV2l0aCIsImUiLCJzZXRTdGF0ZSIsImRpZ2ciXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5wdXRzL2F0dGFjaG1lbnQuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQge0lucHV0IGFzIEFwaU1ha2VySW5wdXR9IGZyb20gXCJAa2FzcGVybmovYXBpLW1ha2VyL2J1aWxkL2lucHV0cy9pbnB1dFwiXG5pbXBvcnQgQ2hlY2tib3ggZnJvbSBcIi4vY2hlY2tib3hcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9tZW1vXCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvc2hhcGUtY29tcG9uZW50XCJcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlcklucHV0c0F0dGFjaG1lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbW9kZWw6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBvblB1cmdlQ2hhbmdlZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgcHVyZ2VOYW1lOiBQcm9wVHlwZXMuc3RyaW5nXG4gIH1cblxuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7aW5wdXRQcm9wc30gPSB1c2VJbnB1dCh7cHJvcHM6IHRoaXMucHJvcHN9KVxuXG4gICAgdGhpcy5zZXRJbnN0YW5jZSh7aW5wdXRQcm9wc30pXG4gICAgdGhpcy51c2VTdGF0ZXMoe1xuICAgICAgcHVyZ2VDaGVja2VkOiBmYWxzZVxuICAgIH0pXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2lucHV0UHJvcHN9ID0gdGhpcy50dFxuICAgIGNvbnN0IHthdHRyaWJ1dGUsIGNoZWNrYm94Q29tcG9uZW50LCBjbGFzc05hbWUsIGxhYmVsLCBtb2RlbCwgbmFtZSwgb25QdXJnZUNoYW5nZWQsIHB1cmdlTmFtZSwgd3JhcHBlck9wdHMsIC4uLnJlc3RQcm9wc30gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgQ2hlY2tib3hDb21wb25lbnQgPSBjaGVja2JveENvbXBvbmVudCB8fCBDaGVja2JveFxuICAgIGNvbnN0IG5ld0lucHV0UHJvcHMgPSBPYmplY3QuYXNzaWduKHt9LCBpbnB1dFByb3BzLCB7dHlwZTogXCJmaWxlXCJ9KVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFwiYXBpLW1ha2VyLS1pbnB1dHMtLWF0dGFjaG1lbnRcIiwgXCJjb21wb25lbnRzLS1pbnB1dHMtLWlucHV0XCIsIGNsYXNzTmFtZSl9IHsuLi5yZXN0UHJvcHN9PlxuICAgICAgICB7dGhpcy5pc0ltYWdlKCkgJiZcbiAgICAgICAgICA8YSBocmVmPXt0aGlzLmdldFVybCgpfSB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICAgIDxpbWcgc3JjPXt0aGlzLmdldFVybCgpfSBzdHlsZT17e21heFdpZHRoOiBcIjIwMHB4XCIsIG1heEhlaWdodDogXCIyMDBweFwifX0gLz5cbiAgICAgICAgICA8L2E+XG4gICAgICAgIH1cbiAgICAgICAge3RoaXMuZ2V0VXJsKCkgJiZcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlucHV0LWNoZWNrYm94XCIgc3R5bGU9e3twYWRkaW5nVG9wOiBcIjE1cHhcIiwgcGFkZGluZ0JvdHRvbTogXCIxNXB4XCJ9fT5cbiAgICAgICAgICAgIDxDaGVja2JveENvbXBvbmVudCBpZD17dGhpcy5nZXRQdXJnZUlucHV0SWQoKX0gbmFtZT17dGhpcy5nZXRQdXJnZUlucHV0TmFtZSgpfSBvbkNoYW5nZT17dGhpcy5wcm9wcy5vblB1cmdlQ2hhbmdlZH0gLz5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJjaGVja2JveC1sYWJlbFwiIGh0bWxGb3I9e3RoaXMuZ2V0UHVyZ2VJbnB1dElkKCl9PlxuICAgICAgICAgICAgICB7STE4bi50KFwianMuc2hhcmVkLmRlbGV0ZVwiKX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgeyF0aGlzLnMucHVyZ2VDaGVja2VkICYmXG4gICAgICAgICAgPEFwaU1ha2VySW5wdXRcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17bnVsbH1cbiAgICAgICAgICAgIGlucHV0UHJvcHM9e25ld0lucHV0UHJvcHN9XG4gICAgICAgICAgICBtb2RlbD17bW9kZWx9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9XG5cbiAgZ2V0Q29udGVudFR5cGUoKSB7XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgbW9kZWx9ID0gdGhpcy5wXG4gICAgY29uc3QgYXR0cmlidXRlTmFtZSA9IGAke2F0dHJpYnV0ZX1Db250ZW50VHlwZWBcblxuICAgIGlmICghKGF0dHJpYnV0ZU5hbWUgaW4gbW9kZWwpKSB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggbWV0aG9kIG9uICR7bW9kZWwubW9kZWxDbGFzc0RhdGEoKS5uYW1lfTogJHthdHRyaWJ1dGVOYW1lfWApXG5cbiAgICByZXR1cm4gbW9kZWxbYXR0cmlidXRlTmFtZV0oKVxuICB9XG5cbiAgZ2V0UHVyZ2VJbnB1dElkKCkge1xuICAgIGNvbnN0IHtpbnB1dFByb3BzfSA9IHRoaXMudHRcblxuICAgIHJldHVybiBgJHtpbnB1dFByb3BzLmlkfV9wdXJnZWBcbiAgfVxuXG4gIGdldFB1cmdlSW5wdXROYW1lKCkge1xuICAgIGlmIChcInB1cmdlTmFtZVwiIGluIHRoaXMucHJvcHMpIHJldHVybiB0aGlzLnByb3BzLnB1cmdlTmFtZVxuXG4gICAgY29uc3Qge2lucHV0UHJvcHN9ID0gdGhpcy50dFxuXG4gICAgaWYgKCFpbnB1dFByb3BzLm5hbWUpIHJldHVybiBudWxsXG5cbiAgICBjb25zdCBtYXRjaCA9IGlucHV0UHJvcHMubmFtZS5tYXRjaCgvXiguKylcXFsoLis/KVxcXSQvKVxuICAgIGNvbnN0IHB1cmdlSW5wdXROYW1lID0gYCR7bWF0Y2hbMV19WyR7bWF0Y2hbMl19X3B1cmdlXWBcblxuICAgIHJldHVybiBwdXJnZUlucHV0TmFtZVxuICB9XG5cbiAgZ2V0VXJsKCkge1xuICAgIGNvbnN0IHthdHRyaWJ1dGUsIG1vZGVsfSA9IHRoaXMucFxuICAgIGNvbnN0IGF0dHJpYnV0ZU5hbWUgPSBgJHthdHRyaWJ1dGV9VXJsYFxuXG4gICAgaWYgKCEoYXR0cmlidXRlTmFtZSBpbiBtb2RlbCkpIHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCBtZXRob2Qgb24gJHttb2RlbC5tb2RlbENsYXNzRGF0YSgpLm5hbWV9OiAke2F0dHJpYnV0ZU5hbWV9YClcblxuICAgIHJldHVybiBtb2RlbFthdHRyaWJ1dGVOYW1lXSgpXG4gIH1cblxuICBpc0ltYWdlKCkge1xuICAgIHJldHVybiB0aGlzLmdldENvbnRlbnRUeXBlKCk/LnN0YXJ0c1dpdGgoXCJpbWFnZS9cIilcbiAgfVxuXG4gIG9uUHVyZ2VDaGFuZ2VkID0gKGUpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHtwdXJnZUNoZWNrZWQ6IGRpZ2coZSwgXCJ0YXJnZXRcIiwgXCJjaGVja2VkXCIpfSlcblxuICAgIGlmICh0aGlzLnByb3BzLm9uUHVyZ2VDaGFuZ2VkKSB0aGlzLnByb3BzLm9uUHVyZ2VDaGFuZ2VkKGUpXG4gIH1cbn0pKVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsYUFBYSxNQUFNLG1CQUFtQjtBQUM3QyxTQUFRQyxLQUFLLElBQUlDLGFBQWEsUUFBTyx3Q0FBd0M7QUFDN0UsT0FBT0MsUUFBUSxNQUFNLFlBQVk7QUFDakMsT0FBT0MsSUFBSSxNQUFNLDRCQUE0QjtBQUM3QyxTQUFRQyxjQUFjLFFBQU8sdUNBQXVDO0FBRXBFLGVBQWVELElBQUksQ0FBQ0MsY0FBYyxDQUFDLE1BQU1DLHdCQUF3QixTQUFTTixhQUFhLENBQUM7RUFDdEYsT0FBT08sU0FBUyxHQUFHO0lBQ2pCQyxTQUFTLEVBQUVDLFNBQVMsQ0FBQ0MsTUFBTTtJQUMzQkMsS0FBSyxFQUFFRixTQUFTLENBQUNHLE1B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
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { digg } from "diggerize";
|
|
2
|
+
import * as inflection from "inflection";
|
|
3
|
+
export default class ApiMakerInputsAutoSubmit {
|
|
4
|
+
constructor({
|
|
5
|
+
component
|
|
6
|
+
}) {
|
|
7
|
+
this.component = component;
|
|
8
|
+
}
|
|
9
|
+
autoSubmit() {
|
|
10
|
+
const {
|
|
11
|
+
attribute,
|
|
12
|
+
model
|
|
13
|
+
} = this.component.props;
|
|
14
|
+
const updateAttributeName = inflection.underscore(attribute);
|
|
15
|
+
const updateParams = {};
|
|
16
|
+
updateParams[updateAttributeName] = this.value();
|
|
17
|
+
model.update(updateParams);
|
|
18
|
+
}
|
|
19
|
+
value() {
|
|
20
|
+
const inputRef = this.component.props.inputRef || this.component.props.inputProps?.ref || this.component.inputProps?.ref || this.component.inputRef;
|
|
21
|
+
const input = digg(inputRef, "current");
|
|
22
|
+
if (input.type == "checkbox") {
|
|
23
|
+
if (input.checked) {
|
|
24
|
+
if (input.value !== undefined) {
|
|
25
|
+
return input.value;
|
|
26
|
+
} else {
|
|
27
|
+
return 1;
|
|
28
|
+
}
|
|
29
|
+
} else {
|
|
30
|
+
return 0;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return digg(input, "value");
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkaWdnIiwiaW5mbGVjdGlvbiIsIkFwaU1ha2VySW5wdXRzQXV0b1N1Ym1pdCIsImNvbnN0cnVjdG9yIiwiY29tcG9uZW50IiwiYXV0b1N1Ym1pdCIsImF0dHJpYnV0ZSIsIm1vZGVsIiwicHJvcHMiLCJ1cGRhdGVBdHRyaWJ1dGVOYW1lIiwidW5kZXJzY29yZSIsInVwZGF0ZVBhcmFtcyIsInZhbHVlIiwidXBkYXRlIiwiaW5wdXRSZWYiLCJpbnB1dFByb3BzIiwicmVmIiwiaW5wdXQiLCJ0eXBlIiwiY2hlY2tlZCIsInVuZGVmaW5lZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnB1dHMvYXV0by1zdWJtaXQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlcklucHV0c0F1dG9TdWJtaXQge1xuICBjb25zdHJ1Y3RvciAoe2NvbXBvbmVudH0pIHtcbiAgICB0aGlzLmNvbXBvbmVudCA9IGNvbXBvbmVudFxuICB9XG5cbiAgYXV0b1N1Ym1pdCAoKSB7XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgbW9kZWx9ID0gdGhpcy5jb21wb25lbnQucHJvcHNcbiAgICBjb25zdCB1cGRhdGVBdHRyaWJ1dGVOYW1lID0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKGF0dHJpYnV0ZSlcbiAgICBjb25zdCB1cGRhdGVQYXJhbXMgPSB7fVxuXG4gICAgdXBkYXRlUGFyYW1zW3VwZGF0ZUF0dHJpYnV0ZU5hbWVdID0gdGhpcy52YWx1ZSgpXG5cbiAgICBtb2RlbC51cGRhdGUodXBkYXRlUGFyYW1zKVxuICB9XG5cbiAgdmFsdWUgKCkge1xuICAgIGNvbnN0IGlucHV0UmVmID0gdGhpcy5jb21wb25lbnQucHJvcHMuaW5wdXRSZWYgfHwgdGhpcy5jb21wb25lbnQucHJvcHMuaW5wdXRQcm9wcz8ucmVmIHx8IHRoaXMuY29tcG9uZW50LmlucHV0UHJvcHM/LnJlZiB8fCB0aGlzLmNvbXBvbmVudC5pbnB1dFJlZlxuICAgIGNvbnN0IGlucHV0ID0gZGlnZyhpbnB1dFJlZiwgXCJjdXJyZW50XCIpXG5cbiAgICBpZiAoaW5wdXQudHlwZSA9PSBcImNoZWNrYm94XCIpIHtcbiAgICAgIGlmIChpbnB1dC5jaGVja2VkKSB7XG4gICAgICAgIGlmIChpbnB1dC52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuIGlucHV0LnZhbHVlXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIDFcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIDBcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZGlnZyhpbnB1dCwgXCJ2YWx1ZVwiKVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVFBLElBQUksUUFBTyxXQUFXO0FBQzlCLE9BQU8sS0FBS0MsVUFBVSxNQUFNLFlBQVk7QUFFeEMsZUFBZSxNQUFNQyx3QkFBd0IsQ0FBQztFQUM1Q0MsV0FBV0EsQ0FBRTtJQUFDQztFQUFTLENBQUMsRUFBRTtJQUN4QixJQUFJLENBQUNBLFNBQVMsR0FBR0EsU0FBUztFQUM1QjtFQUVBQyxVQUFVQSxDQUFBLEVBQUk7SUFDWixNQUFNO01BQUNDLFNBQVM7TUFBRUM7SUFBSyxDQUFDLEdBQUcsSUFBSSxDQUFDSCxTQUFTLENBQUNJLEtBQUs7SUFDL0MsTUFBTUMsbUJBQW1CLEdBQUdSLFVBQVUsQ0FBQ1MsVUFBVSxDQUFDSixTQUFTLENBQUM7SUFDNUQsTUFBTUssWUFBWSxHQUFHLENBQUMsQ0FBQztJQUV2QkEsWUFBWSxDQUFDRixtQkFBbUIsQ0FBQyxHQUFHLElBQUksQ0FBQ0csS0FBSyxDQUFDLENBQUM7SUFFaERMLEtBQUssQ0FBQ00sTUFBTSxDQUFDRixZQUFZLENBQUM7RUFDNUI7RUFFQUMsS0FBS0EsQ0FBQSxFQUFJO0lBQ1AsTUFBTUUsUUFBUSxHQUFHLElBQUksQ0FBQ1YsU0FBUyxDQUFDSSxLQUFLLENBQUNNLFFBQVEsSUFBSSxJQUFJLENBQUNWLFNBQVMsQ0FBQ0ksS0FBSyxDQUFDTyxVQUFVLEVBQUVDLEdBQUcsSUFBSSxJQUFJLENBQUNaLFNBQVMsQ0FBQ1csVUFBVSxFQUFFQyxHQUFHLElBQUksSUFBSSxDQUFDWixTQUFTLENBQUNVLFFBQVE7SUFDbkosTUFBTUcsS0FBSyxHQUFHakIsSUFBSSxDQUFDYyxRQUFRLEVBQUUsU0FBUyxDQUFDO0lBRXZDLElBQUlHLEtBQUssQ0FBQ0MsSUFBSSxJQUFJLFVBQVUsRUFBRTtNQUM1QixJQUFJRCxLQUFLLENBQUNFLE9BQU8sRUFBRTtRQUNqQixJQUFJRixLQUFLLENBQUNMLEtBQUssS0FBS1EsU0FBUyxFQUFFO1VBQzdCLE9BQU9ILEtBQUssQ0FBQ0wsS0FBSztRQUNwQixDQUFDLE1BQU07VUFDTCxPQUFPLENBQUM7UUFDVjtNQUNGLENBQUMsTUFBTTtRQUNMLE9BQU8sQ0FBQztNQUNWO0lBQ0Y7SUFFQSxPQUFPWixJQUFJLENBQUNpQixLQUFLLEVBQUUsT0FBTyxDQUFDO0VBQzdCO0FBQ0YiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,145 @@
|
|
|
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 AutoSubmit from "./auto-submit";
|
|
3
|
+
import BaseComponent from "../base-component";
|
|
4
|
+
import { digg } from "diggerize";
|
|
5
|
+
import PropTypes from "prop-types";
|
|
6
|
+
import memo from "set-state-compare/src/memo";
|
|
7
|
+
import { shapeComponent } from "set-state-compare/src/shape-component";
|
|
8
|
+
import useInput from "../use-input";
|
|
9
|
+
import { useForm } from "../form";
|
|
10
|
+
import { useMemo } from "react";
|
|
11
|
+
import useUpdatedEvent from "../use-updated-event";
|
|
12
|
+
export default memo(shapeComponent(class ApiMakerInputsCheckbox extends BaseComponent {
|
|
13
|
+
static defaultProps = {
|
|
14
|
+
autoRefresh: false,
|
|
15
|
+
autoSubmit: false,
|
|
16
|
+
defaultValue: 1,
|
|
17
|
+
model: null,
|
|
18
|
+
zeroInput: true
|
|
19
|
+
};
|
|
20
|
+
static propTypes = {
|
|
21
|
+
attribute: PropTypes.string,
|
|
22
|
+
autoRefresh: PropTypes.bool.isRequired,
|
|
23
|
+
autoSubmit: PropTypes.bool.isRequired,
|
|
24
|
+
defaultChecked: PropTypes.bool,
|
|
25
|
+
defaultValue: PropTypes.node,
|
|
26
|
+
id: PropTypes.string,
|
|
27
|
+
inputRef: PropTypes.object,
|
|
28
|
+
model: PropTypes.object,
|
|
29
|
+
name: PropTypes.string,
|
|
30
|
+
onErrors: PropTypes.func,
|
|
31
|
+
onMatchValidationError: PropTypes.func,
|
|
32
|
+
zeroInput: PropTypes.bool
|
|
33
|
+
};
|
|
34
|
+
setup() {
|
|
35
|
+
const {
|
|
36
|
+
autoRefresh,
|
|
37
|
+
model
|
|
38
|
+
} = this.p;
|
|
39
|
+
const {
|
|
40
|
+
inputProps,
|
|
41
|
+
restProps: useInputRestProps
|
|
42
|
+
} = useInput({
|
|
43
|
+
props: this.props,
|
|
44
|
+
wrapperOptions: {
|
|
45
|
+
type: "checkbox"
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
const {
|
|
49
|
+
defaultValue,
|
|
50
|
+
name
|
|
51
|
+
} = inputProps;
|
|
52
|
+
this.setInstance({
|
|
53
|
+
form: useForm(),
|
|
54
|
+
inputProps,
|
|
55
|
+
useInputRestProps
|
|
56
|
+
});
|
|
57
|
+
useMemo(() => {
|
|
58
|
+
if (name) {
|
|
59
|
+
this.tt.form?.setValue(name, defaultValue);
|
|
60
|
+
}
|
|
61
|
+
}, []);
|
|
62
|
+
useUpdatedEvent(model, this.tt.onModelUpdated, {
|
|
63
|
+
active: Boolean(autoRefresh && model)
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
render() {
|
|
67
|
+
const {
|
|
68
|
+
inputProps,
|
|
69
|
+
useInputRestProps
|
|
70
|
+
} = this.tt;
|
|
71
|
+
const {
|
|
72
|
+
attribute,
|
|
73
|
+
autoRefresh,
|
|
74
|
+
autoSubmit,
|
|
75
|
+
checked,
|
|
76
|
+
defaultChecked,
|
|
77
|
+
defaultValue,
|
|
78
|
+
id,
|
|
79
|
+
inputRef,
|
|
80
|
+
model,
|
|
81
|
+
name,
|
|
82
|
+
onChange,
|
|
83
|
+
zeroInput,
|
|
84
|
+
...restProps
|
|
85
|
+
} = useInputRestProps;
|
|
86
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, zeroInput && inputProps.name && /*#__PURE__*/React.createElement("input", {
|
|
87
|
+
defaultValue: "0",
|
|
88
|
+
name: inputProps.name,
|
|
89
|
+
type: "hidden"
|
|
90
|
+
}), /*#__PURE__*/React.createElement("input", _extends({}, inputProps, {
|
|
91
|
+
"data-auto-refresh": autoRefresh,
|
|
92
|
+
"data-auto-submit": autoSubmit,
|
|
93
|
+
defaultValue: defaultValue,
|
|
94
|
+
onChange: this.tt.onChanged,
|
|
95
|
+
type: "checkbox"
|
|
96
|
+
}, restProps)));
|
|
97
|
+
}
|
|
98
|
+
onChanged = (...args) => {
|
|
99
|
+
const {
|
|
100
|
+
form,
|
|
101
|
+
inputProps
|
|
102
|
+
} = this.tt;
|
|
103
|
+
const {
|
|
104
|
+
attribute,
|
|
105
|
+
autoSubmit,
|
|
106
|
+
model,
|
|
107
|
+
onChange
|
|
108
|
+
} = this.props;
|
|
109
|
+
const {
|
|
110
|
+
name
|
|
111
|
+
} = inputProps;
|
|
112
|
+
if (attribute && autoSubmit && model) new AutoSubmit({
|
|
113
|
+
component: this
|
|
114
|
+
}).autoSubmit();
|
|
115
|
+
console.log("onChanged", {
|
|
116
|
+
form,
|
|
117
|
+
name
|
|
118
|
+
});
|
|
119
|
+
if (form && name) {
|
|
120
|
+
const checked = args[0].target.checked;
|
|
121
|
+
console.log("Checkbox onChanged", {
|
|
122
|
+
checked
|
|
123
|
+
});
|
|
124
|
+
form.setValue(name, checked);
|
|
125
|
+
}
|
|
126
|
+
if (onChange) onChange(...args);
|
|
127
|
+
};
|
|
128
|
+
onModelUpdated = args => {
|
|
129
|
+
const inputRef = digg(this.tt.inputProps, "ref");
|
|
130
|
+
if (!inputRef.current) {
|
|
131
|
+
// This can happen if the component is being unmounted
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
const {
|
|
135
|
+
attribute
|
|
136
|
+
} = this.p;
|
|
137
|
+
const newModel = digg(args, "model");
|
|
138
|
+
const currentChecked = digg(inputRef, "current", "checked");
|
|
139
|
+
const newValue = newModel.readAttribute(attribute);
|
|
140
|
+
if (currentChecked != newValue) {
|
|
141
|
+
inputRef.current.checked = newValue;
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
}));
|
|
145
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBdXRvU3VibWl0IiwiQmFzZUNvbXBvbmVudCIsImRpZ2ciLCJQcm9wVHlwZXMiLCJtZW1vIiwic2hhcGVDb21wb25lbnQiLCJ1c2VJbnB1dCIsInVzZUZvcm0iLCJ1c2VNZW1vIiwidXNlVXBkYXRlZEV2ZW50IiwiQXBpTWFrZXJJbnB1dHNDaGVja2JveCIsImRlZmF1bHRQcm9wcyIsImF1dG9SZWZyZXNoIiwiYXV0b1N1Ym1pdCIsImRlZmF1bHRWYWx1ZSIsIm1vZGVsIiwiemVyb0lucHV0IiwicHJvcFR5cGVzIiwiYXR0cmlidXRlIiwic3RyaW5nIiwiYm9vbCIsImlzUmVxdWlyZWQiLCJkZWZhdWx0Q2hlY2tlZCIsIm5vZGUiLCJpZCIsImlucHV0UmVmIiwib2JqZWN0IiwibmFtZSIsIm9uRXJyb3JzIiwiZnVuYyIsIm9uTWF0Y2hWYWxpZGF0aW9uRXJyb3IiLCJzZXR1cCIsInAiLCJpbnB1dFByb3BzIiwicmVzdFByb3BzIiwidXNlSW5wdXRSZXN0UHJvcHMiLCJwcm9wcyIsIndyYXBwZXJPcHRpb25zIiwidHlwZSIsInNldEluc3RhbmNlIiwiZm9ybSIsInR0Iiwic2V0VmFsdWUiLCJvbk1vZGVsVXBkYXRlZCIsImFjdGl2ZSIsIkJvb2xlYW4iLCJyZW5kZXIiLCJjaGVja2VkIiwib25DaGFuZ2UiLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsIl9leHRlbmRzIiwib25DaGFuZ2VkIiwiYXJncyIsImNvbXBvbmVudCIsImNvbnNvbGUiLCJsb2ciLCJ0YXJnZXQiLCJjdXJyZW50IiwibmV3TW9kZWwiLCJjdXJyZW50Q2hlY2tlZCIsIm5ld1ZhbHVlIiwicmVhZEF0dHJpYnV0ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnB1dHMvY2hlY2tib3guanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBBdXRvU3VibWl0IGZyb20gXCIuL2F1dG8tc3VibWl0XCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL21lbW9cIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9zaGFwZS1jb21wb25lbnRcIlxuaW1wb3J0IHVzZUlucHV0IGZyb20gXCIuLi91c2UtaW5wdXRcIlxuaW1wb3J0IHt1c2VGb3JtfSBmcm9tIFwiLi4vZm9ybVwiXG5pbXBvcnQge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgdXNlVXBkYXRlZEV2ZW50IGZyb20gXCIuLi91c2UtdXBkYXRlZC1ldmVudFwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJJbnB1dHNDaGVja2JveCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGF1dG9SZWZyZXNoOiBmYWxzZSxcbiAgICBhdXRvU3VibWl0OiBmYWxzZSxcbiAgICBkZWZhdWx0VmFsdWU6IDEsXG4gICAgbW9kZWw6IG51bGwsXG4gICAgemVyb0lucHV0OiB0cnVlXG4gIH1cblxuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGF0dHJpYnV0ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBhdXRvUmVmcmVzaDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBhdXRvU3VibWl0OiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIGRlZmF1bHRDaGVja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkZWZhdWx0VmFsdWU6IFByb3BUeXBlcy5ub2RlLFxuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGlucHV0UmVmOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25FcnJvcnM6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uTWF0Y2hWYWxpZGF0aW9uRXJyb3I6IFByb3BUeXBlcy5mdW5jLFxuICAgIHplcm9JbnB1dDogUHJvcFR5cGVzLmJvb2xcbiAgfVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHthdXRvUmVmcmVzaCwgbW9kZWx9ID0gdGhpcy5wXG4gICAgY29uc3Qge2lucHV0UHJvcHMsIHJlc3RQcm9wczogdXNlSW5wdXRSZXN0UHJvcHN9ID0gdXNlSW5wdXQoe3Byb3BzOiB0aGlzLnByb3BzLCB3cmFwcGVyT3B0aW9uczoge3R5cGU6IFwiY2hlY2tib3hcIn19KVxuICAgIGNvbnN0IHtkZWZhdWx0VmFsdWUsIG5hbWV9ID0gaW5wdXRQcm9wc1xuXG4gICAgdGhpcy5zZXRJbnN0YW5jZSh7XG4gICAgICBmb3JtOiB1c2VGb3JtKCksXG4gICAgICBpbnB1dFByb3BzLFxuICAgICAgdXNlSW5wdXRSZXN0UHJvcHNcbiAgICB9KVxuXG4gICAgdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAobmFtZSkge1xuICAgICAgICB0aGlzLnR0LmZvcm0/LnNldFZhbHVlKG5hbWUsIGRlZmF1bHRWYWx1ZSlcbiAgICAgIH1cbiAgICB9LCBbXSlcblxuICAgIHVzZVVwZGF0ZWRFdmVudChtb2RlbCwgdGhpcy50dC5vbk1vZGVsVXBkYXRlZCwge2FjdGl2ZTogQm9vbGVhbihhdXRvUmVmcmVzaCAmJiBtb2RlbCl9KVxuICB9XG5cbiAgcmVuZGVyICgpIHtcbiAgICBjb25zdCB7aW5wdXRQcm9wcywgdXNlSW5wdXRSZXN0UHJvcHN9ID0gdGhpcy50dFxuICAgIGNvbnN0IHtcbiAgICAgIGF0dHJpYnV0ZSxcbiAgICAgIGF1dG9SZWZyZXNoLFxuICAgICAgYXV0b1N1Ym1pdCxcbiAgICAgIGNoZWNrZWQsXG4gICAgICBkZWZhdWx0Q2hlY2tlZCxcbiAgICAgIGRlZmF1bHRWYWx1ZSxcbiAgICAgIGlkLFxuICAgICAgaW5wdXRSZWYsXG4gICAgICBtb2RlbCxcbiAgICAgIG5hbWUsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIHplcm9JbnB1dCxcbiAgICAgIC4uLnJlc3RQcm9wc1xuICAgIH0gPSB1c2VJbnB1dFJlc3RQcm9wc1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHt6ZXJvSW5wdXQgJiYgaW5wdXRQcm9wcy5uYW1lICYmXG4gICAgICAgICAgPGlucHV0IGRlZmF1bHRWYWx1ZT1cIjBcIiBuYW1lPXtpbnB1dFByb3BzLm5hbWV9IHR5cGU9XCJoaWRkZW5cIiAvPlxuICAgICAgICB9XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIHsuLi5pbnB1dFByb3BzfVxuICAgICAgICAgIGRhdGEtYXV0by1yZWZyZXNoPXthdXRvUmVmcmVzaH1cbiAgICAgICAgICBkYXRhLWF1dG8tc3VibWl0PXthdXRvU3VibWl0fVxuICAgICAgICAgIGRlZmF1bHRWYWx1ZT17ZGVmYXVsdFZhbHVlfVxuICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLnR0Lm9uQ2hhbmdlZH1cbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgIHsuLi5yZXN0UHJvcHN9XG4gICAgICAgIC8+XG4gICAgICA8Lz5cbiAgICApXG4gIH1cblxuICBvbkNoYW5nZWQgPSAoLi4uYXJncykgPT4ge1xuICAgIGNvbnN0IHtmb3JtLCBpbnB1dFByb3BzfSA9IHRoaXMudHRcbiAgICBjb25zdCB7YXR0cmlidXRlLCBhdXRvU3VibWl0LCBtb2RlbCwgb25DaGFuZ2V9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtuYW1lfSA9IGlucHV0UHJvcHNcblxuICAgIGlmIChhdHRyaWJ1dGUgJiYgYXV0b1N1Ym1pdCAmJiBtb2RlbCkgbmV3IEF1dG9TdWJtaXQoe2NvbXBvbmVudDogdGhpc30pLmF1dG9TdWJtaXQoKVxuXG4gICAgY29uc29sZS5sb2coXCJvbkNoYW5nZWRcIiwge2Zvcm0sIG5hbWV9KVxuXG4gICAgaWYgKGZvcm0gJiYgbmFtZSkge1xuICAgICAgY29uc3QgY2hlY2tlZCA9IGFyZ3NbMF0udGFyZ2V0LmNoZWNrZWRcblxuICAgICAgY29uc29sZS5sb2coXCJDaGVja2JveCBvbkNoYW5nZWRcIiwge2NoZWNrZWR9KVxuXG4gICAgICBmb3JtLnNldFZhbHVlKG5hbWUsIGNoZWNrZWQpXG4gICAgfVxuXG4gICAgaWYgKG9uQ2hhbmdlKSBvbkNoYW5nZSguLi5hcmdzKVxuICB9XG5cbiAgb25Nb2RlbFVwZGF0ZWQgPSAoYXJncykgPT4ge1xuICAgIGNvbnN0IGlucHV0UmVmID0gZGlnZyh0aGlzLnR0LmlucHV0UHJvcHMsIFwicmVmXCIpXG5cbiAgICBpZiAoIWlucHV0UmVmLmN1cnJlbnQpIHtcbiAgICAgIC8vIFRoaXMgY2FuIGhhcHBlbiBpZiB0aGUgY29tcG9uZW50IGlzIGJlaW5nIHVubW91bnRlZFxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3Qge2F0dHJpYnV0ZX0gPSB0aGlzLnBcbiAgICBjb25zdCBuZXdNb2RlbCA9IGRpZ2coYXJncywgXCJtb2RlbFwiKVxuICAgIGNvbnN0IGN1cnJlbnRDaGVja2VkID0gZGlnZyhpbnB1dFJlZiwgXCJjdXJyZW50XCIsIFwiY2hlY2tlZFwiKVxuICAgIGNvbnN0IG5ld1ZhbHVlID0gbmV3TW9kZWwucmVhZEF0dHJpYnV0ZShhdHRyaWJ1dGUpXG5cbiAgICBpZiAoY3VycmVudENoZWNrZWQgIT0gbmV3VmFsdWUpIHtcbiAgICAgIGlucHV0UmVmLmN1cnJlbnQuY2hlY2tlZCA9IG5ld1ZhbHVlXG4gICAgfVxuICB9XG59KSlcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLFVBQVUsTUFBTSxlQUFlO0FBQ3RDLE9BQU9DLGFBQWEsTUFBTSxtQkFBbUI7QUFDN0MsU0FBUUMsSUFBSSxRQUFPLFdBQVc7QUFDOUIsT0FBT0MsU0FBUyxNQUFNLFlBQVk7QUFDbEMsT0FBT0MsSUFBSSxNQUFNLDRCQUE0QjtBQUM3QyxTQUFRQyxjQUFjLFFBQU8sdUNBQXVD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
|
|
@@ -0,0 +1,111 @@
|
|
|
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 { digs } from "diggerize";
|
|
5
|
+
import inputWrapper from "./input-wrapper";
|
|
6
|
+
import * as inflection from "inflection";
|
|
7
|
+
import InvalidFeedback from "../bootstrap/invalid-feedback";
|
|
8
|
+
import PropTypes from "prop-types";
|
|
9
|
+
import propTypesExact from "prop-types-exact";
|
|
10
|
+
import memo from "set-state-compare/src/memo";
|
|
11
|
+
import { shapeComponent } from "set-state-compare/src/shape-component";
|
|
12
|
+
const ApiMakerInputsCheckboxes = memo(shapeComponent(class ApiMakerInputsCheckboxes extends BaseComponent {
|
|
13
|
+
static propTypes = propTypesExact({
|
|
14
|
+
attribute: PropTypes.string,
|
|
15
|
+
defaultValue: PropTypes.array,
|
|
16
|
+
id: PropTypes.string,
|
|
17
|
+
inputProps: PropTypes.object.isRequired,
|
|
18
|
+
label: PropTypes.node,
|
|
19
|
+
model: PropTypes.object,
|
|
20
|
+
name: PropTypes.string,
|
|
21
|
+
onChange: PropTypes.func,
|
|
22
|
+
options: PropTypes.array.isRequired,
|
|
23
|
+
wrapperOpts: PropTypes.object
|
|
24
|
+
});
|
|
25
|
+
render() {
|
|
26
|
+
const {
|
|
27
|
+
className,
|
|
28
|
+
inputProps,
|
|
29
|
+
label,
|
|
30
|
+
wrapperOpts,
|
|
31
|
+
...restProps
|
|
32
|
+
} = this.props;
|
|
33
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
34
|
+
className: classNames("component-bootstrap-check-boxes", className)
|
|
35
|
+
}, restProps), /*#__PURE__*/React.createElement("input", {
|
|
36
|
+
name: this.inputName(),
|
|
37
|
+
ref: this.props.inputProps.ref,
|
|
38
|
+
type: "hidden",
|
|
39
|
+
value: ""
|
|
40
|
+
}), this.props.options.map((option, index) => this.optionElement(option, index)));
|
|
41
|
+
}
|
|
42
|
+
inputDefaultValue() {
|
|
43
|
+
const {
|
|
44
|
+
attribute,
|
|
45
|
+
defaultValue,
|
|
46
|
+
model
|
|
47
|
+
} = this.props;
|
|
48
|
+
if (defaultValue) {
|
|
49
|
+
return defaultValue;
|
|
50
|
+
} else if (attribute && model) {
|
|
51
|
+
if (!model[attribute]) throw `No such attribute: ${attribute}`;
|
|
52
|
+
return this.props.model[attribute]();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
inputCheckboxClassName() {
|
|
56
|
+
const classNames = [];
|
|
57
|
+
if (this.props.wrapperOpts.errors.length > 0) classNames.push("is-invalid");
|
|
58
|
+
return classNames.join(" ");
|
|
59
|
+
}
|
|
60
|
+
inputName() {
|
|
61
|
+
if (this.props.name) {
|
|
62
|
+
return `${this.props.name}[]`;
|
|
63
|
+
} else if (this.props.model) {
|
|
64
|
+
return `${this.props.model.modelClassData().paramKey}[${inflection.underscore(this.props.attribute)}]`;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
isDefaultSelected(option) {
|
|
68
|
+
let defaultValue = this.inputDefaultValue();
|
|
69
|
+
if (!defaultValue) return false;
|
|
70
|
+
if (defaultValue.constructor === Array) {
|
|
71
|
+
return defaultValue.includes(option);
|
|
72
|
+
} else {
|
|
73
|
+
return defaultValue == option;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
generatedId() {
|
|
77
|
+
if (!this.generatedIdValue) this.generatedIdValue = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
|
|
78
|
+
return this.generatedIdValue;
|
|
79
|
+
}
|
|
80
|
+
optionElement(option, index) {
|
|
81
|
+
const {
|
|
82
|
+
onChange,
|
|
83
|
+
options,
|
|
84
|
+
wrapperOpts
|
|
85
|
+
} = this.props;
|
|
86
|
+
const {
|
|
87
|
+
errors
|
|
88
|
+
} = digs(wrapperOpts, "errors");
|
|
89
|
+
const id = `${this.generatedId()}-${index}`;
|
|
90
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
91
|
+
className: "checkboxes-option",
|
|
92
|
+
key: `option-${option[1]}`
|
|
93
|
+
}, /*#__PURE__*/React.createElement("input", {
|
|
94
|
+
className: this.inputCheckboxClassName(),
|
|
95
|
+
"data-option-value": option[1],
|
|
96
|
+
defaultChecked: this.isDefaultSelected(option[1]),
|
|
97
|
+
id: id,
|
|
98
|
+
name: this.inputName(),
|
|
99
|
+
onChange: onChange,
|
|
100
|
+
type: "checkbox",
|
|
101
|
+
value: option[1]
|
|
102
|
+
}), /*#__PURE__*/React.createElement("label", {
|
|
103
|
+
className: "ml-1",
|
|
104
|
+
htmlFor: id
|
|
105
|
+
}, option[0]), index + 1 == options.length && errors.length > 0 && /*#__PURE__*/React.createElement(InvalidFeedback, {
|
|
106
|
+
errors: errors
|
|
107
|
+
}));
|
|
108
|
+
}
|
|
109
|
+
}));
|
|
110
|
+
export default inputWrapper(ApiMakerInputsCheckboxes);
|
|
111
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwiY2xhc3NOYW1lcyIsImRpZ3MiLCJpbnB1dFdyYXBwZXIiLCJpbmZsZWN0aW9uIiwiSW52YWxpZEZlZWRiYWNrIiwiUHJvcFR5cGVzIiwicHJvcFR5cGVzRXhhY3QiLCJtZW1vIiwic2hhcGVDb21wb25lbnQiLCJBcGlNYWtlcklucHV0c0NoZWNrYm94ZXMiLCJwcm9wVHlwZXMiLCJhdHRyaWJ1dGUiLCJzdHJpbmciLCJkZWZhdWx0VmFsdWUiLCJhcnJheSIsImlkIiwiaW5wdXRQcm9wcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJsYWJlbCIsIm5vZGUiLCJtb2RlbCIsIm5hbWUiLCJvbkNoYW5nZSIsImZ1bmMiLCJvcHRpb25zIiwid3JhcHBlck9wdHMiLCJyZW5kZXIiLCJjbGFzc05hbWUiLCJyZXN0UHJvcHMiLCJwcm9wcyIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzIiwiaW5wdXROYW1lIiwicmVmIiwidHlwZSIsInZhbHVlIiwibWFwIiwib3B0aW9uIiwiaW5kZXgiLCJvcHRpb25FbGVtZW50IiwiaW5wdXREZWZhdWx0VmFsdWUiLCJpbnB1dENoZWNrYm94Q2xhc3NOYW1lIiwiZXJyb3JzIiwibGVuZ3RoIiwicHVzaCIsImpvaW4iLCJtb2RlbENsYXNzRGF0YSIsInBhcmFtS2V5IiwidW5kZXJzY29yZSIsImlzRGVmYXVsdFNlbGVjdGVkIiwiY29uc3RydWN0b3IiLCJBcnJheSIsImluY2x1ZGVzIiwiZ2VuZXJhdGVkSWQiLCJnZW5lcmF0ZWRJZFZhbHVlIiwiTWF0aCIsInJhbmRvbSIsInRvU3RyaW5nIiwic3Vic3RyaW5nIiwia2V5IiwiZGVmYXVsdENoZWNrZWQiLCJodG1sRm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2lucHV0cy9jaGVja2JveGVzLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIlxuaW1wb3J0IHtkaWdzfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBpbnB1dFdyYXBwZXIgZnJvbSBcIi4vaW5wdXQtd3JhcHBlclwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBJbnZhbGlkRmVlZGJhY2sgZnJvbSBcIi4uL2Jvb3RzdHJhcC9pbnZhbGlkLWZlZWRiYWNrXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvbWVtb1wiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL3NoYXBlLWNvbXBvbmVudFwiXG5cbmNvbnN0IEFwaU1ha2VySW5wdXRzQ2hlY2tib3hlcyA9IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJJbnB1dHNDaGVja2JveGVzIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgYXR0cmlidXRlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGRlZmF1bHRWYWx1ZTogUHJvcFR5cGVzLmFycmF5LFxuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGlucHV0UHJvcHM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBsYWJlbDogUHJvcFR5cGVzLm5vZGUsXG4gICAgbW9kZWw6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb3B0aW9uczogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gICAgd3JhcHBlck9wdHM6IFByb3BUeXBlcy5vYmplY3RcbiAgfSlcblxuICByZW5kZXIgKCkge1xuICAgIGNvbnN0IHtjbGFzc05hbWUsIGlucHV0UHJvcHMsIGxhYmVsLCB3cmFwcGVyT3B0cywgLi4ucmVzdFByb3BzfSA9IHRoaXMucHJvcHNcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcImNvbXBvbmVudC1ib290c3RyYXAtY2hlY2stYm94ZXNcIiwgY2xhc3NOYW1lKX0gey4uLnJlc3RQcm9wc30+XG4gICAgICAgIDxpbnB1dCBuYW1lPXt0aGlzLmlucHV0TmFtZSgpfSByZWY9e3RoaXMucHJvcHMuaW5wdXRQcm9wcy5yZWZ9IHR5cGU9XCJoaWRkZW5cIiB2YWx1ZT1cIlwiIC8+XG4gICAgICAgIHt0aGlzLnByb3BzLm9wdGlvbnMubWFwKChvcHRpb24sIGluZGV4KSA9PiB0aGlzLm9wdGlvbkVsZW1lbnQob3B0aW9uLCBpbmRleCkpfVxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9XG5cbiAgaW5wdXREZWZhdWx0VmFsdWUgKCkge1xuICAgIGNvbnN0IHthdHRyaWJ1dGUsIGRlZmF1bHRWYWx1ZSwgbW9kZWx9ID0gdGhpcy5wcm9wc1xuXG4gICAgaWYgKGRlZmF1bHRWYWx1ZSkge1xuICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZVxuICAgIH0gZWxzZSBpZiAoYXR0cmlidXRlICYmIG1vZGVsKSB7XG4gICAgICBpZiAoIW1vZGVsW2F0dHJpYnV0ZV0pXG4gICAgICAgIHRocm93IGBObyBzdWNoIGF0dHJpYnV0ZTogJHthdHRyaWJ1dGV9YFxuXG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5tb2RlbFthdHRyaWJ1dGVdKClcbiAgICB9XG4gIH1cblxuICBpbnB1dENoZWNrYm94Q2xhc3NOYW1lICgpIHtcbiAgICBjb25zdCBjbGFzc05hbWVzID0gW11cblxuICAgIGlmICh0aGlzLnByb3BzLndyYXBwZXJPcHRzLmVycm9ycy5sZW5ndGggPiAwKSBjbGFzc05hbWVzLnB1c2goXCJpcy1pbnZhbGlkXCIpXG5cbiAgICByZXR1cm4gY2xhc3NOYW1lcy5qb2luKFwiIFwiKVxuICB9XG5cbiAgaW5wdXROYW1lICgpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5uYW1lKSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5wcm9wcy5uYW1lfVtdYFxuICAgIH0gZWxzZSBpZiAodGhpcy5wcm9wcy5tb2RlbCkge1xuICAgICAgcmV0dXJuIGAke3RoaXMucHJvcHMubW9kZWwubW9kZWxDbGFzc0RhdGEoKS5wYXJhbUtleX1bJHtpbmZsZWN0aW9uLnVuZGVyc2NvcmUodGhpcy5wcm9wcy5hdHRyaWJ1dGUpfV1gXG4gICAgfVxuICB9XG5cbiAgaXNEZWZhdWx0U2VsZWN0ZWQgKG9wdGlvbikge1xuICAgIGxldCBkZWZhdWx0VmFsdWUgPSB0aGlzLmlucHV0RGVmYXVsdFZhbHVlKClcblxuICAgIGlmICghZGVmYXVsdFZhbHVlKSByZXR1cm4gZmFsc2VcblxuICAgIGlmIChkZWZhdWx0VmFsdWUuY29uc3RydWN0b3IgPT09IEFycmF5KSB7XG4gICAgICByZXR1cm4gZGVmYXVsdFZhbHVlLmluY2x1ZGVzKG9wdGlvbilcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZSA9PSBvcHRpb25cbiAgICB9XG4gIH1cblxuICBnZW5lcmF0ZWRJZCAoKSB7XG4gICAgaWYgKCF0aGlzLmdlbmVyYXRlZElkVmFsdWUpXG4gICAgICB0aGlzLmdlbmVyYXRlZElkVmFsdWUgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiwgMTUpICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsIDE1KVxuXG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhdGVkSWRWYWx1ZVxuICB9XG5cbiAgb3B0aW9uRWxlbWVudCAob3B0aW9uLCBpbmRleCkge1xuICAgIGNvbnN0IHtvbkNoYW5nZSwgb3B0aW9ucywgd3JhcHBlck9wdHN9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtlcnJvcnN9ID0gZGlncyh3cmFwcGVyT3B0cywgXCJlcnJvcnNcIilcbiAgICBjb25zdCBpZCA9IGAke3RoaXMuZ2VuZXJhdGVkSWQoKX0tJHtpbmRleH1gXG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJjaGVja2JveGVzLW9wdGlvblwiIGtleT17YG9wdGlvbi0ke29wdGlvblsxXX1gfT5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgY2xhc3NOYW1lPXt0aGlzLmlucHV0Q2hlY2tib3hDbGFzc05hbWUoKX1cbiAgICAgICAgICBkYXRhLW9wdGlvbi12YWx1ZT17b3B0aW9uWzFdfVxuICAgICAgICAgIGRlZmF1bHRDaGVja2VkPXt0aGlzLmlzRGVmYXVsdFNlbGVjdGVkKG9wdGlvblsxXSl9XG4gICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgIG5hbWU9e3RoaXMuaW5wdXROYW1lKCl9XG4gICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgdmFsdWU9e29wdGlvblsxXX1cbiAgICAgICAgLz5cblxuICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwibWwtMVwiIGh0bWxGb3I9e2lkfT5cbiAgICAgICAgICB7b3B0aW9uWzBdfVxuICAgICAgICA8L2xhYmVsPlxuXG4gICAgICAgIHsoaW5kZXggKyAxKSA9PSBvcHRpb25zLmxlbmd0aCAmJiBlcnJvcnMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgIDxJbnZhbGlkRmVlZGJhY2sgZXJyb3JzPXtlcnJvcnN9IC8+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIClcbiAgfVxufSkpXG5cbmV4cG9ydCBkZWZhdWx0IGlucHV0V3JhcHBlcihBcGlNYWtlcklucHV0c0NoZWNrYm94ZXMpXG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxhQUFhLE1BQU0sbUJBQW1CO0FBQzdDLE9BQU9DLFVBQVUsTUFBTSxZQUFZO0FBQ25DLFNBQVFDLElBQUksUUFBTyxXQUFX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
|