@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,34 @@
|
|
|
1
|
+
import { camelize } from "inflection";
|
|
2
|
+
import useQueryParams from "on-location-changed/build/use-query-params";
|
|
3
|
+
const calculateQParams = (defaultParams, queryParams, searchKey) => {
|
|
4
|
+
if (searchKey in queryParams) {
|
|
5
|
+
return JSON.parse(queryParams[searchKey]);
|
|
6
|
+
} else if (defaultParams) {
|
|
7
|
+
return {
|
|
8
|
+
...defaultParams
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
return {};
|
|
12
|
+
};
|
|
13
|
+
const useSorting = ({
|
|
14
|
+
defaultParams,
|
|
15
|
+
query
|
|
16
|
+
}) => {
|
|
17
|
+
const queryParams = useQueryParams();
|
|
18
|
+
const searchKey = query.queryArgs.searchKey || "q";
|
|
19
|
+
const qParams = calculateQParams(defaultParams, queryParams, searchKey);
|
|
20
|
+
let matchSortParam;
|
|
21
|
+
if (typeof qParams.s == "string") {
|
|
22
|
+
matchSortParam = qParams.s?.match(/^(.+?)( asc| desc|)$/);
|
|
23
|
+
}
|
|
24
|
+
const sortAttribute = matchSortParam ? camelize(matchSortParam[1], true) : null;
|
|
25
|
+
const sortMode = matchSortParam ? matchSortParam[2].trim() : null;
|
|
26
|
+
return {
|
|
27
|
+
qParams,
|
|
28
|
+
searchKey,
|
|
29
|
+
sortAttribute,
|
|
30
|
+
sortMode
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
export default useSorting;
|
|
34
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjYW1lbGl6ZSIsInVzZVF1ZXJ5UGFyYW1zIiwiY2FsY3VsYXRlUVBhcmFtcyIsImRlZmF1bHRQYXJhbXMiLCJxdWVyeVBhcmFtcyIsInNlYXJjaEtleSIsIkpTT04iLCJwYXJzZSIsInVzZVNvcnRpbmciLCJxdWVyeSIsInF1ZXJ5QXJncyIsInFQYXJhbXMiLCJtYXRjaFNvcnRQYXJhbSIsInMiLCJtYXRjaCIsInNvcnRBdHRyaWJ1dGUiLCJzb3J0TW9kZSIsInRyaW0iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdGFibGUvdXNlLXNvcnRpbmcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjYW1lbGl6ZX0gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IHVzZVF1ZXJ5UGFyYW1zIGZyb20gXCJvbi1sb2NhdGlvbi1jaGFuZ2VkL2J1aWxkL3VzZS1xdWVyeS1wYXJhbXNcIlxuXG5jb25zdCBjYWxjdWxhdGVRUGFyYW1zID0gKGRlZmF1bHRQYXJhbXMsIHF1ZXJ5UGFyYW1zLCBzZWFyY2hLZXkpID0+IHtcbiAgaWYgKHNlYXJjaEtleSBpbiBxdWVyeVBhcmFtcykge1xuICAgIHJldHVybiBKU09OLnBhcnNlKHF1ZXJ5UGFyYW1zW3NlYXJjaEtleV0pXG4gIH0gZWxzZSBpZiAoZGVmYXVsdFBhcmFtcykge1xuICAgIHJldHVybiB7Li4uZGVmYXVsdFBhcmFtc31cbiAgfVxuXG4gIHJldHVybiB7fVxufVxuXG5jb25zdCB1c2VTb3J0aW5nID0gKHtkZWZhdWx0UGFyYW1zLCBxdWVyeX0pID0+IHtcbiAgY29uc3QgcXVlcnlQYXJhbXMgPSB1c2VRdWVyeVBhcmFtcygpXG4gIGNvbnN0IHNlYXJjaEtleSA9IHF1ZXJ5LnF1ZXJ5QXJncy5zZWFyY2hLZXkgfHwgXCJxXCJcbiAgY29uc3QgcVBhcmFtcyA9IGNhbGN1bGF0ZVFQYXJhbXMoZGVmYXVsdFBhcmFtcywgcXVlcnlQYXJhbXMsIHNlYXJjaEtleSlcbiAgbGV0IG1hdGNoU29ydFBhcmFtXG5cbiAgaWYgKHR5cGVvZiBxUGFyYW1zLnMgPT0gXCJzdHJpbmdcIikge1xuICAgIG1hdGNoU29ydFBhcmFtID0gcVBhcmFtcy5zPy5tYXRjaCgvXiguKz8pKCBhc2N8IGRlc2N8KSQvKVxuICB9XG5cbiAgY29uc3Qgc29ydEF0dHJpYnV0ZSA9IG1hdGNoU29ydFBhcmFtID8gY2FtZWxpemUobWF0Y2hTb3J0UGFyYW1bMV0sIHRydWUpIDogbnVsbFxuICBjb25zdCBzb3J0TW9kZSA9IG1hdGNoU29ydFBhcmFtID8gbWF0Y2hTb3J0UGFyYW1bMl0udHJpbSgpIDogbnVsbFxuXG4gIHJldHVybiB7XG4gICAgcVBhcmFtcyxcbiAgICBzZWFyY2hLZXksXG4gICAgc29ydEF0dHJpYnV0ZSxcbiAgICBzb3J0TW9kZVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZVNvcnRpbmdcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsUUFBUSxRQUFPLFlBQVk7QUFDbkMsT0FBT0MsY0FBYyxNQUFNLDRDQUE0QztBQUV2RSxNQUFNQyxnQkFBZ0IsR0FBR0EsQ0FBQ0MsYUFBYSxFQUFFQyxXQUFXLEVBQUVDLFNBQVMsS0FBSztFQUNsRSxJQUFJQSxTQUFTLElBQUlELFdBQVcsRUFBRTtJQUM1QixPQUFPRSxJQUFJLENBQUNDLEtBQUssQ0FBQ0gsV0FBVyxDQUFDQyxTQUFTLENBQUMsQ0FBQztFQUMzQyxDQUFDLE1BQU0sSUFBSUYsYUFBYSxFQUFFO0lBQ3hCLE9BQU87TUFBQyxHQUFHQTtJQUFhLENBQUM7RUFDM0I7RUFFQSxPQUFPLENBQUMsQ0FBQztBQUNYLENBQUM7QUFFRCxNQUFNSyxVQUFVLEdBQUdBLENBQUM7RUFBQ0wsYUFBYTtFQUFFTTtBQUFLLENBQUMsS0FBSztFQUM3QyxNQUFNTCxXQUFXLEdBQUdILGNBQWMsQ0FBQyxDQUFDO0VBQ3BDLE1BQU1JLFNBQVMsR0FBR0ksS0FBSyxDQUFDQyxTQUFTLENBQUNMLFNBQVMsSUFBSSxHQUFHO0VBQ2xELE1BQU1NLE9BQU8sR0FBR1QsZ0JBQWdCLENBQUNDLGFBQWEsRUFBRUMsV0FBVyxFQUFFQyxTQUFTLENBQUM7RUFDdkUsSUFBSU8sY0FBYztFQUVsQixJQUFJLE9BQU9ELE9BQU8sQ0FBQ0UsQ0FBQyxJQUFJLFFBQVEsRUFBRTtJQUNoQ0QsY0FBYyxHQUFHRCxPQUFPLENBQUNFLENBQUMsRUFBRUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDO0VBQzNEO0VBRUEsTUFBTUMsYUFBYSxHQUFHSCxjQUFjLEdBQUdaLFFBQVEsQ0FBQ1ksY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUk7RUFDL0UsTUFBTUksUUFBUSxHQUFHSixjQUFjLEdBQUdBLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0ssSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJO0VBRWpFLE9BQU87SUFDTE4sT0FBTztJQUNQTixTQUFTO0lBQ1RVLGFBQWE7SUFDYkM7RUFDRixDQUFDO0FBQ0gsQ0FBQztBQUVELGVBQWVSLFVBQVUiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Animated, Easing } from "react-native";
|
|
2
|
+
import { digg } from "diggerize";
|
|
3
|
+
export default class TableWidths {
|
|
4
|
+
constructor({
|
|
5
|
+
columns,
|
|
6
|
+
table,
|
|
7
|
+
width
|
|
8
|
+
}) {
|
|
9
|
+
this.columns = columns;
|
|
10
|
+
this.tableWidth = width;
|
|
11
|
+
this.table = table;
|
|
12
|
+
this.setWidths();
|
|
13
|
+
}
|
|
14
|
+
setWidths() {
|
|
15
|
+
this.columnsWidths = {};
|
|
16
|
+
let widthLeft = this.tableWidth;
|
|
17
|
+
const updateData = [];
|
|
18
|
+
|
|
19
|
+
// Set widths that are defined
|
|
20
|
+
for (const columnIndex in this.columns) {
|
|
21
|
+
const column = this.columns[columnIndex];
|
|
22
|
+
const tableSettingColumn = column.tableSettingColumn;
|
|
23
|
+
if (column.animatedPosition) throw new Error("Column already had an animated position");
|
|
24
|
+
column.animatedPosition = new Animated.ValueXY();
|
|
25
|
+
column.animatedZIndex = new Animated.Value(0);
|
|
26
|
+
if (tableSettingColumn.hasWidth()) {
|
|
27
|
+
if (column.animatedWidth) throw new Error("Column already had an animated width");
|
|
28
|
+
column.animatedWidth = new Animated.Value(tableSettingColumn.width());
|
|
29
|
+
column.width = tableSettingColumn.width();
|
|
30
|
+
widthLeft -= tableSettingColumn.width();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// Calculate how many columns are shown
|
|
35
|
+
const columnsWithoutWidth = this.columns.filter(column => !column.tableSettingColumn.hasWidth());
|
|
36
|
+
let amountOfColumns = columnsWithoutWidth.length;
|
|
37
|
+
amountOfColumns++; // Actions column
|
|
38
|
+
|
|
39
|
+
if (this.table.p.workplace) amountOfColumns++;
|
|
40
|
+
|
|
41
|
+
// Set widths of columns without
|
|
42
|
+
for (const columnIndex in this.columns) {
|
|
43
|
+
const column = this.columns[columnIndex];
|
|
44
|
+
const tableSettingColumn = column.tableSettingColumn;
|
|
45
|
+
if (!tableSettingColumn.hasWidth()) {
|
|
46
|
+
let newWidth = widthLeft / amountOfColumns;
|
|
47
|
+
if (newWidth < 200) newWidth = 200;
|
|
48
|
+
column.animatedWidth = new Animated.Value(newWidth);
|
|
49
|
+
column.width = newWidth;
|
|
50
|
+
updateData << {
|
|
51
|
+
id: tableSettingColumn.id(),
|
|
52
|
+
width: newWidth
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
if (updateData.length > 0) {
|
|
57
|
+
// FIXME: Should update the columns on the backend if anything changed
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
getWidthOfColumn(identifier) {
|
|
61
|
+
const column = this.columns.find(column => column.tableSettingColumn.identifier() == identifier);
|
|
62
|
+
if (!column) throw new Error(`No such column: ${identifier}`);
|
|
63
|
+
return digg(column, "width");
|
|
64
|
+
}
|
|
65
|
+
setWidthOfColumn({
|
|
66
|
+
identifier,
|
|
67
|
+
width
|
|
68
|
+
}) {
|
|
69
|
+
const column = this.columns.find(column => column.tableSettingColumn.identifier() == identifier);
|
|
70
|
+
if (!column) throw new Error(`No such column: ${identifier}`);
|
|
71
|
+
column.width = width;
|
|
72
|
+
column.animatedWidth.setValue(width);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBbmltYXRlZCIsIkVhc2luZyIsImRpZ2ciLCJUYWJsZVdpZHRocyIsImNvbnN0cnVjdG9yIiwiY29sdW1ucyIsInRhYmxlIiwid2lkdGgiLCJ0YWJsZVdpZHRoIiwic2V0V2lkdGhzIiwiY29sdW1uc1dpZHRocyIsIndpZHRoTGVmdCIsInVwZGF0ZURhdGEiLCJjb2x1bW5JbmRleCIsImNvbHVtbiIsInRhYmxlU2V0dGluZ0NvbHVtbiIsImFuaW1hdGVkUG9zaXRpb24iLCJFcnJvciIsIlZhbHVlWFkiLCJhbmltYXRlZFpJbmRleCIsIlZhbHVlIiwiaGFzV2lkdGgiLCJhbmltYXRlZFdpZHRoIiwiY29sdW1uc1dpdGhvdXRXaWR0aCIsImZpbHRlciIsImFtb3VudE9mQ29sdW1ucyIsImxlbmd0aCIsInAiLCJ3b3JrcGxhY2UiLCJuZXdXaWR0aCIsImlkIiwiZ2V0V2lkdGhPZkNvbHVtbiIsImlkZW50aWZpZXIiLCJmaW5kIiwic2V0V2lkdGhPZkNvbHVtbiIsInNldFZhbHVlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RhYmxlL3dpZHRocy5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBbmltYXRlZCwgRWFzaW5nfSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRhYmxlV2lkdGhzIHtcbiAgY29uc3RydWN0b3Ioe2NvbHVtbnMsIHRhYmxlLCB3aWR0aH0pIHtcbiAgICB0aGlzLmNvbHVtbnMgPSBjb2x1bW5zXG4gICAgdGhpcy50YWJsZVdpZHRoID0gd2lkdGhcbiAgICB0aGlzLnRhYmxlID0gdGFibGVcbiAgICB0aGlzLnNldFdpZHRocygpXG4gIH1cblxuICBzZXRXaWR0aHMoKSB7XG4gICAgdGhpcy5jb2x1bW5zV2lkdGhzID0ge31cblxuICAgIGxldCB3aWR0aExlZnQgPSB0aGlzLnRhYmxlV2lkdGhcbiAgICBjb25zdCB1cGRhdGVEYXRhID0gW11cblxuICAgIC8vIFNldCB3aWR0aHMgdGhhdCBhcmUgZGVmaW5lZFxuICAgIGZvciAoY29uc3QgY29sdW1uSW5kZXggaW4gdGhpcy5jb2x1bW5zKSB7XG4gICAgICBjb25zdCBjb2x1bW4gPSB0aGlzLmNvbHVtbnNbY29sdW1uSW5kZXhdXG4gICAgICBjb25zdCB0YWJsZVNldHRpbmdDb2x1bW4gPSBjb2x1bW4udGFibGVTZXR0aW5nQ29sdW1uXG5cbiAgICAgIGlmIChjb2x1bW4uYW5pbWF0ZWRQb3NpdGlvbikgdGhyb3cgbmV3IEVycm9yKFwiQ29sdW1uIGFscmVhZHkgaGFkIGFuIGFuaW1hdGVkIHBvc2l0aW9uXCIpXG5cbiAgICAgIGNvbHVtbi5hbmltYXRlZFBvc2l0aW9uID0gbmV3IEFuaW1hdGVkLlZhbHVlWFkoKVxuICAgICAgY29sdW1uLmFuaW1hdGVkWkluZGV4ID0gbmV3IEFuaW1hdGVkLlZhbHVlKDApXG5cbiAgICAgIGlmICh0YWJsZVNldHRpbmdDb2x1bW4uaGFzV2lkdGgoKSkge1xuICAgICAgICBpZiAoY29sdW1uLmFuaW1hdGVkV2lkdGgpIHRocm93IG5ldyBFcnJvcihcIkNvbHVtbiBhbHJlYWR5IGhhZCBhbiBhbmltYXRlZCB3aWR0aFwiKVxuXG4gICAgICAgIGNvbHVtbi5hbmltYXRlZFdpZHRoID0gbmV3IEFuaW1hdGVkLlZhbHVlKHRhYmxlU2V0dGluZ0NvbHVtbi53aWR0aCgpKVxuICAgICAgICBjb2x1bW4ud2lkdGggPSB0YWJsZVNldHRpbmdDb2x1bW4ud2lkdGgoKVxuXG4gICAgICAgIHdpZHRoTGVmdCAtPSB0YWJsZVNldHRpbmdDb2x1bW4ud2lkdGgoKVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENhbGN1bGF0ZSBob3cgbWFueSBjb2x1bW5zIGFyZSBzaG93blxuICAgIGNvbnN0IGNvbHVtbnNXaXRob3V0V2lkdGggPSB0aGlzLmNvbHVtbnMuZmlsdGVyKChjb2x1bW4pID0+ICFjb2x1bW4udGFibGVTZXR0aW5nQ29sdW1uLmhhc1dpZHRoKCkpXG4gICAgbGV0IGFtb3VudE9mQ29sdW1ucyA9IGNvbHVtbnNXaXRob3V0V2lkdGgubGVuZ3RoXG5cbiAgICBhbW91bnRPZkNvbHVtbnMrKyAvLyBBY3Rpb25zIGNvbHVtblxuXG4gICAgaWYgKHRoaXMudGFibGUucC53b3JrcGxhY2UpIGFtb3VudE9mQ29sdW1ucysrXG5cbiAgICAvLyBTZXQgd2lkdGhzIG9mIGNvbHVtbnMgd2l0aG91dFxuICAgIGZvciAoY29uc3QgY29sdW1uSW5kZXggaW4gdGhpcy5jb2x1bW5zKSB7XG4gICAgICBjb25zdCBjb2x1bW4gPSB0aGlzLmNvbHVtbnNbY29sdW1uSW5kZXhdXG4gICAgICBjb25zdCB0YWJsZVNldHRpbmdDb2x1bW4gPSBjb2x1bW4udGFibGVTZXR0aW5nQ29sdW1uXG5cbiAgICAgIGlmICghdGFibGVTZXR0aW5nQ29sdW1uLmhhc1dpZHRoKCkpIHtcbiAgICAgICAgbGV0IG5ld1dpZHRoID0gd2lkdGhMZWZ0IC8gYW1vdW50T2ZDb2x1bW5zXG5cbiAgICAgICAgaWYgKG5ld1dpZHRoIDwgMjAwKSBuZXdXaWR0aCA9IDIwMFxuXG4gICAgICAgIGNvbHVtbi5hbmltYXRlZFdpZHRoID0gbmV3IEFuaW1hdGVkLlZhbHVlKG5ld1dpZHRoKVxuICAgICAgICBjb2x1bW4ud2lkdGggPSBuZXdXaWR0aFxuXG4gICAgICAgIHVwZGF0ZURhdGEgPDwge1xuICAgICAgICAgIGlkOiB0YWJsZVNldHRpbmdDb2x1bW4uaWQoKSxcbiAgICAgICAgICB3aWR0aDogbmV3V2lkdGhcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh1cGRhdGVEYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIEZJWE1FOiBTaG91bGQgdXBkYXRlIHRoZSBjb2x1bW5zIG9uIHRoZSBiYWNrZW5kIGlmIGFueXRoaW5nIGNoYW5nZWRcbiAgICB9XG4gIH1cblxuICBnZXRXaWR0aE9mQ29sdW1uKGlkZW50aWZpZXIpIHtcbiAgICBjb25zdCBjb2x1bW4gPSB0aGlzLmNvbHVtbnMuZmluZCgoY29sdW1uKSA9PiBjb2x1bW4udGFibGVTZXR0aW5nQ29sdW1uLmlkZW50aWZpZXIoKSA9PSBpZGVudGlmaWVyKVxuXG4gICAgaWYgKCFjb2x1bW4pIHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCBjb2x1bW46ICR7aWRlbnRpZmllcn1gKVxuXG4gICAgcmV0dXJuIGRpZ2coY29sdW1uLCBcIndpZHRoXCIpXG4gIH1cblxuICBzZXRXaWR0aE9mQ29sdW1uKHtpZGVudGlmaWVyLCB3aWR0aH0pIHtcbiAgICBjb25zdCBjb2x1bW4gPSB0aGlzLmNvbHVtbnMuZmluZCgoY29sdW1uKSA9PiBjb2x1bW4udGFibGVTZXR0aW5nQ29sdW1uLmlkZW50aWZpZXIoKSA9PSBpZGVudGlmaWVyKVxuXG4gICAgaWYgKCFjb2x1bW4pIHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCBjb2x1bW46ICR7aWRlbnRpZmllcn1gKVxuXG4gICAgY29sdW1uLndpZHRoID0gd2lkdGhcbiAgICBjb2x1bW4uYW5pbWF0ZWRXaWR0aC5zZXRWYWx1ZSh3aWR0aClcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxRQUFRLEVBQUVDLE1BQU0sUUFBTyxjQUFjO0FBQzdDLFNBQVFDLElBQUksUUFBTyxXQUFXO0FBRTlCLGVBQWUsTUFBTUMsV0FBVyxDQUFDO0VBQy9CQyxXQUFXQSxDQUFDO0lBQUNDLE9BQU87SUFBRUMsS0FBSztJQUFFQztFQUFLLENBQUMsRUFBRTtJQUNuQyxJQUFJLENBQUNGLE9BQU8sR0FBR0EsT0FBTztJQUN0QixJQUFJLENBQUNHLFVBQVUsR0FBR0QsS0FBSztJQUN2QixJQUFJLENBQUNELEtBQUssR0FBR0EsS0FBSztJQUNsQixJQUFJLENBQUNHLFNBQVMsQ0FBQyxDQUFDO0VBQ2xCO0VBRUFBLFNBQVNBLENBQUEsRUFBRztJQUNWLElBQUksQ0FBQ0MsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUV2QixJQUFJQyxTQUFTLEdBQUcsSUFBSSxDQUFDSCxVQUFVO0lBQy9CLE1BQU1JLFVBQVUsR0FB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
|
|
@@ -0,0 +1,125 @@
|
|
|
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, { useEffect, useMemo, useRef } from "react";
|
|
3
|
+
import BaseComponent from "../base-component";
|
|
4
|
+
import classNames from "classnames";
|
|
5
|
+
import Collection from "../collection";
|
|
6
|
+
import memo from "set-state-compare/src/memo";
|
|
7
|
+
import PropTypes from "prop-types";
|
|
8
|
+
import propTypesExact from "prop-types-exact";
|
|
9
|
+
import { shapeComponent } from "set-state-compare/src/shape-component";
|
|
10
|
+
import { simpleObjectDifferent } from "set-state-compare/src/diff-utils";
|
|
11
|
+
import useModelEvent from "../use-model-event";
|
|
12
|
+
const Checkbox = memo(shapeComponent(class Checkbox extends BaseComponent {
|
|
13
|
+
render() {
|
|
14
|
+
const {
|
|
15
|
+
indeterminate,
|
|
16
|
+
...restProps
|
|
17
|
+
} = this.props;
|
|
18
|
+
const checkboxRef = useRef();
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
checkboxRef.current.indeterminate = indeterminate;
|
|
21
|
+
});
|
|
22
|
+
return /*#__PURE__*/React.createElement("input", _extends({
|
|
23
|
+
ref: checkboxRef,
|
|
24
|
+
type: "checkbox"
|
|
25
|
+
}, restProps));
|
|
26
|
+
}
|
|
27
|
+
}));
|
|
28
|
+
export default memo(shapeComponent(class ApiMakerTableWorkerPluginsCheckAllCheckbox extends BaseComponent {
|
|
29
|
+
static propTypes = propTypesExact({
|
|
30
|
+
currentWorkplace: PropTypes.object,
|
|
31
|
+
query: PropTypes.instanceOf(Collection),
|
|
32
|
+
style: PropTypes.object
|
|
33
|
+
});
|
|
34
|
+
setup() {
|
|
35
|
+
this.useStates({
|
|
36
|
+
checked: false,
|
|
37
|
+
indeterminate: false
|
|
38
|
+
});
|
|
39
|
+
useMemo(() => {
|
|
40
|
+
this.updateAllChecked();
|
|
41
|
+
}, []);
|
|
42
|
+
useModelEvent(this.props.currentWorkplace, "workplace_links_created", this.tt.onLinksCreated);
|
|
43
|
+
useModelEvent(this.props.currentWorkplace, "workplace_links_destroyed", this.tt.onLinksDestroyed);
|
|
44
|
+
}
|
|
45
|
+
componentDidUpdate(prevProps) {
|
|
46
|
+
const previousParams = prevProps.query.params();
|
|
47
|
+
const currentParams = this.props.query.params();
|
|
48
|
+
if (simpleObjectDifferent(previousParams, currentParams)) {
|
|
49
|
+
this.updateAllChecked();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
async updateAllChecked() {
|
|
53
|
+
const {
|
|
54
|
+
query,
|
|
55
|
+
currentWorkplace
|
|
56
|
+
} = this.props;
|
|
57
|
+
const queryLinksStatusResult = await currentWorkplace.queryLinksStatus({
|
|
58
|
+
query
|
|
59
|
+
});
|
|
60
|
+
const allChecked = queryLinksStatusResult.all_checked;
|
|
61
|
+
const someChecked = queryLinksStatusResult.some_checked;
|
|
62
|
+
this.setState({
|
|
63
|
+
checked: allChecked,
|
|
64
|
+
indeterminate: someChecked
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
render() {
|
|
68
|
+
const {
|
|
69
|
+
className,
|
|
70
|
+
style
|
|
71
|
+
} = this.props;
|
|
72
|
+
const {
|
|
73
|
+
checked,
|
|
74
|
+
indeterminate
|
|
75
|
+
} = this.state;
|
|
76
|
+
return /*#__PURE__*/React.createElement(Checkbox, {
|
|
77
|
+
checked: checked,
|
|
78
|
+
className: classNames("api-maker--table--worker-plugins-check-all-checkbox", className),
|
|
79
|
+
indeterminate: indeterminate,
|
|
80
|
+
onChange: this.onCheckedChanged,
|
|
81
|
+
style: style
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
modelClassName = () => this.props.query.modelClass().modelClassData().name;
|
|
85
|
+
onCheckedChanged = async e => {
|
|
86
|
+
e.preventDefault();
|
|
87
|
+
const {
|
|
88
|
+
currentWorkplace,
|
|
89
|
+
query
|
|
90
|
+
} = this.props;
|
|
91
|
+
const checkbox = e.target;
|
|
92
|
+
if (checkbox.checked) {
|
|
93
|
+
await currentWorkplace.addQuery({
|
|
94
|
+
query
|
|
95
|
+
});
|
|
96
|
+
this.setState({
|
|
97
|
+
checked: true,
|
|
98
|
+
indeterminate: false
|
|
99
|
+
});
|
|
100
|
+
} else {
|
|
101
|
+
await currentWorkplace.removeQuery({
|
|
102
|
+
query
|
|
103
|
+
});
|
|
104
|
+
this.setState({
|
|
105
|
+
checked: false,
|
|
106
|
+
indeterminate: false
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
onLinksCreated = ({
|
|
111
|
+
args
|
|
112
|
+
}) => {
|
|
113
|
+
if (args.created[this.modelClassName()]) {
|
|
114
|
+
this.updateAllChecked();
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
onLinksDestroyed = ({
|
|
118
|
+
args
|
|
119
|
+
}) => {
|
|
120
|
+
if (args.destroyed[this.modelClassName()]) {
|
|
121
|
+
this.updateAllChecked();
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
}));
|
|
125
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJCYXNlQ29tcG9uZW50IiwiY2xhc3NOYW1lcyIsIkNvbGxlY3Rpb24iLCJtZW1vIiwiUHJvcFR5cGVzIiwicHJvcFR5cGVzRXhhY3QiLCJzaGFwZUNvbXBvbmVudCIsInNpbXBsZU9iamVjdERpZmZlcmVudCIsInVzZU1vZGVsRXZlbnQiLCJDaGVja2JveCIsInJlbmRlciIsImluZGV0ZXJtaW5hdGUiLCJyZXN0UHJvcHMiLCJwcm9wcyIsImNoZWNrYm94UmVmIiwiY3VycmVudCIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kcyIsInJlZiIsInR5cGUiLCJBcGlNYWtlclRhYmxlV29ya2VyUGx1Z2luc0NoZWNrQWxsQ2hlY2tib3giLCJwcm9wVHlwZXMiLCJjdXJyZW50V29ya3BsYWNlIiwib2JqZWN0IiwicXVlcnkiLCJpbnN0YW5jZU9mIiwic3R5bGUiLCJzZXR1cCIsInVzZVN0YXRlcyIsImNoZWNrZWQiLCJ1cGRhdGVBbGxDaGVja2VkIiwidHQiLCJvbkxpbmtzQ3JlYXRlZCIsIm9uTGlua3NEZXN0cm95ZWQiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJwcmV2aW91c1BhcmFtcyIsInBhcmFtcyIsImN1cnJlbnRQYXJhbXMiLCJxdWVyeUxpbmtzU3RhdHVzUmVzdWx0IiwicXVlcnlMaW5rc1N0YXR1cyIsImFsbENoZWNrZWQiLCJhbGxfY2hlY2tlZCIsInNvbWVDaGVja2VkIiwic29tZV9jaGVja2VkIiwic2V0U3RhdGUiLCJjbGFzc05hbWUiLCJzdGF0ZSIsIm9uQ2hhbmdlIiwib25DaGVja2VkQ2hhbmdlZCIsIm1vZGVsQ2xhc3NOYW1lIiwibW9kZWxDbGFzcyIsIm1vZGVsQ2xhc3NEYXRhIiwibmFtZSIsImUiLCJwcmV2ZW50RGVmYXVsdCIsImNoZWNrYm94IiwidGFyZ2V0IiwiYWRkUXVlcnkiLCJyZW1vdmVRdWVyeSIsImFyZ3MiLCJjcmVhdGVkIiwiZGVzdHJveWVkIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RhYmxlL3dvcmtlci1wbHVnaW5zLWNoZWNrLWFsbC1jaGVja2JveC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWZ9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIlxuaW1wb3J0IENvbGxlY3Rpb24gZnJvbSBcIi4uL2NvbGxlY3Rpb25cIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9tZW1vXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvc2hhcGUtY29tcG9uZW50XCJcbmltcG9ydCB7c2ltcGxlT2JqZWN0RGlmZmVyZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL2RpZmYtdXRpbHNcIlxuaW1wb3J0IHVzZU1vZGVsRXZlbnQgZnJvbSBcIi4uL3VzZS1tb2RlbC1ldmVudFwiXG5cbmNvbnN0IENoZWNrYm94ID0gbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBDaGVja2JveCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2luZGV0ZXJtaW5hdGUsIC4uLnJlc3RQcm9wc30gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgY2hlY2tib3hSZWYgPSB1c2VSZWYoKVxuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNoZWNrYm94UmVmLmN1cnJlbnQuaW5kZXRlcm1pbmF0ZSA9IGluZGV0ZXJtaW5hdGVcbiAgICB9KVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxpbnB1dCByZWY9e2NoZWNrYm94UmVmfSB0eXBlPVwiY2hlY2tib3hcIiB7Li4ucmVzdFByb3BzfSAvPlxuICAgIClcbiAgfVxufSkpXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJUYWJsZVdvcmtlclBsdWdpbnNDaGVja0FsbENoZWNrYm94IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgY3VycmVudFdvcmtwbGFjZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBxdWVyeTogUHJvcFR5cGVzLmluc3RhbmNlT2YoQ29sbGVjdGlvbiksXG4gICAgc3R5bGU6IFByb3BUeXBlcy5vYmplY3RcbiAgfSlcblxuICBzZXR1cCgpIHtcbiAgICB0aGlzLnVzZVN0YXRlcyh7XG4gICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICAgIGluZGV0ZXJtaW5hdGU6IGZhbHNlXG4gICAgfSlcblxuICAgIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVBbGxDaGVja2VkKClcbiAgICB9LCBbXSlcblxuICAgIHVzZU1vZGVsRXZlbnQodGhpcy5wcm9wcy5jdXJyZW50V29ya3BsYWNlLCBcIndvcmtwbGFjZV9saW5rc19jcmVhdGVkXCIsIHRoaXMudHQub25MaW5rc0NyZWF0ZWQpXG4gICAgdXNlTW9kZWxFdmVudCh0aGlzLnByb3BzLmN1cnJlbnRXb3JrcGxhY2UsIFwid29ya3BsYWNlX2xpbmtzX2Rlc3Ryb3llZFwiLCB0aGlzLnR0Lm9uTGlua3NEZXN0cm95ZWQpXG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgcHJldmlvdXNQYXJhbXMgPSBwcmV2UHJvcHMucXVlcnkucGFyYW1zKClcbiAgICBjb25zdCBjdXJyZW50UGFyYW1zID0gdGhpcy5wcm9wcy5xdWVyeS5wYXJhbXMoKVxuXG4gICAgaWYgKHNpbXBsZU9iamVjdERpZmZlcmVudChwcmV2aW91c1BhcmFtcywgY3VycmVudFBhcmFtcykpIHtcbiAgICAgIHRoaXMudXBkYXRlQWxsQ2hlY2tlZCgpXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgdXBkYXRlQWxsQ2hlY2tlZCgpIHtcbiAgICBjb25zdCB7cXVlcnksIGN1cnJlbnRXb3JrcGxhY2V9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHF1ZXJ5TGlua3NTdGF0dXNSZXN1bHQgPSBhd2FpdCBjdXJyZW50V29ya3BsYWNlLnF1ZXJ5TGlua3NTdGF0dXMoe3F1ZXJ5fSlcbiAgICBjb25zdCBhbGxDaGVja2VkID0gcXVlcnlMaW5rc1N0YXR1c1Jlc3VsdC5hbGxfY2hlY2tlZFxuICAgIGNvbnN0IHNvbWVDaGVja2VkID0gcXVlcnlMaW5rc1N0YXR1c1Jlc3VsdC5zb21lX2NoZWNrZWRcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgY2hlY2tlZDogYWxsQ2hlY2tlZCxcbiAgICAgIGluZGV0ZXJtaW5hdGU6IHNvbWVDaGVja2VkXG4gICAgfSlcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7Y2xhc3NOYW1lLCBzdHlsZX0gPSB0aGlzLnByb3BzXG4gICAgY29uc3Qge2NoZWNrZWQsIGluZGV0ZXJtaW5hdGV9ID0gdGhpcy5zdGF0ZVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxDaGVja2JveFxuICAgICAgICBjaGVja2VkPXtjaGVja2VkfVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoXCJhcGktbWFrZXItLXRhYmxlLS13b3JrZXItcGx1Z2lucy1jaGVjay1hbGwtY2hlY2tib3hcIiwgY2xhc3NOYW1lKX1cbiAgICAgICAgaW5kZXRlcm1pbmF0ZT17aW5kZXRlcm1pbmF0ZX1cbiAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGVja2VkQ2hhbmdlZH1cbiAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgLz5cbiAgICApXG4gIH1cblxuICBtb2RlbENsYXNzTmFtZSA9ICgpID0+IHRoaXMucHJvcHMucXVlcnkubW9kZWxDbGFzcygpLm1vZGVsQ2xhc3NEYXRhKCkubmFtZVxuXG4gIG9uQ2hlY2tlZENoYW5nZWQgPSBhc3luYyAoZSkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKVxuXG4gICAgY29uc3Qge2N1cnJlbnRXb3JrcGxhY2UsIHF1ZXJ5fSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCBjaGVja2JveCA9IGUudGFyZ2V0XG5cbiAgICBpZiAoY2hlY2tib3guY2hlY2tlZCkge1xuICAgICAgYXdhaXQgY3VycmVudFdvcmtwbGFjZS5hZGRRdWVyeSh7cXVlcnl9KVxuICAgICAgdGhpcy5zZXRTdGF0ZSh7Y2hlY2tlZDogdHJ1ZSwgaW5kZXRlcm1pbmF0ZTogZmFsc2V9KVxuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCBjdXJyZW50V29ya3BsYWNlLnJlbW92ZVF1ZXJ5KHtxdWVyeX0pXG4gICAgICB0aGlzLnNldFN0YXRlKHtjaGVja2VkOiBmYWxzZSwgaW5kZXRlcm1pbmF0ZTogZmFsc2V9KVxuICAgIH1cbiAgfVxuXG4gIG9uTGlua3NDcmVhdGVkID0gKHthcmdzfSkgPT4ge1xuICAgIGlmIChhcmdzLmNyZWF0ZWRbdGhpcy5tb2RlbENsYXNzTmFtZSgpXSkge1xuICAgICAgdGhpcy51cGRhdGVBbGxDaGVja2VkKClcbiAgICB9XG4gIH1cblxuICBvbkxpbmtzRGVzdHJveWVkID0gKHthcmdzfSkgPT4ge1xuICAgIGlmIChhcmdzLmRlc3Ryb3llZFt0aGlzLm1vZGVsQ2xhc3NOYW1lKCldKSB7XG4gICAgICB0aGlzLnVwZGF0ZUFsbENoZWNrZWQoKVxuICAgIH1cbiAgfVxufSkpXG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxLQUFLLElBQUdDLFNBQVMsRUFBRUMsT0FBTyxFQUFFQyxNQUFNLFFBQU8sT0FBTztBQUN2RCxPQUFPQyxhQUFhLE1BQU0sbUJBQW1CO0FBQzdDLE9BQU9DLFVBQVUsTUFBTSxZQUFZO0FBQ25DLE9BQU9DLFVBQVUsTUFBTSxlQUFlO0FBQ3RDLE9BQU9D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
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import React, { useMemo } from "react";
|
|
2
|
+
import BaseComponent from "../base-component";
|
|
3
|
+
import classNames from "classnames";
|
|
4
|
+
import { digg } from "diggerize";
|
|
5
|
+
import memo from "set-state-compare/src/memo";
|
|
6
|
+
import modelClassRequire from "../model-class-require";
|
|
7
|
+
import PropTypes from "prop-types";
|
|
8
|
+
import PropTypesExact from "prop-types-exact";
|
|
9
|
+
import { shapeComponent } from "set-state-compare/src/shape-component";
|
|
10
|
+
import useModelEvent from "../use-model-event";
|
|
11
|
+
const Workplace = modelClassRequire("Workplace");
|
|
12
|
+
export default memo(shapeComponent(class ApiMakerTableWorkerPluginsCheckbox extends BaseComponent {
|
|
13
|
+
static propTypes = PropTypesExact({
|
|
14
|
+
currentWorkplace: PropTypes.object,
|
|
15
|
+
model: PropTypes.object.isRequired,
|
|
16
|
+
style: PropTypes.object
|
|
17
|
+
});
|
|
18
|
+
setup() {
|
|
19
|
+
this.useStates({
|
|
20
|
+
checked: false,
|
|
21
|
+
linkLoaded: false
|
|
22
|
+
});
|
|
23
|
+
useMemo(() => {
|
|
24
|
+
this.loadCurrentLink();
|
|
25
|
+
}, []);
|
|
26
|
+
useModelEvent(this.p.currentWorkplace, "workplace_links_created", this.tt.onLinksCreated);
|
|
27
|
+
useModelEvent(this.p.currentWorkplace, "workplace_links_destroyed", this.tt.onLinksDestroyed);
|
|
28
|
+
}
|
|
29
|
+
async loadCurrentLink() {
|
|
30
|
+
const {
|
|
31
|
+
model
|
|
32
|
+
} = this.props;
|
|
33
|
+
const response = await Workplace.linkFor({
|
|
34
|
+
model_class: model.modelClassData().name,
|
|
35
|
+
model_id: model.id()
|
|
36
|
+
});
|
|
37
|
+
const link = digg(response, "link");
|
|
38
|
+
this.setState({
|
|
39
|
+
checked: Boolean(link),
|
|
40
|
+
linkLoaded: true
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
render() {
|
|
44
|
+
const {
|
|
45
|
+
className,
|
|
46
|
+
model,
|
|
47
|
+
style
|
|
48
|
+
} = this.props;
|
|
49
|
+
const {
|
|
50
|
+
checked,
|
|
51
|
+
linkLoaded
|
|
52
|
+
} = this.state;
|
|
53
|
+
if (!linkLoaded) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
return /*#__PURE__*/React.createElement("input", {
|
|
57
|
+
checked: checked,
|
|
58
|
+
className: classNames("api-maker--table--worker-plugins-checkbox", className),
|
|
59
|
+
"data-checked": checked,
|
|
60
|
+
"data-model-id": model.id(),
|
|
61
|
+
onChange: this.tt.onCheckedChanged,
|
|
62
|
+
style: style,
|
|
63
|
+
type: "checkbox"
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
onCheckedChanged = e => {
|
|
67
|
+
e.preventDefault();
|
|
68
|
+
const {
|
|
69
|
+
model
|
|
70
|
+
} = this.props;
|
|
71
|
+
const checked = e.target.checked;
|
|
72
|
+
if (checked) {
|
|
73
|
+
Workplace.createLink({
|
|
74
|
+
model_class: model.modelClassData().name,
|
|
75
|
+
model_id: model.id()
|
|
76
|
+
});
|
|
77
|
+
} else {
|
|
78
|
+
const modelClassName = model.modelClassData().name;
|
|
79
|
+
const params = {
|
|
80
|
+
models: {}
|
|
81
|
+
};
|
|
82
|
+
params.models[modelClassName] = [model.id()];
|
|
83
|
+
Workplace.destroyLinks(params);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
onLinksCreated = ({
|
|
87
|
+
args
|
|
88
|
+
}) => {
|
|
89
|
+
const {
|
|
90
|
+
model
|
|
91
|
+
} = this.p;
|
|
92
|
+
const id = model.id();
|
|
93
|
+
const modelClassName = model.modelClassData().name;
|
|
94
|
+
if (args.created[modelClassName] && args.created[modelClassName].includes(id)) {
|
|
95
|
+
this.setState({
|
|
96
|
+
checked: true
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
onLinksDestroyed = ({
|
|
101
|
+
args
|
|
102
|
+
}) => {
|
|
103
|
+
const {
|
|
104
|
+
model
|
|
105
|
+
} = this.p;
|
|
106
|
+
const id = model.id();
|
|
107
|
+
const modelClassName = model.modelClassData().name;
|
|
108
|
+
if (args.destroyed[modelClassName] && args.destroyed[modelClassName].includes(id)) {
|
|
109
|
+
this.setState({
|
|
110
|
+
checked: false
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
}));
|
|
115
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZU1lbW8iLCJCYXNlQ29tcG9uZW50IiwiY2xhc3NOYW1lcyIsImRpZ2ciLCJtZW1vIiwibW9kZWxDbGFzc1JlcXVpcmUiLCJQcm9wVHlwZXMiLCJQcm9wVHlwZXNFeGFjdCIsInNoYXBlQ29tcG9uZW50IiwidXNlTW9kZWxFdmVudCIsIldvcmtwbGFjZSIsIkFwaU1ha2VyVGFibGVXb3JrZXJQbHVnaW5zQ2hlY2tib3giLCJwcm9wVHlwZXMiLCJjdXJyZW50V29ya3BsYWNlIiwib2JqZWN0IiwibW9kZWwiLCJpc1JlcXVpcmVkIiwic3R5bGUiLCJzZXR1cCIsInVzZVN0YXRlcyIsImNoZWNrZWQiLCJsaW5rTG9hZGVkIiwibG9hZEN1cnJlbnRMaW5rIiwicCIsInR0Iiwib25MaW5rc0NyZWF0ZWQiLCJvbkxpbmtzRGVzdHJveWVkIiwicHJvcHMiLCJyZXNwb25zZSIsImxpbmtGb3IiLCJtb2RlbF9jbGFzcyIsIm1vZGVsQ2xhc3NEYXRhIiwibmFtZSIsIm1vZGVsX2lkIiwiaWQiLCJsaW5rIiwic2V0U3RhdGUiLCJCb29sZWFuIiwicmVuZGVyIiwiY2xhc3NOYW1lIiwic3RhdGUiLCJjcmVhdGVFbGVtZW50Iiwib25DaGFuZ2UiLCJvbkNoZWNrZWRDaGFuZ2VkIiwidHlwZSIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInRhcmdldCIsImNyZWF0ZUxpbmsiLCJtb2RlbENsYXNzTmFtZSIsInBhcmFtcyIsIm1vZGVscyIsImRlc3Ryb3lMaW5rcyIsImFyZ3MiLCJjcmVhdGVkIiwiaW5jbHVkZXMiLCJkZXN0cm95ZWQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdGFibGUvd29ya2VyLXBsdWdpbnMtY2hlY2tib3guanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIlxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvbWVtb1wiXG5pbXBvcnQgbW9kZWxDbGFzc1JlcXVpcmUgZnJvbSBcIi4uL21vZGVsLWNsYXNzLXJlcXVpcmVcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgUHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9zaGFwZS1jb21wb25lbnRcIlxuaW1wb3J0IHVzZU1vZGVsRXZlbnQgZnJvbSBcIi4uL3VzZS1tb2RlbC1ldmVudFwiXG5cbmNvbnN0IFdvcmtwbGFjZSA9IG1vZGVsQ2xhc3NSZXF1aXJlKFwiV29ya3BsYWNlXCIpXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJUYWJsZVdvcmtlclBsdWdpbnNDaGVja2JveCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0gUHJvcFR5cGVzRXhhY3Qoe1xuICAgIGN1cnJlbnRXb3JrcGxhY2U6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbW9kZWw6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBzdHlsZTogUHJvcFR5cGVzLm9iamVjdFxuICB9KVxuXG4gIHNldHVwKCkge1xuICAgIHRoaXMudXNlU3RhdGVzKHtcbiAgICAgIGNoZWNrZWQ6IGZhbHNlLFxuICAgICAgbGlua0xvYWRlZDogZmFsc2VcbiAgICB9KVxuXG4gICAgdXNlTWVtbygoKSA9PiB7XG4gICAgICB0aGlzLmxvYWRDdXJyZW50TGluaygpXG4gICAgfSwgW10pXG5cbiAgICB1c2VNb2RlbEV2ZW50KHRoaXMucC5jdXJyZW50V29ya3BsYWNlLCBcIndvcmtwbGFjZV9saW5rc19jcmVhdGVkXCIsIHRoaXMudHQub25MaW5rc0NyZWF0ZWQpXG4gICAgdXNlTW9kZWxFdmVudCh0aGlzLnAuY3VycmVudFdvcmtwbGFjZSwgXCJ3b3JrcGxhY2VfbGlua3NfZGVzdHJveWVkXCIsIHRoaXMudHQub25MaW5rc0Rlc3Ryb3llZClcbiAgfVxuXG4gIGFzeW5jIGxvYWRDdXJyZW50TGluaygpIHtcbiAgICBjb25zdCB7bW9kZWx9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgV29ya3BsYWNlLmxpbmtGb3Ioe21vZGVsX2NsYXNzOiBtb2RlbC5tb2RlbENsYXNzRGF0YSgpLm5hbWUsIG1vZGVsX2lkOiBtb2RlbC5pZCgpfSlcbiAgICBjb25zdCBsaW5rID0gZGlnZyhyZXNwb25zZSwgXCJsaW5rXCIpXG5cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGNoZWNrZWQ6IEJvb2xlYW4obGluayksXG4gICAgICBsaW5rTG9hZGVkOiB0cnVlXG4gICAgfSlcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7Y2xhc3NOYW1lLCBtb2RlbCwgc3R5bGV9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtjaGVja2VkLCBsaW5rTG9hZGVkfSA9IHRoaXMuc3RhdGVcblxuICAgIGlmICghbGlua0xvYWRlZCkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGlucHV0XG4gICAgICAgIGNoZWNrZWQ9e2NoZWNrZWR9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcImFwaS1tYWtlci0tdGFibGUtLXdvcmtlci1wbHVnaW5zLWNoZWNrYm94XCIsIGNsYXNzTmFtZSl9XG4gICAgICAgIGRhdGEtY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgZGF0YS1tb2RlbC1pZD17bW9kZWwuaWQoKX1cbiAgICAgICAgb25DaGFuZ2U9e3RoaXMudHQub25DaGVja2VkQ2hhbmdlZH1cbiAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgLz5cbiAgICApXG4gIH1cblxuICBvbkNoZWNrZWRDaGFuZ2VkID0gKGUpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcblxuICAgIGNvbnN0IHttb2RlbH0gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgY2hlY2tlZCA9IGUudGFyZ2V0LmNoZWNrZWRcblxuICAgIGlmIChjaGVja2VkKSB7XG4gICAgICBXb3JrcGxhY2UuY3JlYXRlTGluayh7bW9kZWxfY2xhc3M6IG1vZGVsLm1vZGVsQ2xhc3NEYXRhKCkubmFtZSwgbW9kZWxfaWQ6IG1vZGVsLmlkKCl9KVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBtb2RlbENsYXNzTmFtZSA9IG1vZGVsLm1vZGVsQ2xhc3NEYXRhKCkubmFtZVxuICAgICAgY29uc3QgcGFyYW1zID0ge21vZGVsczoge319XG5cbiAgICAgIHBhcmFtcy5tb2RlbHNbbW9kZWxDbGFzc05hbWVdID0gW21vZGVsLmlkKCldXG5cbiAgICAgIFdvcmtwbGFjZS5kZXN0cm95TGlua3MocGFyYW1zKVxuICAgIH1cbiAgfVxuXG4gIG9uTGlua3NDcmVhdGVkID0gKHthcmdzfSkgPT4ge1xuICAgIGNvbnN0IHttb2RlbH0gPSB0aGlzLnBcbiAgICBjb25zdCBpZCA9IG1vZGVsLmlkKClcbiAgICBjb25zdCBtb2RlbENsYXNzTmFtZSA9IG1vZGVsLm1vZGVsQ2xhc3NEYXRhKCkubmFtZVxuXG4gICAgaWYgKGFyZ3MuY3JlYXRlZFttb2RlbENsYXNzTmFtZV0gJiYgYXJncy5jcmVhdGVkW21vZGVsQ2xhc3NOYW1lXS5pbmNsdWRlcyhpZCkpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe2NoZWNrZWQ6IHRydWV9KVxuICAgIH1cbiAgfVxuXG4gIG9uTGlua3NEZXN0cm95ZWQgPSAoe2FyZ3N9KSA9PiB7XG4gICAgY29uc3Qge21vZGVsfSA9IHRoaXMucFxuICAgIGNvbnN0IGlkID0gbW9kZWwuaWQoKVxuICAgIGNvbnN0IG1vZGVsQ2xhc3NOYW1lID0gbW9kZWwubW9kZWxDbGFzc0RhdGEoKS5uYW1lXG5cbiAgICBpZiAoYXJncy5kZXN0cm95ZWRbbW9kZWxDbGFzc05hbWVdICYmIGFyZ3MuZGVzdHJveWVkW21vZGVsQ2xhc3NOYW1lXS5pbmNsdWRlcyhpZCkpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe2NoZWNrZWQ6IGZhbHNlfSlcbiAgICB9XG4gIH1cbn0pKVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxLQUFLLElBQUdDLE9BQU8sUUFBTyxPQUFPO0FBQ3BDLE9BQU9DLGFBQWEsTUFBTSxtQkFBbUI7QUFDN0MsT0FBT0MsVUFBVSxNQUFNLFlBQVk7QUFDbkMsU0FBUUMsSUFBSSxRQUFPLFdBQVc7QUFDOUIsT0FBT0MsSUFBSSxNQUFNLDRCQUE0QjtBQUM3QyxPQUFPQyxpQkFBaUIsTUFBTSx3QkFBd0I7QUFDdEQsT0FBT0MsU0FBUyxNQUFNLFlBQVk7QUFDbEMsT0FBT0MsY0FBYyxNQUFNLGtCQUFrQjtBQUM3QyxTQUFRQyxjQUFjLFFBQU8sdUNBQXVDO0FBQ3BFLE9BQU9DLGFBQWEsTUFBTSxvQkFBb0I7QUFFOUMsTUFBTUMsU0FBUyxHQUFHTCxpQkFBaUIsQ0FBQyxXQUFXLENBQUM7QUFFaEQsZUFBZUQsSUFBSSxDQUFDSSxjQUFjLENBQUMsTUFBTUcsa0NBQWtDLFNBQVNWLGFBQWEsQ0FBQztFQUNoRyxPQUFPVyxTQUFTLEdBQUdMLGNBQWMsQ0FBQztJQUNoQ00sZ0JBQWdCLEVBQUVQLFNBQVMsQ0FBQ1EsTUFBTTtJQUNsQ0MsS0FBSyxFQUFFVCxTQUFTLENBQUNRLE1BQU0sQ0FBQ0UsVUFBVTtJQUNsQ0MsS0FBSyxFQUFFWCxTQUFTLENBQUNRO0VBQ25CLENBQUMsQ0FBQztFQUVGSSxLQUFLQSxDQUFBLEVBQUc7SUFDTixJQUFJLENBQUNDLFNBQVMsQ0FBQztNQUNiQyxPQUFPLEVBQUUsS0FBSztNQUNkQyxVQUFVLEVBQUU7SUFDZCxDQUFDLENBQUM7SUFFRnJCLE9BQU8sQ0FBQyxNQUFNO01BQ1osSUFBSSxD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
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export default function apiMakerTranslatedAttributes(attributeNames, availableLocales) {
|
|
2
|
+
const translatedAttributes = [];
|
|
3
|
+
for (const attribute of attributeNames) {
|
|
4
|
+
for (const locale of availableLocales) {
|
|
5
|
+
translatedAttributes.push(`${attribute}${locale.substring(0, 1).toUpperCase()}${locale.substring(1, 99)}`);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
return translatedAttributes;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhcGlNYWtlclRyYW5zbGF0ZWRBdHRyaWJ1dGVzIiwiYXR0cmlidXRlTmFtZXMiLCJhdmFpbGFibGVMb2NhbGVzIiwidHJhbnNsYXRlZEF0dHJpYnV0ZXMiLCJhdHRyaWJ1dGUiLCJsb2NhbGUiLCJwdXNoIiwic3Vic3RyaW5nIiwidG9VcHBlckNhc2UiXSwic291cmNlcyI6WyIuLi9zcmMvdHJhbnNsYXRlZC1hdHRyaWJ1dGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFwaU1ha2VyVHJhbnNsYXRlZEF0dHJpYnV0ZXMoYXR0cmlidXRlTmFtZXMsIGF2YWlsYWJsZUxvY2FsZXMpIHtcbiAgY29uc3QgdHJhbnNsYXRlZEF0dHJpYnV0ZXMgPSBbXVxuXG4gIGZvciAoY29uc3QgYXR0cmlidXRlIG9mIGF0dHJpYnV0ZU5hbWVzKSB7XG4gICAgZm9yIChjb25zdCBsb2NhbGUgb2YgYXZhaWxhYmxlTG9jYWxlcykge1xuICAgICAgdHJhbnNsYXRlZEF0dHJpYnV0ZXMucHVzaChgJHthdHRyaWJ1dGV9JHtsb2NhbGUuc3Vic3RyaW5nKDAsIDEpLnRvVXBwZXJDYXNlKCl9JHtsb2NhbGUuc3Vic3RyaW5nKDEsIDk5KX1gKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cmFuc2xhdGVkQXR0cmlidXRlc1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxlQUFlLFNBQVNBLDRCQUE0QkEsQ0FBQ0MsY0FBYyxFQUFFQyxnQkFBZ0IsRUFBRTtFQUNyRixNQUFNQyxvQkFBb0IsR0FBRyxFQUFFO0VBRS9CLEtBQUssTUFBTUMsU0FBUyxJQUFJSCxjQUFjLEVBQUU7SUFDdEMsS0FBSyxNQUFNSSxNQUFNLElBQUlILGdCQUFnQixFQUFFO01BQ3JDQyxvQkFBb0IsQ0FBQ0csSUFBSSxDQUFDLEdBQUdGLFNBQVMsR0FBR0MsTUFBTSxDQUFDRSxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDQyxXQUFXLENBQUMsQ0FBQyxHQUFHSCxNQUFNLENBQUNFLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUM1RztFQUNGO0VBRUEsT0FBT0osb0JBQW9CO0FBQzdCIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { digg } from "diggerize";
|
|
2
|
+
import I18nOnSteroids from "i18n-on-steroids";
|
|
3
|
+
import translatedCollectionsData from "translated-collections-data.json";
|
|
4
|
+
export default class ApiMakerTranslatedCollections {
|
|
5
|
+
static get(modelClass, collectionName) {
|
|
6
|
+
const locale = I18nOnSteroids.getCurrent().locale;
|
|
7
|
+
const modelClassName = digg(modelClass.modelClassData(), "name");
|
|
8
|
+
const collection = digg(translatedCollectionsData, modelClassName, collectionName, locale, "collection_array");
|
|
9
|
+
return collection;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkaWdnIiwiSTE4bk9uU3Rlcm9pZHMiLCJ0cmFuc2xhdGVkQ29sbGVjdGlvbnNEYXRhIiwiQXBpTWFrZXJUcmFuc2xhdGVkQ29sbGVjdGlvbnMiLCJnZXQiLCJtb2RlbENsYXNzIiwiY29sbGVjdGlvbk5hbWUiLCJsb2NhbGUiLCJnZXRDdXJyZW50IiwibW9kZWxDbGFzc05hbWUiLCJtb2RlbENsYXNzRGF0YSIsImNvbGxlY3Rpb24iXSwic291cmNlcyI6WyIuLi9zcmMvdHJhbnNsYXRlZC1jb2xsZWN0aW9ucy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IEkxOG5PblN0ZXJvaWRzIGZyb20gXCJpMThuLW9uLXN0ZXJvaWRzXCJcbmltcG9ydCB0cmFuc2xhdGVkQ29sbGVjdGlvbnNEYXRhIGZyb20gXCJ0cmFuc2xhdGVkLWNvbGxlY3Rpb25zLWRhdGEuanNvblwiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwaU1ha2VyVHJhbnNsYXRlZENvbGxlY3Rpb25zIHtcbiAgc3RhdGljIGdldCAobW9kZWxDbGFzcywgY29sbGVjdGlvbk5hbWUpIHtcbiAgICBjb25zdCBsb2NhbGUgPSBJMThuT25TdGVyb2lkcy5nZXRDdXJyZW50KCkubG9jYWxlXG4gICAgY29uc3QgbW9kZWxDbGFzc05hbWUgPSBkaWdnKG1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lXCIpXG4gICAgY29uc3QgY29sbGVjdGlvbiA9IGRpZ2codHJhbnNsYXRlZENvbGxlY3Rpb25zRGF0YSwgbW9kZWxDbGFzc05hbWUsIGNvbGxlY3Rpb25OYW1lLCBsb2NhbGUsIFwiY29sbGVjdGlvbl9hcnJheVwiKVxuXG4gICAgcmV0dXJuIGNvbGxlY3Rpb25cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxJQUFJLFFBQU8sV0FBVztBQUM5QixPQUFPQyxjQUFjLE1BQU0sa0JBQWtCO0FBQzdDLE9BQU9DLHlCQUF5QixNQUFNLGtDQUFrQztBQUV4RSxlQUFlLE1BQU1DLDZCQUE2QixDQUFDO0VBQ2pELE9BQU9DLEdBQUdBLENBQUVDLFVBQVUsRUFBRUMsY0FBYyxFQUFFO0lBQ3RDLE1BQU1DLE1BQU0sR0FBR04sY0FBYyxDQUFDTyxVQUFVLENBQUMsQ0FBQyxDQUFDRCxNQUFNO0lBQ2pELE1BQU1FLGNBQWMsR0FBR1QsSUFBSSxDQUFDSyxVQUFVLENBQUNLLGNBQWMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2hFLE1BQU1DLFVBQVUsR0FBR1gsSUFBSSxDQUFDRSx5QkFBeUIsRUFBRU8sY0FBYyxFQUFFSCxjQUFjLEVBQUVDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQztJQUU5RyxPQUFPSSxVQUFVO0VBQ25CO0FBQ0YiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { digg } from "diggerize";
|
|
2
|
+
import ModelEvents from "./model-events";
|
|
3
|
+
import PropTypes from "prop-types";
|
|
4
|
+
import propTypesExact from "prop-types-exact";
|
|
5
|
+
import React from "react";
|
|
6
|
+
export default class ApiMakerUpdatedAttribute extends React.PureComponent {
|
|
7
|
+
static propTypes = propTypesExact({
|
|
8
|
+
attribute: PropTypes.string,
|
|
9
|
+
model: PropTypes.object.isRequired,
|
|
10
|
+
onValue: PropTypes.func
|
|
11
|
+
});
|
|
12
|
+
constructor(props) {
|
|
13
|
+
super(props);
|
|
14
|
+
this.state = {
|
|
15
|
+
model: this.props.model
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
componentDidMount() {
|
|
19
|
+
this.setAttribute();
|
|
20
|
+
this.connect();
|
|
21
|
+
}
|
|
22
|
+
componentWillUnmount() {
|
|
23
|
+
// Apparently 'componentWillUnmount' can be called without 'componentDidMount' was called. Several bug reports on this.
|
|
24
|
+
if (this.connectUpdated) {
|
|
25
|
+
this.connectUpdated.unsubscribe();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
connect() {
|
|
29
|
+
this.connectUpdated = ModelEvents.connectUpdated(this.props.model, args => {
|
|
30
|
+
if (!this.props.attribute || args.model.isAttributeLoaded(this.props.attribute)) {
|
|
31
|
+
this.setState({
|
|
32
|
+
model: args.model
|
|
33
|
+
}, () => this.setAttribute());
|
|
34
|
+
} else {
|
|
35
|
+
this.loadModelWithAttribute();
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// This loads the model from the backend with the primary key and the attribute and calls setAttribute
|
|
41
|
+
async loadModelWithAttribute() {
|
|
42
|
+
const id = this.props.model.primaryKey();
|
|
43
|
+
const modelClass = this.props.model.modelClass();
|
|
44
|
+
const modelName = digg(modelClass.modelClassData(), "name");
|
|
45
|
+
const primaryKey = digg(modelClass.modelClassData(), "primaryKey");
|
|
46
|
+
const args = {};
|
|
47
|
+
args[`${primaryKey}_eq`] = id;
|
|
48
|
+
const select = {};
|
|
49
|
+
select[modelName] = [primaryKey, this.props.attribute];
|
|
50
|
+
const model = await modelClass.ransack(args).select(select).first();
|
|
51
|
+
this.setState({
|
|
52
|
+
model
|
|
53
|
+
}, () => this.setAttribute());
|
|
54
|
+
}
|
|
55
|
+
setAttribute() {
|
|
56
|
+
let newValue;
|
|
57
|
+
if (this.props.onValue) {
|
|
58
|
+
newValue = this.props.onValue.apply(null, [{
|
|
59
|
+
model: this.state.model
|
|
60
|
+
}]);
|
|
61
|
+
} else {
|
|
62
|
+
if (!this.state.model[this.props.attribute]) {
|
|
63
|
+
throw new Error(`No such method: ${digg(this.state.model.modelClassData(), "name")}#${this.props.attribute}()`);
|
|
64
|
+
}
|
|
65
|
+
newValue = this.state.model[this.props.attribute].apply(this.state.model);
|
|
66
|
+
}
|
|
67
|
+
this.setState({
|
|
68
|
+
value: newValue
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
render() {
|
|
72
|
+
if (this.state.value === undefined) return null;
|
|
73
|
+
return this.state.value;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkaWdnIiwiTW9kZWxFdmVudHMiLCJQcm9wVHlwZXMiLCJwcm9wVHlwZXNFeGFjdCIsIlJlYWN0IiwiQXBpTWFrZXJVcGRhdGVkQXR0cmlidXRlIiwiUHVyZUNvbXBvbmVudCIsInByb3BUeXBlcyIsImF0dHJpYnV0ZSIsInN0cmluZyIsIm1vZGVsIiwib2JqZWN0IiwiaXNSZXF1aXJlZCIsIm9uVmFsdWUiLCJmdW5jIiwiY29uc3RydWN0b3IiLCJwcm9wcyIsInN0YXRlIiwiY29tcG9uZW50RGlkTW91bnQiLCJzZXRBdHRyaWJ1dGUiLCJjb25uZWN0IiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJjb25uZWN0VXBkYXRlZCIsInVuc3Vic2NyaWJlIiwiYXJncyIsImlzQXR0cmlidXRlTG9hZGVkIiwic2V0U3RhdGUiLCJsb2FkTW9kZWxXaXRoQXR0cmlidXRlIiwiaWQiLCJwcmltYXJ5S2V5IiwibW9kZWxDbGFzcyIsIm1vZGVsTmFtZSIsIm1vZGVsQ2xhc3NEYXRhIiwic2VsZWN0IiwicmFuc2FjayIsImZpcnN0IiwibmV3VmFsdWUiLCJhcHBseSIsIkVycm9yIiwidmFsdWUiLCJyZW5kZXIiLCJ1bmRlZmluZWQiXSwic291cmNlcyI6WyIuLi9zcmMvdXBkYXRlZC1hdHRyaWJ1dGUuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgTW9kZWxFdmVudHMgZnJvbSBcIi4vbW9kZWwtZXZlbnRzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlclVwZGF0ZWRBdHRyaWJ1dGUgZXh0ZW5kcyBSZWFjdC5QdXJlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBhdHRyaWJ1dGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbW9kZWw6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBvblZhbHVlOiBQcm9wVHlwZXMuZnVuY1xuICB9KVxuXG4gIGNvbnN0cnVjdG9yIChwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKVxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBtb2RlbDogdGhpcy5wcm9wcy5tb2RlbFxuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZE1vdW50ICgpIHtcbiAgICB0aGlzLnNldEF0dHJpYnV0ZSgpXG4gICAgdGhpcy5jb25uZWN0KClcbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50ICgpIHtcbiAgICAvLyBBcHBhcmVudGx5ICdjb21wb25lbnRXaWxsVW5tb3VudCcgY2FuIGJlIGNhbGxlZCB3aXRob3V0ICdjb21wb25lbnREaWRNb3VudCcgd2FzIGNhbGxlZC4gU2V2ZXJhbCBidWcgcmVwb3J0cyBvbiB0aGlzLlxuICAgIGlmICh0aGlzLmNvbm5lY3RVcGRhdGVkKSB7XG4gICAgICB0aGlzLmNvbm5lY3RVcGRhdGVkLnVuc3Vic2NyaWJlKClcbiAgICB9XG4gIH1cblxuICBjb25uZWN0ICgpIHtcbiAgICB0aGlzLmNvbm5lY3RVcGRhdGVkID0gTW9kZWxFdmVudHMuY29ubmVjdFVwZGF0ZWQodGhpcy5wcm9wcy5tb2RlbCwgKGFyZ3MpID0+IHtcbiAgICAgIGlmICghdGhpcy5wcm9wcy5hdHRyaWJ1dGUgfHwgYXJncy5tb2RlbC5pc0F0dHJpYnV0ZUxvYWRlZCh0aGlzLnByb3BzLmF0dHJpYnV0ZSkpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZShcbiAgICAgICAgICB7bW9kZWw6IGFyZ3MubW9kZWx9LFxuICAgICAgICAgICgpID0+IHRoaXMuc2V0QXR0cmlidXRlKClcbiAgICAgICAgKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5sb2FkTW9kZWxXaXRoQXR0cmlidXRlKClcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgLy8gVGhpcyBsb2FkcyB0aGUgbW9kZWwgZnJvbSB0aGUgYmFja2VuZCB3aXRoIHRoZSBwcmltYXJ5IGtleSBhbmQgdGhlIGF0dHJpYnV0ZSBhbmQgY2FsbHMgc2V0QXR0cmlidXRlXG4gIGFzeW5jIGxvYWRNb2RlbFdpdGhBdHRyaWJ1dGUgKCkge1xuICAgIGNvbnN0IGlkID0gdGhpcy5wcm9wcy5tb2RlbC5wcmltYXJ5S2V5KClcbiAgICBjb25zdCBtb2RlbENsYXNzID0gdGhpcy5wcm9wcy5tb2RlbC5tb2RlbENsYXNzKClcbiAgICBjb25zdCBtb2RlbE5hbWUgPSBkaWdnKG1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lXCIpXG4gICAgY29uc3QgcHJpbWFyeUtleSA9IGRpZ2cobW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLCBcInByaW1hcnlLZXlcIilcblxuICAgIGNvbnN0IGFyZ3MgPSB7fVxuICAgIGFyZ3NbYCR7cHJpbWFyeUtleX1fZXFgXSA9IGlkXG5cbiAgICBjb25zdCBzZWxlY3QgPSB7fVxuICAgIHNlbGVjdFttb2RlbE5hbWVdID0gW3ByaW1hcnlLZXksIHRoaXMucHJvcHMuYXR0cmlidXRlXVxuXG4gICAgY29uc3QgbW9kZWwgPSBhd2FpdCBtb2RlbENsYXNzXG4gICAgICAucmFuc2FjayhhcmdzKVxuICAgICAgLnNlbGVjdChzZWxlY3QpXG4gICAgICAuZmlyc3QoKVxuXG4gICAgdGhpcy5zZXRTdGF0ZShcbiAgICAgIHttb2RlbH0sXG4gICAgICAoKSA9PiB0aGlzLnNldEF0dHJpYnV0ZSgpXG4gICAgKVxuICB9XG5cbiAgc2V0QXR0cmlidXRlICgpIHtcbiAgICBsZXQgbmV3VmFsdWVcblxuICAgIGlmICh0aGlzLnByb3BzLm9uVmFsdWUpIHtcbiAgICAgIG5ld1ZhbHVlID0gdGhpcy5wcm9wcy5vblZhbHVlLmFwcGx5KG51bGwsIFt7bW9kZWw6IHRoaXMuc3RhdGUubW9kZWx9XSlcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCF0aGlzLnN0YXRlLm1vZGVsW3RoaXMucHJvcHMuYXR0cmlidXRlXSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggbWV0aG9kOiAke2RpZ2codGhpcy5zdGF0ZS5tb2RlbC5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIil9IyR7dGhpcy5wcm9wcy5hdHRyaWJ1dGV9KClgKVxuICAgICAgfVxuXG4gICAgICBuZXdWYWx1ZSA9IHRoaXMuc3RhdGUubW9kZWxbdGhpcy5wcm9wcy5hdHRyaWJ1dGVdLmFwcGx5KHRoaXMuc3RhdGUubW9kZWwpXG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICB2YWx1ZTogbmV3VmFsdWVcbiAgICB9KVxuICB9XG5cbiAgcmVuZGVyICgpIHtcbiAgICBpZiAodGhpcy5zdGF0ZS52YWx1ZSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gbnVsbFxuXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUudmFsdWVcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxJQUFJLFFBQU8sV0FBVztBQUM5QixPQUFPQyxXQUFXLE1BQU0sZ0JBQWdCO0FBQ3hDLE9BQU9DLFNBQVMsTUFBTSxZQUFZO0FBQ2xDLE9BQU9DLGNBQWMsTUFBTSxrQkFBa0I7QUFDN0MsT0FBT0MsS0FBSyxNQUFNLE9BQU87QUFFekIsZUFBZSxNQUFNQyx3QkFBd0IsU0FBU0QsS0FBSyxDQUFDRSxhQUFhLENBQUM7RUFDeEUsT0FBT0MsU0FBUyxHQUFHSixjQUFjLENBQUM7SUFDaENLLFNBQVMsRUFBRU4sU0FBUyxDQUFDTyxNQUFNO0lBQzNCQyxLQUFLLEVBQUVSLFNBQVMsQ0FBQ1MsTUFBTSxDQUFDQyxVQUFVO0lBQ2xDQyxPQUFPLEVBQUVYLFNBQVMsQ0FBQ1k7RUFDckIsQ0FBQyxDQUFDO0VBRUZDLFdBQVdBLENBQUVDLEtBQUssRUFBRTtJQUNsQixLQUFLLENBQUNBLEtBQUssQ0FBQztJQUNaLElBQUksQ0FBQ0MsS0FBSyxHQUFHO01BQ1hQLEtBQUssRUFB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
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import escapeStringRegexp from "escape-string-regexp";
|
|
2
|
+
const replaces = {
|
|
3
|
+
" ": "+",
|
|
4
|
+
"&": "%26",
|
|
5
|
+
"#": "%23",
|
|
6
|
+
"+": "%2B",
|
|
7
|
+
"/": "%2F",
|
|
8
|
+
"?": "%3F"
|
|
9
|
+
};
|
|
10
|
+
const regexp = new RegExp(`(${Object.keys(replaces).map(escapeStringRegexp).join("|")})`, "g");
|
|
11
|
+
const urlEncode = string => {
|
|
12
|
+
return String(string).replaceAll(regexp, character => replaces[character]);
|
|
13
|
+
};
|
|
14
|
+
export default urlEncode;
|
|
15
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJlc2NhcGVTdHJpbmdSZWdleHAiLCJyZXBsYWNlcyIsInJlZ2V4cCIsIlJlZ0V4cCIsIk9iamVjdCIsImtleXMiLCJtYXAiLCJqb2luIiwidXJsRW5jb2RlIiwic3RyaW5nIiwiU3RyaW5nIiwicmVwbGFjZUFsbCIsImNoYXJhY3RlciJdLCJzb3VyY2VzIjpbIi4uL3NyYy91cmwtZW5jb2RlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBlc2NhcGVTdHJpbmdSZWdleHAgZnJvbSBcImVzY2FwZS1zdHJpbmctcmVnZXhwXCJcblxuY29uc3QgcmVwbGFjZXMgPSB7XG4gIFwiIFwiOiBcIitcIixcbiAgXCImXCI6IFwiJTI2XCIsXG4gIFwiI1wiOiBcIiUyM1wiLFxuICBcIitcIjogXCIlMkJcIixcbiAgXCIvXCI6IFwiJTJGXCIsXG4gIFwiP1wiOiBcIiUzRlwiXG59XG5cbmNvbnN0IHJlZ2V4cCA9IG5ldyBSZWdFeHAoYCgke09iamVjdC5rZXlzKHJlcGxhY2VzKS5tYXAoZXNjYXBlU3RyaW5nUmVnZXhwKS5qb2luKFwifFwiKX0pYCwgXCJnXCIpXG5cbmNvbnN0IHVybEVuY29kZSA9IChzdHJpbmcpID0+IHtcbiAgcmV0dXJuIFN0cmluZyhzdHJpbmcpLnJlcGxhY2VBbGwocmVnZXhwLCAoY2hhcmFjdGVyKSA9PiByZXBsYWNlc1tjaGFyYWN0ZXJdKVxufVxuXG5leHBvcnQgZGVmYXVsdCB1cmxFbmNvZGVcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0Esa0JBQWtCLE1BQU0sc0JBQXNCO0FBRXJELE1BQU1DLFFBQVEsR0FBRztFQUNmLEdBQUcsRUFBRSxHQUFHO0VBQ1IsR0FBRyxFQUFFLEtBQUs7RUFDVixHQUFHLEVBQUUsS0FBSztFQUNWLEdBQUcsRUFBRSxLQUFLO0VBQ1YsR0FBRyxFQUFFLEtBQUs7RUFDVixHQUFHLEVBQUU7QUFDUCxDQUFDO0FBRUQsTUFBTUMsTUFBTSxHQUFHLElBQUlDLE1BQU0sQ0FBQyxJQUFJQyxNQUFNLENBQUNDLElBQUksQ0FBQ0osUUFBUSxDQUFDLENBQUNLLEdBQUcsQ0FBQ04sa0JBQWtCLENBQUMsQ0FBQ08sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO0FBRTlGLE1BQU1DLFNBQVMsR0FBSUMsTUFBTSxJQUFLO0VBQzVCLE9BQU9DLE1BQU0sQ0FBQ0QsTUFBTSxDQUFDLENBQUNFLFVBQVUsQ0FBQ1QsTUFBTSxFQUFHVSxTQUFTLElBQUtYLFFBQVEsQ0FBQ1csU0FBUyxDQUFDLENBQUM7QUFDOUUsQ0FBQztBQUVELGVBQWVKLFNBQVMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { useCallback, useLayoutEffect } from "react";
|
|
2
|
+
import config from "./config";
|
|
3
|
+
import { Dimensions } from "react-native";
|
|
4
|
+
import * as inflection from "inflection";
|
|
5
|
+
import isExpo from "./is-expo";
|
|
6
|
+
import useShape from "set-state-compare/src/use-shape";
|
|
7
|
+
const calculateBreakPoint = windowObject => {
|
|
8
|
+
let windowWidth;
|
|
9
|
+
if (isExpo) {
|
|
10
|
+
windowWidth = windowObject.width;
|
|
11
|
+
} else {
|
|
12
|
+
// Use 'window.innerWidth' outside Expo because sometimes window width excludes scroll
|
|
13
|
+
windowWidth = window.innerWidth;
|
|
14
|
+
}
|
|
15
|
+
const result = {};
|
|
16
|
+
for (const breakpointData of config.getBreakPoints()) {
|
|
17
|
+
const breakpoint = breakpointData[0];
|
|
18
|
+
const width = breakpointData[1];
|
|
19
|
+
if (!result.name && windowWidth >= width) {
|
|
20
|
+
result.name = breakpoint;
|
|
21
|
+
result[`${breakpoint}Down`] = true;
|
|
22
|
+
} else {
|
|
23
|
+
result[`${breakpoint}Down`] = !result.name;
|
|
24
|
+
}
|
|
25
|
+
result[`${breakpoint}Up`] = Boolean(result.name);
|
|
26
|
+
}
|
|
27
|
+
if (result.name) {
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
throw new Error(`Couldn't not find breakpoint from window width: ${windowWidth}`);
|
|
31
|
+
};
|
|
32
|
+
const sizeTypes = ["down", "up"];
|
|
33
|
+
const useBreakpoint = () => {
|
|
34
|
+
const s = useShape();
|
|
35
|
+
const onCalled = useCallback(({
|
|
36
|
+
window: windowObject
|
|
37
|
+
}) => {
|
|
38
|
+
const breakpoint = calculateBreakPoint(windowObject);
|
|
39
|
+
if (breakpoint.name != s.s.breakpoint.name) {
|
|
40
|
+
s.set({
|
|
41
|
+
breakpoint
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}, []);
|
|
45
|
+
s.useStates({
|
|
46
|
+
breakpoint: () => calculateBreakPoint(Dimensions.get("window"))
|
|
47
|
+
});
|
|
48
|
+
const styling = useCallback(args => {
|
|
49
|
+
const style = Object.assign({}, args.base);
|
|
50
|
+
for (const breakpointData of apiMakerConfig.getBreakPoints()) {
|
|
51
|
+
const breakpoint = breakpointData[0];
|
|
52
|
+
for (const sizeType of sizeTypes) {
|
|
53
|
+
const breakpointWithSizeType = `${breakpoint}${inflection.camelize(sizeType)}`;
|
|
54
|
+
if (args[breakpointWithSizeType] && s.s.breakpoint[breakpointWithSizeType]) {
|
|
55
|
+
Object.assign(style, args[breakpointWithSizeType]);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return style;
|
|
60
|
+
}, []);
|
|
61
|
+
useLayoutEffect(() => {
|
|
62
|
+
const subscription = Dimensions.addEventListener("change", onCalled);
|
|
63
|
+
return () => subscription?.remove();
|
|
64
|
+
});
|
|
65
|
+
return {
|
|
66
|
+
styling,
|
|
67
|
+
...s.s.breakpoint
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
export default useBreakpoint;
|
|
71
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUxheW91dEVmZmVjdCIsImNvbmZpZyIsIkRpbWVuc2lvbnMiLCJpbmZsZWN0aW9uIiwiaXNFeHBvIiwidXNlU2hhcGUiLCJjYWxjdWxhdGVCcmVha1BvaW50Iiwid2luZG93T2JqZWN0Iiwid2luZG93V2lkdGgiLCJ3aWR0aCIsIndpbmRvdyIsImlubmVyV2lkdGgiLCJyZXN1bHQiLCJicmVha3BvaW50RGF0YSIsImdldEJyZWFrUG9pbnRzIiwiYnJlYWtwb2ludCIsIm5hbWUiLCJCb29sZWFuIiwiRXJyb3IiLCJzaXplVHlwZXMiLCJ1c2VCcmVha3BvaW50IiwicyIsIm9uQ2FsbGVkIiwic2V0IiwidXNlU3RhdGVzIiwiZ2V0Iiwic3R5bGluZyIsImFyZ3MiLCJzdHlsZSIsIk9iamVjdCIsImFzc2lnbiIsImJhc2UiLCJhcGlNYWtlckNvbmZpZyIsInNpemVUeXBlIiwiYnJlYWtwb2ludFdpdGhTaXplVHlwZSIsImNhbWVsaXplIiwic3Vic2NyaXB0aW9uIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy91c2UtYnJlYWtwb2ludC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3VzZUNhbGxiYWNrLCB1c2VMYXlvdXRFZmZlY3R9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuL2NvbmZpZ1wiXG5pbXBvcnQge0RpbWVuc2lvbnN9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgaXNFeHBvIGZyb20gXCIuL2lzLWV4cG9cIlxuaW1wb3J0IHVzZVNoYXBlIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvdXNlLXNoYXBlXCJcblxuY29uc3QgY2FsY3VsYXRlQnJlYWtQb2ludCA9ICh3aW5kb3dPYmplY3QpID0+IHtcbiAgbGV0IHdpbmRvd1dpZHRoXG5cbiAgaWYgKGlzRXhwbykge1xuICAgIHdpbmRvd1dpZHRoID0gd2luZG93T2JqZWN0LndpZHRoXG4gIH0gZWxzZSB7XG4gICAgLy8gVXNlICd3aW5kb3cuaW5uZXJXaWR0aCcgb3V0c2lkZSBFeHBvIGJlY2F1c2Ugc29tZXRpbWVzIHdpbmRvdyB3aWR0aCBleGNsdWRlcyBzY3JvbGxcbiAgICB3aW5kb3dXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoXG4gIH1cblxuICBjb25zdCByZXN1bHQgPSB7fVxuXG4gIGZvciAoY29uc3QgYnJlYWtwb2ludERhdGEgb2YgY29uZmlnLmdldEJyZWFrUG9pbnRzKCkpIHtcbiAgICBjb25zdCBicmVha3BvaW50ID0gYnJlYWtwb2ludERhdGFbMF1cbiAgICBjb25zdCB3aWR0aCA9IGJyZWFrcG9pbnREYXRhWzFdXG5cbiAgICBpZiAoIXJlc3VsdC5uYW1lICYmIHdpbmRvd1dpZHRoID49IHdpZHRoKSB7XG4gICAgICByZXN1bHQubmFtZSA9IGJyZWFrcG9pbnRcbiAgICAgIHJlc3VsdFtgJHticmVha3BvaW50fURvd25gXSA9IHRydWVcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0W2Ake2JyZWFrcG9pbnR9RG93bmBdID0gIXJlc3VsdC5uYW1lXG4gICAgfVxuXG4gICAgcmVzdWx0W2Ake2JyZWFrcG9pbnR9VXBgXSA9IEJvb2xlYW4ocmVzdWx0Lm5hbWUpXG4gIH1cblxuICBpZiAocmVzdWx0Lm5hbWUpIHtcbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkbid0IG5vdCBmaW5kIGJyZWFrcG9pbnQgZnJvbSB3aW5kb3cgd2lkdGg6ICR7d2luZG93V2lkdGh9YClcbn1cblxuY29uc3Qgc2l6ZVR5cGVzID0gW1wiZG93blwiLCBcInVwXCJdXG5cbmNvbnN0IHVzZUJyZWFrcG9pbnQgPSAoKSA9PiB7XG4gIGNvbnN0IHMgPSB1c2VTaGFwZSgpXG4gIGNvbnN0IG9uQ2FsbGVkID0gdXNlQ2FsbGJhY2soKHt3aW5kb3c6IHdpbmRvd09iamVjdH0pID0+IHtcbiAgICBjb25zdCBicmVha3BvaW50ID0gY2FsY3VsYXRlQnJlYWtQb2ludCh3aW5kb3dPYmplY3QpXG5cbiAgICBpZiAoYnJlYWtwb2ludC5uYW1lICE9IHMucy5icmVha3BvaW50Lm5hbWUpIHtcbiAgICAgIHMuc2V0KHticmVha3BvaW50fSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIHMudXNlU3RhdGVzKHtcbiAgICBicmVha3BvaW50OiAoKSA9PiBjYWxjdWxhdGVCcmVha1BvaW50KERpbWVuc2lvbnMuZ2V0KFwid2luZG93XCIpKVxuICB9KVxuXG4gIGNvbnN0IHN0eWxpbmcgPSB1c2VDYWxsYmFjaygoYXJncykgPT4ge1xuICAgIGNvbnN0IHN0eWxlID0gT2JqZWN0LmFzc2lnbih7fSwgYXJncy5iYXNlKVxuXG4gICAgZm9yIChjb25zdCBicmVha3BvaW50RGF0YSBvZiBhcGlNYWtlckNvbmZpZy5nZXRCcmVha1BvaW50cygpKSB7XG4gICAgICBjb25zdCBicmVha3BvaW50ID0gYnJlYWtwb2ludERhdGFbMF1cblxuICAgICAgZm9yIChjb25zdCBzaXplVHlwZSBvZiBzaXplVHlwZXMpIHtcbiAgICAgICAgY29uc3QgYnJlYWtwb2ludFdpdGhTaXplVHlwZSA9IGAke2JyZWFrcG9pbnR9JHtpbmZsZWN0aW9uLmNhbWVsaXplKHNpemVUeXBlKX1gXG5cbiAgICAgICAgaWYgKGFyZ3NbYnJlYWtwb2ludFdpdGhTaXplVHlwZV0gJiYgcy5zLmJyZWFrcG9pbnRbYnJlYWtwb2ludFdpdGhTaXplVHlwZV0pIHtcbiAgICAgICAgICBPYmplY3QuYXNzaWduKHN0eWxlLCBhcmdzW2JyZWFrcG9pbnRXaXRoU2l6ZVR5cGVdKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0eWxlXG4gIH0sIFtdKVxuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gRGltZW5zaW9ucy5hZGRFdmVudExpc3RlbmVyKFwiY2hhbmdlXCIsIG9uQ2FsbGVkKVxuXG4gICAgcmV0dXJuICgpID0+IHN1YnNjcmlwdGlvbj8ucmVtb3ZlKClcbiAgfSlcblxuICByZXR1cm4ge1xuICAgIHN0eWxpbmcsXG4gICAgLi4ucy5zLmJyZWFrcG9pbnRcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCB1c2VCcmVha3BvaW50XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVFBLFdBQVcsRUFBRUMsZUFBZSxRQUFPLE9BQU87QUFDbEQsT0FBT0MsTUFBTSxNQUFNLFVBQVU7QUFDN0IsU0FBUUMsVUFBVSxRQUFPLGNBQWM7QUFDdkMsT0FBTyxLQUFLQyxVQUFVLE1BQU0sWUFBWTtBQUN4QyxPQUFPQyxNQUFNLE1BQU0sV0FBVztBQUM5QixPQUFPQyxRQUFRLE1BQU0saUNBQWlDO0FBRXRELE1BQU1DLG1CQUFtQixHQUFJQyxZQUFZLElBQUs7RUFDNUMsSUFBSUMsV0FBVztFQUVmLElBQUlKLE1BQU0sRUFBRTtJQUNWSSxXQUFXLEdBQUdELFlBQVksQ0FBQ0UsS0FBSztFQUNsQyxDQUFDLE1BQU07SUFDTDtJQUNBRCxXQUFXLEdBQUdFLE1BQU0sQ0FBQ0MsVUFBVTtFQUNqQztFQUVBLE1BQU1DLE1BQU0sR0FBRyxDQUFDLENBQUM7RUFFakIsS0FBSyxNQUFNQyxjQUFjLElBQUlaLE1BQU0sQ0FBQ2EsY0FBYyxDQUFDLENBQUMsRUFBRTtJQUNwRCxNQUFNQyxVQUFVLEdBQUdGLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDcEMsTUFBTUosS0FBSyxHQUFHSSxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBRS9CLElBQUksQ0FBQ0QsTUFBTSxDQUFDSSxJQUFJLElBQUlSLFdBQVcsSUFBSUMsS0FBSyxFQUFFO01BQ3hDRyxNQUFNLENBQUNJLElBQUksR0FBR0QsVUFBVTtNQUN4QkgsTUFBTSxDQUFDLEdBQUdHLFVBQVUsTUFBTSxDQUFDLEdBQUcsSUFBSTtJQUNwQyxDQUFDLE1BQU07TUFDTEgsTUFBTSxDQUFDLEdBQUdHLFVBQVUsTUFBTSxDQUFDLEdBQUcsQ0FBQ0gsTUFB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
|