@kaspernj/api-maker 1.0.2011 → 1.0.2013
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} +10 -1
- 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.js +135 -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 +129 -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 +131 -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 +9 -0
- package/build/collection-loader.js +48 -0
- package/build/collection.js +280 -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 +62 -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 +112 -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-emitter-listener.js +15 -0
- package/build/event-model-class.js +24 -0
- package/build/events.js +5 -0
- package/build/flash-message.js +79 -0
- package/build/form.js +83 -0
- package/build/history-expo.js +20 -0
- package/build/history-react-native.js +20 -0
- package/build/history.js +3 -0
- package/build/index.js +3 -0
- package/build/inputs/attachment.js +133 -0
- package/build/inputs/auto-submit.js +36 -0
- package/build/inputs/checkbox.js +138 -0
- package/build/inputs/checkboxes.js +112 -0
- package/build/inputs/id-for-component.js +15 -0
- package/build/inputs/input-wrapper.js +19 -0
- package/build/inputs/input.js +243 -0
- package/build/inputs/money.js +179 -0
- package/build/inputs/name-for-component.js +13 -0
- package/build/inputs/select.js +93 -0
- package/build/instance-of-class-name.js +23 -0
- package/build/is-expo.js +22 -0
- package/build/key-value-store.js +53 -0
- package/build/link.js +73 -0
- package/build/logger.js +30 -0
- package/build/modal.js +38 -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 +78 -0
- package/build/not-loaded-error.js +2 -0
- package/build/params.js +61 -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 +270 -0
- package/build/router/switch.js +72 -0
- package/build/router.js +59 -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 +134 -0
- package/build/source-maps-loader.js +184 -0
- package/build/super-admin/config-reader.js +85 -0
- package/build/super-admin/edit-page/edit-attribute-checkbox.js +85 -0
- package/build/super-admin/edit-page/edit-attribute-content.js +55 -0
- package/build/super-admin/edit-page/edit-attribute-input.js +79 -0
- package/build/super-admin/edit-page/edit-attribute.js +77 -0
- package/build/super-admin/edit-page.js +123 -0
- package/build/super-admin/has-edit-config.js +12 -0
- package/build/super-admin/index-page.js +25 -0
- package/build/super-admin/index.js +181 -0
- package/build/super-admin/layout/header/index.js +161 -0
- package/build/super-admin/layout/index.js +164 -0
- package/build/super-admin/layout/menu/index.js +206 -0
- package/build/super-admin/layout/menu/menu-content.js +46 -0
- package/build/super-admin/layout/menu/menu-item.js +84 -0
- package/build/super-admin/layout/no-access.js +27 -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 +51 -0
- package/build/super-admin/show-page/belongs-to-attribute-row.js +29 -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 +48 -0
- package/build/super-admin/show-reflection-page.js +48 -0
- package/build/table/column-content.js +117 -0
- package/build/table/column-identifier.js +18 -0
- package/build/table/column-visible.js +7 -0
- package/build/table/components/column.js +21 -0
- package/build/table/components/flat-list.js +21 -0
- package/build/table/components/header.js +26 -0
- package/build/table/components/row.js +26 -0
- package/build/table/filters/attribute-element.js +44 -0
- package/build/table/filters/filter-form.js +402 -0
- package/build/table/filters/filter.js +90 -0
- package/build/table/filters/index.js +184 -0
- package/build/table/filters/load-search-modal.js +175 -0
- package/build/table/filters/reflection-element.js +37 -0
- package/build/table/filters/save-search-modal.js +88 -0
- package/build/table/filters/scope-element.js +42 -0
- package/build/table/header-column-content.js +68 -0
- package/build/table/header-column.js +144 -0
- package/build/table/header-select.js +105 -0
- package/build/table/model-callback-args.js +10 -0
- package/build/table/model-column.js +97 -0
- package/build/table/model-row.js +193 -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 +79 -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 +12 -0
- package/build/updated-attribute.js +76 -0
- package/build/url-encode.js +15 -0
- package/build/use-breakpoint.js +71 -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 +76 -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 +137 -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 +104 -0
- package/build/use-screen-layout.js +39 -0
- package/build/use-styles.js +41 -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 +78 -0
- package/build/utils/checkboxes.js +163 -0
- package/build/utils/default-style.js +18 -0
- package/build/utils/icon.js +23 -0
- package/build/utils/invalid-feedback.js +19 -0
- package/build/utils/modal.js +62 -0
- package/build/utils/text.js +44 -0
- package/build/validation-error.js +28 -0
- package/build/validation-errors.js +98 -0
- package/build/with-api-maker.js +29 -0
- package/build/with-collection.js +14 -0
- package/build/with-current-user.js +10 -0
- package/build/with-model.js +15 -0
- package/build/with-router.js +22 -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 +49 -46
- package/src/{api.mjs → api.js} +38 -37
- package/src/base-component.jsx +5 -0
- package/src/{base-error.mjs → base-error.js} +4 -6
- package/src/base-model/attribute.js +33 -0
- package/src/base-model/column.js +13 -0
- package/src/base-model/reflection.js +15 -0
- package/src/base-model/scope.js +12 -0
- package/src/{base-model.mjs → base-model.js} +302 -144
- package/src/bootstrap/attribute-row.jsx +135 -0
- package/src/bootstrap/attribute-rows.jsx +27 -0
- package/src/bootstrap/card.jsx +149 -0
- package/src/bootstrap/checkbox.jsx +86 -0
- package/src/bootstrap/checkboxes.jsx +185 -0
- package/src/bootstrap/index.js +0 -0
- package/src/bootstrap/input.jsx +173 -0
- package/src/bootstrap/invalid-feedback.jsx +31 -0
- package/src/bootstrap/paginate.jsx +187 -0
- package/src/bootstrap/radio-buttons.jsx +87 -0
- package/src/bootstrap/select.jsx +110 -0
- package/src/bootstrap/sort-link.jsx +106 -0
- package/src/{cable-connection-pool.mjs → cable-connection-pool.js} +16 -36
- package/src/{cable-subscription-pool.mjs → cable-subscription-pool.js} +26 -21
- package/src/{cable-subscription.mjs → cable-subscription.js} +6 -4
- package/src/cache-key-generator.js +100 -0
- package/src/{can-can.mjs → can-can.js} +13 -12
- package/src/channels-consumer.js +10 -0
- package/src/collection-loader.jsx +58 -224
- package/src/{collection.mjs → collection.js} +98 -44
- package/src/{command-submit-data.mjs → command-submit-data.js} +2 -7
- package/src/{commands-pool.mjs → commands-pool.js} +57 -41
- package/src/compose.js +11 -0
- package/src/{config.mjs → config.js} +6 -2
- package/src/{custom-error.mjs → custom-error.js} +1 -1
- package/src/data-set-to-attributes.js +13 -0
- package/src/{deserializer.mjs → deserializer.js} +3 -3
- package/src/destroy-error.js +7 -0
- package/src/devise.js +129 -0
- 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} +12 -7
- package/src/{error-messages.mjs → error-messages.js} +1 -0
- package/src/event-connection.jsx +1 -1
- package/src/event-emitter-listener.jsx +8 -27
- package/src/event-model-class.jsx +2 -4
- package/src/events.js +7 -0
- package/src/flash-message.js +70 -0
- package/src/form.jsx +91 -0
- package/src/history-expo.js +23 -0
- package/src/history-react-native.js +25 -0
- package/src/history.js +3 -0
- package/src/index.js +3 -0
- package/src/inputs/attachment.jsx +108 -0
- package/src/inputs/auto-submit.js +37 -0
- package/src/inputs/checkbox.jsx +125 -0
- package/src/inputs/checkboxes.jsx +116 -0
- package/src/inputs/id-for-component.js +15 -0
- package/src/inputs/input-wrapper.jsx +16 -0
- package/src/inputs/input.jsx +260 -0
- package/src/inputs/money.jsx +187 -0
- package/src/inputs/name-for-component.js +15 -0
- package/src/inputs/select.jsx +104 -0
- package/src/is-expo.js +18 -0
- package/src/{key-value-store.mjs → key-value-store.js} +1 -1
- package/src/link.jsx +54 -9
- package/src/logger.js +38 -0
- package/src/modal.jsx +37 -0
- package/src/model-class-require.js +17 -0
- package/src/{model-events.mjs → model-events.js} +1 -1
- package/src/{model-name.mjs → model-name.js} +8 -8
- package/src/{model-recipes-loader.mjs → model-recipes-loader.js} +1 -1
- package/src/{model-recipes-model-loader.mjs → model-recipes-model-loader.js} +5 -5
- package/src/{models-response-reader.mjs → models-response-reader.js} +3 -4
- package/src/models.js +7 -0
- package/src/{models.mjs.erb → models.js.erb} +6 -3
- package/src/{money-formatter.mjs → money-formatter.js} +5 -4
- package/src/{params.mjs → params.js} +17 -7
- package/src/{preloaded.mjs → preloaded.js} +2 -2
- package/src/resize-observer.jsx +10 -0
- package/src/result.js +13 -0
- package/src/router/route.jsx +246 -0
- package/src/router/switch.jsx +76 -0
- package/src/router.jsx +23 -21
- package/src/{routes-native.mjs → routes-native.js} +12 -6
- package/src/{routes.mjs → routes.js} +1 -1
- package/src/run-last.js +39 -0
- package/src/{serializer.mjs → serializer.js} +2 -2
- package/src/{services.mjs → services.js} +1 -1
- package/src/session-status-updater.js +172 -0
- package/src/{source-maps-loader.mjs → source-maps-loader.js} +54 -28
- package/src/super-admin/config-reader.jsx +93 -0
- package/src/super-admin/edit-page/edit-attribute-checkbox.jsx +81 -0
- package/src/super-admin/edit-page/edit-attribute-content.jsx +57 -0
- package/src/super-admin/edit-page/edit-attribute-input.jsx +71 -0
- package/src/super-admin/edit-page/edit-attribute.jsx +81 -0
- package/src/super-admin/edit-page.jsx +117 -0
- package/src/super-admin/has-edit-config.js +15 -0
- package/src/super-admin/index-page.jsx +23 -0
- package/src/super-admin/index.jsx +197 -0
- package/src/super-admin/layout/header/index.jsx +144 -0
- package/src/super-admin/layout/header/style.scss +45 -0
- package/src/super-admin/layout/index.jsx +154 -0
- package/src/super-admin/layout/menu/index.jsx +171 -0
- package/src/super-admin/layout/menu/menu-content.jsx +43 -0
- package/src/super-admin/layout/menu/menu-item.jsx +70 -0
- package/src/super-admin/layout/menu/style.scss +11 -0
- package/src/super-admin/layout/no-access.jsx +26 -0
- package/src/super-admin/model-class-table.jsx +66 -0
- package/src/super-admin/models.js +11 -0
- package/src/super-admin/show-nav.jsx +44 -0
- package/src/super-admin/show-page/belongs-to-attribute-row.jsx +30 -0
- package/src/super-admin/show-page/index.jsx +141 -0
- package/src/super-admin/show-reflection-actions.jsx +49 -0
- package/src/super-admin/show-reflection-link.jsx +40 -0
- package/src/super-admin/show-reflection-page.jsx +47 -0
- package/src/super-admin/stylesheets/variables.scss +11 -0
- package/src/table/column-content.jsx +122 -0
- package/src/table/column-identifier.js +23 -0
- package/src/table/column-visible.js +7 -0
- package/src/table/components/column.jsx +19 -0
- package/src/table/components/flat-list.jsx +19 -0
- package/src/table/components/header.jsx +21 -0
- package/src/table/components/row.jsx +23 -0
- package/src/table/filters/attribute-element.jsx +47 -0
- package/src/table/filters/filter-form.jsx +407 -0
- package/src/table/filters/filter.jsx +70 -0
- package/src/table/filters/index.jsx +170 -0
- package/src/table/filters/load-search-modal.jsx +146 -0
- package/src/table/filters/reflection-element.jsx +38 -0
- package/src/table/filters/save-search-modal.jsx +74 -0
- package/src/table/filters/scope-element.jsx +44 -0
- package/src/table/header-column-content.jsx +55 -0
- package/src/table/header-column.jsx +129 -0
- package/src/table/header-select.jsx +73 -0
- package/src/table/model-callback-args.js +10 -0
- package/src/table/model-column.jsx +82 -0
- package/src/table/model-row.jsx +136 -0
- package/src/table/select-calculator.js +65 -0
- package/src/table/settings/column-row.jsx +93 -0
- package/src/table/settings/download-action.jsx +68 -0
- package/src/table/settings/index.jsx +65 -0
- package/src/table/table-settings.js +263 -0
- package/src/table/table.jsx +950 -0
- package/src/table/use-sorting.js +35 -0
- package/src/table/variables.scss +11 -0
- package/src/table/widths.jsx +87 -0
- package/src/table/worker-plugins-check-all-checkbox.jsx +112 -0
- package/src/table/worker-plugins-checkbox.jsx +104 -0
- package/src/translated-attributes.js +11 -0
- package/src/{translated-collections.mjs → translated-collections.js} +3 -2
- package/src/updated-attribute.jsx +1 -1
- package/src/url-encode.js +18 -0
- package/src/use-breakpoint.js +87 -0
- package/src/use-can-can.js +55 -0
- package/src/use-collection.js +280 -0
- package/src/use-created-event.js +55 -0
- package/src/use-current-user.js +88 -0
- package/src/use-destroyed-event.js +60 -0
- package/src/use-event-emitter.js +15 -0
- package/src/use-event-listener.js +19 -0
- package/src/use-input.js +157 -0
- package/src/use-model-event.js +60 -0
- package/src/use-model.js +189 -0
- package/src/use-resize-observer.js +24 -0
- package/src/use-router.jsx +128 -0
- package/src/use-screen-layout.js +49 -0
- package/src/use-styles.js +50 -0
- package/src/use-updated-event.js +60 -0
- package/src/use-validation-errors.js +33 -0
- package/src/utils/card.jsx +49 -0
- package/src/utils/checkbox.jsx +80 -0
- package/src/utils/checkboxes.jsx +158 -0
- package/src/utils/default-style.jsx +25 -0
- package/src/utils/icon.jsx +21 -0
- package/src/utils/invalid-feedback.jsx +20 -0
- package/src/utils/modal.jsx +60 -0
- package/src/utils/text.jsx +38 -0
- package/src/{validation-error.mjs → validation-error.js} +9 -5
- package/src/{validation-errors.mjs → validation-errors.js} +15 -27
- package/src/with-api-maker.jsx +31 -0
- package/src/with-collection.jsx +17 -0
- package/src/with-current-user.jsx +7 -25
- package/src/with-model.jsx +16 -0
- package/src/with-router.jsx +7 -129
- package/__tests__/base-model.test.js +0 -71
- package/__tests__/cable-connection-pool.test.js +0 -227
- package/__tests__/cable-subscription-pool.test.js +0 -26
- package/__tests__/can-can.test.js +0 -34
- package/__tests__/collection.test.js +0 -51
- package/__tests__/custom-error.test.js +0 -13
- package/__tests__/model-name.test.js +0 -34
- package/__tests__/model-prop-type.test.js +0 -113
- package/__tests__/params.test.js +0 -40
- package/__tests__/routes-native.test.js +0 -103
- package/__tests__/routes.test.js +0 -46
- package/__tests__/serializer.test.js +0 -30
- package/__tests__/support/task.js +0 -27
- package/__tests__/support/user.js +0 -32
- package/index.js +0 -1
- package/jest.config.js +0 -4
- package/src/can-can-loader.jsx +0 -54
- package/src/channels-consumer.mjs +0 -3
- package/src/destroy-error.mjs +0 -7
- package/src/devise.mjs +0 -122
- package/src/event-created.jsx +0 -65
- package/src/event-destroyed.jsx +0 -29
- package/src/event-listener.jsx +0 -38
- package/src/event-updated.jsx +0 -74
- package/src/logger.mjs +0 -25
- package/src/model-class-require.mjs +0 -10
- package/src/model-load-wrapper.jsx +0 -116
- package/src/result.mjs +0 -29
- package/src/session-status-updater.mjs +0 -116
- package/webpack.config.js +0 -15
- /package/src/{attribute-not-loaded-error.mjs → attribute-not-loaded-error.js} +0 -0
- /package/src/{instance-of-class-name.mjs → instance-of-class-name.js} +0 -0
- /package/src/{model-prop-type.mjs → model-prop-type.js} +0 -0
- /package/src/{not-loaded-error.mjs → not-loaded-error.js} +0 -0
- /package/src/{translated-collections-data.mjs.erb → translated-collections-data.js.erb} +0 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import parse from "url-parse";
|
|
2
|
+
import qs from "qs";
|
|
3
|
+
class HistoryExpo {
|
|
4
|
+
push(path, ...params) {
|
|
5
|
+
const url = parse(path, {});
|
|
6
|
+
const actualParams = Object.assign({}, params);
|
|
7
|
+
if (url.query) {
|
|
8
|
+
Object.assign(actualParams, qs.parse(url.query.slice(1, url.query.length)));
|
|
9
|
+
url.set("query", null);
|
|
10
|
+
}
|
|
11
|
+
const actualPath = url.href;
|
|
12
|
+
router.push({
|
|
13
|
+
pathname: actualPath,
|
|
14
|
+
params: actualParams
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
const historyExpo = new HistoryExpo();
|
|
19
|
+
export default historyExpo;
|
|
20
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJzZSIsInFzIiwiSGlzdG9yeUV4cG8iLCJwdXNoIiwicGF0aCIsInBhcmFtcyIsInVybCIsImFjdHVhbFBhcmFtcyIsIk9iamVjdCIsImFzc2lnbiIsInF1ZXJ5Iiwic2xpY2UiLCJsZW5ndGgiLCJzZXQiLCJhY3R1YWxQYXRoIiwiaHJlZiIsInJvdXRlciIsInBhdGhuYW1lIiwiaGlzdG9yeUV4cG8iXSwic291cmNlcyI6WyIuLi9zcmMvaGlzdG9yeS1leHBvLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXJzZSBmcm9tIFwidXJsLXBhcnNlXCJcbmltcG9ydCBxcyBmcm9tIFwicXNcIlxuXG5jbGFzcyBIaXN0b3J5RXhwbyB7XG4gIHB1c2gocGF0aCwgLi4ucGFyYW1zKSB7XG4gICAgY29uc3QgdXJsID0gcGFyc2UocGF0aCwge30pXG4gICAgY29uc3QgYWN0dWFsUGFyYW1zID0gT2JqZWN0LmFzc2lnbih7fSwgcGFyYW1zKVxuXG4gICAgaWYgKHVybC5xdWVyeSkge1xuICAgICAgT2JqZWN0LmFzc2lnbihhY3R1YWxQYXJhbXMsIHFzLnBhcnNlKHVybC5xdWVyeS5zbGljZSgxLCB1cmwucXVlcnkubGVuZ3RoKSkpXG5cbiAgICAgIHVybC5zZXQoXCJxdWVyeVwiLCBudWxsKVxuICAgIH1cblxuICAgIGNvbnN0IGFjdHVhbFBhdGggPSB1cmwuaHJlZlxuXG4gICAgcm91dGVyLnB1c2goe3BhdGhuYW1lOiBhY3R1YWxQYXRoLCBwYXJhbXM6IGFjdHVhbFBhcmFtc30pXG4gIH1cbn1cblxuY29uc3QgaGlzdG9yeUV4cG8gPSBuZXcgSGlzdG9yeUV4cG8oKVxuXG5leHBvcnQgZGVmYXVsdCBoaXN0b3J5RXhwb1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxLQUFLLE1BQU0sV0FBVztBQUM3QixPQUFPQyxFQUFFLE1BQU0sSUFBSTtBQUVuQixNQUFNQyxXQUFXLENBQUM7RUFDaEJDLElBQUlBLENBQUNDLElBQUksRUFBRSxHQUFHQyxNQUFNLEVBQUU7SUFDcEIsTUFBTUMsR0FBRyxHQUFHTixLQUFLLENBQUNJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMzQixNQUFNRyxZQUFZLEdBQUdDLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFSixNQUFNLENBQUM7SUFFOUMsSUFBSUMsR0FBRyxDQUFDSSxLQUFLLEVBQUU7TUFDYkYsTUFBTSxDQUFDQyxNQUFNLENBQUNGLFlBQVksRUFBRU4sRUFBRSxDQUFDRCxLQUFLLENBQUNNLEdBQUcsQ0FBQ0ksS0FBSyxDQUFDQyxLQUFLLENBQUMsQ0FBQyxFQUFFTCxHQUFHLENBQUNJLEtBQUssQ0FBQ0UsTUFBTSxDQUFDLENBQUMsQ0FBQztNQUUzRU4sR0FBRyxDQUFDTyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztJQUN4QjtJQUVBLE1BQU1DLFVBQVUsR0FBR1IsR0FBRyxDQUFDUyxJQUFJO0lBRTNCQyxNQUFNLENBQUNiLElBQUksQ0FBQztNQUFDYyxRQUFRLEVBQUVILFVBQVU7TUFBRVQsTUFBTSxFQUFFRTtJQUFZLENBQUMsQ0FBQztFQUMzRDtBQUNGO0FBRUEsTUFBTVcsV0FBVyxHQUFHLElBQUloQixXQUFXLENBQUMsQ0FBQztBQUVyQyxlQUFlZ0IsV0FBVyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import Config from "./config";
|
|
2
|
+
import parse from "url-parse";
|
|
3
|
+
import qs from "qs";
|
|
4
|
+
class HistoryReactNative {
|
|
5
|
+
push(path, ...params) {
|
|
6
|
+
const url = parse(path, {});
|
|
7
|
+
if (url.query) {
|
|
8
|
+
const actualParams = Object.assign({}, params);
|
|
9
|
+
Object.assign(actualParams, qs.parse(url.query.slice(1, url.query.length)));
|
|
10
|
+
url.set("query", qs.stringify(actualParams));
|
|
11
|
+
}
|
|
12
|
+
const {
|
|
13
|
+
linkTo
|
|
14
|
+
} = Config.getLinkTo();
|
|
15
|
+
linkTo(url.href);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
const historyReactNative = new HistoryReactNative();
|
|
19
|
+
export default historyReactNative;
|
|
20
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb25maWciLCJwYXJzZSIsInFzIiwiSGlzdG9yeVJlYWN0TmF0aXZlIiwicHVzaCIsInBhdGgiLCJwYXJhbXMiLCJ1cmwiLCJxdWVyeSIsImFjdHVhbFBhcmFtcyIsIk9iamVjdCIsImFzc2lnbiIsInNsaWNlIiwibGVuZ3RoIiwic2V0Iiwic3RyaW5naWZ5IiwibGlua1RvIiwiZ2V0TGlua1RvIiwiaHJlZiIsImhpc3RvcnlSZWFjdE5hdGl2ZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9oaXN0b3J5LXJlYWN0LW5hdGl2ZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29uZmlnIGZyb20gXCIuL2NvbmZpZ1wiXG5pbXBvcnQgcGFyc2UgZnJvbSBcInVybC1wYXJzZVwiXG5pbXBvcnQgcXMgZnJvbSBcInFzXCJcblxuY2xhc3MgSGlzdG9yeVJlYWN0TmF0aXZlIHtcbiAgcHVzaChwYXRoLCAuLi5wYXJhbXMpIHtcbiAgICBjb25zdCB1cmwgPSBwYXJzZShwYXRoLCB7fSlcblxuICAgIGlmICh1cmwucXVlcnkpIHtcbiAgICAgIGNvbnN0IGFjdHVhbFBhcmFtcyA9IE9iamVjdC5hc3NpZ24oe30sIHBhcmFtcylcblxuICAgICAgT2JqZWN0LmFzc2lnbihhY3R1YWxQYXJhbXMsIHFzLnBhcnNlKHVybC5xdWVyeS5zbGljZSgxLCB1cmwucXVlcnkubGVuZ3RoKSkpXG5cbiAgICAgIHVybC5zZXQoXCJxdWVyeVwiLCBxcy5zdHJpbmdpZnkoYWN0dWFsUGFyYW1zKSlcbiAgICB9XG5cbiAgICBjb25zdCB7bGlua1RvfSA9IENvbmZpZy5nZXRMaW5rVG8oKVxuXG4gICAgbGlua1RvKHVybC5ocmVmKVxuICB9XG59XG5cbmNvbnN0IGhpc3RvcnlSZWFjdE5hdGl2ZSA9IG5ldyBIaXN0b3J5UmVhY3ROYXRpdmUoKVxuXG5leHBvcnQgZGVmYXVsdCBoaXN0b3J5UmVhY3ROYXRpdmVcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxNQUFNLFVBQVU7QUFDN0IsT0FBT0MsS0FBSyxNQUFNLFdBQVc7QUFDN0IsT0FBT0MsRUFBRSxNQUFNLElBQUk7QUFFbkIsTUFBTUMsa0JBQWtCLENBQUM7RUFDdkJDLElBQUlBLENBQUNDLElBQUksRUFBRSxHQUFHQyxNQUFNLEVBQUU7SUFDcEIsTUFBTUMsR0FBRyxHQUFHTixLQUFLLENBQUNJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUUzQixJQUFJRSxHQUFHLENBQUNDLEtBQUssRUFBRTtNQUNiLE1BQU1DLFlBQVksR0FBR0MsTUFBTSxDQUFDQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUVMLE1BQU0sQ0FBQztNQUU5Q0ksTUFBTSxDQUFDQyxNQUFNLENBQUNGLFlBQVksRUFBRVAsRUFBRSxDQUFDRCxLQUFLLENBQUNNLEdBQUcsQ0FBQ0MsS0FBSyxDQUFDSSxLQUFLLENBQUMsQ0FBQyxFQUFFTCxHQUFHLENBQUNDLEtBQUssQ0FBQ0ssTUFBTSxDQUFDLENBQUMsQ0FBQztNQUUzRU4sR0FBRyxDQUFDTyxHQUFHLENBQUMsT0FBTyxFQUFFWixFQUFFLENBQUNhLFNBQVMsQ0FBQ04sWUFBWSxDQUFDLENBQUM7SUFDOUM7SUFFQSxNQUFNO01BQUNPO0lBQU0sQ0FBQyxHQUFHaEIsTUFBTSxDQUFDaUIsU0FBUyxDQUFDLENBQUM7SUFFbkNELE1BQU0sQ0FBQ1QsR0FBRyxDQUFDVyxJQUFJLENBQUM7RUFDbEI7QUFDRjtBQUVBLE1BQU1DLGtCQUFrQixHQUFHLElBQUloQixrQkFBa0IsQ0FBQyxDQUFDO0FBRW5ELGVBQWVnQixrQkFBa0IiLCJpZ25vcmVMaXN0IjpbXX0=
|
package/build/history.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { createBrowserHistory } from "history";
|
|
2
|
+
export default createBrowserHistory();
|
|
3
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVCcm93c2VySGlzdG9yeSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9oaXN0b3J5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y3JlYXRlQnJvd3Nlckhpc3Rvcnl9IGZyb20gXCJoaXN0b3J5XCJcblxuZXhwb3J0IGRlZmF1bHQgY3JlYXRlQnJvd3Nlckhpc3RvcnkoKVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxvQkFBb0IsUUFBTyxTQUFTO0FBRTVDLGVBQWVBLG9CQUFvQixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
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,133 @@
|
|
|
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 { Input as ApiMakerInput } from "@kaspernj/api-maker/build/inputs/input";
|
|
5
|
+
import Checkbox from "./checkbox";
|
|
6
|
+
import memo from "set-state-compare/src/memo";
|
|
7
|
+
import PropTypes from "prop-types";
|
|
8
|
+
import React from "react";
|
|
9
|
+
import { shapeComponent } from "set-state-compare/src/shape-component";
|
|
10
|
+
import useI18n from "i18n-on-steroids/src/use-i18n";
|
|
11
|
+
import useInput from "../use-input";
|
|
12
|
+
export default memo(shapeComponent(class ApiMakerInputsAttachment extends BaseComponent {
|
|
13
|
+
static propTypes = {
|
|
14
|
+
className: PropTypes.string,
|
|
15
|
+
model: PropTypes.object.isRequired,
|
|
16
|
+
onPurgeChanged: PropTypes.func,
|
|
17
|
+
purgeName: PropTypes.string
|
|
18
|
+
};
|
|
19
|
+
setup() {
|
|
20
|
+
const {
|
|
21
|
+
t
|
|
22
|
+
} = useI18n({
|
|
23
|
+
namespace: "js.api_maker.inputs.attachment"
|
|
24
|
+
});
|
|
25
|
+
const {
|
|
26
|
+
inputProps
|
|
27
|
+
} = useInput({
|
|
28
|
+
props: this.props
|
|
29
|
+
});
|
|
30
|
+
this.setInstance({
|
|
31
|
+
inputProps,
|
|
32
|
+
t
|
|
33
|
+
});
|
|
34
|
+
this.useStates({
|
|
35
|
+
purgeChecked: false
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
render() {
|
|
39
|
+
const {
|
|
40
|
+
inputProps,
|
|
41
|
+
t
|
|
42
|
+
} = this.tt;
|
|
43
|
+
const {
|
|
44
|
+
attribute,
|
|
45
|
+
checkboxComponent,
|
|
46
|
+
className,
|
|
47
|
+
label,
|
|
48
|
+
model,
|
|
49
|
+
name,
|
|
50
|
+
onPurgeChanged,
|
|
51
|
+
purgeName,
|
|
52
|
+
wrapperOpts,
|
|
53
|
+
...restProps
|
|
54
|
+
} = this.props;
|
|
55
|
+
const CheckboxComponent = checkboxComponent || Checkbox;
|
|
56
|
+
const newInputProps = Object.assign({}, inputProps, {
|
|
57
|
+
type: "file"
|
|
58
|
+
});
|
|
59
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
60
|
+
className: classNames("api-maker--inputs--attachment", "components--inputs--input", className)
|
|
61
|
+
}, restProps), this.isImage() && /*#__PURE__*/React.createElement("a", {
|
|
62
|
+
href: this.getUrl(),
|
|
63
|
+
target: "_blank"
|
|
64
|
+
}, /*#__PURE__*/React.createElement("img", {
|
|
65
|
+
src: this.getUrl(),
|
|
66
|
+
style: {
|
|
67
|
+
maxWidth: "200px",
|
|
68
|
+
maxHeight: "200px"
|
|
69
|
+
}
|
|
70
|
+
})), this.getUrl() && /*#__PURE__*/React.createElement("div", {
|
|
71
|
+
className: "input-checkbox",
|
|
72
|
+
style: {
|
|
73
|
+
paddingTop: "15px",
|
|
74
|
+
paddingBottom: "15px"
|
|
75
|
+
}
|
|
76
|
+
}, /*#__PURE__*/React.createElement(CheckboxComponent, {
|
|
77
|
+
id: this.getPurgeInputId(),
|
|
78
|
+
name: this.getPurgeInputName(),
|
|
79
|
+
onChange: this.props.onPurgeChanged
|
|
80
|
+
}), /*#__PURE__*/React.createElement("label", {
|
|
81
|
+
className: "checkbox-label",
|
|
82
|
+
htmlFor: this.getPurgeInputId()
|
|
83
|
+
}, t("js.shared.delete"))), !this.s.purgeChecked && /*#__PURE__*/React.createElement(ApiMakerInput, {
|
|
84
|
+
defaultValue: null,
|
|
85
|
+
inputProps: newInputProps,
|
|
86
|
+
model: model
|
|
87
|
+
}));
|
|
88
|
+
}
|
|
89
|
+
getContentType() {
|
|
90
|
+
const {
|
|
91
|
+
attribute,
|
|
92
|
+
model
|
|
93
|
+
} = this.p;
|
|
94
|
+
const attributeName = `${attribute}ContentType`;
|
|
95
|
+
if (!(attributeName in model)) throw new Error(`No such method on ${model.modelClassData().name}: ${attributeName}`);
|
|
96
|
+
return model[attributeName]();
|
|
97
|
+
}
|
|
98
|
+
getPurgeInputId() {
|
|
99
|
+
const {
|
|
100
|
+
inputProps
|
|
101
|
+
} = this.tt;
|
|
102
|
+
return `${inputProps.id}_purge`;
|
|
103
|
+
}
|
|
104
|
+
getPurgeInputName() {
|
|
105
|
+
if ("purgeName" in this.props) return this.props.purgeName;
|
|
106
|
+
const {
|
|
107
|
+
inputProps
|
|
108
|
+
} = this.tt;
|
|
109
|
+
if (!inputProps.name) return null;
|
|
110
|
+
const match = inputProps.name.match(/^(.+)\[(.+?)\]$/);
|
|
111
|
+
const purgeInputName = `${match[1]}[${match[2]}_purge]`;
|
|
112
|
+
return purgeInputName;
|
|
113
|
+
}
|
|
114
|
+
getUrl() {
|
|
115
|
+
const {
|
|
116
|
+
attribute,
|
|
117
|
+
model
|
|
118
|
+
} = this.p;
|
|
119
|
+
const attributeName = `${attribute}Url`;
|
|
120
|
+
if (!(attributeName in model)) throw new Error(`No such method on ${model.modelClassData().name}: ${attributeName}`);
|
|
121
|
+
return model[attributeName]();
|
|
122
|
+
}
|
|
123
|
+
isImage() {
|
|
124
|
+
return this.getContentType()?.startsWith("image/");
|
|
125
|
+
}
|
|
126
|
+
onPurgeChanged = e => {
|
|
127
|
+
this.setState({
|
|
128
|
+
purgeChecked: digg(e, "target", "checked")
|
|
129
|
+
});
|
|
130
|
+
if (this.props.onPurgeChanged) this.props.onPurgeChanged(e);
|
|
131
|
+
};
|
|
132
|
+
}));
|
|
133
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwiY2xhc3NOYW1lcyIsIklucHV0IiwiQXBpTWFrZXJJbnB1dCIsIkNoZWNrYm94IiwibWVtbyIsIlByb3BUeXBlcyIsIlJlYWN0Iiwic2hhcGVDb21wb25lbnQiLCJ1c2VJMThuIiwidXNlSW5wdXQiLCJBcGlNYWtlcklucHV0c0F0dGFjaG1lbnQiLCJwcm9wVHlwZXMiLCJjbGFzc05hbWUiLCJzdHJpbmciLCJtb2RlbCIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJvblB1cmdlQ2hhbmdlZCIsImZ1bmMiLCJwdXJnZU5hbWUiLCJzZXR1cCIsInQiLCJuYW1lc3BhY2UiLCJpbnB1dFByb3BzIiwicHJvcHMiLCJzZXRJbnN0YW5jZSIsInVzZVN0YXRlcyIsInB1cmdlQ2hlY2tlZCIsInJlbmRlciIsInR0IiwiYXR0cmlidXRlIiwiY2hlY2tib3hDb21wb25lbnQiLCJsYWJlbCIsIm5hbWUiLCJ3cmFwcGVyT3B0cyIsInJlc3RQcm9wcyIsIkNoZWNrYm94Q29tcG9uZW50IiwibmV3SW5wdXRQcm9wcyIsIk9iamVjdCIsImFzc2lnbiIsInR5cGUiLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMiLCJpc0ltYWdlIiwiaHJlZiIsImdldFVybCIsInRhcmdldCIsInNyYyIsInN0eWxlIiwibWF4V2lkdGgiLCJtYXhIZWlnaHQiLCJwYWRkaW5nVG9wIiwicGFkZGluZ0JvdHRvbSIsImlkIiwiZ2V0UHVyZ2VJbnB1dElkIiwiZ2V0UHVyZ2VJbnB1dE5hbWUiLCJvbkNoYW5nZSIsImh0bWxGb3IiLCJzIiwiZGVmYXVsdFZhbHVlIiwiZ2V0Q29udGVudFR5cGUiLCJwIiwiYXR0cmlidXRlTmFtZSIsIkVycm9yIiwibW9kZWxDbGFzc0RhdGEiLCJtYXRjaCIsInB1cmdlSW5wdXROYW1lIiwic3RhcnRzV2l0aCIsImUiLCJzZXRTdGF0ZSIsImRpZ2ciXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5wdXRzL2F0dGFjaG1lbnQuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiXG5pbXBvcnQge0lucHV0IGFzIEFwaU1ha2VySW5wdXR9IGZyb20gXCJAa2FzcGVybmovYXBpLW1ha2VyL2J1aWxkL2lucHV0cy9pbnB1dFwiXG5pbXBvcnQgQ2hlY2tib3ggZnJvbSBcIi4vY2hlY2tib3hcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9tZW1vXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL3NoYXBlLWNvbXBvbmVudFwiXG5pbXBvcnQgdXNlSTE4biBmcm9tIFwiaTE4bi1vbi1zdGVyb2lkcy9zcmMvdXNlLWkxOG5cIlxuaW1wb3J0IHVzZUlucHV0IGZyb20gXCIuLi91c2UtaW5wdXRcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VySW5wdXRzQXR0YWNobWVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIG9uUHVyZ2VDaGFuZ2VkOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBwdXJnZU5hbWU6IFByb3BUeXBlcy5zdHJpbmdcbiAgfVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHt0fSA9IHVzZUkxOG4oe25hbWVzcGFjZTogXCJqcy5hcGlfbWFrZXIuaW5wdXRzLmF0dGFjaG1lbnRcIn0pXG4gICAgY29uc3Qge2lucHV0UHJvcHN9ID0gdXNlSW5wdXQoe3Byb3BzOiB0aGlzLnByb3BzfSlcblxuICAgIHRoaXMuc2V0SW5zdGFuY2Uoe2lucHV0UHJvcHMsIHR9KVxuICAgIHRoaXMudXNlU3RhdGVzKHtcbiAgICAgIHB1cmdlQ2hlY2tlZDogZmFsc2VcbiAgICB9KVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtpbnB1dFByb3BzLCB0fSA9IHRoaXMudHRcbiAgICBjb25zdCB7YXR0cmlidXRlLCBjaGVja2JveENvbXBvbmVudCwgY2xhc3NOYW1lLCBsYWJlbCwgbW9kZWwsIG5hbWUsIG9uUHVyZ2VDaGFuZ2VkLCBwdXJnZU5hbWUsIHdyYXBwZXJPcHRzLCAuLi5yZXN0UHJvcHN9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IENoZWNrYm94Q29tcG9uZW50ID0gY2hlY2tib3hDb21wb25lbnQgfHwgQ2hlY2tib3hcbiAgICBjb25zdCBuZXdJbnB1dFByb3BzID0gT2JqZWN0LmFzc2lnbih7fSwgaW5wdXRQcm9wcywge3R5cGU6IFwiZmlsZVwifSlcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcImFwaS1tYWtlci0taW5wdXRzLS1hdHRhY2htZW50XCIsIFwiY29tcG9uZW50cy0taW5wdXRzLS1pbnB1dFwiLCBjbGFzc05hbWUpfSB7Li4ucmVzdFByb3BzfT5cbiAgICAgICAge3RoaXMuaXNJbWFnZSgpICYmXG4gICAgICAgICAgPGEgaHJlZj17dGhpcy5nZXRVcmwoKX0gdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAgICA8aW1nIHNyYz17dGhpcy5nZXRVcmwoKX0gc3R5bGU9e3ttYXhXaWR0aDogXCIyMDBweFwiLCBtYXhIZWlnaHQ6IFwiMjAwcHhcIn19IC8+XG4gICAgICAgICAgPC9hPlxuICAgICAgICB9XG4gICAgICAgIHt0aGlzLmdldFVybCgpICYmXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbnB1dC1jaGVja2JveFwiIHN0eWxlPXt7cGFkZGluZ1RvcDogXCIxNXB4XCIsIHBhZGRpbmdCb3R0b206IFwiMTVweFwifX0+XG4gICAgICAgICAgICA8Q2hlY2tib3hDb21wb25lbnQgaWQ9e3RoaXMuZ2V0UHVyZ2VJbnB1dElkKCl9IG5hbWU9e3RoaXMuZ2V0UHVyZ2VJbnB1dE5hbWUoKX0gb25DaGFuZ2U9e3RoaXMucHJvcHMub25QdXJnZUNoYW5nZWR9IC8+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiY2hlY2tib3gtbGFiZWxcIiBodG1sRm9yPXt0aGlzLmdldFB1cmdlSW5wdXRJZCgpfT5cbiAgICAgICAgICAgICAge3QoXCJqcy5zaGFyZWQuZGVsZXRlXCIpfVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICB7IXRoaXMucy5wdXJnZUNoZWNrZWQgJiZcbiAgICAgICAgICA8QXBpTWFrZXJJbnB1dFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtudWxsfVxuICAgICAgICAgICAgaW5wdXRQcm9wcz17bmV3SW5wdXRQcm9wc31cbiAgICAgICAgICAgIG1vZGVsPXttb2RlbH1cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH1cblxuICBnZXRDb250ZW50VHlwZSgpIHtcbiAgICBjb25zdCB7YXR0cmlidXRlLCBtb2RlbH0gPSB0aGlzLnBcbiAgICBjb25zdCBhdHRyaWJ1dGVOYW1lID0gYCR7YXR0cmlidXRlfUNvbnRlbnRUeXBlYFxuXG4gICAgaWYgKCEoYXR0cmlidXRlTmFtZSBpbiBtb2RlbCkpIHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCBtZXRob2Qgb24gJHttb2RlbC5tb2RlbENsYXNzRGF0YSgpLm5hbWV9OiAke2F0dHJpYnV0ZU5hbWV9YClcblxuICAgIHJldHVybiBtb2RlbFthdHRyaWJ1dGVOYW1lXSgpXG4gIH1cblxuICBnZXRQdXJnZUlucHV0SWQoKSB7XG4gICAgY29uc3Qge2lucHV0UHJvcHN9ID0gdGhpcy50dFxuXG4gICAgcmV0dXJuIGAke2lucHV0UHJvcHMuaWR9X3B1cmdlYFxuICB9XG5cbiAgZ2V0UHVyZ2VJbnB1dE5hbWUoKSB7XG4gICAgaWYgKFwicHVyZ2VOYW1lXCIgaW4gdGhpcy5wcm9wcykgcmV0dXJuIHRoaXMucHJvcHMucHVyZ2VOYW1lXG5cbiAgICBjb25zdCB7aW5wdXRQcm9wc30gPSB0aGlzLnR0XG5cbiAgICBpZiAoIWlucHV0UHJvcHMubmFtZSkgcmV0dXJuIG51bGxcblxuICAgIGNvbnN0IG1hdGNoID0gaW5wdXRQcm9wcy5uYW1lLm1hdGNoKC9eKC4rKVxcWyguKz8pXFxdJC8pXG4gICAgY29uc3QgcHVyZ2VJbnB1dE5hbWUgPSBgJHttYXRjaFsxXX1bJHttYXRjaFsyXX1fcHVyZ2VdYFxuXG4gICAgcmV0dXJuIHB1cmdlSW5wdXROYW1lXG4gIH1cblxuICBnZXRVcmwoKSB7XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgbW9kZWx9ID0gdGhpcy5wXG4gICAgY29uc3QgYXR0cmlidXRlTmFtZSA9IGAke2F0dHJpYnV0ZX1VcmxgXG5cbiAgICBpZiAoIShhdHRyaWJ1dGVOYW1lIGluIG1vZGVsKSkgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIG1ldGhvZCBvbiAke21vZGVsLm1vZGVsQ2xhc3NEYXRhKCkubmFtZX06ICR7YXR0cmlidXRlTmFtZX1gKVxuXG4gICAgcmV0dXJuIG1vZGVsW2F0dHJpYnV0ZU5hbWVdKClcbiAgfVxuXG4gIGlzSW1hZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q29udGVudFR5cGUoKT8uc3RhcnRzV2l0aChcImltYWdlL1wiKVxuICB9XG5cbiAgb25QdXJnZUNoYW5nZWQgPSAoZSkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe3B1cmdlQ2hlY2tlZDogZGlnZyhlLCBcInRhcmdldFwiLCBcImNoZWNrZWRcIil9KVxuXG4gICAgaWYgKHRoaXMucHJvcHMub25QdXJnZUNoYW5nZWQpIHRoaXMucHJvcHMub25QdXJnZUNoYW5nZWQoZSlcbiAgfVxufSkpXG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxhQUFhLE1BQU0sbUJBQW1CO0FBQzdDLE9BQU9DLFVBQVUsTUFBTSxZQUFZO0FBQ25DLFNBQVFDLEtBQUssSUFBSUMsYUFBYSxRQUFPLHdDQUF3QztBQUM3RSxPQUFPQyxRQUFRLE1BQU0sWUFBWTtBQUNqQyxPQUFPQyxJQUFJLE1BQU0sNEJBQTRCO0FBQzdDLE9BQU9DLFNBQVMsTUFBTSxZQUFZO0FBQ2xDLE9BQU9DLEtBQUssTUFBTSxPQUFPO0FBQ3pCLFNBQVFDLGNBQWMsUUFBTyx1Q0FBdUM7QUFDcEUsT0FBT0MsT0FBTyxNQUFNLCtCQUErQjtBQUNuRCxPQUFPQyxRQUFRLE1BQU0sY0FBYztBQUVuQyxlQUFlTCxJQUFJLENBQUNHLGNBQWMsQ0FBQyxNQUFNRyx3QkFBd0IsU0FBU1gsYUFBYSxDQUFDO0VBQ3RGLE9BQU9ZLFNBQVMsR0FBRztJQUNqQkMsU0FBUyxFQUFFUCxTQUFTLENBQUNRLE1BQU07SUFDM0JDLEtBQUssRUFBRVQsU0FBUyxDQUFDVSxNQUFNLENBQUNDLFVBQVU7SUFDbENDLGNBQWMsRUFBRVosU0FBUyxDQUFDYSxJQUFJO0lBQzlCQyxTQUFTLEVBQUVkLFNBQVMsQ0FBQ1E7RUFDdkIsQ0FBQztFQUVETyxLQUFLQSxDQUFBLEVBQUc7SUFDTixNQUFNO01BQUNDO0lBQUMsQ0FBQyxHQUFHYixPQUFPLENBQUM7TUFBQ2MsU0FBUyxFQUFFO0lBQWdDLENBQUMsQ0FBQztJQUNsRSxNQUFNO01BQUNDO0lBQVUsQ0FBQyxHQUFHZCxRQUFRLENBQUM7TUFBQ2UsS0FBSyxFQUFFLElBQUksQ0FBQ0E7SUFBSyxDQUFDLENBQUM7SUFFbEQsSUFBSSxDQUFDQyxXQUFXLENBQUM7TUFBQ0YsVUFBVTtNQUFFRjtJQUFDLENBQUMsQ0FBQztJQUNqQyxJQUFJLENBQUNLLFNBQVMsQ0FBQztNQUNiQyxZQUFZLEVBQUU7SUFDaEIsQ0FBQyxDQUFDO0VBQ0o7RUFFQUMsTUFBTUEsQ0FBQSxFQUFHO0lBQ1AsTUFBTTtNQUFDTCxVQUFVO01BQUVGO0lBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQ1EsRUFBRTtJQUMvQixNQUFNO01BQUNDLFNBQVM7TUFBRUMsaUJBQWlCO01BQUVuQixTQUFTO01BQUVvQixLQUFLO01BQUVsQixLQUFLO01BQUVtQixJQUFJO01BQUVoQixjQUFjO01BQUVFLFNBQVM7TUFBRWUsV0FBVztNQUFFLEdBQUdDO0lBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQ1gsS0FBSztJQUN0SSxNQUFNWSxpQkFBaUIsR0FBR0wsaUJBQWlCLElBQUk1QixRQUFRO0lBQ3ZELE1BQU1rQyxhQUFhLEdBQUdDLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFaEIsVUFBVSxFQUFFO01BQUNpQixJQUFJLEVBQUU7SUFBTSxDQUFDLENBQUM7SUFFbkUsb0JBQ0VsQyxLQUFBLENBQUFtQyxhQUFBLFFBQUFDLFFBQUE7TUFBSzlCLFNBQVMsRUFBRVosVUFBVSxDQUFDLCtCQUErQixFQUFFLDJCQUEyQixFQUFFWSxTQUFTO0lBQUUsR0FBS3VCLFNBQVMsR0FDL0csSUFBSSxDQUFDUSxPQUFPLENBQUMsQ0FBQyxpQkFDYnJDLEtBQUEsQ0FBQW1DLGFBQUE7TUFBR0csSUFBSSxFQUFFLElBQUksQ0FBQ0MsTUFBTSxDQUFDLENBQUU7TUFBQ0MsTUFBTSxFQUFDO0lBQVEsZ0JBQ3JDeEMsS0FBQSxDQUFBbUMsYUFBQTtNQUFLTSxHQUFHLEVBQUUsSUFBSSxDQUFDRixNQUFNLENBQUMsQ0FBRTtNQUFDRyxLQUFLLEVBQUU7UUFBQ0MsUUFBUSxFQUFFLE9BQU87UUFBRUMsU0FBUyxFQUFFO01BQU87SUFBRSxDQUFFLENBQ3pFLENBQUMsRUFFTCxJQUFJLENBQUNMLE1BQU0sQ0FBQyxDQUFDLGlCQUNadkMsS0FBQSxDQUFBbUMsYUFBQTtNQUFLN0IsU0FBUyxFQUFDLGdCQUFnQjtNQUFDb0MsS0FBSyxFQUFFO1FBQUNHLFVBQVUsRUFBRSxNQUFNO1FBQUVDLGFBQWEsRUFBRTtNQUFNO0lBQUUsZ0JBQ2pGOUMsS0FBQSxDQUFBbUMsYUFBQSxDQUFDTCxpQkFBaUI7TUFBQ2lCLEVBQUUsRUFBRSxJQUFJLENBQUNDLGVBQWUsQ0FBQyxDQUFFO01BQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDc0IsaUJBQWlCLENBQUMsQ0FBRTtNQUFDQyxRQUFRLEVBQUUsSUFBSSxDQUFDaEMsS0FBSyxDQUFDUDtJQUFlLENBQUUsQ0FBQyxlQUN0SFgsS0FBQSxDQUFBbUMsYUFBQTtNQUFPN0IsU0FBUyxFQUFDLGdCQUFnQjtNQUFDNkMsT0FBTyxFQUFFLElBQUksQ0FBQ0gsZUFBZSxDQUFDO0lBQUUsR0FDL0RqQyxDQUFDLENBQUMsa0JBQWtCLENBQ2hCLENBQ0osQ0FBQyxFQUVQLENBQUMsSUFBSSxDQUFDcUMsQ0FBQyxDQUFDL0IsWUFBWSxpQkFDbkJyQixLQUFBLENBQUFtQyxhQUFBLENBQUN2QyxhQUFhO01BQ1p5RCxZQUFZLEVBQUUsSUFBSztNQUNuQnBDLFVBQVUsRUFBRWMsYUFBYztNQUMxQnZCLEtBQUssRUFBRUE7SUFBTSxDQUNkLENBRUEsQ0FBQztFQUVWO0VBRUE4QyxjQUFjQSxDQUFBLEVBQUc7SUFDZixNQUFNO01BQUM5QixTQUFTO01BQUVoQjtJQUFLLENBQUMsR0FBRyxJQUFJLENBQUMrQyxDQUFDO0lBQ2pDLE1BQU1DLGFBQWEsR0FBRyxHQUFHaEMsU0FBUyxhQUFhO0lBRS9DLElBQUksRUFBRWdDLGFBQWEsSUFBSWhELEtBQUssQ0FBQyxFQUFFLE1BQU0sSUFBSWlELEtBQUssQ0FBQyxxQkFBcUJqRCxLQUFLLENBQUNrRCxjQUFjLENBQUMsQ0FBQyxDQUFDL0IsSUFBSSxLQUFLNkIsYUFBYSxFQUFFLENBQUM7SUFFcEgsT0FBT2hELEtBQUssQ0FBQ2dELGFBQWEsQ0FBQyxDQUFDLENBQUM7RUFDL0I7RUFFQVIsZUFBZUEsQ0FBQSxFQUFHO0lBQ2hCLE1BQU07TUFBQy9CO0lBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQ00sRUFBRTtJQUU1QixPQUFPLEdBQUdOLFVBQVUsQ0FBQzhCLEVBQUUsUUFBUTtFQUNqQztFQUVBRSxpQkFBaUJBLENBQUEsRUFBRztJQUNsQixJQUFJLFdBQVcsSUFBSSxJQUFJLENBQUMvQixLQUFLLEVBQUUsT0FBTyxJQUFJLENBQUNBLEtBQUssQ0FBQ0wsU0FBUztJQUUxRCxNQUFNO01BQUNJO0lBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQ00sRUFBRTtJQUU1QixJQUFJLENBQUNOLFVBQVUsQ0FBQ1UsSUFBSSxFQUFFLE9BQU8sSUFBSTtJQUVqQyxNQUFNZ0MsS0FBSyxHQUFHMUMsVUFBVSxDQUFDVSxJQUFJLENBQUNnQyxLQUFLLENBQUMsaUJBQWlCLENBQUM7SUFDdEQsTUFBTUMsY0FBYyxHQUFHLEdBQUdELEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSUEsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTO0lBRXZELE9BQU9DLGNBQWM7RUFDdkI7RUFFQXJCLE1BQU1BLENBQUEsRUFBRztJQUNQLE1BQU07TUFBQ2YsU0FBUztNQUFFaEI7SUFBSyxDQUFDLEdBQUcsSUFBSSxDQUFDK0MsQ0FBQztJQUNqQyxNQUFNQyxhQUFhLEdBQUcsR0FBR2hDLFNBQVMsS0FBSztJQUV2QyxJQUFJLEVBQUVnQyxhQUFhLElBQUloRCxLQUFLLENBQUMsRUFBRSxNQUFNLElBQUlpRCxLQUFLLENBQUMscUJBQXFCakQsS0FBSyxDQUFDa0QsY0FBYyxDQUFDLENBQUMsQ0FBQy9CLElBQUksS0FBSzZCLGFBQWEsRUFBRSxDQUFDO0lBRXBILE9BQU9oRCxLQUFLLENBQUNnRCxhQUFhLENBQUMsQ0FBQyxDQUFDO0VBQy9CO0VBRUFuQixPQUFPQSxDQUFBLEVBQUc7SUFDUixPQUFPLElBQUksQ0FBQ2lCLGNBQWMsQ0FBQyxDQUFDLEVBQUVPLFVBQVUsQ0FBQyxRQUFRLENBQUM7RUFDcEQ7RUFFQWxELGNBQWMsR0FBSW1ELENBQUMsSUFBSztJQUN0QixJQUFJLENBQUNDLFFBQVEsQ0FBQztNQUFDMUMsWUFBWSxFQUFFMkMsSUFBSSxDQUFDRixDQUFDLEVBQUUsUUFBUSxFQUFFLFNBQVM7SUFBQyxDQUFDLENBQUM7SUFFM0QsSUFBSSxJQUFJLENBQUM1QyxLQUFLLENBQUNQLGNBQWMsRUFBRSxJQUFJLENBQUNPLEtBQUssQ0FBQ1AsY0FBYyxDQUFDbUQsQ0FBQyxDQUFDO0VBQzdELENBQUM7QUFDSCxDQUFDLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -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,138 @@
|
|
|
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 React, { useMemo } from "react";
|
|
3
|
+
import AutoSubmit from "./auto-submit";
|
|
4
|
+
import BaseComponent from "../base-component";
|
|
5
|
+
import { digg } from "diggerize";
|
|
6
|
+
import PropTypes from "prop-types";
|
|
7
|
+
import memo from "set-state-compare/src/memo";
|
|
8
|
+
import { shapeComponent } from "set-state-compare/src/shape-component";
|
|
9
|
+
import useInput from "../use-input";
|
|
10
|
+
import { useForm } from "../form";
|
|
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
|
+
if (form && name) {
|
|
116
|
+
const checked = args[0].target.checked;
|
|
117
|
+
form.setValue(name, checked);
|
|
118
|
+
}
|
|
119
|
+
if (onChange) onChange(...args);
|
|
120
|
+
};
|
|
121
|
+
onModelUpdated = args => {
|
|
122
|
+
const inputRef = digg(this.tt.inputProps, "ref");
|
|
123
|
+
if (!inputRef.current) {
|
|
124
|
+
// This can happen if the component is being unmounted
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
const {
|
|
128
|
+
attribute
|
|
129
|
+
} = this.p;
|
|
130
|
+
const newModel = digg(args, "model");
|
|
131
|
+
const currentChecked = digg(inputRef, "current", "checked");
|
|
132
|
+
const newValue = newModel.readAttribute(attribute);
|
|
133
|
+
if (currentChecked != newValue) {
|
|
134
|
+
inputRef.current.checked = newValue;
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
}));
|
|
138
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZU1lbW8iLCJBdXRvU3VibWl0IiwiQmFzZUNvbXBvbmVudCIsImRpZ2ciLCJQcm9wVHlwZXMiLCJtZW1vIiwic2hhcGVDb21wb25lbnQiLCJ1c2VJbnB1dCIsInVzZUZvcm0iLCJ1c2VVcGRhdGVkRXZlbnQiLCJBcGlNYWtlcklucHV0c0NoZWNrYm94IiwiZGVmYXVsdFByb3BzIiwiYXV0b1JlZnJlc2giLCJhdXRvU3VibWl0IiwiZGVmYXVsdFZhbHVlIiwibW9kZWwiLCJ6ZXJvSW5wdXQiLCJwcm9wVHlwZXMiLCJhdHRyaWJ1dGUiLCJzdHJpbmciLCJib29sIiwiaXNSZXF1aXJlZCIsImRlZmF1bHRDaGVja2VkIiwibm9kZSIsImlkIiwiaW5wdXRSZWYiLCJvYmplY3QiLCJuYW1lIiwib25FcnJvcnMiLCJmdW5jIiwib25NYXRjaFZhbGlkYXRpb25FcnJvciIsInNldHVwIiwicCIsImlucHV0UHJvcHMiLCJyZXN0UHJvcHMiLCJ1c2VJbnB1dFJlc3RQcm9wcyIsInByb3BzIiwid3JhcHBlck9wdGlvbnMiLCJ0eXBlIiwic2V0SW5zdGFuY2UiLCJmb3JtIiwidHQiLCJzZXRWYWx1ZSIsIm9uTW9kZWxVcGRhdGVkIiwiYWN0aXZlIiwiQm9vbGVhbiIsInJlbmRlciIsImNoZWNrZWQiLCJvbkNoYW5nZSIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsIl9leHRlbmRzIiwib25DaGFuZ2VkIiwiYXJncyIsImNvbXBvbmVudCIsInRhcmdldCIsImN1cnJlbnQiLCJuZXdNb2RlbCIsImN1cnJlbnRDaGVja2VkIiwibmV3VmFsdWUiLCJyZWFkQXR0cmlidXRlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2lucHV0cy9jaGVja2JveC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBBdXRvU3VibWl0IGZyb20gXCIuL2F1dG8tc3VibWl0XCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL21lbW9cIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9zaGFwZS1jb21wb25lbnRcIlxuaW1wb3J0IHVzZUlucHV0IGZyb20gXCIuLi91c2UtaW5wdXRcIlxuaW1wb3J0IHt1c2VGb3JtfSBmcm9tIFwiLi4vZm9ybVwiXG5pbXBvcnQgdXNlVXBkYXRlZEV2ZW50IGZyb20gXCIuLi91c2UtdXBkYXRlZC1ldmVudFwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJJbnB1dHNDaGVja2JveCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGF1dG9SZWZyZXNoOiBmYWxzZSxcbiAgICBhdXRvU3VibWl0OiBmYWxzZSxcbiAgICBkZWZhdWx0VmFsdWU6IDEsXG4gICAgbW9kZWw6IG51bGwsXG4gICAgemVyb0lucHV0OiB0cnVlXG4gIH1cblxuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGF0dHJpYnV0ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBhdXRvUmVmcmVzaDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBhdXRvU3VibWl0OiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIGRlZmF1bHRDaGVja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkZWZhdWx0VmFsdWU6IFByb3BUeXBlcy5ub2RlLFxuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGlucHV0UmVmOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25FcnJvcnM6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uTWF0Y2hWYWxpZGF0aW9uRXJyb3I6IFByb3BUeXBlcy5mdW5jLFxuICAgIHplcm9JbnB1dDogUHJvcFR5cGVzLmJvb2xcbiAgfVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHthdXRvUmVmcmVzaCwgbW9kZWx9ID0gdGhpcy5wXG4gICAgY29uc3Qge2lucHV0UHJvcHMsIHJlc3RQcm9wczogdXNlSW5wdXRSZXN0UHJvcHN9ID0gdXNlSW5wdXQoe3Byb3BzOiB0aGlzLnByb3BzLCB3cmFwcGVyT3B0aW9uczoge3R5cGU6IFwiY2hlY2tib3hcIn19KVxuICAgIGNvbnN0IHtkZWZhdWx0VmFsdWUsIG5hbWV9ID0gaW5wdXRQcm9wc1xuXG4gICAgdGhpcy5zZXRJbnN0YW5jZSh7XG4gICAgICBmb3JtOiB1c2VGb3JtKCksXG4gICAgICBpbnB1dFByb3BzLFxuICAgICAgdXNlSW5wdXRSZXN0UHJvcHNcbiAgICB9KVxuXG4gICAgdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAobmFtZSkge1xuICAgICAgICB0aGlzLnR0LmZvcm0/LnNldFZhbHVlKG5hbWUsIGRlZmF1bHRWYWx1ZSlcbiAgICAgIH1cbiAgICB9LCBbXSlcblxuICAgIHVzZVVwZGF0ZWRFdmVudChtb2RlbCwgdGhpcy50dC5vbk1vZGVsVXBkYXRlZCwge2FjdGl2ZTogQm9vbGVhbihhdXRvUmVmcmVzaCAmJiBtb2RlbCl9KVxuICB9XG5cbiAgcmVuZGVyICgpIHtcbiAgICBjb25zdCB7aW5wdXRQcm9wcywgdXNlSW5wdXRSZXN0UHJvcHN9ID0gdGhpcy50dFxuICAgIGNvbnN0IHtcbiAgICAgIGF0dHJpYnV0ZSxcbiAgICAgIGF1dG9SZWZyZXNoLFxuICAgICAgYXV0b1N1Ym1pdCxcbiAgICAgIGNoZWNrZWQsXG4gICAgICBkZWZhdWx0Q2hlY2tlZCxcbiAgICAgIGRlZmF1bHRWYWx1ZSxcbiAgICAgIGlkLFxuICAgICAgaW5wdXRSZWYsXG4gICAgICBtb2RlbCxcbiAgICAgIG5hbWUsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIHplcm9JbnB1dCxcbiAgICAgIC4uLnJlc3RQcm9wc1xuICAgIH0gPSB1c2VJbnB1dFJlc3RQcm9wc1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHt6ZXJvSW5wdXQgJiYgaW5wdXRQcm9wcy5uYW1lICYmXG4gICAgICAgICAgPGlucHV0IGRlZmF1bHRWYWx1ZT1cIjBcIiBuYW1lPXtpbnB1dFByb3BzLm5hbWV9IHR5cGU9XCJoaWRkZW5cIiAvPlxuICAgICAgICB9XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIHsuLi5pbnB1dFByb3BzfVxuICAgICAgICAgIGRhdGEtYXV0by1yZWZyZXNoPXthdXRvUmVmcmVzaH1cbiAgICAgICAgICBkYXRhLWF1dG8tc3VibWl0PXthdXRvU3VibWl0fVxuICAgICAgICAgIGRlZmF1bHRWYWx1ZT17ZGVmYXVsdFZhbHVlfVxuICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLnR0Lm9uQ2hhbmdlZH1cbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgIHsuLi5yZXN0UHJvcHN9XG4gICAgICAgIC8+XG4gICAgICA8Lz5cbiAgICApXG4gIH1cblxuICBvbkNoYW5nZWQgPSAoLi4uYXJncykgPT4ge1xuICAgIGNvbnN0IHtmb3JtLCBpbnB1dFByb3BzfSA9IHRoaXMudHRcbiAgICBjb25zdCB7YXR0cmlidXRlLCBhdXRvU3VibWl0LCBtb2RlbCwgb25DaGFuZ2V9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtuYW1lfSA9IGlucHV0UHJvcHNcblxuICAgIGlmIChhdHRyaWJ1dGUgJiYgYXV0b1N1Ym1pdCAmJiBtb2RlbCkgbmV3IEF1dG9TdWJtaXQoe2NvbXBvbmVudDogdGhpc30pLmF1dG9TdWJtaXQoKVxuXG4gICAgaWYgKGZvcm0gJiYgbmFtZSkge1xuICAgICAgY29uc3QgY2hlY2tlZCA9IGFyZ3NbMF0udGFyZ2V0LmNoZWNrZWRcblxuICAgICAgZm9ybS5zZXRWYWx1ZShuYW1lLCBjaGVja2VkKVxuICAgIH1cblxuICAgIGlmIChvbkNoYW5nZSkgb25DaGFuZ2UoLi4uYXJncylcbiAgfVxuXG4gIG9uTW9kZWxVcGRhdGVkID0gKGFyZ3MpID0+IHtcbiAgICBjb25zdCBpbnB1dFJlZiA9IGRpZ2codGhpcy50dC5pbnB1dFByb3BzLCBcInJlZlwiKVxuXG4gICAgaWYgKCFpbnB1dFJlZi5jdXJyZW50KSB7XG4gICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gaWYgdGhlIGNvbXBvbmVudCBpcyBiZWluZyB1bm1vdW50ZWRcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IHthdHRyaWJ1dGV9ID0gdGhpcy5wXG4gICAgY29uc3QgbmV3TW9kZWwgPSBkaWdnKGFyZ3MsIFwibW9kZWxcIilcbiAgICBjb25zdCBjdXJyZW50Q2hlY2tlZCA9IGRpZ2coaW5wdXRSZWYsIFwiY3VycmVudFwiLCBcImNoZWNrZWRcIilcbiAgICBjb25zdCBuZXdWYWx1ZSA9IG5ld01vZGVsLnJlYWRBdHRyaWJ1dGUoYXR0cmlidXRlKVxuXG4gICAgaWYgKGN1cnJlbnRDaGVja2VkICE9IG5ld1ZhbHVlKSB7XG4gICAgICBpbnB1dFJlZi5jdXJyZW50LmNoZWNrZWQgPSBuZXdWYWx1ZVxuICAgIH1cbiAgfVxufSkpXG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxLQUFLLElBQUdDLE9BQU8sUUFBTyxPQUFPO0FBQ3BDLE9BQU9DLFVBQVUsTUFBTSxlQUFlO0FBQ3RDLE9BQU9DLGFBQWEsTUFBTSxtQkFBbUI7QUFDN0MsU0FBUUMsSUFBSSxRQUFPLFdBQVc7QUFDOUIsT0FBT0MsU0FBUyxNQUFNLFlBQVk7QUFDbEMsT0FBT0MsSUFBSSxNQUFNLDRCQUE0QjtBQUM3QyxTQUFRQyxjQUFjLFFBQU8sdUNBQXVDO0FBQ3BFLE9BQU9DLFFBQVEsTUFBTSxjQUFjO0FBQ25DLFNBQVFDLE9BQU8sUUFBTyxTQUFTO0FBQy9CLE9BQU9DLGVBQWUsTUFB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
|
|
@@ -0,0 +1,112 @@
|
|
|
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 React from "react";
|
|
11
|
+
import memo from "set-state-compare/src/memo";
|
|
12
|
+
import { shapeComponent } from "set-state-compare/src/shape-component";
|
|
13
|
+
const ApiMakerInputsCheckboxes = memo(shapeComponent(class ApiMakerInputsCheckboxes extends BaseComponent {
|
|
14
|
+
static propTypes = propTypesExact({
|
|
15
|
+
attribute: PropTypes.string,
|
|
16
|
+
defaultValue: PropTypes.array,
|
|
17
|
+
id: PropTypes.string,
|
|
18
|
+
inputProps: PropTypes.object.isRequired,
|
|
19
|
+
label: PropTypes.node,
|
|
20
|
+
model: PropTypes.object,
|
|
21
|
+
name: PropTypes.string,
|
|
22
|
+
onChange: PropTypes.func,
|
|
23
|
+
options: PropTypes.array.isRequired,
|
|
24
|
+
wrapperOpts: PropTypes.object
|
|
25
|
+
});
|
|
26
|
+
render() {
|
|
27
|
+
const {
|
|
28
|
+
className,
|
|
29
|
+
inputProps,
|
|
30
|
+
label,
|
|
31
|
+
wrapperOpts,
|
|
32
|
+
...restProps
|
|
33
|
+
} = this.props;
|
|
34
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
35
|
+
className: classNames("component-bootstrap-check-boxes", className)
|
|
36
|
+
}, restProps), /*#__PURE__*/React.createElement("input", {
|
|
37
|
+
name: this.inputName(),
|
|
38
|
+
ref: this.props.inputProps.ref,
|
|
39
|
+
type: "hidden",
|
|
40
|
+
value: ""
|
|
41
|
+
}), this.props.options.map((option, index) => this.optionElement(option, index)));
|
|
42
|
+
}
|
|
43
|
+
inputDefaultValue() {
|
|
44
|
+
const {
|
|
45
|
+
attribute,
|
|
46
|
+
defaultValue,
|
|
47
|
+
model
|
|
48
|
+
} = this.props;
|
|
49
|
+
if (defaultValue) {
|
|
50
|
+
return defaultValue;
|
|
51
|
+
} else if (attribute && model) {
|
|
52
|
+
if (!model[attribute]) throw `No such attribute: ${attribute}`;
|
|
53
|
+
return this.props.model[attribute]();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
inputCheckboxClassName() {
|
|
57
|
+
const classNames = [];
|
|
58
|
+
if (this.props.wrapperOpts.errors.length > 0) classNames.push("is-invalid");
|
|
59
|
+
return classNames.join(" ");
|
|
60
|
+
}
|
|
61
|
+
inputName() {
|
|
62
|
+
if (this.props.name) {
|
|
63
|
+
return `${this.props.name}[]`;
|
|
64
|
+
} else if (this.props.model) {
|
|
65
|
+
return `${this.props.model.modelClassData().paramKey}[${inflection.underscore(this.props.attribute)}]`;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
isDefaultSelected(option) {
|
|
69
|
+
let defaultValue = this.inputDefaultValue();
|
|
70
|
+
if (!defaultValue) return false;
|
|
71
|
+
if (defaultValue.constructor === Array) {
|
|
72
|
+
return defaultValue.includes(option);
|
|
73
|
+
} else {
|
|
74
|
+
return defaultValue == option;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
generatedId() {
|
|
78
|
+
if (!this.generatedIdValue) this.generatedIdValue = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
|
|
79
|
+
return this.generatedIdValue;
|
|
80
|
+
}
|
|
81
|
+
optionElement(option, index) {
|
|
82
|
+
const {
|
|
83
|
+
onChange,
|
|
84
|
+
options,
|
|
85
|
+
wrapperOpts
|
|
86
|
+
} = this.props;
|
|
87
|
+
const {
|
|
88
|
+
errors
|
|
89
|
+
} = digs(wrapperOpts, "errors");
|
|
90
|
+
const id = `${this.generatedId()}-${index}`;
|
|
91
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
92
|
+
className: "checkboxes-option",
|
|
93
|
+
key: `option-${option[1]}`
|
|
94
|
+
}, /*#__PURE__*/React.createElement("input", {
|
|
95
|
+
className: this.inputCheckboxClassName(),
|
|
96
|
+
"data-option-value": option[1],
|
|
97
|
+
defaultChecked: this.isDefaultSelected(option[1]),
|
|
98
|
+
id: id,
|
|
99
|
+
name: this.inputName(),
|
|
100
|
+
onChange: onChange,
|
|
101
|
+
type: "checkbox",
|
|
102
|
+
value: option[1]
|
|
103
|
+
}), /*#__PURE__*/React.createElement("label", {
|
|
104
|
+
className: "ml-1",
|
|
105
|
+
htmlFor: id
|
|
106
|
+
}, option[0]), index + 1 == options.length && errors.length > 0 && /*#__PURE__*/React.createElement(InvalidFeedback, {
|
|
107
|
+
errors: errors
|
|
108
|
+
}));
|
|
109
|
+
}
|
|
110
|
+
}));
|
|
111
|
+
export default inputWrapper(ApiMakerInputsCheckboxes);
|
|
112
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwiY2xhc3NOYW1lcyIsImRpZ3MiLCJpbnB1dFdyYXBwZXIiLCJpbmZsZWN0aW9uIiwiSW52YWxpZEZlZWRiYWNrIiwiUHJvcFR5cGVzIiwicHJvcFR5cGVzRXhhY3QiLCJSZWFjdCIsIm1lbW8iLCJzaGFwZUNvbXBvbmVudCIsIkFwaU1ha2VySW5wdXRzQ2hlY2tib3hlcyIsInByb3BUeXBlcyIsImF0dHJpYnV0ZSIsInN0cmluZyIsImRlZmF1bHRWYWx1ZSIsImFycmF5IiwiaWQiLCJpbnB1dFByb3BzIiwib2JqZWN0IiwiaXNSZXF1aXJlZCIsImxhYmVsIiwibm9kZSIsIm1vZGVsIiwibmFtZSIsIm9uQ2hhbmdlIiwiZnVuYyIsIm9wdGlvbnMiLCJ3cmFwcGVyT3B0cyIsInJlbmRlciIsImNsYXNzTmFtZSIsInJlc3RQcm9wcyIsInByb3BzIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzIiwiaW5wdXROYW1lIiwicmVmIiwidHlwZSIsInZhbHVlIiwibWFwIiwib3B0aW9uIiwiaW5kZXgiLCJvcHRpb25FbGVtZW50IiwiaW5wdXREZWZhdWx0VmFsdWUiLCJpbnB1dENoZWNrYm94Q2xhc3NOYW1lIiwiZXJyb3JzIiwibGVuZ3RoIiwicHVzaCIsImpvaW4iLCJtb2RlbENsYXNzRGF0YSIsInBhcmFtS2V5IiwidW5kZXJzY29yZSIsImlzRGVmYXVsdFNlbGVjdGVkIiwiY29uc3RydWN0b3IiLCJBcnJheSIsImluY2x1ZGVzIiwiZ2VuZXJhdGVkSWQiLCJnZW5lcmF0ZWRJZFZhbHVlIiwiTWF0aCIsInJhbmRvbSIsInRvU3RyaW5nIiwic3Vic3RyaW5nIiwia2V5IiwiZGVmYXVsdENoZWNrZWQiLCJodG1sRm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2lucHV0cy9jaGVja2JveGVzLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIlxuaW1wb3J0IHtkaWdzfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBpbnB1dFdyYXBwZXIgZnJvbSBcIi4vaW5wdXQtd3JhcHBlclwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBJbnZhbGlkRmVlZGJhY2sgZnJvbSBcIi4uL2Jvb3RzdHJhcC9pbnZhbGlkLWZlZWRiYWNrXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9tZW1vXCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvc2hhcGUtY29tcG9uZW50XCJcblxuY29uc3QgQXBpTWFrZXJJbnB1dHNDaGVja2JveGVzID0gbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlcklucHV0c0NoZWNrYm94ZXMgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBhdHRyaWJ1dGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZGVmYXVsdFZhbHVlOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgaWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaW5wdXRQcm9wczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIGxhYmVsOiBQcm9wVHlwZXMubm9kZSxcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvcHRpb25zOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgICB3cmFwcGVyT3B0czogUHJvcFR5cGVzLm9iamVjdFxuICB9KVxuXG4gIHJlbmRlciAoKSB7XG4gICAgY29uc3Qge2NsYXNzTmFtZSwgaW5wdXRQcm9wcywgbGFiZWwsIHdyYXBwZXJPcHRzLCAuLi5yZXN0UHJvcHN9ID0gdGhpcy5wcm9wc1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFwiY29tcG9uZW50LWJvb3RzdHJhcC1jaGVjay1ib3hlc1wiLCBjbGFzc05hbWUpfSB7Li4ucmVzdFByb3BzfT5cbiAgICAgICAgPGlucHV0IG5hbWU9e3RoaXMuaW5wdXROYW1lKCl9IHJlZj17dGhpcy5wcm9wcy5pbnB1dFByb3BzLnJlZn0gdHlwZT1cImhpZGRlblwiIHZhbHVlPVwiXCIgLz5cbiAgICAgICAge3RoaXMucHJvcHMub3B0aW9ucy5tYXAoKG9wdGlvbiwgaW5kZXgpID0+IHRoaXMub3B0aW9uRWxlbWVudChvcHRpb24sIGluZGV4KSl9XG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH1cblxuICBpbnB1dERlZmF1bHRWYWx1ZSAoKSB7XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgZGVmYXVsdFZhbHVlLCBtb2RlbH0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAoZGVmYXVsdFZhbHVlKSB7XG4gICAgICByZXR1cm4gZGVmYXVsdFZhbHVlXG4gICAgfSBlbHNlIGlmIChhdHRyaWJ1dGUgJiYgbW9kZWwpIHtcbiAgICAgIGlmICghbW9kZWxbYXR0cmlidXRlXSlcbiAgICAgICAgdGhyb3cgYE5vIHN1Y2ggYXR0cmlidXRlOiAke2F0dHJpYnV0ZX1gXG5cbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm1vZGVsW2F0dHJpYnV0ZV0oKVxuICAgIH1cbiAgfVxuXG4gIGlucHV0Q2hlY2tib3hDbGFzc05hbWUgKCkge1xuICAgIGNvbnN0IGNsYXNzTmFtZXMgPSBbXVxuXG4gICAgaWYgKHRoaXMucHJvcHMud3JhcHBlck9wdHMuZXJyb3JzLmxlbmd0aCA+IDApIGNsYXNzTmFtZXMucHVzaChcImlzLWludmFsaWRcIilcblxuICAgIHJldHVybiBjbGFzc05hbWVzLmpvaW4oXCIgXCIpXG4gIH1cblxuICBpbnB1dE5hbWUgKCkge1xuICAgIGlmICh0aGlzLnByb3BzLm5hbWUpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLnByb3BzLm5hbWV9W11gXG4gICAgfSBlbHNlIGlmICh0aGlzLnByb3BzLm1vZGVsKSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5wcm9wcy5tb2RlbC5tb2RlbENsYXNzRGF0YSgpLnBhcmFtS2V5fVske2luZmxlY3Rpb24udW5kZXJzY29yZSh0aGlzLnByb3BzLmF0dHJpYnV0ZSl9XWBcbiAgICB9XG4gIH1cblxuICBpc0RlZmF1bHRTZWxlY3RlZCAob3B0aW9uKSB7XG4gICAgbGV0IGRlZmF1bHRWYWx1ZSA9IHRoaXMuaW5wdXREZWZhdWx0VmFsdWUoKVxuXG4gICAgaWYgKCFkZWZhdWx0VmFsdWUpIHJldHVybiBmYWxzZVxuXG4gICAgaWYgKGRlZmF1bHRWYWx1ZS5jb25zdHJ1Y3RvciA9PT0gQXJyYXkpIHtcbiAgICAgIHJldHVybiBkZWZhdWx0VmFsdWUuaW5jbHVkZXMob3B0aW9uKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZGVmYXVsdFZhbHVlID09IG9wdGlvblxuICAgIH1cbiAgfVxuXG4gIGdlbmVyYXRlZElkICgpIHtcbiAgICBpZiAoIXRoaXMuZ2VuZXJhdGVkSWRWYWx1ZSlcbiAgICAgIHRoaXMuZ2VuZXJhdGVkSWRWYWx1ZSA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLCAxNSkgKyBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiwgMTUpXG5cbiAgICByZXR1cm4gdGhpcy5nZW5lcmF0ZWRJZFZhbHVlXG4gIH1cblxuICBvcHRpb25FbGVtZW50IChvcHRpb24sIGluZGV4KSB7XG4gICAgY29uc3Qge29uQ2hhbmdlLCBvcHRpb25zLCB3cmFwcGVyT3B0c30gPSB0aGlzLnByb3BzXG4gICAgY29uc3Qge2Vycm9yc30gPSBkaWdzKHdyYXBwZXJPcHRzLCBcImVycm9yc1wiKVxuICAgIGNvbnN0IGlkID0gYCR7dGhpcy5nZW5lcmF0ZWRJZCgpfS0ke2luZGV4fWBcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNoZWNrYm94ZXMtb3B0aW9uXCIga2V5PXtgb3B0aW9uLSR7b3B0aW9uWzFdfWB9PlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBjbGFzc05hbWU9e3RoaXMuaW5wdXRDaGVja2JveENsYXNzTmFtZSgpfVxuICAgICAgICAgIGRhdGEtb3B0aW9uLXZhbHVlPXtvcHRpb25bMV19XG4gICAgICAgICAgZGVmYXVsdENoZWNrZWQ9e3RoaXMuaXNEZWZhdWx0U2VsZWN0ZWQob3B0aW9uWzFdKX1cbiAgICAgICAgICBpZD17aWR9XG4gICAgICAgICAgbmFtZT17dGhpcy5pbnB1dE5hbWUoKX1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICB2YWx1ZT17b3B0aW9uWzFdfVxuICAgICAgICAvPlxuXG4gICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJtbC0xXCIgaHRtbEZvcj17aWR9PlxuICAgICAgICAgIHtvcHRpb25bMF19XG4gICAgICAgIDwvbGFiZWw+XG5cbiAgICAgICAgeyhpbmRleCArIDEpID09IG9wdGlvbnMubGVuZ3RoICYmIGVycm9ycy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgPEludmFsaWRGZWVkYmFjayBlcnJvcnM9e2Vycm9yc30gLz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9XG59KSlcblxuZXhwb3J0IGRlZmF1bHQgaW5wdXRXcmFwcGVyKEFwaU1ha2VySW5wdXRzQ2hlY2tib3hlcylcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLGFBQWEsTUFBTSxtQkFBbUI7QUFDN0MsT0FBT0MsVUFBVSxNQUFNLFlB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
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as inflection from "inflection";
|
|
2
|
+
export default function apiMakerIdForComponent(component) {
|
|
3
|
+
if ("id" in component.props) {
|
|
4
|
+
return component.props.id;
|
|
5
|
+
} else if (component.props.attribute && component.props.model) {
|
|
6
|
+
return `${component.props.model.modelClassData().paramKey}_${inflection.underscore(component.props.attribute)}`;
|
|
7
|
+
} else if (component.generatedInputId) {
|
|
8
|
+
return component.generatedInputId;
|
|
9
|
+
} else {
|
|
10
|
+
const generatedInputId = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
|
|
11
|
+
component.generatedInputId = generatedInputId;
|
|
12
|
+
return generatedInputId;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpbmZsZWN0aW9uIiwiYXBpTWFrZXJJZEZvckNvbXBvbmVudCIsImNvbXBvbmVudCIsInByb3BzIiwiaWQiLCJhdHRyaWJ1dGUiLCJtb2RlbCIsIm1vZGVsQ2xhc3NEYXRhIiwicGFyYW1LZXkiLCJ1bmRlcnNjb3JlIiwiZ2VuZXJhdGVkSW5wdXRJZCIsIk1hdGgiLCJyYW5kb20iLCJ0b1N0cmluZyIsInN1YnN0cmluZyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnB1dHMvaWQtZm9yLWNvbXBvbmVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gYXBpTWFrZXJJZEZvckNvbXBvbmVudChjb21wb25lbnQpIHtcbiAgaWYgKFwiaWRcIiBpbiBjb21wb25lbnQucHJvcHMpIHtcbiAgICByZXR1cm4gY29tcG9uZW50LnByb3BzLmlkXG4gIH0gZWxzZSBpZiAoY29tcG9uZW50LnByb3BzLmF0dHJpYnV0ZSAmJiBjb21wb25lbnQucHJvcHMubW9kZWwpIHtcbiAgICByZXR1cm4gYCR7Y29tcG9uZW50LnByb3BzLm1vZGVsLm1vZGVsQ2xhc3NEYXRhKCkucGFyYW1LZXl9XyR7aW5mbGVjdGlvbi51bmRlcnNjb3JlKGNvbXBvbmVudC5wcm9wcy5hdHRyaWJ1dGUpfWBcbiAgfSBlbHNlIGlmIChjb21wb25lbnQuZ2VuZXJhdGVkSW5wdXRJZCkge1xuICAgIHJldHVybiBjb21wb25lbnQuZ2VuZXJhdGVkSW5wdXRJZFxuICB9IGVsc2Uge1xuICAgIGNvbnN0IGdlbmVyYXRlZElucHV0SWQgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiwgMTUpICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsIDE1KVxuICAgIGNvbXBvbmVudC5nZW5lcmF0ZWRJbnB1dElkID0gZ2VuZXJhdGVkSW5wdXRJZFxuICAgIHJldHVybiBnZW5lcmF0ZWRJbnB1dElkXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLQSxVQUFVLE1BQU0sWUFBWTtBQUV4QyxlQUFlLFNBQVNDLHNCQUFzQkEsQ0FBQ0MsU0FBUyxFQUFFO0VBQ3hELElBQUksSUFBSSxJQUFJQSxTQUFTLENBQUNDLEtBQUssRUFBRTtJQUMzQixPQUFPRCxTQUFTLENBQUNDLEtBQUssQ0FBQ0MsRUFBRTtFQUMzQixDQUFDLE1BQU0sSUFBSUYsU0FBUyxDQUFDQyxLQUFLLENBQUNFLFNBQVMsSUFBSUgsU0FBUyxDQUFDQyxLQUFLLENBQUNHLEtBQUssRUFBRTtJQUM3RCxPQUFPLEdBQUdKLFNBQVMsQ0FBQ0MsS0FBSyxDQUFDRyxLQUFLLENBQUNDLGNBQWMsQ0FBQyxDQUFDLENBQUNDLFFBQVEsSUFBSVIsVUFBVSxDQUFDUyxVQUFVLENBQUNQLFNBQVMsQ0FBQ0MsS0FBSyxDQUFDRSxTQUFTLENBQUMsRUFBRTtFQUNqSCxDQUFDLE1BQU0sSUFBSUgsU0FBUyxDQUFDUSxnQkFBZ0IsRUFBRTtJQUNyQyxPQUFPUixTQUFTLENBQUNRLGdCQUFnQjtFQUNuQyxDQUFDLE1BQU07SUFDTCxNQUFNQSxnQkFBZ0IsR0FBR0MsSUFBSSxDQUFDQyxNQUFNLENBQUMsQ0FBQyxDQUFDQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUNDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUdILElBQUksQ0FBQ0MsTUFBTSxDQUFDLENBQUMsQ0FBQ0MsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUNsSFosU0FBUyxDQUFDUSxnQkFBZ0IsR0FBR0EsZ0JBQWdCO0lBQzdDLE9BQU9BLGdCQUFnQjtFQUN6QjtBQUNGIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,19 @@
|
|
|
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 React from "react";
|
|
3
|
+
import useInput from "../use-input";
|
|
4
|
+
const inputWrapper = (WrapperComponentClass, wrapperOptions = {}) => props => {
|
|
5
|
+
const {
|
|
6
|
+
inputProps,
|
|
7
|
+
restProps,
|
|
8
|
+
wrapperOpts
|
|
9
|
+
} = useInput({
|
|
10
|
+
props,
|
|
11
|
+
wrapperOptions
|
|
12
|
+
});
|
|
13
|
+
return /*#__PURE__*/React.createElement(WrapperComponentClass, _extends({
|
|
14
|
+
inputProps: inputProps,
|
|
15
|
+
wrapperOpts: wrapperOpts
|
|
16
|
+
}, restProps));
|
|
17
|
+
};
|
|
18
|
+
export default inputWrapper;
|
|
19
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUlucHV0IiwiaW5wdXRXcmFwcGVyIiwiV3JhcHBlckNvbXBvbmVudENsYXNzIiwid3JhcHBlck9wdGlvbnMiLCJwcm9wcyIsImlucHV0UHJvcHMiLCJyZXN0UHJvcHMiLCJ3cmFwcGVyT3B0cyIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kcyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnB1dHMvaW5wdXQtd3JhcHBlci5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgdXNlSW5wdXQgZnJvbSBcIi4uL3VzZS1pbnB1dFwiXG5cbmNvbnN0IGlucHV0V3JhcHBlciA9IChXcmFwcGVyQ29tcG9uZW50Q2xhc3MsIHdyYXBwZXJPcHRpb25zID0ge30pID0+IChwcm9wcykgPT4ge1xuICBjb25zdCB7aW5wdXRQcm9wcywgcmVzdFByb3BzLCB3cmFwcGVyT3B0c30gPSB1c2VJbnB1dCh7cHJvcHMsIHdyYXBwZXJPcHRpb25zfSlcblxuICByZXR1cm4gKFxuICAgIDxXcmFwcGVyQ29tcG9uZW50Q2xhc3NcbiAgICAgIGlucHV0UHJvcHM9e2lucHV0UHJvcHN9XG4gICAgICB3cmFwcGVyT3B0cz17d3JhcHBlck9wdHN9XG4gICAgICB7Li4ucmVzdFByb3BzfVxuICAgIC8+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgaW5wdXRXcmFwcGVyXG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxLQUFLLE1BQU0sT0FBTztBQUN6QixPQUFPQyxRQUFRLE1BQU0sY0FBYztBQUVuQyxNQUFNQyxZQUFZLEdBQUdBLENBQUNDLHFCQUFxQixFQUFFQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLEtBQU1DLEtBQUssSUFBSztFQUM5RSxNQUFNO0lBQUNDLFVBQVU7SUFBRUMsU0FBUztJQUFFQztFQUFXLENBQUMsR0FBR1AsUUFBUSxDQUFDO0lBQUNJLEtBQUs7SUFBRUQ7RUFBYyxDQUFDLENBQUM7RUFFOUUsb0JBQ0VKLEtBQUEsQ0FBQVMsYUFBQSxDQUFDTixxQkFBcUIsRUFBQU8sUUFBQTtJQUNwQkosVUFBVSxFQUFFQSxVQUFXO0lBQ3ZCRSxXQUFXLEVBQUVBO0VBQVksR0FDckJELFNBQVMsQ0FDZCxDQUFDO0FBRU4sQ0FBQztBQUVELGVBQWVMLFlBQVkiLCJpZ25vcmVMaXN0IjpbXX0=
|