@kaspernj/api-maker 1.0.2055 → 1.0.2057
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/build/api.js +22 -16
- package/build/attribute-not-loaded-error.js +5 -2
- package/build/base-component.js +6 -3
- package/build/base-error.js +15 -9
- package/build/base-model/attribute.js +10 -4
- package/build/base-model/column.js +5 -2
- package/build/base-model/reflection.js +49 -10
- package/build/base-model/scope.js +41 -5
- package/build/base-model.js +115 -76
- package/build/bootstrap/attribute-row.js +71 -33
- package/build/bootstrap/attribute-rows.js +20 -15
- package/build/bootstrap/card.js +72 -34
- package/build/bootstrap/checkbox.js +35 -30
- package/build/bootstrap/checkboxes.js +69 -31
- package/build/bootstrap/index.d.ts +1 -0
- package/build/bootstrap/index.js +3 -1
- package/build/bootstrap/input.js +48 -43
- package/build/bootstrap/invalid-feedback.js +17 -11
- package/build/bootstrap/paginate.js +73 -35
- package/build/bootstrap/radio-buttons.js +33 -28
- package/build/bootstrap/select.js +34 -29
- package/build/bootstrap/sort-link.js +68 -30
- package/build/cable-connection-pool.js +18 -12
- package/build/cable-subscription-pool.js +58 -19
- package/build/cable-subscription.d.ts +2 -2
- package/build/cable-subscription.d.ts.map +1 -1
- package/build/cable-subscription.js +12 -6
- package/build/cache-key-generator.js +11 -5
- package/build/can-can.d.ts +2 -2
- package/build/can-can.d.ts.map +1 -1
- package/build/can-can.js +56 -17
- package/build/channels-consumer.js +10 -5
- package/build/collection-loader.js +36 -31
- package/build/collection.d.ts.map +1 -1
- package/build/collection.js +58 -20
- package/build/command-submit-data.d.ts +1 -1
- package/build/command-submit-data.d.ts.map +1 -1
- package/build/command-submit-data.js +10 -4
- package/build/commands-pool.js +39 -33
- package/build/compose.js +5 -2
- package/build/config.d.ts +3 -3
- package/build/config.d.ts.map +1 -1
- package/build/config.js +40 -6
- package/build/custom-error.js +9 -4
- package/build/data-set-to-attributes.js +39 -3
- package/build/deserializer.js +57 -18
- package/build/destroy-error.js +9 -4
- package/build/devise.d.ts +1 -1
- package/build/devise.d.ts.map +1 -1
- package/build/devise.js +55 -16
- package/build/draggable-sort/controller.js +14 -11
- package/build/draggable-sort/index.js +69 -31
- package/build/draggable-sort/item.js +70 -32
- package/build/error-logger.js +14 -8
- package/build/error-messages.js +8 -5
- package/build/event-connection.js +18 -12
- package/build/event-emitter-listener.js +9 -4
- package/build/event-model-class.js +17 -11
- package/build/events.d.ts +2 -2
- package/build/events.d.ts.map +1 -1
- package/build/events.js +6 -5
- package/build/form.js +69 -27
- package/build/history-expo.js +11 -6
- package/build/history-react-native.js +14 -9
- package/build/history.js +5 -3
- package/build/index.js +5 -2
- package/build/inputs/attachment.js +29 -24
- package/build/inputs/auto-submit.js +42 -6
- package/build/inputs/checkbox.js +73 -35
- package/build/inputs/checkboxes.js +68 -30
- package/build/inputs/id-for-component.js +39 -3
- package/build/inputs/input-wrapper.js +12 -7
- package/build/inputs/input.js +101 -62
- package/build/inputs/money.js +85 -47
- package/build/inputs/name-for-component.js +39 -3
- package/build/inputs/select.js +32 -26
- package/build/instance-of-class-name.js +7 -5
- package/build/is-expo.js +8 -6
- package/build/key-value-store.js +10 -4
- package/build/link.js +21 -16
- package/build/logger.js +5 -2
- package/build/merge-styles.js +7 -4
- package/build/modal.js +15 -10
- package/build/model-class-require.js +39 -4
- package/build/model-events.js +20 -14
- package/build/model-name.js +44 -5
- package/build/model-prop-type.js +15 -9
- package/build/model-recipes-loader.js +14 -8
- package/build/model-recipes-model-loader.d.ts +1 -1
- package/build/model-recipes-model-loader.js +57 -18
- package/build/models-response-reader.js +46 -7
- package/build/models.js +10 -5
- package/build/money-formatter.d.ts +2 -2
- package/build/money-formatter.d.ts.map +1 -1
- package/build/money-formatter.js +19 -13
- package/build/not-loaded-error.js +5 -2
- package/build/params.js +19 -13
- package/build/preloaded.js +44 -5
- package/build/resize-observer.js +11 -6
- package/build/rest-props-validator.js +4 -2
- package/build/result.js +5 -2
- package/build/router/route.js +82 -40
- package/build/router/switch.js +56 -17
- package/build/router.js +59 -21
- package/build/routes-native.js +54 -15
- package/build/routes.js +49 -13
- package/build/run-last.js +5 -2
- package/build/serializer.js +8 -5
- package/build/services.js +10 -4
- package/build/session-status-updater.js +53 -14
- package/build/source-maps-loader.js +50 -11
- package/build/super-admin/config-reader.d.ts +2 -2
- package/build/super-admin/config-reader.js +45 -9
- package/build/super-admin/edit-page/edit-attribute-checkbox.js +61 -23
- package/build/super-admin/edit-page/edit-attribute-content.js +21 -16
- package/build/super-admin/edit-page/edit-attribute-input.js +59 -21
- package/build/super-admin/edit-page/edit-attribute.js +65 -27
- package/build/super-admin/edit-page.js +72 -34
- package/build/super-admin/has-edit-config.js +9 -4
- package/build/super-admin/index-page.js +17 -12
- package/build/super-admin/index.js +84 -46
- package/build/super-admin/layout/header/index.js +63 -25
- package/build/super-admin/layout/index.js +78 -40
- package/build/super-admin/layout/menu/index.js +47 -42
- package/build/super-admin/layout/menu/menu-content.js +60 -22
- package/build/super-admin/layout/menu/menu-item.js +23 -18
- package/build/super-admin/layout/no-access.js +20 -15
- package/build/super-admin/model-class-table.js +64 -26
- package/build/super-admin/models.js +38 -3
- package/build/super-admin/show-nav.js +61 -23
- package/build/super-admin/show-page/belongs-to-attribute-row.js +52 -14
- package/build/super-admin/show-page/index.js +63 -25
- package/build/super-admin/show-reflection-actions.js +62 -24
- package/build/super-admin/show-reflection-link.js +19 -14
- package/build/super-admin/show-reflection-page.js +63 -25
- package/build/table/column-content.js +54 -15
- package/build/table/column-identifier.js +5 -2
- package/build/table/column-visible.js +5 -2
- package/build/table/components/column.js +14 -9
- package/build/table/components/flat-list.js +14 -9
- package/build/table/components/header.js +16 -11
- package/build/table/components/row.js +16 -11
- package/build/table/filters/attribute-element.js +26 -21
- package/build/table/filters/filter-form.js +109 -71
- package/build/table/filters/filter.js +29 -24
- package/build/table/filters/index.js +43 -38
- package/build/table/filters/load-search-modal.js +64 -26
- package/build/table/filters/reflection-element.js +22 -17
- package/build/table/filters/save-search-modal.js +27 -22
- package/build/table/filters/scope-element.js +19 -14
- package/build/table/header-column-content.js +27 -22
- package/build/table/header-column.js +71 -33
- package/build/table/header-select.js +29 -24
- package/build/table/model-callback-args.js +39 -3
- package/build/table/model-column.js +75 -37
- package/build/table/model-row.js +79 -41
- package/build/table/select-calculator.js +52 -13
- package/build/table/settings/column-row.js +57 -19
- package/build/table/settings/download-action.js +31 -26
- package/build/table/settings/index.js +61 -23
- package/build/table/table-settings.js +70 -31
- package/build/table/table.js +196 -158
- package/build/table/use-sorting.js +12 -6
- package/build/table/widths.js +12 -9
- package/build/table/worker-plugins-check-all-checkbox.js +64 -26
- package/build/table/worker-plugins-checkbox.js +61 -23
- package/build/translated-attributes.js +5 -2
- package/build/translated-collections.js +14 -8
- package/build/updated-attribute.js +21 -15
- package/build/url-encode.js +10 -4
- package/build/use-breakpoint.js +58 -20
- package/build/use-can-can.js +21 -15
- package/build/use-collection.js +70 -32
- package/build/use-created-event.js +27 -22
- package/build/use-current-user-context.js +74 -36
- package/build/use-current-user.d.ts +2 -2
- package/build/use-current-user.d.ts.map +1 -1
- package/build/use-current-user.js +17 -11
- package/build/use-destroyed-event.js +18 -13
- package/build/use-event-emitter.d.ts +1 -2
- package/build/use-event-emitter.d.ts.map +1 -1
- package/build/use-event-emitter.js +14 -9
- package/build/use-event-listener.js +12 -7
- package/build/use-input.js +33 -28
- package/build/use-model-event.js +18 -13
- package/build/use-model.js +65 -27
- package/build/use-resize-observer.js +13 -8
- package/build/use-router.js +62 -24
- package/build/use-screen-layout.js +7 -5
- package/build/use-styles.js +52 -13
- package/build/use-updated-event.js +18 -13
- package/build/use-validation-errors.js +14 -9
- package/build/utils/button.js +33 -28
- package/build/utils/card.js +61 -23
- package/build/utils/checkbox.js +60 -22
- package/build/utils/checkboxes.js +78 -40
- package/build/utils/default-style.js +56 -15
- package/build/utils/header.js +12 -7
- package/build/utils/icon.js +61 -23
- package/build/utils/invalid-feedback.js +17 -12
- package/build/utils/modal.js +55 -17
- package/build/utils/text.js +14 -9
- package/build/validation-error.js +45 -6
- package/build/validation-errors.js +59 -19
- package/build/with-api-maker.js +52 -12
- package/build/with-collection.js +50 -12
- package/build/with-current-user.js +12 -7
- package/build/with-model.js +14 -9
- package/build/with-router.js +12 -7
- package/package.json +5 -3
- package/build/api.js.map +0 -1
- package/build/attribute-not-loaded-error.js.map +0 -1
- package/build/base-component.js.map +0 -1
- package/build/base-error.js.map +0 -1
- package/build/base-model/attribute.js.map +0 -1
- package/build/base-model/column.js.map +0 -1
- package/build/base-model/reflection.js.map +0 -1
- package/build/base-model/scope.js.map +0 -1
- package/build/base-model.js.map +0 -1
- package/build/bootstrap/attribute-row.js.map +0 -1
- package/build/bootstrap/attribute-rows.js.map +0 -1
- package/build/bootstrap/card.js.map +0 -1
- package/build/bootstrap/checkbox.js.map +0 -1
- package/build/bootstrap/checkboxes.js.map +0 -1
- package/build/bootstrap/index.js.map +0 -1
- package/build/bootstrap/input.js.map +0 -1
- package/build/bootstrap/invalid-feedback.js.map +0 -1
- package/build/bootstrap/paginate.js.map +0 -1
- package/build/bootstrap/radio-buttons.js.map +0 -1
- package/build/bootstrap/select.js.map +0 -1
- package/build/bootstrap/sort-link.js.map +0 -1
- package/build/cable-connection-pool.js.map +0 -1
- package/build/cable-subscription-pool.js.map +0 -1
- package/build/cable-subscription.js.map +0 -1
- package/build/cache-key-generator.js.map +0 -1
- package/build/can-can.js.map +0 -1
- package/build/channels-consumer.js.map +0 -1
- package/build/collection-loader.js.map +0 -1
- package/build/collection.js.map +0 -1
- package/build/command-submit-data.js.map +0 -1
- package/build/commands-pool.js.map +0 -1
- package/build/compose.js.map +0 -1
- package/build/config.js.map +0 -1
- package/build/custom-error.js.map +0 -1
- package/build/data-set-to-attributes.js.map +0 -1
- package/build/deserializer.js.map +0 -1
- package/build/destroy-error.js.map +0 -1
- package/build/devise.js.map +0 -1
- package/build/draggable-sort/controller.js.map +0 -1
- package/build/draggable-sort/index.js.map +0 -1
- package/build/draggable-sort/item.js.map +0 -1
- package/build/error-logger.js.map +0 -1
- package/build/error-messages.js.map +0 -1
- package/build/event-connection.js.map +0 -1
- package/build/event-emitter-listener.js.map +0 -1
- package/build/event-model-class.js.map +0 -1
- package/build/events.js.map +0 -1
- package/build/form.js.map +0 -1
- package/build/history-expo.js.map +0 -1
- package/build/history-react-native.js.map +0 -1
- package/build/history.js.map +0 -1
- package/build/index.js.map +0 -1
- package/build/inputs/attachment.js.map +0 -1
- package/build/inputs/auto-submit.js.map +0 -1
- package/build/inputs/checkbox.js.map +0 -1
- package/build/inputs/checkboxes.js.map +0 -1
- package/build/inputs/id-for-component.js.map +0 -1
- package/build/inputs/input-wrapper.js.map +0 -1
- package/build/inputs/input.js.map +0 -1
- package/build/inputs/money.js.map +0 -1
- package/build/inputs/name-for-component.js.map +0 -1
- package/build/inputs/select.js.map +0 -1
- package/build/instance-of-class-name.js.map +0 -1
- package/build/is-expo.js.map +0 -1
- package/build/key-value-store.js.map +0 -1
- package/build/link.js.map +0 -1
- package/build/logger.js.map +0 -1
- package/build/merge-styles.js.map +0 -1
- package/build/modal.js.map +0 -1
- package/build/model-class-require.js.map +0 -1
- package/build/model-events.js.map +0 -1
- package/build/model-name.js.map +0 -1
- package/build/model-prop-type.js.map +0 -1
- package/build/model-recipes-loader.js.map +0 -1
- package/build/model-recipes-model-loader.js.map +0 -1
- package/build/models-response-reader.js.map +0 -1
- package/build/models.js.map +0 -1
- package/build/money-formatter.js.map +0 -1
- package/build/not-loaded-error.js.map +0 -1
- package/build/params.js.map +0 -1
- package/build/preloaded.js.map +0 -1
- package/build/resize-observer.js.map +0 -1
- package/build/rest-props-validator.js.map +0 -1
- package/build/result.js.map +0 -1
- package/build/router/route.js.map +0 -1
- package/build/router/switch.js.map +0 -1
- package/build/router.js.map +0 -1
- package/build/routes-native.js.map +0 -1
- package/build/routes.js.map +0 -1
- package/build/run-last.js.map +0 -1
- package/build/serializer.js.map +0 -1
- package/build/services.js.map +0 -1
- package/build/session-status-updater.js.map +0 -1
- package/build/source-maps-loader.d.ts +0 -37
- package/build/source-maps-loader.d.ts.map +0 -1
- package/build/source-maps-loader.js.map +0 -1
- package/build/super-admin/config-reader.js.map +0 -1
- package/build/super-admin/edit-page/edit-attribute-checkbox.js.map +0 -1
- package/build/super-admin/edit-page/edit-attribute-content.js.map +0 -1
- package/build/super-admin/edit-page/edit-attribute-input.js.map +0 -1
- package/build/super-admin/edit-page/edit-attribute.js.map +0 -1
- package/build/super-admin/edit-page.js.map +0 -1
- package/build/super-admin/has-edit-config.js.map +0 -1
- package/build/super-admin/index-page.js.map +0 -1
- package/build/super-admin/index.js.map +0 -1
- package/build/super-admin/layout/header/index.js.map +0 -1
- package/build/super-admin/layout/index.js.map +0 -1
- package/build/super-admin/layout/menu/index.js.map +0 -1
- package/build/super-admin/layout/menu/menu-content.js.map +0 -1
- package/build/super-admin/layout/menu/menu-item.js.map +0 -1
- package/build/super-admin/layout/no-access.js.map +0 -1
- package/build/super-admin/model-class-table.js.map +0 -1
- package/build/super-admin/models.js.map +0 -1
- package/build/super-admin/show-nav.js.map +0 -1
- package/build/super-admin/show-page/belongs-to-attribute-row.js.map +0 -1
- package/build/super-admin/show-page/index.js.map +0 -1
- package/build/super-admin/show-reflection-actions.js.map +0 -1
- package/build/super-admin/show-reflection-link.js.map +0 -1
- package/build/super-admin/show-reflection-page.js.map +0 -1
- package/build/table/column-content.js.map +0 -1
- package/build/table/column-identifier.js.map +0 -1
- package/build/table/column-visible.js.map +0 -1
- package/build/table/components/column.js.map +0 -1
- package/build/table/components/flat-list.js.map +0 -1
- package/build/table/components/header.js.map +0 -1
- package/build/table/components/row.js.map +0 -1
- package/build/table/filters/attribute-element.js.map +0 -1
- package/build/table/filters/filter-form.js.map +0 -1
- package/build/table/filters/filter.js.map +0 -1
- package/build/table/filters/index.js.map +0 -1
- package/build/table/filters/load-search-modal.js.map +0 -1
- package/build/table/filters/reflection-element.js.map +0 -1
- package/build/table/filters/save-search-modal.js.map +0 -1
- package/build/table/filters/scope-element.js.map +0 -1
- package/build/table/header-column-content.js.map +0 -1
- package/build/table/header-column.js.map +0 -1
- package/build/table/header-select.js.map +0 -1
- package/build/table/model-callback-args.js.map +0 -1
- package/build/table/model-column.js.map +0 -1
- package/build/table/model-row.js.map +0 -1
- package/build/table/select-calculator.js.map +0 -1
- package/build/table/settings/column-row.js.map +0 -1
- package/build/table/settings/download-action.js.map +0 -1
- package/build/table/settings/index.js.map +0 -1
- package/build/table/table-settings.js.map +0 -1
- package/build/table/table.js.map +0 -1
- package/build/table/use-sorting.js.map +0 -1
- package/build/table/widths.js.map +0 -1
- package/build/table/worker-plugins-check-all-checkbox.js.map +0 -1
- package/build/table/worker-plugins-checkbox.js.map +0 -1
- package/build/translated-attributes.js.map +0 -1
- package/build/translated-collections.js.map +0 -1
- package/build/updated-attribute.js.map +0 -1
- package/build/url-encode.js.map +0 -1
- package/build/use-breakpoint.js.map +0 -1
- package/build/use-can-can.js.map +0 -1
- package/build/use-collection.js.map +0 -1
- package/build/use-created-event.js.map +0 -1
- package/build/use-current-user-context.js.map +0 -1
- package/build/use-current-user.js.map +0 -1
- package/build/use-destroyed-event.js.map +0 -1
- package/build/use-event-emitter.js.map +0 -1
- package/build/use-event-listener.js.map +0 -1
- package/build/use-input.js.map +0 -1
- package/build/use-model-event.js.map +0 -1
- package/build/use-model.js.map +0 -1
- package/build/use-resize-observer.js.map +0 -1
- package/build/use-router.js.map +0 -1
- package/build/use-screen-layout.js.map +0 -1
- package/build/use-styles.js.map +0 -1
- package/build/use-updated-event.js.map +0 -1
- package/build/use-validation-errors.js.map +0 -1
- package/build/utils/button.js.map +0 -1
- package/build/utils/card.js.map +0 -1
- package/build/utils/checkbox.js.map +0 -1
- package/build/utils/checkboxes.js.map +0 -1
- package/build/utils/default-style.js.map +0 -1
- package/build/utils/header.js.map +0 -1
- package/build/utils/icon.js.map +0 -1
- package/build/utils/invalid-feedback.js.map +0 -1
- package/build/utils/modal.js.map +0 -1
- package/build/utils/text.js.map +0 -1
- package/build/validation-error.js.map +0 -1
- package/build/validation-errors.js.map +0 -1
- package/build/with-api-maker.js.map +0 -1
- package/build/with-collection.js.map +0 -1
- package/build/with-current-user.js.map +0 -1
- package/build/with-model.js.map +0 -1
- package/build/with-router.js.map +0 -1
package/build/inputs/input.js
CHANGED
|
@@ -1,19 +1,58 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.Input = void 0;
|
|
40
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
41
|
+
const auto_submit_js_1 = __importDefault(require("./auto-submit.js"));
|
|
42
|
+
const base_component_js_1 = __importDefault(require("../base-component.js"));
|
|
43
|
+
const diggerize_1 = require("diggerize");
|
|
44
|
+
const input_wrapper_1 = __importDefault(require("./input-wrapper"));
|
|
45
|
+
const memo_js_1 = __importDefault(require("set-state-compare/build/memo.js"));
|
|
46
|
+
const money_1 = __importDefault(require("./money"));
|
|
47
|
+
const prop_types_1 = __importDefault(require("prop-types"));
|
|
48
|
+
const react_1 = __importStar(require("react"));
|
|
49
|
+
const replaceall_1 = __importDefault(require("replaceall"));
|
|
50
|
+
const shape_component_js_1 = require("set-state-compare/build/shape-component.js");
|
|
51
|
+
const strftime_1 = __importDefault(require("strftime"));
|
|
52
|
+
const form_1 = require("../form");
|
|
53
|
+
const use_i18n_mjs_1 = __importDefault(require("i18n-on-steroids/src/use-i18n.mjs"));
|
|
54
|
+
const use_updated_event_js_1 = __importDefault(require("../use-updated-event.js"));
|
|
55
|
+
const ApiMakerInputsInput = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent)(class ApiMakerInputsInput extends base_component_js_1.default {
|
|
17
56
|
static defaultProps = {
|
|
18
57
|
autoRefresh: false,
|
|
19
58
|
autoSubmit: false,
|
|
@@ -21,35 +60,35 @@ const ApiMakerInputsInput = memo(shapeComponent(class ApiMakerInputsInput extend
|
|
|
21
60
|
localizedNumber: false
|
|
22
61
|
};
|
|
23
62
|
static propTypes = {
|
|
24
|
-
attribute:
|
|
25
|
-
autoRefresh:
|
|
26
|
-
autoSubmit:
|
|
27
|
-
className:
|
|
28
|
-
formatValue:
|
|
29
|
-
id:
|
|
30
|
-
localizedNumber:
|
|
31
|
-
model:
|
|
32
|
-
name:
|
|
33
|
-
onChange:
|
|
34
|
-
onMatchValidationError:
|
|
35
|
-
type:
|
|
63
|
+
attribute: prop_types_1.default.string,
|
|
64
|
+
autoRefresh: prop_types_1.default.bool.isRequired,
|
|
65
|
+
autoSubmit: prop_types_1.default.bool.isRequired,
|
|
66
|
+
className: prop_types_1.default.string,
|
|
67
|
+
formatValue: prop_types_1.default.func,
|
|
68
|
+
id: prop_types_1.default.string,
|
|
69
|
+
localizedNumber: prop_types_1.default.bool.isRequired,
|
|
70
|
+
model: prop_types_1.default.object,
|
|
71
|
+
name: prop_types_1.default.string,
|
|
72
|
+
onChange: prop_types_1.default.func,
|
|
73
|
+
onMatchValidationError: prop_types_1.default.func,
|
|
74
|
+
type: prop_types_1.default.string
|
|
36
75
|
};
|
|
37
76
|
setup() {
|
|
38
|
-
const { t } =
|
|
77
|
+
const { t } = (0, use_i18n_mjs_1.default)({ namespace: "js.api_maker.inputs.input" });
|
|
39
78
|
const { autoRefresh, inputProps, model } = this.p;
|
|
40
79
|
const { defaultValue, name } = inputProps;
|
|
41
|
-
this.form = useForm();
|
|
42
|
-
this.visibleInputRef = useRef();
|
|
80
|
+
this.form = (0, form_1.useForm)();
|
|
81
|
+
this.visibleInputRef = (0, react_1.useRef)();
|
|
43
82
|
this.t = t;
|
|
44
83
|
this.useStates({
|
|
45
|
-
blankInputName: digg(inputProps, "type") == "file"
|
|
84
|
+
blankInputName: (0, diggerize_1.digg)(inputProps, "type") == "file"
|
|
46
85
|
});
|
|
47
|
-
useMemo(() => {
|
|
86
|
+
(0, react_1.useMemo)(() => {
|
|
48
87
|
if (name) {
|
|
49
88
|
this.tt.form?.setValue(name, defaultValue);
|
|
50
89
|
}
|
|
51
90
|
}, []);
|
|
52
|
-
|
|
91
|
+
(0, use_updated_event_js_1.default)(model, this.tt.onModelUpdated, { active: Boolean(autoRefresh && model) });
|
|
53
92
|
}
|
|
54
93
|
render() {
|
|
55
94
|
const { attribute, autoRefresh, autoSubmit, defaultValue, formatValue, id, inputProps, inputRef, localizedNumber, model, name, onChange, onErrors, onMatchValidationError, type, wrapperOpts, ...restProps } = this.props;
|
|
@@ -59,26 +98,26 @@ const ApiMakerInputsInput = memo(shapeComponent(class ApiMakerInputsInput extend
|
|
|
59
98
|
};
|
|
60
99
|
const ref = localizedNumber ? this.visibleInputRef : this.inputReference();
|
|
61
100
|
const { ref: inputPropsRef, ...inputPropsWithoutRef } = inputProps;
|
|
62
|
-
return (
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
101
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [localizedNumber &&
|
|
102
|
+
(0, jsx_runtime_1.jsx)("input", { defaultValue: defaultValue, id: inputProps.id, name: this.inputName(), ref: this.inputReference(), type: "hidden" }), type == "money" &&
|
|
103
|
+
(0, jsx_runtime_1.jsx)(money_1.default, { attribute: attribute, defaultValue: this.inputDefaultValueLocalized(), inputRef: this.inputReference(), model: model, onChange: this.onInputChanged, ...inputPropsWithoutRef, ...sharedProps, ...restProps }), type == "textarea" &&
|
|
104
|
+
(0, jsx_runtime_1.jsx)("textarea", { defaultValue: this.inputDefaultValueLocalized(), onChange: this.onInputChanged, ref: ref, ...inputPropsWithoutRef, ...sharedProps, ...restProps }), type != "money" && type != "textarea" &&
|
|
105
|
+
(0, jsx_runtime_1.jsx)("input", { defaultValue: this.inputDefaultValueLocalized(), onChange: this.onInputChanged, ref: ref, ...inputPropsWithoutRef, ...sharedProps, name: localizedNumber ? null : this.inputName(), ...restProps })] }));
|
|
67
106
|
}
|
|
68
107
|
actualValue(visibleInput) {
|
|
69
108
|
const { t } = this.tt;
|
|
70
|
-
const { localizedNumber } = digs(this.props, "localizedNumber");
|
|
71
|
-
const value = digg(visibleInput, "value");
|
|
109
|
+
const { localizedNumber } = (0, diggerize_1.digs)(this.props, "localizedNumber");
|
|
110
|
+
const value = (0, diggerize_1.digg)(visibleInput, "value");
|
|
72
111
|
if (localizedNumber) {
|
|
73
112
|
const decimal = t("number.currency.format.separator");
|
|
74
113
|
const integerSeparator = t("number.currency.format.delimiter");
|
|
75
|
-
let unformatted =
|
|
76
|
-
unformatted =
|
|
114
|
+
let unformatted = (0, replaceall_1.default)(integerSeparator, "", value);
|
|
115
|
+
unformatted = (0, replaceall_1.default)(decimal, ".", unformatted);
|
|
77
116
|
return unformatted;
|
|
78
117
|
}
|
|
79
118
|
return value;
|
|
80
119
|
}
|
|
81
|
-
autoSubmit = () => new
|
|
120
|
+
autoSubmit = () => new auto_submit_js_1.default({ component: this }).autoSubmit();
|
|
82
121
|
formatValue(value) {
|
|
83
122
|
const { formatValue, type } = this.props;
|
|
84
123
|
if (formatValue) {
|
|
@@ -87,10 +126,10 @@ const ApiMakerInputsInput = memo(shapeComponent(class ApiMakerInputsInput extend
|
|
|
87
126
|
else if (value instanceof Date && !isNaN(value.getTime())) {
|
|
88
127
|
// We need to use a certain format for datetime-local
|
|
89
128
|
if (type == "datetime-local") {
|
|
90
|
-
return
|
|
129
|
+
return (0, strftime_1.default)("%Y-%m-%dT%H:%M:%S", value);
|
|
91
130
|
}
|
|
92
131
|
else if (type == "date") {
|
|
93
|
-
return
|
|
132
|
+
return (0, strftime_1.default)("%Y-%m-%d", value);
|
|
94
133
|
}
|
|
95
134
|
}
|
|
96
135
|
return value;
|
|
@@ -98,15 +137,15 @@ const ApiMakerInputsInput = memo(shapeComponent(class ApiMakerInputsInput extend
|
|
|
98
137
|
inputDefaultValueLocalized() {
|
|
99
138
|
const { t } = this.tt;
|
|
100
139
|
const { defaultValue } = this.props;
|
|
101
|
-
const { localizedNumber } = digs(this.props, "localizedNumber");
|
|
140
|
+
const { localizedNumber } = (0, diggerize_1.digs)(this.props, "localizedNumber");
|
|
102
141
|
if (localizedNumber && defaultValue !== null && defaultValue !== undefined) {
|
|
103
142
|
const separator = t("number.currency.format.separator");
|
|
104
143
|
const delimiter = t("number.currency.format.delimiter");
|
|
105
144
|
let formatted = `${defaultValue}`;
|
|
106
|
-
formatted =
|
|
107
|
-
formatted =
|
|
108
|
-
formatted =
|
|
109
|
-
formatted =
|
|
145
|
+
formatted = (0, replaceall_1.default)(".", "{{separator}}", formatted);
|
|
146
|
+
formatted = (0, replaceall_1.default)(",", "{{delimiter}}", formatted);
|
|
147
|
+
formatted = (0, replaceall_1.default)("{{separator}}", separator, formatted);
|
|
148
|
+
formatted = (0, replaceall_1.default)("{{delimiter}}", delimiter, formatted);
|
|
110
149
|
return formatted;
|
|
111
150
|
}
|
|
112
151
|
return defaultValue;
|
|
@@ -116,16 +155,16 @@ const ApiMakerInputsInput = memo(shapeComponent(class ApiMakerInputsInput extend
|
|
|
116
155
|
return "";
|
|
117
156
|
return this.props.inputProps.name;
|
|
118
157
|
}
|
|
119
|
-
inputReference = () => digg(this, "props", "inputProps", "ref");
|
|
158
|
+
inputReference = () => (0, diggerize_1.digg)(this, "props", "inputProps", "ref");
|
|
120
159
|
onModelUpdated = (args) => {
|
|
121
160
|
const inputRef = this.inputReference();
|
|
122
161
|
if (!inputRef.current) {
|
|
123
162
|
// This can happen if the component is being unmounted
|
|
124
163
|
return;
|
|
125
164
|
}
|
|
126
|
-
const { attribute } = digs(this.props, "attribute");
|
|
127
|
-
const newModel = digg(args, "model");
|
|
128
|
-
const currentValue = digg(inputRef, "current", "value");
|
|
165
|
+
const { attribute } = (0, diggerize_1.digs)(this.props, "attribute");
|
|
166
|
+
const newModel = (0, diggerize_1.digg)(args, "model");
|
|
167
|
+
const currentValue = (0, diggerize_1.digg)(inputRef, "current", "value");
|
|
129
168
|
const newValue = newModel.readAttribute(attribute);
|
|
130
169
|
const newFormattedValue = this.formatValue(newValue);
|
|
131
170
|
if (currentValue != newFormattedValue) {
|
|
@@ -135,13 +174,13 @@ const ApiMakerInputsInput = memo(shapeComponent(class ApiMakerInputsInput extend
|
|
|
135
174
|
onInputChanged = (e) => {
|
|
136
175
|
const { form } = this.tt;
|
|
137
176
|
const { attribute, autoSubmit, inputProps, model, onChange } = this.props;
|
|
138
|
-
const { localizedNumber } = digs(this.props, "localizedNumber");
|
|
177
|
+
const { localizedNumber } = (0, diggerize_1.digs)(this.props, "localizedNumber");
|
|
139
178
|
const { name } = inputProps;
|
|
140
179
|
if (localizedNumber)
|
|
141
|
-
this.inputReference().current.value = this.actualValue(digg(e, "target"));
|
|
180
|
+
this.inputReference().current.value = this.actualValue((0, diggerize_1.digg)(e, "target"));
|
|
142
181
|
if (attribute && autoSubmit && model)
|
|
143
182
|
this.delayAutoSubmit();
|
|
144
|
-
if (digg(inputProps, "type") == "file")
|
|
183
|
+
if ((0, diggerize_1.digg)(inputProps, "type") == "file")
|
|
145
184
|
this.setState({ blankInputName: this.getBlankInputName() });
|
|
146
185
|
if (form && name) {
|
|
147
186
|
form.setValue(name, e.target.value);
|
|
@@ -157,11 +196,11 @@ const ApiMakerInputsInput = memo(shapeComponent(class ApiMakerInputsInput extend
|
|
|
157
196
|
}
|
|
158
197
|
// This fixes an issue in Firefox and ActiveStorage, where uploads would be a blank string if a file wasn't chosen
|
|
159
198
|
getBlankInputName() {
|
|
160
|
-
const value = dig(this.inputReference(), "current", "value");
|
|
199
|
+
const value = (0, diggerize_1.dig)(this.inputReference(), "current", "value");
|
|
161
200
|
if (this.props.inputProps.type == "file" && value == "")
|
|
162
201
|
return true;
|
|
163
202
|
}
|
|
164
203
|
}));
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
//# sourceMappingURL=input.js.map
|
|
204
|
+
exports.Input = ApiMakerInputsInput;
|
|
205
|
+
exports.default = (0, input_wrapper_1.default)(ApiMakerInputsInput);
|
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImlucHV0cy9pbnB1dC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNFQUF5QztBQUN6Qyw2RUFBZ0Q7QUFDaEQseUNBQXlDO0FBQ3pDLG9FQUEwQztBQUMxQyw4RUFBa0Q7QUFDbEQsb0RBQTJCO0FBQzNCLDREQUFrQztBQUNsQywrQ0FBNEM7QUFDNUMsNERBQW1DO0FBQ25DLG1GQUF5RTtBQUN6RSx3REFBK0I7QUFDL0Isa0NBQStCO0FBQy9CLHFGQUF1RDtBQUN2RCxtRkFBcUQ7QUFFckQsTUFBTSxtQkFBbUIsR0FBRyxJQUFBLGlCQUFJLEVBQUMsSUFBQSxtQ0FBYyxFQUFDLE1BQU0sbUJBQW9CLFNBQVEsMkJBQWE7SUFDN0YsTUFBTSxDQUFDLFlBQVksR0FBRztRQUNwQixXQUFXLEVBQUUsS0FBSztRQUNsQixVQUFVLEVBQUUsS0FBSztRQUNqQixLQUFLLEVBQUUsSUFBSTtRQUNYLGVBQWUsRUFBRSxLQUFLO0tBQ3ZCLENBQUE7SUFFRCxNQUFNLENBQUMsU0FBUyxHQUFHO1FBQ2pCLFNBQVMsRUFBRSxvQkFBUyxDQUFDLE1BQU07UUFDM0IsV0FBVyxFQUFFLG9CQUFTLENBQUMsSUFBSSxDQUFDLFVBQVU7UUFDdEMsVUFBVSxFQUFFLG9CQUFTLENBQUMsSUFBSSxDQUFDLFVBQVU7UUFDckMsU0FBUyxFQUFFLG9CQUFTLENBQUMsTUFBTTtRQUMzQixXQUFXLEVBQUUsb0JBQVMsQ0FBQyxJQUFJO1FBQzNCLEVBQUUsRUFBRSxvQkFBUyxDQUFDLE1BQU07UUFDcEIsZUFBZSxFQUFFLG9CQUFTLENBQUMsSUFBSSxDQUFDLFVBQVU7UUFDMUMsS0FBSyxFQUFFLG9CQUFTLENBQUMsTUFBTTtRQUN2QixJQUFJLEVBQUUsb0JBQVMsQ0FBQyxNQUFNO1FBQ3RCLFFBQVEsRUFBRSxvQkFBUyxDQUFDLElBQUk7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UUFDNUQsSUFBSSxJQUFBLGdCQUFJLEVBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJLE1BQU07WUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFDLENBQUMsQ0FBQTtRQUVqRyxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3JDLENBQUM7UUFFRCxJQUFJLFFBQVE7WUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDM0IsQ0FBQyxDQUFBO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDaEMsWUFBWSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO1FBQzNDLENBQUM7UUFFRCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDaEUsQ0FBQztJQUVELGtIQUFrSDtJQUNsSCxpQkFBaUI7UUFDZixNQUFNLEtBQUssR0FBRyxJQUFBLGVBQUcsRUFBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBRTVELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLE1BQU0sSUFBSSxLQUFLLElBQUksRUFBRTtZQUNyRCxPQUFPLElBQUksQ0FBQTtJQUNmLENBQUM7Q0FDRixDQUFDLENBQUMsQ0FBQTtBQUU0QixvQ0FBSztBQUNwQyxrQkFBZSxJQUFBLHVCQUFZLEVBQUMsbUJBQW1CLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBBdXRvU3VibWl0IGZyb20gXCIuL2F1dG8tc3VibWl0LmpzXCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQge2RpZywgZGlnZywgZGlnc30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgaW5wdXRXcmFwcGVyIGZyb20gXCIuL2lucHV0LXdyYXBwZXJcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IE1vbmV5IGZyb20gXCIuL21vbmV5XCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IFJlYWN0LCB7dXNlTWVtbywgdXNlUmVmfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHJlcGxhY2VhbGwgZnJvbSBcInJlcGxhY2VhbGxcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgc3RyZnRpbWUgZnJvbSBcInN0cmZ0aW1lXCJcbmltcG9ydCB7dXNlRm9ybX0gZnJvbSBcIi4uL2Zvcm1cIlxuaW1wb3J0IHVzZUkxOG4gZnJvbSBcImkxOG4tb24tc3Rlcm9pZHMvc3JjL3VzZS1pMThuLm1qc1wiXG5pbXBvcnQgdXNlVXBkYXRlZEV2ZW50IGZyb20gXCIuLi91c2UtdXBkYXRlZC1ldmVudC5qc1wiXG5cbmNvbnN0IEFwaU1ha2VySW5wdXRzSW5wdXQgPSBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VySW5wdXRzSW5wdXQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBhdXRvUmVmcmVzaDogZmFsc2UsXG4gICAgYXV0b1N1Ym1pdDogZmFsc2UsXG4gICAgbW9kZWw6IG51bGwsXG4gICAgbG9jYWxpemVkTnVtYmVyOiBmYWxzZVxuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBhdHRyaWJ1dGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgYXV0b1JlZnJlc2g6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgYXV0b1N1Ym1pdDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZm9ybWF0VmFsdWU6IFByb3BUeXBlcy5mdW5jLFxuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGxvY2FsaXplZE51bWJlcjogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbk1hdGNoVmFsaWRhdGlvbkVycm9yOiBQcm9wVHlwZXMuZnVuYyxcbiAgICB0eXBlOiBQcm9wVHlwZXMuc3RyaW5nXG4gIH1cblxuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7dH0gPSB1c2VJMThuKHtuYW1lc3BhY2U6IFwianMuYXBpX21ha2VyLmlucHV0cy5pbnB1dFwifSlcbiAgICBjb25zdCB7YXV0b1JlZnJlc2gsIGlucHV0UHJvcHMsIG1vZGVsfSA9IHRoaXMucFxuICAgIGNvbnN0IHtkZWZhdWx0VmFsdWUsIG5hbWV9ID0gaW5wdXRQcm9wc1xuXG4gICAgdGhpcy5mb3JtID0gdXNlRm9ybSgpXG4gICAgdGhpcy52aXNpYmxlSW5wdXRSZWYgPSB1c2VSZWYoKVxuICAgIHRoaXMudCA9IHRcblxuICAgIHRoaXMudXNlU3RhdGVzKHtcbiAgICAgIGJsYW5rSW5wdXROYW1lOiBkaWdnKGlucHV0UHJvcHMsIFwidHlwZVwiKSA9PSBcImZpbGVcIlxuICAgIH0pXG5cbiAgICB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgIHRoaXMudHQuZm9ybT8uc2V0VmFsdWUobmFtZSwgZGVmYXVsdFZhbHVlKVxuICAgICAgfVxuICAgIH0sIFtdKVxuXG4gICAgdXNlVXBkYXRlZEV2ZW50KG1vZGVsLCB0aGlzLnR0Lm9uTW9kZWxVcGRhdGVkLCB7YWN0aXZlOiBCb29sZWFuKGF1dG9SZWZyZXNoICYmIG1vZGVsKX0pXG4gIH1cblxuICByZW5kZXIgKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGF0dHJpYnV0ZSxcbiAgICAgIGF1dG9SZWZyZXNoLFxuICAgICAgYXV0b1N1Ym1pdCxcbiAgICAgIGRlZmF1bHRWYWx1ZSxcbiAgICAgIGZvcm1hdFZhbHVlLFxuICAgICAgaWQsXG4gICAgICBpbnB1dFByb3BzLFxuICAgICAgaW5wdXRSZWYsXG4gICAgICBsb2NhbGl6ZWROdW1iZXIsXG4gICAgICBtb2RlbCxcbiAgICAgIG5hbWUsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9uRXJyb3JzLFxuICAgICAgb25NYXRjaFZhbGlkYXRpb25FcnJvcixcbiAgICAgIHR5cGUsXG4gICAgICB3cmFwcGVyT3B0cyxcbiAgICAgIC4uLnJlc3RQcm9wc1xuICAgIH0gPSB0aGlzLnByb3BzXG5cbiAgICBjb25zdCBzaGFyZWRQcm9wcyA9IHtcbiAgICAgIGlkOiBsb2NhbGl6ZWROdW1iZXIgPyBudWxsIDogaW5wdXRQcm9wcy5pZCxcbiAgICAgIG5hbWU6IGxvY2FsaXplZE51bWJlciA/IG51bGwgOiBpbnB1dFByb3BzLm5hbWUsXG4gICAgfVxuICAgIGNvbnN0IHJlZiA9IGxvY2FsaXplZE51bWJlciA/IHRoaXMudmlzaWJsZUlucHV0UmVmIDogdGhpcy5pbnB1dFJlZmVyZW5jZSgpXG4gICAgY29uc3Qge3JlZjogaW5wdXRQcm9wc1JlZiwgLi4uaW5wdXRQcm9wc1dpdGhvdXRSZWZ9ID0gaW5wdXRQcm9wc1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHtsb2NhbGl6ZWROdW1iZXIgJiZcbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17ZGVmYXVsdFZhbHVlfVxuICAgICAgICAgICAgaWQ9e2lucHV0UHJvcHMuaWR9XG4gICAgICAgICAgICBuYW1lPXt0aGlzLmlucHV0TmFtZSgpfVxuICAgICAgICAgICAgcmVmPXt0aGlzLmlucHV0UmVmZXJlbmNlKCl9XG4gICAgICAgICAgICB0eXBlPVwiaGlkZGVuXCJcbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIHt0eXBlID09IFwibW9uZXlcIiAmJlxuICAgICAgICAgIDxNb25leVxuICAgICAgICAgICAgYXR0cmlidXRlPXthdHRyaWJ1dGV9XG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU9e3RoaXMuaW5wdXREZWZhdWx0VmFsdWVMb2NhbGl6ZWQoKX1cbiAgICAgICAgICAgIGlucHV0UmVmPXt0aGlzLmlucHV0UmVmZXJlbmNlKCl9XG4gICAgICAgICAgICBtb2RlbD17bW9kZWx9XG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbklucHV0Q2hhbmdlZH1cbiAgICAgICAgICAgIHsuLi5pbnB1dFByb3BzV2l0aG91dFJlZn1cbiAgICAgICAgICAgIHsuLi5zaGFyZWRQcm9wc31cbiAgICAgICAgICAgIHsuLi5yZXN0UHJvcHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICB7dHlwZSA9PSBcInRleHRhcmVhXCIgJiZcbiAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17dGhpcy5pbnB1dERlZmF1bHRWYWx1ZUxvY2FsaXplZCgpfVxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25JbnB1dENoYW5nZWR9XG4gICAgICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgICAgIHsuLi5pbnB1dFByb3BzV2l0aG91dFJlZn1cbiAgICAgICAgICAgIHsuLi5zaGFyZWRQcm9wc31cbiAgICAgICAgICAgIHsuLi5yZXN0UHJvcHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICB7dHlwZSAhPSBcIm1vbmV5XCIgJiYgdHlwZSAhPSBcInRleHRhcmVhXCIgJiZcbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17dGhpcy5pbnB1dERlZmF1bHRWYWx1ZUxvY2FsaXplZCgpfVxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25JbnB1dENoYW5nZWR9XG4gICAgICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgICAgIHsuLi5pbnB1dFByb3BzV2l0aG91dFJlZn1cbiAgICAgICAgICAgIHsuLi5zaGFyZWRQcm9wc31cbiAgICAgICAgICAgIG5hbWU9e2xvY2FsaXplZE51bWJlciA/IG51bGwgOiB0aGlzLmlucHV0TmFtZSgpfVxuICAgICAgICAgICAgey4uLnJlc3RQcm9wc31cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICA8Lz5cbiAgICApXG4gIH1cblxuICBhY3R1YWxWYWx1ZSAodmlzaWJsZUlucHV0KSB7XG4gICAgY29uc3Qge3R9ID0gdGhpcy50dFxuICAgIGNvbnN0IHtsb2NhbGl6ZWROdW1iZXJ9ID0gZGlncyh0aGlzLnByb3BzLCBcImxvY2FsaXplZE51bWJlclwiKVxuICAgIGNvbnN0IHZhbHVlID0gZGlnZyh2aXNpYmxlSW5wdXQsIFwidmFsdWVcIilcblxuICAgIGlmIChsb2NhbGl6ZWROdW1iZXIpIHtcbiAgICAgIGNvbnN0IGRlY2ltYWwgPSB0KFwibnVtYmVyLmN1cnJlbmN5LmZvcm1hdC5zZXBhcmF0b3JcIilcbiAgICAgIGNvbnN0IGludGVnZXJTZXBhcmF0b3IgPSB0KFwibnVtYmVyLmN1cnJlbmN5LmZvcm1hdC5kZWxpbWl0ZXJcIilcblxuICAgICAgbGV0IHVuZm9ybWF0dGVkID0gcmVwbGFjZWFsbChpbnRlZ2VyU2VwYXJhdG9yLCBcIlwiLCB2YWx1ZSlcblxuICAgICAgdW5mb3JtYXR0ZWQgPSByZXBsYWNlYWxsKGRlY2ltYWwsIFwiLlwiLCB1bmZvcm1hdHRlZClcblxuICAgICAgcmV0dXJuIHVuZm9ybWF0dGVkXG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cblxuICBhdXRvU3VibWl0ID0gKCkgPT4gbmV3IEF1dG9TdWJtaXQoe2NvbXBvbmVudDogdGhpc30pLmF1dG9TdWJtaXQoKVxuXG4gIGZvcm1hdFZhbHVlICh2YWx1ZSkge1xuICAgIGNvbnN0IHtmb3JtYXRWYWx1ZSwgdHlwZX0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAoZm9ybWF0VmFsdWUpIHtcbiAgICAgIHJldHVybiBmb3JtYXRWYWx1ZSh2YWx1ZSlcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSAmJiAhaXNOYU4odmFsdWUuZ2V0VGltZSgpKSkge1xuICAgICAgLy8gV2UgbmVlZCB0byB1c2UgYSBjZXJ0YWluIGZvcm1hdCBmb3IgZGF0ZXRpbWUtbG9jYWxcbiAgICAgIGlmICh0eXBlID09IFwiZGF0ZXRpbWUtbG9jYWxcIikge1xuICAgICAgICByZXR1cm4gc3RyZnRpbWUoXCIlWS0lbS0lZFQlSDolTTolU1wiLCB2YWx1ZSlcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcImRhdGVcIikge1xuICAgICAgICByZXR1cm4gc3RyZnRpbWUoXCIlWS0lbS0lZFwiLCB2YWx1ZSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWVcbiAgfVxuXG4gIGlucHV0RGVmYXVsdFZhbHVlTG9jYWxpemVkICgpIHtcbiAgICBjb25zdCB7dH0gPSB0aGlzLnR0XG4gICAgY29uc3Qge2RlZmF1bHRWYWx1ZX0gPSB0aGlzLnByb3BzXG4gICAgY29uc3Qge2xvY2FsaXplZE51bWJlcn0gPSBkaWdzKHRoaXMucHJvcHMsIFwibG9jYWxpemVkTnVtYmVyXCIpXG5cbiAgICBpZiAobG9jYWxpemVkTnVtYmVyICYmIGRlZmF1bHRWYWx1ZSAhPT0gbnVsbCAmJiBkZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3Qgc2VwYXJhdG9yID0gdChcIm51bWJlci5jdXJyZW5jeS5mb3JtYXQuc2VwYXJhdG9yXCIpXG4gICAgICBjb25zdCBkZWxpbWl0ZXIgPSB0KFwibnVtYmVyLmN1cnJlbmN5LmZvcm1hdC5kZWxpbWl0ZXJcIilcblxuICAgICAgbGV0IGZvcm1hdHRlZCA9IGAke2RlZmF1bHRWYWx1ZX1gXG5cbiAgICAgIGZvcm1hdHRlZCA9IHJlcGxhY2VhbGwoXCIuXCIsIFwie3tzZXBhcmF0b3J9fVwiLCBmb3JtYXR0ZWQpXG4gICAgICBmb3JtYXR0ZWQgPSByZXBsYWNlYWxsKFwiLFwiLCBcInt7ZGVsaW1pdGVyfX1cIiwgZm9ybWF0dGVkKVxuICAgICAgZm9ybWF0dGVkID0gcmVwbGFjZWFsbChcInt7c2VwYXJhdG9yfX1cIiwgc2VwYXJhdG9yLCBmb3JtYXR0ZWQpXG4gICAgICBmb3JtYXR0ZWQgPSByZXBsYWNlYWxsKFwie3tkZWxpbWl0ZXJ9fVwiLCBkZWxpbWl0ZXIsIGZvcm1hdHRlZClcblxuICAgICAgcmV0dXJuIGZvcm1hdHRlZFxuICAgIH1cblxuICAgIHJldHVybiBkZWZhdWx0VmFsdWVcbiAgfVxuXG4gIGlucHV0TmFtZSAoKSB7XG4gICAgaWYgKHRoaXMuc3RhdGUuYmxhbmtJbnB1dE5hbWUpIHJldHVybiBcIlwiXG5cbiAgICByZXR1cm4gdGhpcy5wcm9wcy5pbnB1dFByb3BzLm5hbWVcbiAgfVxuXG4gIGlucHV0UmVmZXJlbmNlID0gKCkgPT4gZGlnZyh0aGlzLCBcInByb3BzXCIsIFwiaW5wdXRQcm9wc1wiLCBcInJlZlwiKVxuXG4gIG9uTW9kZWxVcGRhdGVkID0gKGFyZ3MpID0+IHtcbiAgICBjb25zdCBpbnB1dFJlZiA9IHRoaXMuaW5wdXRSZWZlcmVuY2UoKVxuXG4gICAgaWYgKCFpbnB1dFJlZi5jdXJyZW50KSB7XG4gICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gaWYgdGhlIGNvbXBvbmVudCBpcyBiZWluZyB1bm1vdW50ZWRcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IHthdHRyaWJ1dGV9ID0gZGlncyh0aGlzLnByb3BzLCBcImF0dHJpYnV0ZVwiKVxuICAgIGNvbnN0IG5ld01vZGVsID0gZGlnZyhhcmdzLCBcIm1vZGVsXCIpXG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gZGlnZyhpbnB1dFJlZiwgXCJjdXJyZW50XCIsIFwidmFsdWVcIilcbiAgICBjb25zdCBuZXdWYWx1ZSA9IG5ld01vZGVsLnJlYWRBdHRyaWJ1dGUoYXR0cmlidXRlKVxuICAgIGNvbnN0IG5ld0Zvcm1hdHRlZFZhbHVlID0gdGhpcy5mb3JtYXRWYWx1ZShuZXdWYWx1ZSlcblxuICAgIGlmIChjdXJyZW50VmFsdWUgIT0gbmV3Rm9ybWF0dGVkVmFsdWUpIHtcbiAgICAgIGlucHV0UmVmLmN1cnJlbnQudmFsdWUgPSBuZXdGb3JtYXR0ZWRWYWx1ZVxuICAgIH1cbiAgfVxuXG4gIG9uSW5wdXRDaGFuZ2VkID0gKGUpID0+IHtcbiAgICBjb25zdCB7Zm9ybX0gPSB0aGlzLnR0XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgYXV0b1N1Ym1pdCwgaW5wdXRQcm9wcywgbW9kZWwsIG9uQ2hhbmdlfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7bG9jYWxpemVkTnVtYmVyfSA9IGRpZ3ModGhpcy5wcm9wcywgXCJsb2NhbGl6ZWROdW1iZXJcIilcbiAgICBjb25zdCB7bmFtZX0gPSBpbnB1dFByb3BzXG5cbiAgICBpZiAobG9jYWxpemVkTnVtYmVyKSB0aGlzLmlucHV0UmVmZXJlbmNlKCkuY3VycmVudC52YWx1ZSA9IHRoaXMuYWN0dWFsVmFsdWUoZGlnZyhlLCBcInRhcmdldFwiKSlcblxuICAgIGlmIChhdHRyaWJ1dGUgJiYgYXV0b1N1Ym1pdCAmJiBtb2RlbCkgdGhpcy5kZWxheUF1dG9TdWJtaXQoKVxuICAgIGlmIChkaWdnKGlucHV0UHJvcHMsIFwidHlwZVwiKSA9PSBcImZpbGVcIikgdGhpcy5zZXRTdGF0ZSh7YmxhbmtJbnB1dE5hbWU6IHRoaXMuZ2V0QmxhbmtJbnB1dE5hbWUoKX0pXG5cbiAgICBpZiAoZm9ybSAmJiBuYW1lKSB7XG4gICAgICBmb3JtLnNldFZhbHVlKG5hbWUsIGUudGFyZ2V0LnZhbHVlKVxuICAgIH1cblxuICAgIGlmIChvbkNoYW5nZSkgb25DaGFuZ2UoZSlcbiAgfVxuXG4gIGRlbGF5QXV0b1N1Ym1pdCAoKSB7XG4gICAgaWYgKHRoaXMuZGVsYXlBdXRvU3VibWl0VGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZGVsYXlBdXRvU3VibWl0VGltZW91dClcbiAgICB9XG5cbiAgICB0aGlzLmRlbGF5QXV0b1N1Ym1pdFRpbWVvdXQgPSBzZXRUaW1lb3V0KHRoaXMuYXV0b1N1Ym1pdCwgMjAwKVxuICB9XG5cbiAgLy8gVGhpcyBmaXhlcyBhbiBpc3N1ZSBpbiBGaXJlZm94IGFuZCBBY3RpdmVTdG9yYWdlLCB3aGVyZSB1cGxvYWRzIHdvdWxkIGJlIGEgYmxhbmsgc3RyaW5nIGlmIGEgZmlsZSB3YXNuJ3QgY2hvc2VuXG4gIGdldEJsYW5rSW5wdXROYW1lICgpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGRpZyh0aGlzLmlucHV0UmVmZXJlbmNlKCksIFwiY3VycmVudFwiLCBcInZhbHVlXCIpXG5cbiAgICBpZiAodGhpcy5wcm9wcy5pbnB1dFByb3BzLnR5cGUgPT0gXCJmaWxlXCIgJiYgdmFsdWUgPT0gXCJcIilcbiAgICAgIHJldHVybiB0cnVlXG4gIH1cbn0pKVxuXG5leHBvcnQge0FwaU1ha2VySW5wdXRzSW5wdXQgYXMgSW5wdXR9XG5leHBvcnQgZGVmYXVsdCBpbnB1dFdyYXBwZXIoQXBpTWFrZXJJbnB1dHNJbnB1dClcbiJdfQ==
|
package/build/inputs/money.js
CHANGED
|
@@ -1,46 +1,84 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
40
|
+
const react_1 = __importStar(require("react"));
|
|
41
|
+
const shape_component_js_1 = require("set-state-compare/build/shape-component.js");
|
|
42
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
43
|
+
const config_js_1 = __importDefault(require("../config.js"));
|
|
44
|
+
const diggerize_1 = require("diggerize");
|
|
45
|
+
const id_for_component_js_1 = __importDefault(require("./id-for-component.js"));
|
|
46
|
+
const inflection = __importStar(require("inflection"));
|
|
47
|
+
const memo_js_1 = __importDefault(require("set-state-compare/build/memo.js"));
|
|
48
|
+
const money_formatter_js_1 = __importDefault(require("../money-formatter.js"));
|
|
49
|
+
const prop_types_1 = __importDefault(require("prop-types"));
|
|
50
|
+
const prop_types_exact_1 = __importDefault(require("prop-types-exact"));
|
|
51
|
+
exports.default = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent)(class ApiMakerInputsMoney extends shape_component_js_1.ShapeComponent {
|
|
14
52
|
static defaultProps = {
|
|
15
53
|
disabled: false,
|
|
16
54
|
showCurrencyOptions: true
|
|
17
55
|
};
|
|
18
|
-
static propTypes =
|
|
19
|
-
attribute:
|
|
20
|
-
centsInputName:
|
|
21
|
-
className:
|
|
22
|
-
currenciesCollection:
|
|
23
|
-
currencyName:
|
|
24
|
-
currencyRef:
|
|
25
|
-
defaultValue:
|
|
26
|
-
disabled:
|
|
27
|
-
id:
|
|
28
|
-
inputRef:
|
|
29
|
-
label:
|
|
30
|
-
model:
|
|
31
|
-
name:
|
|
32
|
-
onChange:
|
|
33
|
-
placeholder:
|
|
34
|
-
showCurrencyOptions:
|
|
35
|
-
small:
|
|
36
|
-
type:
|
|
37
|
-
wholeRef:
|
|
56
|
+
static propTypes = (0, prop_types_exact_1.default)({
|
|
57
|
+
attribute: prop_types_1.default.string,
|
|
58
|
+
centsInputName: prop_types_1.default.string,
|
|
59
|
+
className: prop_types_1.default.string,
|
|
60
|
+
currenciesCollection: prop_types_1.default.array,
|
|
61
|
+
currencyName: prop_types_1.default.string,
|
|
62
|
+
currencyRef: prop_types_1.default.object,
|
|
63
|
+
defaultValue: prop_types_1.default.object,
|
|
64
|
+
disabled: prop_types_1.default.bool.isRequired,
|
|
65
|
+
id: prop_types_1.default.string,
|
|
66
|
+
inputRef: prop_types_1.default.object,
|
|
67
|
+
label: prop_types_1.default.any,
|
|
68
|
+
model: prop_types_1.default.object,
|
|
69
|
+
name: prop_types_1.default.string,
|
|
70
|
+
onChange: prop_types_1.default.func,
|
|
71
|
+
placeholder: prop_types_1.default.any,
|
|
72
|
+
showCurrencyOptions: prop_types_1.default.bool,
|
|
73
|
+
small: prop_types_1.default.bool,
|
|
74
|
+
type: prop_types_1.default.string,
|
|
75
|
+
wholeRef: prop_types_1.default.object
|
|
38
76
|
});
|
|
39
77
|
setup() {
|
|
40
|
-
this.inputRef = useRef();
|
|
41
|
-
this.currencyRefBackup = useRef();
|
|
78
|
+
this.inputRef = (0, react_1.useRef)();
|
|
79
|
+
this.currencyRefBackup = (0, react_1.useRef)();
|
|
42
80
|
this.currencyRef = this.props.currencyRef || this.currencyRefBackup;
|
|
43
|
-
this.wholeRefBackup = useRef();
|
|
81
|
+
this.wholeRefBackup = (0, react_1.useRef)();
|
|
44
82
|
this.wholeRef = this.props.wholeRef || this.wholeRefBackup;
|
|
45
83
|
}
|
|
46
84
|
getInputRef = () => this.props.inputRef || this.inputRef;
|
|
@@ -48,9 +86,9 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
|
|
|
48
86
|
const { attribute, className, disabled, model, showCurrencyOptions } = this.props;
|
|
49
87
|
let { currenciesCollection } = this.props;
|
|
50
88
|
if (!currenciesCollection)
|
|
51
|
-
currenciesCollection =
|
|
52
|
-
return (
|
|
53
|
-
|
|
89
|
+
currenciesCollection = config_js_1.default.getCurrenciesCollection();
|
|
90
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "api-maker-inputs-money", "data-attribute": attribute, "data-model-id": model?.id(), children: [(0, jsx_runtime_1.jsx)("input", { defaultValue: this.inputDefaultCentsValue(), id: this.inputCentsId(), name: this.inputCentsName(), ref: this.getInputRef(), type: "hidden" }), (0, jsx_runtime_1.jsx)("input", { className: (0, classnames_1.default)("money-cents", className), defaultValue: this.inputDefaultValue(), disabled: disabled, id: this.inputId(), onBlur: this.tt.setAmount, onChange: this.tt.setCents, onKeyUp: this.tt.setCents, placeholder: this.props.placeholder, ref: this.tt.wholeRef, type: "text" }), showCurrencyOptions &&
|
|
91
|
+
(0, jsx_runtime_1.jsxs)("select", { className: "money-currency", defaultValue: this.inputCurrencyValue(), disabled: disabled, id: this.inputCurrencyId(), name: this.inputCurrencyName(), onChange: this.tt.onCurrencyChanged, ref: this.tt.currencyRef, children: [(0, jsx_runtime_1.jsx)("option", {}), currenciesCollection.map((option) => ((0, jsx_runtime_1.jsxs)("option", { value: option[1], children: [this.props.small && option[1], !this.props.small && option[0]] }, `select-option-${option[1]}`)))] })] }));
|
|
54
92
|
}
|
|
55
93
|
inputCurrencyId = () => `${this.inputId()}_currency`;
|
|
56
94
|
inputCurrencyName() {
|
|
@@ -61,7 +99,7 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
|
|
|
61
99
|
inputCurrencyValue() {
|
|
62
100
|
const { defaultValue } = this.props;
|
|
63
101
|
if (defaultValue) {
|
|
64
|
-
return
|
|
102
|
+
return money_formatter_js_1.default.currencyFromMoney(defaultValue).code;
|
|
65
103
|
}
|
|
66
104
|
else {
|
|
67
105
|
return "DKK";
|
|
@@ -70,7 +108,7 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
|
|
|
70
108
|
inputDefaultValue() {
|
|
71
109
|
const { defaultValue } = this.props;
|
|
72
110
|
if (defaultValue) {
|
|
73
|
-
return
|
|
111
|
+
return money_formatter_js_1.default.fromMoney({ amount: defaultValue.amount, currency: this.inputCurrencyValue() }, { decimals: 2, excludeCurrency: true }).toString();
|
|
74
112
|
}
|
|
75
113
|
else {
|
|
76
114
|
return "";
|
|
@@ -79,10 +117,10 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
|
|
|
79
117
|
inputDefaultCentsValue() {
|
|
80
118
|
const { defaultValue } = this.props;
|
|
81
119
|
if (this.getInputRef().current) {
|
|
82
|
-
return digg(this.getInputRef(), "current", "value");
|
|
120
|
+
return (0, diggerize_1.digg)(this.getInputRef(), "current", "value");
|
|
83
121
|
}
|
|
84
122
|
else if (defaultValue) {
|
|
85
|
-
return
|
|
123
|
+
return money_formatter_js_1.default.amountFromMoney(defaultValue);
|
|
86
124
|
}
|
|
87
125
|
}
|
|
88
126
|
inputCentsId = () => `${this.inputId()}_cents`;
|
|
@@ -91,7 +129,7 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
|
|
|
91
129
|
return this.props.name;
|
|
92
130
|
return `${this.props.model.modelClassData().paramKey}[${inflection.underscore(this.props.attribute)}_cents]`;
|
|
93
131
|
}
|
|
94
|
-
inputId = () =>
|
|
132
|
+
inputId = () => (0, id_for_component_js_1.default)(this);
|
|
95
133
|
onCurrencyChanged = () => {
|
|
96
134
|
if (this.props.onChange)
|
|
97
135
|
this.props.onChange();
|
|
@@ -105,7 +143,7 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
|
|
|
105
143
|
}
|
|
106
144
|
else {
|
|
107
145
|
const cents = parseFloat(inputElement.value);
|
|
108
|
-
const formatted =
|
|
146
|
+
const formatted = money_formatter_js_1.default.fromMoney({ amount: cents, currency: this.inputCurrencyValue() }, { decimals: 2, excludeCurrency: true }).toString();
|
|
109
147
|
this.wholeRef.current.value = formatted;
|
|
110
148
|
}
|
|
111
149
|
};
|
|
@@ -113,7 +151,7 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
|
|
|
113
151
|
const inputElement = this.getInputRef().current;
|
|
114
152
|
if (!inputElement)
|
|
115
153
|
return;
|
|
116
|
-
let whole =
|
|
154
|
+
let whole = money_formatter_js_1.default.stringToFloat(this.wholeRef.current.value);
|
|
117
155
|
let cents = parseInt(whole * 100, 10);
|
|
118
156
|
let oldCents = parseInt(inputElement.value, 10);
|
|
119
157
|
if (typeof cents == "number") {
|
|
@@ -126,4 +164,4 @@ export default memo(shapeComponent(class ApiMakerInputsMoney extends ShapeCompon
|
|
|
126
164
|
this.props.onChange();
|
|
127
165
|
};
|
|
128
166
|
}));
|
|
129
|
-
//# sourceMappingURL=money.js.map
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZXkuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImlucHV0cy9tb25leS5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQW1DO0FBQ25DLG1GQUF5RjtBQUN6Riw0REFBbUM7QUFDbkMsNkRBQWlDO0FBQ2pDLHlDQUE4QjtBQUM5QixnRkFBa0Q7QUFDbEQsdURBQXdDO0FBQ3hDLDhFQUFrRDtBQUNsRCwrRUFBa0Q7QUFDbEQsNERBQWtDO0FBQ2xDLHdFQUE2QztBQUU3QyxrQkFBZSxJQUFBLGlCQUFJLEVBQUMsSUFBQSxtQ0FBYyxFQUFDLE1BQU0sbUJBQW9CLFNBQVEsbUNBQWM7SUFDakYsTUFBTSxDQUFDLFlBQVksR0FBRztRQUNwQixRQUFRLEVBQUUsS0FBSztRQUNmLG1CQUFtQixFQUFFLElBQUk7S0FDMUIsQ0FBQTtJQUVELE1BQU0sQ0FBQyxTQUFTLEdBQUcsSUFBQSwwQkFBYyxFQUFDO1FBQ2hDLFNBQVMsRUFBRSxvQkFBUyxDQUFDLE1BQU07UUFDM0IsY0FBYyxFQUFFLG9CQUFTLENBQUMsTUFBTTtRQUNoQyxTQUFTLEVBQUUsb0JBQVMsQ0FBQyxNQUFNO1FBQzNCLG9CQUFvQixFQUFFLG9CQUFTLENBQUMsS0FBSztRQUNyQyxZQUFZLEVBQUUsb0JBQVMsQ0FBQyxNQUFNO1FBQzlCLFdBQVcsRUFBRSxvQkFBUyxDQUFDLE1BQU07UUFDN0IsWUFBWSxFQUFFLG9CQUFTLENBQUMsTUFBTTtRQUM5QixRQUFRLEVBQUUsb0JBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVTtRQUNuQyxFQUFFLEVBQUUsb0JBQVMsQ0FBQyxNQUFNO1FBQ3BCLFFBQVEsRUFBRSxvQkFBUyxDQUFDLE1BQU07UUFDMUIsS0FBSyxFQUFFLG9CQUFTLENBQUMsR0FBRztRQUNwQixLQUFLLEVBQUUsb0JBQVMsQ0FBQyxNQUFNO1FBQ3ZCLElBQUksRUFBRSxvQkFBUyxDQUFDLE1B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USxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFFL0MsSUFBSSxPQUFPLEtBQUssSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUM3QixZQUFZLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtRQUM1QixDQUFDO2FBQU0sQ0FBQztZQUNOLFlBQVksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFBO1FBQ3pCLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLFFBQVEsSUFBSSxLQUFLO1lBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNyRSxDQUFDLENBQUE7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge3VzZVJlZn0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnQsIFNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gXCJjbGFzc25hbWVzXCJcbmltcG9ydCBDb25maWcgZnJvbSBcIi4uL2NvbmZpZy5qc1wiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IGlkRm9yQ29tcG9uZW50IGZyb20gXCIuL2lkLWZvci1jb21wb25lbnQuanNcIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgTW9uZXlGb3JtYXR0ZXIgZnJvbSBcIi4uL21vbmV5LWZvcm1hdHRlci5qc1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBQcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJJbnB1dHNNb25leSBleHRlbmRzIFNoYXBlQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgc2hvd0N1cnJlbmN5T3B0aW9uczogdHJ1ZVxuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IFByb3BUeXBlc0V4YWN0KHtcbiAgICBhdHRyaWJ1dGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY2VudHNJbnB1dE5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGN1cnJlbmNpZXNDb2xsZWN0aW9uOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgY3VycmVuY3lOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGN1cnJlbmN5UmVmOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGRlZmF1bHRWYWx1ZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBpbnB1dFJlZjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBsYWJlbDogUHJvcFR5cGVzLmFueSxcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBwbGFjZWhvbGRlcjogUHJvcFR5cGVzLmFueSxcbiAgICBzaG93Q3VycmVuY3lPcHRpb25zOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBzbWFsbDogUHJvcFR5cGVzLmJvb2wsXG4gICAgdHlwZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB3aG9sZVJlZjogUHJvcFR5cGVzLm9iamVjdFxuICB9KVxuXG4gIHNldHVwKCkge1xuICAgIHRoaXMuaW5wdXRSZWYgPSB1c2VSZWYoKVxuICAgIHRoaXMuY3VycmVuY3lSZWZCYWNrdXAgPSB1c2VSZWYoKVxuICAgIHRoaXMuY3VycmVuY3lSZWYgPSB0aGlzLnByb3BzLmN1cnJlbmN5UmVmIHx8IHRoaXMuY3VycmVuY3lSZWZCYWNrdXBcbiAgICB0aGlzLndob2xlUmVmQmFja3VwID0gdXNlUmVmKClcbiAgICB0aGlzLndob2xlUmVmID0gdGhpcy5wcm9wcy53aG9sZVJlZiB8fCB0aGlzLndob2xlUmVmQmFja3VwXG4gIH1cblxuICBnZXRJbnB1dFJlZiA9ICgpID0+IHRoaXMucHJvcHMuaW5wdXRSZWYgfHwgdGhpcy5pbnB1dFJlZlxuXG4gIHJlbmRlciAoKSB7XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgY2xhc3NOYW1lLCBkaXNhYmxlZCwgbW9kZWwsIHNob3dDdXJyZW5jeU9wdGlvbnN9ID0gdGhpcy5wcm9wc1xuICAgIGxldCB7Y3VycmVuY2llc0NvbGxlY3Rpb259ID0gdGhpcy5wcm9wc1xuXG4gICAgaWYgKCFjdXJyZW5jaWVzQ29sbGVjdGlvbikgY3VycmVuY2llc0NvbGxlY3Rpb24gPSBDb25maWcuZ2V0Q3VycmVuY2llc0NvbGxlY3Rpb24oKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYXBpLW1ha2VyLWlucHV0cy1tb25leVwiIGRhdGEtYXR0cmlidXRlPXthdHRyaWJ1dGV9IGRhdGEtbW9kZWwtaWQ9e21vZGVsPy5pZCgpfT5cbiAgICAgICAgPGlucHV0IGRlZmF1bHRWYWx1ZT17dGhpcy5pbnB1dERlZmF1bHRDZW50c1ZhbHVlKCl9IGlkPXt0aGlzLmlucHV0Q2VudHNJZCgpfSBuYW1lPXt0aGlzLmlucHV0Q2VudHNOYW1lKCl9IHJlZj17dGhpcy5nZXRJbnB1dFJlZigpfSB0eXBlPVwiaGlkZGVuXCIgLz5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFwibW9uZXktY2VudHNcIiwgY2xhc3NOYW1lKX1cbiAgICAgICAgICBkZWZhdWx0VmFsdWU9e3RoaXMuaW5wdXREZWZhdWx0VmFsdWUoKX1cbiAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgaWQ9e3RoaXMuaW5wdXRJZCgpfVxuICAgICAgICAgIG9uQmx1cj17dGhpcy50dC5zZXRBbW91bnR9XG4gICAgICAgICAgb25DaGFuZ2U9e3RoaXMudHQuc2V0Q2VudHN9XG4gICAgICAgICAgb25LZXlVcD17dGhpcy50dC5zZXRDZW50c31cbiAgICAgICAgICBwbGFjZWhvbGRlcj17dGhpcy5wcm9wcy5wbGFjZWhvbGRlcn1cbiAgICAgICAgICByZWY9e3RoaXMudHQud2hvbGVSZWZ9XG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAvPlxuICAgICAgICB7c2hvd0N1cnJlbmN5T3B0aW9ucyAmJlxuICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cIm1vbmV5LWN1cnJlbmN5XCJcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17dGhpcy5pbnB1dEN1cnJlbmN5VmFsdWUoKX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGlkPXt0aGlzLmlucHV0Q3VycmVuY3lJZCgpfVxuICAgICAgICAgICAgbmFtZT17dGhpcy5pbnB1dEN1cnJlbmN5TmFtZSgpfVxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMudHQub25DdXJyZW5jeUNoYW5nZWR9XG4gICAgICAgICAgICByZWY9e3RoaXMudHQuY3VycmVuY3lSZWZ9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG9wdGlvbj48L29wdGlvbj5cbiAgICAgICAgICAgIHtjdXJyZW5jaWVzQ29sbGVjdGlvbi5tYXAoKG9wdGlvbikgPT4gKFxuICAgICAgICAgICAgICA8b3B0aW9uIGtleT17YHNlbGVjdC1vcHRpb24tJHtvcHRpb25bMV19YH0gdmFsdWU9e29wdGlvblsxXX0+XG4gICAgICAgICAgICAgICAge3RoaXMucHJvcHMuc21hbGwgJiYgb3B0aW9uWzFdfVxuICAgICAgICAgICAgICAgIHshdGhpcy5wcm9wcy5zbWFsbCAmJiBvcHRpb25bMF19XG4gICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIClcbiAgfVxuXG4gIGlucHV0Q3VycmVuY3lJZCA9ICgpID0+IGAke3RoaXMuaW5wdXRJZCgpfV9jdXJyZW5jeWBcblxuICBpbnB1dEN1cnJlbmN5TmFtZSAoKSB7XG4gICAgaWYgKFwiY3VycmVuY3lOYW1lXCIgaW4gdGhpcy5wcm9wcykgcmV0dXJuIHRoaXMucHJvcHMuY3VycmVuY3lOYW1lXG5cbiAgICByZXR1cm4gYCR7dGhpcy5wcm9wcy5tb2RlbC5tb2RlbENsYXNzRGF0YSgpLnBhcmFtS2V5fVske2luZmxlY3Rpb24udW5kZXJzY29yZSh0aGlzLnByb3BzLmF0dHJpYnV0ZSl9X2N1cnJlbmN5XWBcbiAgfVxuXG4gIGlucHV0Q3VycmVuY3lWYWx1ZSAoKSB7XG4gICAgY29uc3Qge2RlZmF1bHRWYWx1ZX0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAoZGVmYXVsdFZhbHVlKSB7XG4gICAgICByZXR1cm4gTW9uZXlGb3JtYXR0ZXIuY3VycmVuY3lGcm9tTW9uZXkoZGVmYXVsdFZhbHVlKS5jb2RlXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBcIkRLS1wiXG4gICAgfVxuICB9XG5cbiAgaW5wdXREZWZhdWx0VmFsdWUgKCkge1xuICAgIGNvbnN0IHtkZWZhdWx0VmFsdWV9ID0gdGhpcy5wcm9wc1xuXG4gICAgaWYgKGRlZmF1bHRWYWx1ZSkge1xuICAgICAgcmV0dXJuIE1vbmV5Rm9ybWF0dGVyLmZyb21Nb25leSh7YW1vdW50OiBkZWZhdWx0VmFsdWUuYW1vdW50LCBjdXJyZW5jeTogdGhpcy5pbnB1dEN1cnJlbmN5VmFsdWUoKX0sIHtkZWNpbWFsczogMiwgZXhjbHVkZUN1cnJlbmN5OiB0cnVlfSkudG9TdHJpbmcoKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gXCJcIlxuICAgIH1cbiAgfVxuXG4gIGlucHV0RGVmYXVsdENlbnRzVmFsdWUgKCkge1xuICAgIGNvbnN0IHtkZWZhdWx0VmFsdWV9ID0gdGhpcy5wcm9wc1xuXG4gICAgaWYgKHRoaXMuZ2V0SW5wdXRSZWYoKS5jdXJyZW50KSB7XG4gICAgICByZXR1cm4gZGlnZyh0aGlzLmdldElucHV0UmVmKCksIFwiY3VycmVudFwiLCBcInZhbHVlXCIpXG4gICAgfSBlbHNlIGlmIChkZWZhdWx0VmFsdWUpIHtcbiAgICAgIHJldHVybiBNb25leUZvcm1hdHRlci5hbW91bnRGcm9tTW9uZXkoZGVmYXVsdFZhbHVlKVxuICAgIH1cbiAgfVxuXG4gIGlucHV0Q2VudHNJZCA9ICgpID0+IGAke3RoaXMuaW5wdXRJZCgpfV9jZW50c2BcblxuICBpbnB1dENlbnRzTmFtZSAoKSB7XG4gICAgaWYgKFwibmFtZVwiIGluIHRoaXMucHJvcHMpIHJldHVybiB0aGlzLnByb3BzLm5hbWVcblxuICAgIHJldHVybiBgJHt0aGlzLnByb3BzLm1vZGVsLm1vZGVsQ2xhc3NEYXRhKCkucGFyYW1LZXl9WyR7aW5mbGVjdGlvbi51bmRlcnNjb3JlKHRoaXMucHJvcHMuYXR0cmlidXRlKX1fY2VudHNdYFxuICB9XG5cbiAgaW5wdXRJZCA9ICgpID0+IGlkRm9yQ29tcG9uZW50KHRoaXMpXG5cbiAgb25DdXJyZW5jeUNoYW5nZWQgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMucHJvcHMub25DaGFuZ2UpIHRoaXMucHJvcHMub25DaGFuZ2UoKVxuICB9XG5cbiAgc2V0QW1vdW50ID0gKCkgPT4ge1xuICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IHRoaXMuZ2V0SW5wdXRSZWYoKS5jdXJyZW50XG5cbiAgICBpZiAoIWlucHV0RWxlbWVudCkgcmV0dXJuXG5cbiAgICBpZiAoIWlucHV0RWxlbWVudC52YWx1ZSAmJiBpbnB1dEVsZW1lbnQudmFsdWUgPT0gXCJcIikge1xuICAgICAgdGhpcy53aG9sZVJlZi5jdXJyZW50LnZhbHVlID0gXCJcIlxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjZW50cyA9IHBhcnNlRmxvYXQoaW5wdXRFbGVtZW50LnZhbHVlKVxuICAgICAgY29uc3QgZm9ybWF0dGVkID0gTW9uZXlGb3JtYXR0ZXIuZnJvbU1vbmV5KHthbW91bnQ6IGNlbnRzLCBjdXJyZW5jeTogdGhpcy5pbnB1dEN1cnJlbmN5VmFsdWUoKX0sIHtkZWNpbWFsczogMiwgZXhjbHVkZUN1cnJlbmN5OiB0cnVlfSkudG9TdHJpbmcoKVxuXG4gICAgICB0aGlzLndob2xlUmVmLmN1cnJlbnQudmFsdWUgPSBmb3JtYXR0ZWRcbiAgICB9XG4gIH1cblxuICBzZXRDZW50cyA9ICgpID0+IHtcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSB0aGlzLmdldElucHV0UmVmKCkuY3VycmVudFxuXG4gICAgaWYgKCFpbnB1dEVsZW1lbnQpIHJldHVyblxuXG4gICAgbGV0IHdob2xlID0gTW9uZXlGb3JtYXR0ZXIuc3RyaW5nVG9GbG9hdCh0aGlzLndob2xlUmVmLmN1cnJlbnQudmFsdWUpXG4gICAgbGV0IGNlbnRzID0gcGFyc2VJbnQod2hvbGUgKiAxMDAsIDEwKVxuICAgIGxldCBvbGRDZW50cyA9IHBhcnNlSW50KGlucHV0RWxlbWVudC52YWx1ZSwgMTApXG5cbiAgICBpZiAodHlwZW9mIGNlbnRzID09IFwibnVtYmVyXCIpIHtcbiAgICAgIGlucHV0RWxlbWVudC52YWx1ZSA9IGNlbnRzXG4gICAgfSBlbHNlIHtcbiAgICAgIGlucHV0RWxlbWVudC52YWx1ZSA9ICcnXG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJvcHMub25DaGFuZ2UgJiYgb2xkQ2VudHMgIT0gY2VudHMpIHRoaXMucHJvcHMub25DaGFuZ2UoKVxuICB9XG59KSlcbiJdfQ==
|
|
@@ -1,5 +1,41 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.default = apiMakerNameForComponent;
|
|
37
|
+
const inflection = __importStar(require("inflection"));
|
|
38
|
+
function apiMakerNameForComponent(component) {
|
|
3
39
|
if ("name" in component.props) {
|
|
4
40
|
return component.props.name;
|
|
5
41
|
}
|
|
@@ -11,4 +47,4 @@ export default function apiMakerNameForComponent(component) {
|
|
|
11
47
|
return `${component.props.model.modelClassData().paramKey}[${attributeName}]`;
|
|
12
48
|
}
|
|
13
49
|
}
|
|
14
|
-
//# sourceMappingURL=
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZS1mb3ItY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJpbnB1dHMvbmFtZS1mb3ItY29tcG9uZW50LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsMkNBWUM7QUFkRCx1REFBd0M7QUFFeEMsU0FBd0Isd0JBQXdCLENBQUUsU0FBUztJQUN6RCxJQUFJLE1BQU0sSUFBSSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDOUIsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQTtJQUM3QixDQUFDO1NBQU0sSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzlELElBQUksYUFBYSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUVwRSxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ3BDLGFBQWEsSUFBSSxRQUFRLENBQUE7UUFDM0IsQ0FBQztRQUVELE9BQU8sR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQyxRQUFRLElBQUksYUFBYSxHQUFHLENBQUE7SUFDL0UsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gYXBpTWFrZXJOYW1lRm9yQ29tcG9uZW50IChjb21wb25lbnQpIHtcbiAgaWYgKFwibmFtZVwiIGluIGNvbXBvbmVudC5wcm9wcykge1xuICAgIHJldHVybiBjb21wb25lbnQucHJvcHMubmFtZVxuICB9IGVsc2UgaWYgKGNvbXBvbmVudC5wcm9wcy5hdHRyaWJ1dGUgJiYgY29tcG9uZW50LnByb3BzLm1vZGVsKSB7XG4gICAgbGV0IGF0dHJpYnV0ZU5hbWUgPSBpbmZsZWN0aW9uLnVuZGVyc2NvcmUoY29tcG9uZW50LnByb3BzLmF0dHJpYnV0ZSlcblxuICAgIGlmIChjb21wb25lbnQucHJvcHMudHlwZSA9PSBcIm1vbmV5XCIpIHtcbiAgICAgIGF0dHJpYnV0ZU5hbWUgKz0gXCJfY2VudHNcIlxuICAgIH1cblxuICAgIHJldHVybiBgJHtjb21wb25lbnQucHJvcHMubW9kZWwubW9kZWxDbGFzc0RhdGEoKS5wYXJhbUtleX1bJHthdHRyaWJ1dGVOYW1lfV1gXG4gIH1cbn1cbiJdfQ==
|