@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,135 @@
|
|
|
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 classNames from "classnames";
|
|
4
|
+
import { digg } from "diggerize";
|
|
5
|
+
import * as inflection from "inflection";
|
|
6
|
+
import memo from "set-state-compare/src/memo";
|
|
7
|
+
import MoneyFormatter from "../money-formatter";
|
|
8
|
+
import PropTypes from "prop-types";
|
|
9
|
+
import { shapeComponent, ShapeComponent } from "set-state-compare/src/shape-component";
|
|
10
|
+
import strftime from "strftime";
|
|
11
|
+
import Text from "../utils/text";
|
|
12
|
+
import useI18n from "i18n-on-steroids/src/use-i18n";
|
|
13
|
+
import { View } from "react-native";
|
|
14
|
+
export default memo(shapeComponent(class ApiMakerBootstrapAttributeRow extends ShapeComponent {
|
|
15
|
+
static defaultProps = {
|
|
16
|
+
checkIfAttributeLoaded: false
|
|
17
|
+
};
|
|
18
|
+
static propTypes = {
|
|
19
|
+
attribute: PropTypes.string,
|
|
20
|
+
checkIfAttributeLoaded: PropTypes.bool.isRequired,
|
|
21
|
+
children: PropTypes.node,
|
|
22
|
+
identifier: PropTypes.string,
|
|
23
|
+
label: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),
|
|
24
|
+
model: PropTypes.object,
|
|
25
|
+
value: PropTypes.node
|
|
26
|
+
};
|
|
27
|
+
setup() {
|
|
28
|
+
const {
|
|
29
|
+
l,
|
|
30
|
+
t
|
|
31
|
+
} = useI18n({
|
|
32
|
+
namespace: "js.api_maker.attribute_row"
|
|
33
|
+
});
|
|
34
|
+
this.l = l;
|
|
35
|
+
this.t = t;
|
|
36
|
+
this.attribute = useMemo(() => {
|
|
37
|
+
if (this.props.attribute) {
|
|
38
|
+
return this.props.model?.constructor?.attributes()?.find(attribute => attribute.name() == inflection.underscore(this.props.attribute));
|
|
39
|
+
}
|
|
40
|
+
}, [this.props.attribute, this.props.model]);
|
|
41
|
+
}
|
|
42
|
+
render() {
|
|
43
|
+
const {
|
|
44
|
+
attribute,
|
|
45
|
+
checkIfAttributeLoaded,
|
|
46
|
+
children,
|
|
47
|
+
className,
|
|
48
|
+
identifier,
|
|
49
|
+
label,
|
|
50
|
+
model,
|
|
51
|
+
style,
|
|
52
|
+
value,
|
|
53
|
+
...restProps
|
|
54
|
+
} = this.props;
|
|
55
|
+
const actualStyle = Object.assign({
|
|
56
|
+
paddingVertical: 8
|
|
57
|
+
}, style);
|
|
58
|
+
return /*#__PURE__*/React.createElement(View, _extends({
|
|
59
|
+
dataSet: {
|
|
60
|
+
attribute,
|
|
61
|
+
class: className,
|
|
62
|
+
component: "api-maker/attribute-row",
|
|
63
|
+
identifier
|
|
64
|
+
},
|
|
65
|
+
style: actualStyle
|
|
66
|
+
}, restProps), /*#__PURE__*/React.createElement(Text, {
|
|
67
|
+
dataSet: {
|
|
68
|
+
class: "attribute-row-label"
|
|
69
|
+
},
|
|
70
|
+
style: {
|
|
71
|
+
fontWeight: "bold"
|
|
72
|
+
}
|
|
73
|
+
}, this.label()), /*#__PURE__*/React.createElement(View, {
|
|
74
|
+
dataSet: {
|
|
75
|
+
class: "attribute-row-value"
|
|
76
|
+
},
|
|
77
|
+
style: {
|
|
78
|
+
marginTop: 3
|
|
79
|
+
}
|
|
80
|
+
}, this.value()));
|
|
81
|
+
}
|
|
82
|
+
label() {
|
|
83
|
+
const {
|
|
84
|
+
attribute,
|
|
85
|
+
label,
|
|
86
|
+
model
|
|
87
|
+
} = this.props;
|
|
88
|
+
if ("label" in this.props) return label;
|
|
89
|
+
if (attribute && model) return model.constructor.humanAttributeName(attribute);
|
|
90
|
+
throw new Error("Couldn't figure out label");
|
|
91
|
+
}
|
|
92
|
+
value() {
|
|
93
|
+
const {
|
|
94
|
+
attribute,
|
|
95
|
+
checkIfAttributeLoaded,
|
|
96
|
+
children,
|
|
97
|
+
model
|
|
98
|
+
} = this.props;
|
|
99
|
+
if (children) return children;
|
|
100
|
+
if (attribute && !(attribute in model)) throw new Error(`Attribute not found: ${digg(model.modelClassData(), "name")}#${attribute}`);
|
|
101
|
+
if (attribute && checkIfAttributeLoaded && !model.isAttributeLoaded(attribute)) return null;
|
|
102
|
+
if (attribute && model) {
|
|
103
|
+
const value = model[attribute]();
|
|
104
|
+
return this.valueContent(value);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
valueContent(value) {
|
|
108
|
+
const {
|
|
109
|
+
l,
|
|
110
|
+
t
|
|
111
|
+
} = this.tt;
|
|
112
|
+
const columnType = this.attribute?.getColumn()?.getType();
|
|
113
|
+
if (columnType == "date") {
|
|
114
|
+
return /*#__PURE__*/React.createElement(Text, null, l("date.formats.default", value));
|
|
115
|
+
} else if (value instanceof Date) {
|
|
116
|
+
return /*#__PURE__*/React.createElement(Text, null, strftime("%Y-%m-%d %H:%M", value));
|
|
117
|
+
} else if (typeof value === "boolean") {
|
|
118
|
+
if (value) {
|
|
119
|
+
return /*#__PURE__*/React.createElement(Text, null, t("js.shared.yes", {
|
|
120
|
+
defaultValue: "Yes"
|
|
121
|
+
}));
|
|
122
|
+
}
|
|
123
|
+
return /*#__PURE__*/React.createElement(Text, null, t("js.shared.no", {
|
|
124
|
+
defaultValue: "No"
|
|
125
|
+
}));
|
|
126
|
+
} else if (MoneyFormatter.isMoney(value)) {
|
|
127
|
+
return /*#__PURE__*/React.createElement(Text, null, MoneyFormatter.format(value));
|
|
128
|
+
} else if (typeof value == "string") {
|
|
129
|
+
return /*#__PURE__*/React.createElement(Text, null, value);
|
|
130
|
+
} else {
|
|
131
|
+
return value;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}));
|
|
135
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZU1lbW8iLCJjbGFzc05hbWVzIiwiZGlnZyIsImluZmxlY3Rpb24iLCJtZW1vIiwiTW9uZXlGb3JtYXR0ZXIiLCJQcm9wVHlwZXMiLCJzaGFwZUNvbXBvbmVudCIsIlNoYXBlQ29tcG9uZW50Iiwic3RyZnRpbWUiLCJUZXh0IiwidXNlSTE4biIsIlZpZXciLCJBcGlNYWtlckJvb3RzdHJhcEF0dHJpYnV0ZVJvdyIsImRlZmF1bHRQcm9wcyIsImNoZWNrSWZBdHRyaWJ1dGVMb2FkZWQiLCJwcm9wVHlwZXMiLCJhdHRyaWJ1dGUiLCJzdHJpbmciLCJib29sIiwiaXNSZXF1aXJlZCIsImNoaWxkcmVuIiwibm9kZSIsImlkZW50aWZpZXIiLCJsYWJlbCIsIm9uZU9mVHlwZSIsIm1vZGVsIiwib2JqZWN0IiwidmFsdWUiLCJzZXR1cCIsImwiLCJ0IiwibmFtZXNwYWNlIiwicHJvcHMiLCJjb25zdHJ1Y3RvciIsImF0dHJpYnV0ZXMiLCJmaW5kIiwibmFtZSIsInVuZGVyc2NvcmUiLCJyZW5kZXIiLCJjbGFzc05hbWUiLCJzdHlsZSIsInJlc3RQcm9wcyIsImFjdHVhbFN0eWxlIiwiT2JqZWN0IiwiYXNzaWduIiwicGFkZGluZ1ZlcnRpY2FsIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzIiwiZGF0YVNldCIsImNsYXNzIiwiY29tcG9uZW50IiwiZm9udFdlaWdodCIsIm1hcmdpblRvcCIsImh1bWFuQXR0cmlidXRlTmFtZSIsIkVycm9yIiwibW9kZWxDbGFzc0RhdGEiLCJpc0F0dHJpYnV0ZUxvYWRlZCIsInZhbHVlQ29udGVudCIsInR0IiwiY29sdW1uVHlwZSIsImdldENvbHVtbiIsImdldFR5cGUiLCJEYXRlIiwiZGVmYXVsdFZhbHVlIiwiaXNNb25leSIsImZvcm1hdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ib290c3RyYXAvYXR0cmlidXRlLXJvdy5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gXCJjbGFzc25hbWVzXCJcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvbWVtb1wiXG5pbXBvcnQgTW9uZXlGb3JtYXR0ZXIgZnJvbSBcIi4uL21vbmV5LWZvcm1hdHRlclwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnQsIFNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL3NoYXBlLWNvbXBvbmVudFwiXG5pbXBvcnQgc3RyZnRpbWUgZnJvbSBcInN0cmZ0aW1lXCJcbmltcG9ydCBUZXh0IGZyb20gXCIuLi91dGlscy90ZXh0XCJcbmltcG9ydCB1c2VJMThuIGZyb20gXCJpMThuLW9uLXN0ZXJvaWRzL3NyYy91c2UtaTE4blwiXG5pbXBvcnQge1ZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyQm9vdHN0cmFwQXR0cmlidXRlUm93IGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGNoZWNrSWZBdHRyaWJ1dGVMb2FkZWQ6IGZhbHNlXG4gIH1cblxuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGF0dHJpYnV0ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjaGVja0lmQXR0cmlidXRlTG9hZGVkOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcbiAgICBpZGVudGlmaWVyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGxhYmVsOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMubm9kZSwgUHJvcFR5cGVzLnN0cmluZ10pLFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIHZhbHVlOiBQcm9wVHlwZXMubm9kZVxuICB9XG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge2wsIHR9ID0gdXNlSTE4bih7bmFtZXNwYWNlOiBcImpzLmFwaV9tYWtlci5hdHRyaWJ1dGVfcm93XCJ9KVxuXG4gICAgdGhpcy5sID0gbFxuICAgIHRoaXMudCA9IHRcbiAgICB0aGlzLmF0dHJpYnV0ZSA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnByb3BzLmF0dHJpYnV0ZSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLnByb3BzLm1vZGVsPy5jb25zdHJ1Y3Rvcj8uYXR0cmlidXRlcygpPy5maW5kKChhdHRyaWJ1dGUpID0+IGF0dHJpYnV0ZS5uYW1lKCkgPT0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKHRoaXMucHJvcHMuYXR0cmlidXRlKSlcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFt0aGlzLnByb3BzLmF0dHJpYnV0ZSwgdGhpcy5wcm9wcy5tb2RlbF1cbiAgICApXG4gIH1cblxuICByZW5kZXIgKCkge1xuICAgIGNvbnN0IHthdHRyaWJ1dGUsIGNoZWNrSWZBdHRyaWJ1dGVMb2FkZWQsIGNoaWxkcmVuLCBjbGFzc05hbWUsIGlkZW50aWZpZXIsIGxhYmVsLCBtb2RlbCwgc3R5bGUsIHZhbHVlLCAuLi5yZXN0UHJvcHN9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IGFjdHVhbFN0eWxlID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHtcbiAgICAgICAgcGFkZGluZ1ZlcnRpY2FsOiA4XG4gICAgICB9LFxuICAgICAgc3R5bGVcbiAgICApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXdcbiAgICAgICAgZGF0YVNldD17e1xuICAgICAgICAgIGF0dHJpYnV0ZSxcbiAgICAgICAgICBjbGFzczogY2xhc3NOYW1lLFxuICAgICAgICAgIGNvbXBvbmVudDogXCJhcGktbWFrZXIvYXR0cmlidXRlLXJvd1wiLFxuICAgICAgICAgIGlkZW50aWZpZXJcbiAgICAgICAgfX1cbiAgICAgICAgc3R5bGU9e2FjdHVhbFN0eWxlfVxuICAgICAgICB7Li4ucmVzdFByb3BzfVxuICAgICAgPlxuICAgICAgICA8VGV4dCBkYXRhU2V0PXt7Y2xhc3M6IFwiYXR0cmlidXRlLXJvdy1sYWJlbFwifX0gc3R5bGU9e3tmb250V2VpZ2h0OiBcImJvbGRcIn19PlxuICAgICAgICAgIHt0aGlzLmxhYmVsKCl9XG4gICAgICAgIDwvVGV4dD5cbiAgICAgICAgPFZpZXcgZGF0YVNldD17e2NsYXNzOiBcImF0dHJpYnV0ZS1yb3ctdmFsdWVcIn19IHN0eWxlPXt7bWFyZ2luVG9wOiAzfX0+XG4gICAgICAgICAge3RoaXMudmFsdWUoKX1cbiAgICAgICAgPC9WaWV3PlxuICAgICAgPC9WaWV3PlxuICAgIClcbiAgfVxuXG4gIGxhYmVsKCkge1xuICAgIGNvbnN0IHthdHRyaWJ1dGUsIGxhYmVsLCBtb2RlbH0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAoXCJsYWJlbFwiIGluIHRoaXMucHJvcHMpIHJldHVybiBsYWJlbFxuICAgIGlmIChhdHRyaWJ1dGUgJiYgbW9kZWwpIHJldHVybiBtb2RlbC5jb25zdHJ1Y3Rvci5odW1hbkF0dHJpYnV0ZU5hbWUoYXR0cmlidXRlKVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQ291bGRuJ3QgZmlndXJlIG91dCBsYWJlbFwiKVxuICB9XG5cbiAgdmFsdWUoKSB7XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgY2hlY2tJZkF0dHJpYnV0ZUxvYWRlZCwgY2hpbGRyZW4sIG1vZGVsfSA9IHRoaXMucHJvcHNcblxuICAgIGlmIChjaGlsZHJlbikgcmV0dXJuIGNoaWxkcmVuXG5cbiAgICBpZiAoYXR0cmlidXRlICYmICEoYXR0cmlidXRlIGluIG1vZGVsKSlcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQXR0cmlidXRlIG5vdCBmb3VuZDogJHtkaWdnKG1vZGVsLm1vZGVsQ2xhc3NEYXRhKCksIFwibmFtZVwiKX0jJHthdHRyaWJ1dGV9YClcblxuICAgIGlmIChhdHRyaWJ1dGUgJiYgY2hlY2tJZkF0dHJpYnV0ZUxvYWRlZCAmJiAhbW9kZWwuaXNBdHRyaWJ1dGVMb2FkZWQoYXR0cmlidXRlKSlcbiAgICAgIHJldHVybiBudWxsXG5cbiAgICBpZiAoYXR0cmlidXRlICYmIG1vZGVsKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IG1vZGVsW2F0dHJpYnV0ZV0oKVxuXG4gICAgICByZXR1cm4gdGhpcy52YWx1ZUNvbnRlbnQodmFsdWUpXG4gICAgfVxuICB9XG5cbiAgdmFsdWVDb250ZW50KHZhbHVlKSB7XG4gICAgY29uc3Qge2wsIHR9ID0gdGhpcy50dFxuICAgIGNvbnN0IGNvbHVtblR5cGUgPSB0aGlzLmF0dHJpYnV0ZT8uZ2V0Q29sdW1uKCk/LmdldFR5cGUoKVxuXG4gICAgaWYgKGNvbHVtblR5cGUgPT0gXCJkYXRlXCIpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxUZXh0PntsKFwiZGF0ZS5mb3JtYXRzLmRlZmF1bHRcIiwgdmFsdWUpfTwvVGV4dD5cbiAgICAgIClcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFRleHQ+e3N0cmZ0aW1lKFwiJVktJW0tJWQgJUg6JU1cIiwgdmFsdWUpfTwvVGV4dD5cbiAgICAgIClcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxUZXh0Pnt0KFwianMuc2hhcmVkLnllc1wiLCB7ZGVmYXVsdFZhbHVlOiBcIlllc1wifSl9PC9UZXh0PlxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxUZXh0Pnt0KFwianMuc2hhcmVkLm5vXCIsIHtkZWZhdWx0VmFsdWU6IFwiTm9cIn0pfTwvVGV4dD5cbiAgICAgIClcbiAgICB9IGVsc2UgaWYgKE1vbmV5Rm9ybWF0dGVyLmlzTW9uZXkodmFsdWUpKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8VGV4dD57TW9uZXlGb3JtYXR0ZXIuZm9ybWF0KHZhbHVlKX08L1RleHQ+XG4gICAgICApXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT0gXCJzdHJpbmdcIikge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFRleHQ+e3ZhbHVlfTwvVGV4dD5cbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHZhbHVlXG4gICAgfVxuICB9XG59KSlcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLEtBQUssSUFBR0MsT0FBTyxRQUFPLE9BQU87QUFDcEMsT0FBT0MsVUFBVSxNQUFNLFlBQVk7QUFDbkMsU0FBUUMsSUFBSSxRQUFPLFdBQVc7QUFDOUIsT0FBTyxLQUFLQyxVQUFVLE1BQU0sWUFBWTtBQUN4QyxPQUFPQyxJQUFJLE1BQU0sNEJBQTRCO0FBQzdDLE9BQU9DLGNBQWMsTUFBTSxvQkFBb0I7QUFDL0MsT0FBT0MsU0FBUyxNQUFNLFlBQVk7QUFDbEMsU0FBUUMsY0FBYyxFQUFFQyxjQUFjLFFBQU8sdUNBQXVDO0FBQ3BGLE9BQU9DLFFBQVEsTUFBTSxVQUFVO0FBQy9CLE9BQU9DLElBQUksTUFBTSxlQUFlO0FBQ2hDLE9BQU9DLE9BQU8sTUFBTSwrQkFBK0I7QUFDbkQsU0FBUUMsSUFBSSxRQUFPLGNBQWM7QUFFakMsZUFBZVIsSUFBSSxDQUFDRyxjQUFjLENBQUMsTUFBTU0sNkJBQTZCLFNBQVNMLGNBQWMsQ0FBQztFQUM1RixPQUFPTSxZQUFZLEdBQUc7SUFDcEJDLHNCQUFzQixFQUFFO0VBQzFCLENBQUM7RUFFRCxPQUFPQyxTQUFTLEdBQUc7SUFDakJDLFNBQVMsRUFBRVgsU0FBUyxDQUFDWSxNQUFNO0lBQzNCSCxzQkFBc0IsRUFBRVQsU0FBUyxDQUFDYSxJQUFJLENBQUNDLFVBQVU7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
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import AttributeRow from "./attribute-row";
|
|
2
|
+
import BaseComponent from "../base-component";
|
|
3
|
+
import memo from "set-state-compare/src/memo";
|
|
4
|
+
import PropTypes from "prop-types";
|
|
5
|
+
import propTypesExact from "prop-types-exact";
|
|
6
|
+
import React from "react";
|
|
7
|
+
import { shapeComponent } from "set-state-compare/src/shape-component";
|
|
8
|
+
export default memo(shapeComponent(class ApiMakerBootstrapAttributeRows extends BaseComponent {
|
|
9
|
+
static defaultProps = {
|
|
10
|
+
checkIfAttributeLoaded: false
|
|
11
|
+
};
|
|
12
|
+
static propTypes = propTypesExact({
|
|
13
|
+
attributes: PropTypes.array.isRequired,
|
|
14
|
+
checkIfAttributeLoaded: PropTypes.bool.isRequired,
|
|
15
|
+
model: PropTypes.object.isRequired
|
|
16
|
+
});
|
|
17
|
+
render() {
|
|
18
|
+
const {
|
|
19
|
+
attributes,
|
|
20
|
+
checkIfAttributeLoaded,
|
|
21
|
+
model
|
|
22
|
+
} = this.p;
|
|
23
|
+
return attributes.map(attribute => /*#__PURE__*/React.createElement(AttributeRow, {
|
|
24
|
+
attribute: attribute,
|
|
25
|
+
checkIfAttributeLoaded: checkIfAttributeLoaded,
|
|
26
|
+
key: `attribute-${attribute}`,
|
|
27
|
+
model: model
|
|
28
|
+
}));
|
|
29
|
+
}
|
|
30
|
+
}));
|
|
31
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBdHRyaWJ1dGVSb3ciLCJCYXNlQ29tcG9uZW50IiwibWVtbyIsIlByb3BUeXBlcyIsInByb3BUeXBlc0V4YWN0IiwiUmVhY3QiLCJzaGFwZUNvbXBvbmVudCIsIkFwaU1ha2VyQm9vdHN0cmFwQXR0cmlidXRlUm93cyIsImRlZmF1bHRQcm9wcyIsImNoZWNrSWZBdHRyaWJ1dGVMb2FkZWQiLCJwcm9wVHlwZXMiLCJhdHRyaWJ1dGVzIiwiYXJyYXkiLCJpc1JlcXVpcmVkIiwiYm9vbCIsIm1vZGVsIiwib2JqZWN0IiwicmVuZGVyIiwicCIsIm1hcCIsImF0dHJpYnV0ZSIsImNyZWF0ZUVsZW1lbnQiLCJrZXkiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvYm9vdHN0cmFwL2F0dHJpYnV0ZS1yb3dzLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQXR0cmlidXRlUm93IGZyb20gXCIuL2F0dHJpYnV0ZS1yb3dcIlxuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvbWVtb1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvc2hhcGUtY29tcG9uZW50XCJcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlckJvb3RzdHJhcEF0dHJpYnV0ZVJvd3MgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBjaGVja0lmQXR0cmlidXRlTG9hZGVkOiBmYWxzZVxuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBhdHRyaWJ1dGVzOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgICBjaGVja0lmQXR0cmlidXRlTG9hZGVkOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWRcbiAgfSlcblxuICByZW5kZXIgKCkge1xuICAgIGNvbnN0IHthdHRyaWJ1dGVzLCBjaGVja0lmQXR0cmlidXRlTG9hZGVkLCBtb2RlbH0gPSB0aGlzLnBcblxuICAgIHJldHVybiBhdHRyaWJ1dGVzLm1hcCgoYXR0cmlidXRlKSA9PlxuICAgICAgPEF0dHJpYnV0ZVJvdyBhdHRyaWJ1dGU9e2F0dHJpYnV0ZX0gY2hlY2tJZkF0dHJpYnV0ZUxvYWRlZD17Y2hlY2tJZkF0dHJpYnV0ZUxvYWRlZH0ga2V5PXtgYXR0cmlidXRlLSR7YXR0cmlidXRlfWB9IG1vZGVsPXttb2RlbH0gLz5cbiAgICApXG4gIH1cbn0pKVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxZQUFZLE1BQU0saUJBQWlCO0FBQzFDLE9BQU9DLGFBQWEsTUFBTSxtQkFBbUI7QUFDN0MsT0FBT0MsSUFBSSxNQUFNLDRCQUE0QjtBQUM3QyxPQUFPQyxTQUFTLE1BQU0sWUFBWTtBQUNsQyxPQUFPQyxjQUFjLE1BQU0sa0JBQWtCO0FBQzdDLE9BQU9DLEtBQUssTUFBTSxPQUFPO0FBQ3pCLFNBQVFDLGNBQWMsUUFBTyx1Q0FBdUM7QUFFcEUsZUFBZUosSUFBSSxDQUFDSSxjQUFjLENBQUMsTUFBTUMsOEJBQThCLFNBQVNOLGFBQWEsQ0FBQztFQUM1RixPQUFPTyxZQUFZLEdBQUc7SUFDcEJDLHNCQUFzQixFQUFFO0VBQzFCLENBQUM7RUFFRCxPQUFPQyxTQUFTLEdBQUdOLGNBQWMsQ0FBQztJQUNoQ08sVUFBVSxFQUFFUixTQUFTLENBQUNTLEtBQUssQ0FBQ0MsVUFBVTtJQUN0Q0osc0JBQXNCLEVBQUVOLFNBQVMsQ0FBQ1csSUFBSSxDQUFDRCxVQUFVO0lBQ2pERSxLQUFLLEVBQUVaLFNBQVMsQ0FBQ2EsTUFBTSxDQUFDSDtFQUMxQixDQUFDLENBQUM7RUFFRkksTUFBTUEsQ0FBQSxFQUFJO0lBQ1IsTUFBTTtNQUFDTixVQUFVO01BQUVGLHNCQUFzQjtNQUFFTTtJQUFLLENBQUMsR0FBRyxJQUFJLENBQUNHLENBQUM7SUFFMUQsT0FBT1AsVUFBVSxDQUFDUSxHQUFHLENBQUVDLFNBQVMsaUJBQzlCZixLQUFBLENBQUFnQixhQUFBLENBQUNyQixZQUFZO01BQUNvQixTQUFTLEVBQUVBLFNBQVU7TUFBQ1gsc0JBQXNCLEVBQUVBLHNCQUF1QjtNQUFDYSxHQUFHLEVBQUUsYUFBYUYsU0FBUyxFQUFHO01BQUNMLEtBQUssRUFBRUE7SUFBTSxDQUFFLENBQ3BJLENBQUM7RUFDSDtBQUNGLENBQUMsQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -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 BaseComponent from "../base-component";
|
|
3
|
+
import classNames from "classnames";
|
|
4
|
+
import { digg, digs } from "diggerize";
|
|
5
|
+
import memo from "set-state-compare/src/memo";
|
|
6
|
+
import PropTypes from "prop-types";
|
|
7
|
+
import React, { useRef } from "react";
|
|
8
|
+
import { shapeComponent } from "set-state-compare/src/shape-component";
|
|
9
|
+
export default memo(shapeComponent(class ApiMakerBootstrapCard extends BaseComponent {
|
|
10
|
+
static defaultProps = {
|
|
11
|
+
defaultExpanded: true,
|
|
12
|
+
expandable: false,
|
|
13
|
+
expandableHide: false,
|
|
14
|
+
responsiveTable: true,
|
|
15
|
+
table: false
|
|
16
|
+
};
|
|
17
|
+
static propTypes = {
|
|
18
|
+
cardRef: PropTypes.object,
|
|
19
|
+
className: PropTypes.string,
|
|
20
|
+
children: PropTypes.node,
|
|
21
|
+
controls: PropTypes.node,
|
|
22
|
+
defaultExpanded: PropTypes.bool.isRequired,
|
|
23
|
+
expandable: PropTypes.bool.isRequired,
|
|
24
|
+
expandableHide: PropTypes.bool.isRequired,
|
|
25
|
+
footer: PropTypes.node,
|
|
26
|
+
header: PropTypes.node,
|
|
27
|
+
striped: PropTypes.bool,
|
|
28
|
+
responsiveTable: PropTypes.bool.isRequired,
|
|
29
|
+
table: PropTypes.bool.isRequired
|
|
30
|
+
};
|
|
31
|
+
setup() {
|
|
32
|
+
this.cardRef = useRef();
|
|
33
|
+
this.useStates({
|
|
34
|
+
expanded: this.props.defaultExpanded
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
render() {
|
|
38
|
+
const {
|
|
39
|
+
cardRef,
|
|
40
|
+
children,
|
|
41
|
+
className,
|
|
42
|
+
controls,
|
|
43
|
+
defaultExpanded,
|
|
44
|
+
expandable,
|
|
45
|
+
expandableHide,
|
|
46
|
+
footer,
|
|
47
|
+
header,
|
|
48
|
+
responsiveTable,
|
|
49
|
+
striped,
|
|
50
|
+
table,
|
|
51
|
+
...restProps
|
|
52
|
+
} = this.props;
|
|
53
|
+
const {
|
|
54
|
+
expanded
|
|
55
|
+
} = digs(this.state, "expanded");
|
|
56
|
+
const cardHeaderStyle = {
|
|
57
|
+
display: "flex"
|
|
58
|
+
};
|
|
59
|
+
const cardRefToUse = cardRef || this.cardRef;
|
|
60
|
+
if (!expanded) cardHeaderStyle["borderBottom"] = "0";
|
|
61
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
62
|
+
className: classNames("component-bootstrap-card", "card", "card-default", className),
|
|
63
|
+
"data-has-footer": Boolean(footer),
|
|
64
|
+
ref: cardRefToUse
|
|
65
|
+
}, restProps), (controls || expandable || header) && /*#__PURE__*/React.createElement("div", {
|
|
66
|
+
className: "card-header",
|
|
67
|
+
style: cardHeaderStyle
|
|
68
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
69
|
+
className: "card-header-label",
|
|
70
|
+
style: {
|
|
71
|
+
alignSelf: "center",
|
|
72
|
+
marginRight: "auto"
|
|
73
|
+
}
|
|
74
|
+
}, header), (controls || expandable) && /*#__PURE__*/React.createElement("div", {
|
|
75
|
+
className: "card-header-actions",
|
|
76
|
+
style: {
|
|
77
|
+
alignSelf: "center"
|
|
78
|
+
}
|
|
79
|
+
}, controls, expandable && expanded && /*#__PURE__*/React.createElement("a", {
|
|
80
|
+
className: "collapse-card-button text-muted",
|
|
81
|
+
href: "#",
|
|
82
|
+
onClick: digg(this, "onCollapseClicked")
|
|
83
|
+
}, /*#__PURE__*/React.createElement("i", {
|
|
84
|
+
className: "fa fa-angle-up"
|
|
85
|
+
})), expandable && !expanded && /*#__PURE__*/React.createElement("a", {
|
|
86
|
+
className: "expand-card-button text-muted",
|
|
87
|
+
href: "#",
|
|
88
|
+
onClick: digg(this, "onExpandClicked")
|
|
89
|
+
}, /*#__PURE__*/React.createElement("i", {
|
|
90
|
+
className: "fa fa-angle-down"
|
|
91
|
+
})))), (expanded || expandableHide) && /*#__PURE__*/React.createElement("div", {
|
|
92
|
+
className: this.bodyClassNames()
|
|
93
|
+
}, table && /*#__PURE__*/React.createElement("table", {
|
|
94
|
+
className: this.tableClassNames()
|
|
95
|
+
}, children), !table && children), footer && /*#__PURE__*/React.createElement("div", {
|
|
96
|
+
className: "card-footer"
|
|
97
|
+
}, footer));
|
|
98
|
+
}
|
|
99
|
+
bodyClassNames() {
|
|
100
|
+
const {
|
|
101
|
+
expandableHide,
|
|
102
|
+
responsiveTable,
|
|
103
|
+
table
|
|
104
|
+
} = digs(this.props, "expandableHide", "responsiveTable", "table");
|
|
105
|
+
const {
|
|
106
|
+
expanded
|
|
107
|
+
} = digs(this.state, "expanded");
|
|
108
|
+
const classNames = ["card-body"];
|
|
109
|
+
if (!expanded && expandableHide) {
|
|
110
|
+
classNames.push("d-none");
|
|
111
|
+
}
|
|
112
|
+
if (table) {
|
|
113
|
+
if (responsiveTable) {
|
|
114
|
+
classNames.push("table-responsive");
|
|
115
|
+
}
|
|
116
|
+
classNames.push("p-0");
|
|
117
|
+
}
|
|
118
|
+
return classNames.join(" ");
|
|
119
|
+
}
|
|
120
|
+
onCollapseClicked = e => {
|
|
121
|
+
e.preventDefault();
|
|
122
|
+
this.setState({
|
|
123
|
+
expanded: false
|
|
124
|
+
});
|
|
125
|
+
};
|
|
126
|
+
onExpandClicked = e => {
|
|
127
|
+
e.preventDefault();
|
|
128
|
+
this.setState({
|
|
129
|
+
expanded: true
|
|
130
|
+
});
|
|
131
|
+
};
|
|
132
|
+
tableClassNames() {
|
|
133
|
+
const classNames = ["table", "table-hover", "mb-0", "w-100"];
|
|
134
|
+
if (this.props.striped) classNames.push("table-striped");
|
|
135
|
+
return classNames.join(" ");
|
|
136
|
+
}
|
|
137
|
+
}));
|
|
138
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ29tcG9uZW50IiwiY2xhc3NOYW1lcyIsImRpZ2ciLCJkaWdzIiwibWVtbyIsIlByb3BUeXBlcyIsIlJlYWN0IiwidXNlUmVmIiwic2hhcGVDb21wb25lbnQiLCJBcGlNYWtlckJvb3RzdHJhcENhcmQiLCJkZWZhdWx0UHJvcHMiLCJkZWZhdWx0RXhwYW5kZWQiLCJleHBhbmRhYmxlIiwiZXhwYW5kYWJsZUhpZGUiLCJyZXNwb25zaXZlVGFibGUiLCJ0YWJsZSIsInByb3BUeXBlcyIsImNhcmRSZWYiLCJvYmplY3QiLCJjbGFzc05hbWUiLCJzdHJpbmciLCJjaGlsZHJlbiIsIm5vZGUiLCJjb250cm9scyIsImJvb2wiLCJpc1JlcXVpcmVkIiwiZm9vdGVyIiwiaGVhZGVyIiwic3RyaXBlZCIsInNldHVwIiwidXNlU3RhdGVzIiwiZXhwYW5kZWQiLCJwcm9wcyIsInJlbmRlciIsInJlc3RQcm9wcyIsInN0YXRlIiwiY2FyZEhlYWRlclN0eWxlIiwiZGlzcGxheSIsImNhcmRSZWZUb1VzZSIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kcyIsIkJvb2xlYW4iLCJyZWYiLCJzdHlsZSIsImFsaWduU2VsZiIsIm1hcmdpblJpZ2h0IiwiaHJlZiIsIm9uQ2xpY2siLCJib2R5Q2xhc3NOYW1lcyIsInRhYmxlQ2xhc3NOYW1lcyIsInB1c2giLCJqb2luIiwib25Db2xsYXBzZUNsaWNrZWQiLCJlIiwicHJldmVudERlZmF1bHQiLCJzZXRTdGF0ZSIsIm9uRXhwYW5kQ2xpY2tlZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ib290c3RyYXAvY2FyZC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gXCJjbGFzc25hbWVzXCJcbmltcG9ydCB7ZGlnZywgZGlnc30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL21lbW9cIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgUmVhY3QsIHt1c2VSZWZ9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL3NoYXBlLWNvbXBvbmVudFwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJCb290c3RyYXBDYXJkIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgZGVmYXVsdEV4cGFuZGVkOiB0cnVlLFxuICAgIGV4cGFuZGFibGU6IGZhbHNlLFxuICAgIGV4cGFuZGFibGVIaWRlOiBmYWxzZSxcbiAgICByZXNwb25zaXZlVGFibGU6IHRydWUsXG4gICAgdGFibGU6IGZhbHNlXG4gIH1cblxuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGNhcmRSZWY6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcbiAgICBjb250cm9sczogUHJvcFR5cGVzLm5vZGUsXG4gICAgZGVmYXVsdEV4cGFuZGVkOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIGV4cGFuZGFibGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgZXhwYW5kYWJsZUhpZGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgZm9vdGVyOiBQcm9wVHlwZXMubm9kZSxcbiAgICBoZWFkZXI6IFByb3BUeXBlcy5ub2RlLFxuICAgIHN0cmlwZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHJlc3BvbnNpdmVUYWJsZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICB0YWJsZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZFxuICB9XG5cbiAgc2V0dXAoKSB7XG4gICAgdGhpcy5jYXJkUmVmID0gdXNlUmVmKClcblxuICAgIHRoaXMudXNlU3RhdGVzKHtcbiAgICAgIGV4cGFuZGVkOiB0aGlzLnByb3BzLmRlZmF1bHRFeHBhbmRlZFxuICAgIH0pXG4gIH1cblxuICByZW5kZXIgKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGNhcmRSZWYsXG4gICAgICBjaGlsZHJlbixcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIGNvbnRyb2xzLFxuICAgICAgZGVmYXVsdEV4cGFuZGVkLFxuICAgICAgZXhwYW5kYWJsZSxcbiAgICAgIGV4cGFuZGFibGVIaWRlLFxuICAgICAgZm9vdGVyLFxuICAgICAgaGVhZGVyLFxuICAgICAgcmVzcG9uc2l2ZVRhYmxlLFxuICAgICAgc3RyaXBlZCxcbiAgICAgIHRhYmxlLFxuICAgICAgLi4ucmVzdFByb3BzXG4gICAgfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7ZXhwYW5kZWR9ID0gZGlncyh0aGlzLnN0YXRlLCBcImV4cGFuZGVkXCIpXG4gICAgY29uc3QgY2FyZEhlYWRlclN0eWxlID0ge2Rpc3BsYXk6IFwiZmxleFwifVxuICAgIGNvbnN0IGNhcmRSZWZUb1VzZSA9IGNhcmRSZWYgfHwgdGhpcy5jYXJkUmVmXG5cbiAgICBpZiAoIWV4cGFuZGVkKSBjYXJkSGVhZGVyU3R5bGVbXCJib3JkZXJCb3R0b21cIl0gPSBcIjBcIlxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFwiY29tcG9uZW50LWJvb3RzdHJhcC1jYXJkXCIsIFwiY2FyZFwiLCBcImNhcmQtZGVmYXVsdFwiLCBjbGFzc05hbWUpfVxuICAgICAgICBkYXRhLWhhcy1mb290ZXI9e0Jvb2xlYW4oZm9vdGVyKX1cbiAgICAgICAgcmVmPXtjYXJkUmVmVG9Vc2V9XG4gICAgICAgIHsuLi5yZXN0UHJvcHN9XG4gICAgICA+XG4gICAgICAgIHsoY29udHJvbHMgfHwgZXhwYW5kYWJsZSB8fCBoZWFkZXIpICYmXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXJkLWhlYWRlclwiIHN0eWxlPXtjYXJkSGVhZGVyU3R5bGV9PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXJkLWhlYWRlci1sYWJlbFwiIHN0eWxlPXt7YWxpZ25TZWxmOiBcImNlbnRlclwiLCBtYXJnaW5SaWdodDogXCJhdXRvXCJ9fT5cbiAgICAgICAgICAgICAge2hlYWRlcn1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgeyhjb250cm9scyB8fCBleHBhbmRhYmxlKSAmJlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmQtaGVhZGVyLWFjdGlvbnNcIiBzdHlsZT17e2FsaWduU2VsZjogXCJjZW50ZXJcIn19PlxuICAgICAgICAgICAgICAgIHtjb250cm9sc31cbiAgICAgICAgICAgICAgICB7ZXhwYW5kYWJsZSAmJiBleHBhbmRlZCAmJlxuICAgICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwiY29sbGFwc2UtY2FyZC1idXR0b24gdGV4dC1tdXRlZFwiIGhyZWY9XCIjXCIgb25DbGljaz17ZGlnZyh0aGlzLCBcIm9uQ29sbGFwc2VDbGlja2VkXCIpfT5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3NOYW1lPVwiZmEgZmEtYW5nbGUtdXBcIiAvPlxuICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB7ZXhwYW5kYWJsZSAmJiAhZXhwYW5kZWQgJiZcbiAgICAgICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImV4cGFuZC1jYXJkLWJ1dHRvbiB0ZXh0LW11dGVkXCIgaHJlZj1cIiNcIiBvbkNsaWNrPXtkaWdnKHRoaXMsIFwib25FeHBhbmRDbGlja2VkXCIpfT5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3NOYW1lPVwiZmEgZmEtYW5nbGUtZG93blwiIC8+XG4gICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICB7KGV4cGFuZGVkIHx8IGV4cGFuZGFibGVIaWRlKSAmJlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXt0aGlzLmJvZHlDbGFzc05hbWVzKCl9PlxuICAgICAgICAgICAge3RhYmxlICYmXG4gICAgICAgICAgICAgIDx0YWJsZSBjbGFzc05hbWU9e3RoaXMudGFibGVDbGFzc05hbWVzKCl9PlxuICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHshdGFibGUgJiYgY2hpbGRyZW59XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAge2Zvb3RlciAmJlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FyZC1mb290ZXJcIj5cbiAgICAgICAgICAgIHtmb290ZXJ9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIClcbiAgfVxuXG4gIGJvZHlDbGFzc05hbWVzICgpIHtcbiAgICBjb25zdCB7ZXhwYW5kYWJsZUhpZGUsIHJlc3BvbnNpdmVUYWJsZSwgdGFibGV9ID0gZGlncyh0aGlzLnByb3BzLCBcImV4cGFuZGFibGVIaWRlXCIsIFwicmVzcG9uc2l2ZVRhYmxlXCIsIFwidGFibGVcIilcbiAgICBjb25zdCB7ZXhwYW5kZWR9ID0gZGlncyh0aGlzLnN0YXRlLCBcImV4cGFuZGVkXCIpXG4gICAgY29uc3QgY2xhc3NOYW1lcyA9IFtcImNhcmQtYm9keVwiXVxuXG4gICAgaWYgKCFleHBhbmRlZCAmJiBleHBhbmRhYmxlSGlkZSkge1xuICAgICAgY2xhc3NOYW1lcy5wdXNoKFwiZC1ub25lXCIpXG4gICAgfVxuXG4gICAgaWYgKHRhYmxlKSB7XG4gICAgICBpZiAocmVzcG9uc2l2ZVRhYmxlKXtcbiAgICAgICAgY2xhc3NOYW1lcy5wdXNoKFwidGFibGUtcmVzcG9uc2l2ZVwiKVxuICAgICAgfVxuXG4gICAgICBjbGFzc05hbWVzLnB1c2goXCJwLTBcIilcbiAgICB9XG5cbiAgICByZXR1cm4gY2xhc3NOYW1lcy5qb2luKFwiIFwiKVxuICB9XG5cbiAgb25Db2xsYXBzZUNsaWNrZWQgPSAoZSkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIHRoaXMuc2V0U3RhdGUoe2V4cGFuZGVkOiBmYWxzZX0pXG4gIH1cblxuICBvbkV4cGFuZENsaWNrZWQgPSAoZSkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIHRoaXMuc2V0U3RhdGUoe2V4cGFuZGVkOiB0cnVlfSlcbiAgfVxuXG4gIHRhYmxlQ2xhc3NOYW1lcyAoKSB7XG4gICAgY29uc3QgY2xhc3NOYW1lcyA9IFtcInRhYmxlXCIsIFwidGFibGUtaG92ZXJcIiwgXCJtYi0wXCIsIFwidy0xMDBcIl1cblxuICAgIGlmICh0aGlzLnByb3BzLnN0cmlwZWQpXG4gICAgICBjbGFzc05hbWVzLnB1c2goXCJ0YWJsZS1zdHJpcGVkXCIpXG5cbiAgICByZXR1cm4gY2xhc3NOYW1lcy5qb2luKFwiIFwiKVxuICB9XG59KSlcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLGFBQWEsTUFBTSxtQkFBbUI7QUFDN0MsT0FBT0MsVUFBVSxNQUFNLFlBQVk7QUFDbkMsU0FBUUMsSUFBSSxFQUFFQyxJQUFJLFFBQU8sV0FBVztBQUNwQyxPQUFPQyxJQUFJLE1BQU0sNEJBQTRCO0FBQzdDLE9BQU9DLFNBQVMsTUFBTSxZQUFZO0FBQ2xDLE9BQU9DLEtBQUssSUFBR0MsTUFBTSxRQUFPLE9BQU87QUFDbkMsU0FBUUMsY0FBYyxRQUFPLHVDQUF1QztBQUVwRSxlQUFlSixJQUFJLENBQUNJLGNBQWMsQ0FBQyxNQUFNQyxxQkFBcUIsU0FBU1QsYUFBYSxDQUFDO0VBQ25GLE9BQU9VLFlBQVksR0FBRztJQUNwQkMsZUFBZSxFQUFFLElBQUk7SUFD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
|
|
@@ -0,0 +1,97 @@
|
|
|
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 { shapeComponent, ShapeComponent } from "set-state-compare/src/shape-component";
|
|
3
|
+
import Checkbox from "../inputs/checkbox";
|
|
4
|
+
import classNames from "classnames";
|
|
5
|
+
import { digs } from "diggerize";
|
|
6
|
+
import InvalidFeedback from "./invalid-feedback";
|
|
7
|
+
import memo from "set-state-compare/src/memo";
|
|
8
|
+
import PropTypes from "prop-types";
|
|
9
|
+
import React from "react";
|
|
10
|
+
import useInput from "../use-input";
|
|
11
|
+
export default memo(shapeComponent(class ApiMakerBootstrapCheckbox extends ShapeComponent {
|
|
12
|
+
static defaultProps = {
|
|
13
|
+
defaultValue: 1,
|
|
14
|
+
zeroInput: true
|
|
15
|
+
};
|
|
16
|
+
static propTypes = {
|
|
17
|
+
attribute: PropTypes.string,
|
|
18
|
+
className: PropTypes.string,
|
|
19
|
+
defaultChecked: PropTypes.bool,
|
|
20
|
+
defaultValue: PropTypes.node,
|
|
21
|
+
hint: PropTypes.node,
|
|
22
|
+
id: PropTypes.string,
|
|
23
|
+
label: PropTypes.node,
|
|
24
|
+
labelClassName: PropTypes.string,
|
|
25
|
+
model: PropTypes.object,
|
|
26
|
+
name: PropTypes.string,
|
|
27
|
+
onChange: PropTypes.func,
|
|
28
|
+
wrapperClassName: PropTypes.string,
|
|
29
|
+
zeroInput: PropTypes.bool
|
|
30
|
+
};
|
|
31
|
+
setup() {
|
|
32
|
+
const {
|
|
33
|
+
inputProps,
|
|
34
|
+
restProps: useInputRestProps,
|
|
35
|
+
wrapperOpts
|
|
36
|
+
} = useInput({
|
|
37
|
+
props: this.props,
|
|
38
|
+
wrapperOptions: {
|
|
39
|
+
type: "checkbox"
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
this.setInstance({
|
|
43
|
+
inputProps,
|
|
44
|
+
useInputRestProps,
|
|
45
|
+
wrapperOpts
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
render() {
|
|
49
|
+
const {
|
|
50
|
+
inputProps,
|
|
51
|
+
useInputRestProps,
|
|
52
|
+
wrapperOpts
|
|
53
|
+
} = this.tt;
|
|
54
|
+
const {
|
|
55
|
+
className,
|
|
56
|
+
hint,
|
|
57
|
+
id,
|
|
58
|
+
inputRef,
|
|
59
|
+
label,
|
|
60
|
+
labelClassName,
|
|
61
|
+
wrapperClassName,
|
|
62
|
+
...restProps
|
|
63
|
+
} = useInputRestProps;
|
|
64
|
+
const {
|
|
65
|
+
errors
|
|
66
|
+
} = digs(wrapperOpts, "errors");
|
|
67
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
68
|
+
className: this.wrapperClassName()
|
|
69
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
70
|
+
className: "form-check"
|
|
71
|
+
}, /*#__PURE__*/React.createElement(Checkbox, _extends({
|
|
72
|
+
className: classNames("form-check-input", className, {
|
|
73
|
+
"is-invalid": errors.length > 0
|
|
74
|
+
}),
|
|
75
|
+
id: id,
|
|
76
|
+
inputRef: inputRef
|
|
77
|
+
}, restProps)), wrapperOpts.label && /*#__PURE__*/React.createElement("label", {
|
|
78
|
+
className: this.labelClassName(),
|
|
79
|
+
htmlFor: inputProps.id
|
|
80
|
+
}, wrapperOpts.label), hint && /*#__PURE__*/React.createElement("p", {
|
|
81
|
+
className: "text-muted"
|
|
82
|
+
}, hint), errors.length > 0 && /*#__PURE__*/React.createElement(InvalidFeedback, {
|
|
83
|
+
errors: errors
|
|
84
|
+
})));
|
|
85
|
+
}
|
|
86
|
+
labelClassName() {
|
|
87
|
+
const classNames = ["form-check-label"];
|
|
88
|
+
if (this.props.labelClassName) classNames.push(this.props.labelClassName);
|
|
89
|
+
return classNames.join(" ");
|
|
90
|
+
}
|
|
91
|
+
wrapperClassName() {
|
|
92
|
+
const classNames = ["component-bootstrap-checkbox", "form-group"];
|
|
93
|
+
if (this.props.wrapperClassName) classNames.push(this.props.wrapperClassName);
|
|
94
|
+
return classNames.join(" ");
|
|
95
|
+
}
|
|
96
|
+
}));
|
|
97
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzaGFwZUNvbXBvbmVudCIsIlNoYXBlQ29tcG9uZW50IiwiQ2hlY2tib3giLCJjbGFzc05hbWVzIiwiZGlncyIsIkludmFsaWRGZWVkYmFjayIsIm1lbW8iLCJQcm9wVHlwZXMiLCJSZWFjdCIsInVzZUlucHV0IiwiQXBpTWFrZXJCb290c3RyYXBDaGVja2JveCIsImRlZmF1bHRQcm9wcyIsImRlZmF1bHRWYWx1ZSIsInplcm9JbnB1dCIsInByb3BUeXBlcyIsImF0dHJpYnV0ZSIsInN0cmluZyIsImNsYXNzTmFtZSIsImRlZmF1bHRDaGVja2VkIiwiYm9vbCIsIm5vZGUiLCJoaW50IiwiaWQiLCJsYWJlbCIsImxhYmVsQ2xhc3NOYW1lIiwibW9kZWwiLCJvYmplY3QiLCJuYW1lIiwib25DaGFuZ2UiLCJmdW5jIiwid3JhcHBlckNsYXNzTmFtZSIsInNldHVwIiwiaW5wdXRQcm9wcyIsInJlc3RQcm9wcyIsInVzZUlucHV0UmVzdFByb3BzIiwid3JhcHBlck9wdHMiLCJwcm9wcyIsIndyYXBwZXJPcHRpb25zIiwidHlwZSIsInNldEluc3RhbmNlIiwicmVuZGVyIiwidHQiLCJpbnB1dFJlZiIsImVycm9ycyIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kcyIsImxlbmd0aCIsImh0bWxGb3IiLCJwdXNoIiwiam9pbiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ib290c3RyYXAvY2hlY2tib3guanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7c2hhcGVDb21wb25lbnQsIFNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL3NoYXBlLWNvbXBvbmVudFwiXG5pbXBvcnQgQ2hlY2tib3ggZnJvbSBcIi4uL2lucHV0cy9jaGVja2JveFwiXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiXG5pbXBvcnQge2RpZ3N9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IEludmFsaWRGZWVkYmFjayBmcm9tIFwiLi9pbnZhbGlkLWZlZWRiYWNrXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvbWVtb1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHVzZUlucHV0IGZyb20gXCIuLi91c2UtaW5wdXRcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyQm9vdHN0cmFwQ2hlY2tib3ggZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgZGVmYXVsdFZhbHVlOiAxLFxuICAgIHplcm9JbnB1dDogdHJ1ZVxuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBhdHRyaWJ1dGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGRlZmF1bHRDaGVja2VkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkZWZhdWx0VmFsdWU6IFByb3BUeXBlcy5ub2RlLFxuICAgIGhpbnQ6IFByb3BUeXBlcy5ub2RlLFxuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGxhYmVsOiBQcm9wVHlwZXMubm9kZSxcbiAgICBsYWJlbENsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICB3cmFwcGVyQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHplcm9JbnB1dDogUHJvcFR5cGVzLmJvb2xcbiAgfVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHtpbnB1dFByb3BzLCByZXN0UHJvcHM6IHVzZUlucHV0UmVzdFByb3BzLCB3cmFwcGVyT3B0c30gPSB1c2VJbnB1dCh7cHJvcHM6IHRoaXMucHJvcHMsIHdyYXBwZXJPcHRpb25zOiB7dHlwZTogXCJjaGVja2JveFwifX0pXG5cbiAgICB0aGlzLnNldEluc3RhbmNlKHtpbnB1dFByb3BzLCB1c2VJbnB1dFJlc3RQcm9wcywgd3JhcHBlck9wdHN9KVxuICB9XG5cbiAgcmVuZGVyICgpIHtcbiAgICBjb25zdCB7aW5wdXRQcm9wcywgdXNlSW5wdXRSZXN0UHJvcHMsIHdyYXBwZXJPcHRzfSA9IHRoaXMudHRcbiAgICBjb25zdCB7Y2xhc3NOYW1lLCBoaW50LCBpZCwgaW5wdXRSZWYsIGxhYmVsLCBsYWJlbENsYXNzTmFtZSwgd3JhcHBlckNsYXNzTmFtZSwgLi4ucmVzdFByb3BzfSA9IHVzZUlucHV0UmVzdFByb3BzXG4gICAgY29uc3Qge2Vycm9yc30gPSBkaWdzKHdyYXBwZXJPcHRzLCBcImVycm9yc1wiKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXt0aGlzLndyYXBwZXJDbGFzc05hbWUoKX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9ybS1jaGVja1wiPlxuICAgICAgICAgIDxDaGVja2JveFxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFwiZm9ybS1jaGVjay1pbnB1dFwiLCBjbGFzc05hbWUsIHtcImlzLWludmFsaWRcIjogZXJyb3JzLmxlbmd0aCA+IDB9KX1cbiAgICAgICAgICAgIGlkPXtpZH1cbiAgICAgICAgICAgIGlucHV0UmVmPXtpbnB1dFJlZn1cbiAgICAgICAgICAgIHsuLi5yZXN0UHJvcHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7d3JhcHBlck9wdHMubGFiZWwgJiZcbiAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9e3RoaXMubGFiZWxDbGFzc05hbWUoKX0gaHRtbEZvcj17aW5wdXRQcm9wcy5pZH0+XG4gICAgICAgICAgICAgIHt3cmFwcGVyT3B0cy5sYWJlbH1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgfVxuICAgICAgICAgIHtoaW50ICYmXG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LW11dGVkXCI+XG4gICAgICAgICAgICAgIHtoaW50fVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIH1cbiAgICAgICAgICB7ZXJyb3JzLmxlbmd0aCA+IDAgJiYgPEludmFsaWRGZWVkYmFjayBlcnJvcnM9e2Vycm9yc30gLz59XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9XG5cbiAgbGFiZWxDbGFzc05hbWUgKCkge1xuICAgIGNvbnN0IGNsYXNzTmFtZXMgPSBbXCJmb3JtLWNoZWNrLWxhYmVsXCJdXG5cbiAgICBpZiAodGhpcy5wcm9wcy5sYWJlbENsYXNzTmFtZSlcbiAgICAgIGNsYXNzTmFtZXMucHVzaCh0aGlzLnByb3BzLmxhYmVsQ2xhc3NOYW1lKVxuXG4gICAgcmV0dXJuIGNsYXNzTmFtZXMuam9pbihcIiBcIilcbiAgfVxuXG4gIHdyYXBwZXJDbGFzc05hbWUgKCkge1xuICAgIGNvbnN0IGNsYXNzTmFtZXMgPSBbXCJjb21wb25lbnQtYm9vdHN0cmFwLWNoZWNrYm94XCIsIFwiZm9ybS1ncm91cFwiXVxuXG4gICAgaWYgKHRoaXMucHJvcHMud3JhcHBlckNsYXNzTmFtZSlcbiAgICAgIGNsYXNzTmFtZXMucHVzaCh0aGlzLnByb3BzLndyYXBwZXJDbGFzc05hbWUpXG5cbiAgICByZXR1cm4gY2xhc3NOYW1lcy5qb2luKFwiIFwiKVxuICB9XG59KSlcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVFBLGNBQWMsRUFBRUMsY0FBYyxRQUFPLHVDQUF1QztBQUNwRixPQUFPQyxRQUFRLE1BQU0sb0JBQW9CO0FBQ3pDLE9BQU9DLFVBQVUsTUFBTSxZQUFZO0FBQ25DLFNBQVFDLElBQUksUUFBTyxXQUFXO0FBQzlCLE9BQU9DLGVBQWUsTUFBTSxvQkFBb0I7QUFDaEQsT0FBT0MsSUFBSSxNQUFNLDRCQUE0QjtBQUM3QyxPQUFPQyxTQUFTLE1BQU0sWUFBWTtBQUNsQyxPQUFPQyxLQUFLLE1B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
|