@kaspernj/api-maker 1.0.2011 → 1.0.2012
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/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 +62 -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-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 +19 -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/link.sh +8 -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/{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 +76 -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-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 +16 -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,161 @@
|
|
|
1
|
+
// import "../../../../src/super-admin/layout/header/style"
|
|
2
|
+
import React, { useRef } from "react";
|
|
3
|
+
import BaseComponent from "../../../base-component";
|
|
4
|
+
import Icon from "../../../utils/icon";
|
|
5
|
+
import memo from "set-state-compare/src/memo";
|
|
6
|
+
import PropTypes from "prop-types";
|
|
7
|
+
import PropTypesExact from "prop-types-exact";
|
|
8
|
+
import { shapeComponent } from "set-state-compare/src/shape-component";
|
|
9
|
+
import Text from "../../../utils/text";
|
|
10
|
+
import { Pressable, View } from "react-native";
|
|
11
|
+
import useBreakpoint from "../../../use-breakpoint";
|
|
12
|
+
import useEventListener from "../../../use-event-listener";
|
|
13
|
+
export default memo(shapeComponent(class ApiMakerSuperAdminLayoutHeader extends BaseComponent {
|
|
14
|
+
static propTypes = PropTypesExact({
|
|
15
|
+
actions: PropTypes.node,
|
|
16
|
+
onTriggerMenu: PropTypes.func.isRequired,
|
|
17
|
+
title: PropTypes.string
|
|
18
|
+
});
|
|
19
|
+
setup() {
|
|
20
|
+
const {
|
|
21
|
+
name: breakpoint,
|
|
22
|
+
mdUp
|
|
23
|
+
} = useBreakpoint();
|
|
24
|
+
this.headerActionsRef = useRef();
|
|
25
|
+
this.setInstance({
|
|
26
|
+
breakpoint,
|
|
27
|
+
mdUp
|
|
28
|
+
});
|
|
29
|
+
this.useStates({
|
|
30
|
+
headerActionsActive: false
|
|
31
|
+
});
|
|
32
|
+
useEventListener(window, "mouseup", this.tt.onWindowMouseUp);
|
|
33
|
+
}
|
|
34
|
+
render() {
|
|
35
|
+
const {
|
|
36
|
+
breakpoint,
|
|
37
|
+
mdUp
|
|
38
|
+
} = this.tt;
|
|
39
|
+
const {
|
|
40
|
+
actions,
|
|
41
|
+
onTriggerMenu,
|
|
42
|
+
title
|
|
43
|
+
} = this.props;
|
|
44
|
+
const headerStyle = {
|
|
45
|
+
display: "flex",
|
|
46
|
+
flexDirection: "row",
|
|
47
|
+
alignItems: "center",
|
|
48
|
+
zIndex: 9,
|
|
49
|
+
height: 100,
|
|
50
|
+
paddingRight: 30,
|
|
51
|
+
paddingLeft: 30,
|
|
52
|
+
backgroundColor: "#fff"
|
|
53
|
+
};
|
|
54
|
+
const headerActionsContainerStyle = {};
|
|
55
|
+
const headerActionsStyle = {};
|
|
56
|
+
if (breakpoint == "xs" || breakpoint == "sm") {
|
|
57
|
+
headerStyle.position = "absolute";
|
|
58
|
+
headerStyle.width = "100%";
|
|
59
|
+
Object.assign(headerActionsContainerStyle, {
|
|
60
|
+
position: "fixed",
|
|
61
|
+
top: 0,
|
|
62
|
+
left: 0,
|
|
63
|
+
display: "flex",
|
|
64
|
+
width: "100vw",
|
|
65
|
+
height: "100vh",
|
|
66
|
+
alignItems: "center",
|
|
67
|
+
justifyContent: "center",
|
|
68
|
+
background: "rgba(#000, .8)"
|
|
69
|
+
});
|
|
70
|
+
if (!this.s.headerActionsActive) {
|
|
71
|
+
headerActionsContainerStyle.display = "none";
|
|
72
|
+
}
|
|
73
|
+
Object.assign(headerActionsStyle, {
|
|
74
|
+
minWidth: "80vw",
|
|
75
|
+
maxWidth: "100vw",
|
|
76
|
+
backgroundColor: "#fff"
|
|
77
|
+
});
|
|
78
|
+
} else if (breakpoint == "md") {
|
|
79
|
+
headerStyle.position = "fixed";
|
|
80
|
+
headerStyle.left = 250;
|
|
81
|
+
headerStyle.width = "calc(100% - 250px)";
|
|
82
|
+
} else if (breakpoint == "lg" || breakpoint == "xl" || breakpoint == "xxl") {
|
|
83
|
+
headerStyle.position = "fixed";
|
|
84
|
+
headerStyle.left = 290;
|
|
85
|
+
headerStyle.width = "calc(100% - 290px)";
|
|
86
|
+
}
|
|
87
|
+
if (breakpoint == "md" || breakpoint == "lg" || breakpoint == "xl" || breakpoint == "xxl") {
|
|
88
|
+
headerActionsContainerStyle.marginLeft = "auto";
|
|
89
|
+
}
|
|
90
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
91
|
+
dataSet: {
|
|
92
|
+
component: "super-admin--layout--header"
|
|
93
|
+
},
|
|
94
|
+
style: headerStyle
|
|
95
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
96
|
+
dataSet: {
|
|
97
|
+
class: "header-title-container"
|
|
98
|
+
}
|
|
99
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
100
|
+
style: {
|
|
101
|
+
color: "#282a33",
|
|
102
|
+
fontSize: 22
|
|
103
|
+
}
|
|
104
|
+
}, title)), actions && /*#__PURE__*/React.createElement(View, {
|
|
105
|
+
dataSet: {
|
|
106
|
+
active: this.s.headerActionsActive,
|
|
107
|
+
class: "header-actions-container"
|
|
108
|
+
},
|
|
109
|
+
style: headerActionsContainerStyle
|
|
110
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
111
|
+
dataSet: {
|
|
112
|
+
class: "header-actions"
|
|
113
|
+
},
|
|
114
|
+
ref: this.tt.headerActionsRef,
|
|
115
|
+
style: headerActionsStyle
|
|
116
|
+
}, actions)), !mdUp && /*#__PURE__*/React.createElement(View, {
|
|
117
|
+
dataSet: {
|
|
118
|
+
class: "burger-menu-container"
|
|
119
|
+
},
|
|
120
|
+
style: {
|
|
121
|
+
flexDirection: "row",
|
|
122
|
+
marginLeft: "auto"
|
|
123
|
+
}
|
|
124
|
+
}, actions && /*#__PURE__*/React.createElement(Pressable, {
|
|
125
|
+
dataSet: {
|
|
126
|
+
class: "actions-link"
|
|
127
|
+
},
|
|
128
|
+
onPress: this.tt.onGearsClicked,
|
|
129
|
+
style: {
|
|
130
|
+
marginRight: 8,
|
|
131
|
+
fontSize: 22
|
|
132
|
+
}
|
|
133
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
134
|
+
name: "gear",
|
|
135
|
+
size: 20
|
|
136
|
+
})), /*#__PURE__*/React.createElement(Pressable, {
|
|
137
|
+
dataSet: {
|
|
138
|
+
class: "burger-menu-link"
|
|
139
|
+
},
|
|
140
|
+
onPress: onTriggerMenu
|
|
141
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
142
|
+
name: "bars",
|
|
143
|
+
size: 20
|
|
144
|
+
}))));
|
|
145
|
+
}
|
|
146
|
+
onGearsClicked = () => {
|
|
147
|
+
console.log("onGearsClicked");
|
|
148
|
+
this.setState({
|
|
149
|
+
headerActionsActive: !this.s.headerActionsActive
|
|
150
|
+
});
|
|
151
|
+
};
|
|
152
|
+
onWindowMouseUp = e => {
|
|
153
|
+
// Close the header actions menu if clicked happened outside
|
|
154
|
+
if (this.s.headerActionsActive && this.tt.headerActionsRef.current && !this.tt.headerActionsRef.current.contains(e.target)) {
|
|
155
|
+
this.setState({
|
|
156
|
+
headerActionsActive: false
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
}));
|
|
161
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVJlZiIsIkJhc2VDb21wb25lbnQiLCJJY29uIiwibWVtbyIsIlByb3BUeXBlcyIsIlByb3BUeXBlc0V4YWN0Iiwic2hhcGVDb21wb25lbnQiLCJUZXh0IiwiUHJlc3NhYmxlIiwiVmlldyIsInVzZUJyZWFrcG9pbnQiLCJ1c2VFdmVudExpc3RlbmVyIiwiQXBpTWFrZXJTdXBlckFkbWluTGF5b3V0SGVhZGVyIiwicHJvcFR5cGVzIiwiYWN0aW9ucyIsIm5vZGUiLCJvblRyaWdnZXJNZW51IiwiZnVuYyIsImlzUmVxdWlyZWQiLCJ0aXRsZSIsInN0cmluZyIsInNldHVwIiwibmFtZSIsImJyZWFrcG9pbnQiLCJtZFVwIiwiaGVhZGVyQWN0aW9uc1JlZiIsInNldEluc3RhbmNlIiwidXNlU3RhdGVzIiwiaGVhZGVyQWN0aW9uc0FjdGl2ZSIsIndpbmRvdyIsInR0Iiwib25XaW5kb3dNb3VzZVVwIiwicmVuZGVyIiwicHJvcHMiLCJoZWFkZXJTdHlsZSIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiYWxpZ25JdGVtcyIsInpJbmRleCIsImhlaWdodCIsInBhZGRpbmdSaWdodCIsInBhZGRpbmdMZWZ0IiwiYmFja2dyb3VuZENvbG9yIiwiaGVhZGVyQWN0aW9uc0NvbnRhaW5lclN0eWxlIiwiaGVhZGVyQWN0aW9uc1N0eWxlIiwicG9zaXRpb24iLCJ3aWR0aCIsIk9iamVjdCIsImFzc2lnbiIsInRvcCIsImxlZnQiLCJqdXN0aWZ5Q29udGVudCIsImJhY2tncm91bmQiLCJzIiwibWluV2lkdGgiLCJtYXhXaWR0aCIsIm1hcmdpbkxlZnQiLCJjcmVhdGVFbGVtZW50IiwiZGF0YVNldCIsImNvbXBvbmVudCIsInN0eWxlIiwiY2xhc3MiLCJjb2xvciIsImZvbnRTaXplIiwiYWN0aXZlIiwicmVmIiwib25QcmVzcyIsIm9uR2VhcnNDbGlja2VkIiwibWFyZ2luUmlnaHQiLCJzaXplIiwiY29uc29sZSIsImxvZyIsInNldFN0YXRlIiwiZSIsImN1cnJlbnQiLCJjb250YWlucyIsInRhcmdldCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdXBlci1hZG1pbi9sYXlvdXQvaGVhZGVyL2luZGV4LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBpbXBvcnQgXCIuLi8uLi8uLi8uLi9zcmMvc3VwZXItYWRtaW4vbGF5b3V0L2hlYWRlci9zdHlsZVwiXG5pbXBvcnQgUmVhY3QsIHt1c2VSZWZ9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vLi4vLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IEljb24gZnJvbSBcIi4uLy4uLy4uL3V0aWxzL2ljb25cIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9tZW1vXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IFByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvc2hhcGUtY29tcG9uZW50XCJcbmltcG9ydCBUZXh0IGZyb20gXCIuLi8uLi8uLi91dGlscy90ZXh0XCJcbmltcG9ydCB7UHJlc3NhYmxlLCBWaWV3fSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcbmltcG9ydCB1c2VCcmVha3BvaW50IGZyb20gXCIuLi8uLi8uLi91c2UtYnJlYWtwb2ludFwiXG5pbXBvcnQgdXNlRXZlbnRMaXN0ZW5lciBmcm9tIFwiLi4vLi4vLi4vdXNlLWV2ZW50LWxpc3RlbmVyXCJcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlclN1cGVyQWRtaW5MYXlvdXRIZWFkZXIgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IFByb3BUeXBlc0V4YWN0KHtcbiAgICBhY3Rpb25zOiBQcm9wVHlwZXMubm9kZSxcbiAgICBvblRyaWdnZXJNZW51OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nXG4gIH0pXG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge25hbWU6IGJyZWFrcG9pbnQsIG1kVXB9ID0gdXNlQnJlYWtwb2ludCgpXG5cbiAgICB0aGlzLmhlYWRlckFjdGlvbnNSZWYgPSB1c2VSZWYoKVxuICAgIHRoaXMuc2V0SW5zdGFuY2Uoe2JyZWFrcG9pbnQsIG1kVXB9KVxuICAgIHRoaXMudXNlU3RhdGVzKHtcbiAgICAgIGhlYWRlckFjdGlvbnNBY3RpdmU6IGZhbHNlXG4gICAgfSlcblxuICAgIHVzZUV2ZW50TGlzdGVuZXIod2luZG93LCBcIm1vdXNldXBcIiwgdGhpcy50dC5vbldpbmRvd01vdXNlVXApXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2JyZWFrcG9pbnQsIG1kVXB9ID0gdGhpcy50dFxuICAgIGNvbnN0IHthY3Rpb25zLCBvblRyaWdnZXJNZW51LCB0aXRsZX0gPSB0aGlzLnByb3BzXG5cbiAgICBjb25zdCBoZWFkZXJTdHlsZSA9IHtcbiAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgZmxleERpcmVjdGlvbjogXCJyb3dcIixcbiAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICB6SW5kZXg6IDksXG4gICAgICBoZWlnaHQ6IDEwMCxcbiAgICAgIHBhZGRpbmdSaWdodDogMzAsXG4gICAgICBwYWRkaW5nTGVmdDogMzAsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwiI2ZmZlwiXG4gICAgfVxuXG4gICAgY29uc3QgaGVhZGVyQWN0aW9uc0NvbnRhaW5lclN0eWxlID0ge31cbiAgICBjb25zdCBoZWFkZXJBY3Rpb25zU3R5bGUgPSB7fVxuXG4gICAgaWYgKGJyZWFrcG9pbnQgPT0gXCJ4c1wiIHx8IGJyZWFrcG9pbnQgPT0gXCJzbVwiKSB7XG4gICAgICBoZWFkZXJTdHlsZS5wb3NpdGlvbiA9IFwiYWJzb2x1dGVcIlxuICAgICAgaGVhZGVyU3R5bGUud2lkdGggPSBcIjEwMCVcIlxuXG4gICAgICBPYmplY3QuYXNzaWduKGhlYWRlckFjdGlvbnNDb250YWluZXJTdHlsZSwge1xuICAgICAgICBwb3NpdGlvbjogXCJmaXhlZFwiLFxuICAgICAgICB0b3A6IDAsXG4gICAgICAgIGxlZnQ6IDAsXG5cbiAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgIHdpZHRoOiBcIjEwMHZ3XCIsXG4gICAgICAgIGhlaWdodDogXCIxMDB2aFwiLFxuICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcblxuICAgICAgICBiYWNrZ3JvdW5kOiBcInJnYmEoIzAwMCwgLjgpXCJcbiAgICAgIH0pXG5cbiAgICAgIGlmICghdGhpcy5zLmhlYWRlckFjdGlvbnNBY3RpdmUpIHtcbiAgICAgICAgaGVhZGVyQWN0aW9uc0NvbnRhaW5lclN0eWxlLmRpc3BsYXkgPSBcIm5vbmVcIlxuICAgICAgfVxuXG4gICAgICBPYmplY3QuYXNzaWduKGhlYWRlckFjdGlvbnNTdHlsZSwge1xuICAgICAgICBtaW5XaWR0aDogXCI4MHZ3XCIsXG4gICAgICAgIG1heFdpZHRoOiBcIjEwMHZ3XCIsXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogXCIjZmZmXCJcbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmIChicmVha3BvaW50ID09IFwibWRcIikge1xuICAgICAgaGVhZGVyU3R5bGUucG9zaXRpb24gPSBcImZpeGVkXCJcbiAgICAgIGhlYWRlclN0eWxlLmxlZnQgPSAyNTBcbiAgICAgIGhlYWRlclN0eWxlLndpZHRoID0gXCJjYWxjKDEwMCUgLSAyNTBweClcIlxuICAgIH0gZWxzZSBpZiAoYnJlYWtwb2ludCA9PSBcImxnXCIgfHwgYnJlYWtwb2ludCA9PSBcInhsXCIgfHwgYnJlYWtwb2ludCA9PSBcInh4bFwiKSB7XG4gICAgICBoZWFkZXJTdHlsZS5wb3NpdGlvbiA9IFwiZml4ZWRcIlxuICAgICAgaGVhZGVyU3R5bGUubGVmdCA9IDI5MFxuICAgICAgaGVhZGVyU3R5bGUud2lkdGggPSBcImNhbGMoMTAwJSAtIDI5MHB4KVwiXG4gICAgfVxuXG4gICAgaWYgKGJyZWFrcG9pbnQgPT0gXCJtZFwiIHx8IGJyZWFrcG9pbnQgPT0gXCJsZ1wiIHx8IGJyZWFrcG9pbnQgPT0gXCJ4bFwiIHx8IGJyZWFrcG9pbnQgPT0gXCJ4eGxcIikge1xuICAgICAgaGVhZGVyQWN0aW9uc0NvbnRhaW5lclN0eWxlLm1hcmdpbkxlZnQgPSBcImF1dG9cIlxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8VmlldyBkYXRhU2V0PXt7Y29tcG9uZW50OiBcInN1cGVyLWFkbWluLS1sYXlvdXQtLWhlYWRlclwifX0gc3R5bGU9e2hlYWRlclN0eWxlfT5cbiAgICAgICAgPFZpZXcgZGF0YVNldD17e2NsYXNzOiBcImhlYWRlci10aXRsZS1jb250YWluZXJcIn19PlxuICAgICAgICAgIDxUZXh0IHN0eWxlPXt7Y29sb3I6IFwiIzI4MmEzM1wiLCBmb250U2l6ZTogMjJ9fT5cbiAgICAgICAgICAgIHt0aXRsZX1cbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgIDwvVmlldz5cbiAgICAgICAge2FjdGlvbnMgJiZcbiAgICAgICAgICA8VmlldyBkYXRhU2V0PXt7YWN0aXZlOiB0aGlzLnMuaGVhZGVyQWN0aW9uc0FjdGl2ZSwgY2xhc3M6IFwiaGVhZGVyLWFjdGlvbnMtY29udGFpbmVyXCJ9fSBzdHlsZT17aGVhZGVyQWN0aW9uc0NvbnRhaW5lclN0eWxlfT5cbiAgICAgICAgICAgIDxWaWV3XG4gICAgICAgICAgICAgIGRhdGFTZXQ9e3tjbGFzczogXCJoZWFkZXItYWN0aW9uc1wifX1cbiAgICAgICAgICAgICAgcmVmPXt0aGlzLnR0LmhlYWRlckFjdGlvbnNSZWZ9XG4gICAgICAgICAgICAgIHN0eWxlPXtoZWFkZXJBY3Rpb25zU3R5bGV9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHthY3Rpb25zfVxuICAgICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgfVxuICAgICAgICB7IW1kVXAgJiZcbiAgICAgICAgICA8Vmlld1xuICAgICAgICAgICAgZGF0YVNldD17e2NsYXNzOiBcImJ1cmdlci1tZW51LWNvbnRhaW5lclwifX1cbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246IFwicm93XCIsXG4gICAgICAgICAgICAgIG1hcmdpbkxlZnQ6IFwiYXV0b1wiXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHthY3Rpb25zICYmXG4gICAgICAgICAgICAgIDxQcmVzc2FibGUgZGF0YVNldD17e2NsYXNzOiBcImFjdGlvbnMtbGlua1wifX0gb25QcmVzcz17dGhpcy50dC5vbkdlYXJzQ2xpY2tlZH0gc3R5bGU9e3ttYXJnaW5SaWdodDogOCwgZm9udFNpemU6IDIyfX0+XG4gICAgICAgICAgICAgICAgPEljb24gbmFtZT1cImdlYXJcIiBzaXplPXsyMH0gLz5cbiAgICAgICAgICAgICAgPC9QcmVzc2FibGU+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8UHJlc3NhYmxlIGRhdGFTZXQ9e3tjbGFzczogXCJidXJnZXItbWVudS1saW5rXCJ9fSBvblByZXNzPXtvblRyaWdnZXJNZW51fT5cbiAgICAgICAgICAgICAgPEljb24gbmFtZT1cImJhcnNcIiBzaXplPXsyMH0gLz5cbiAgICAgICAgICAgIDwvUHJlc3NhYmxlPlxuICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgfVxuICAgICAgPC9WaWV3PlxuICAgIClcbiAgfVxuXG4gIG9uR2VhcnNDbGlja2VkID0gKCkgPT4ge1xuICAgIGNvbnNvbGUubG9nKFwib25HZWFyc0NsaWNrZWRcIilcblxuICAgIHRoaXMuc2V0U3RhdGUoe2hlYWRlckFjdGlvbnNBY3RpdmU6ICF0aGlzLnMuaGVhZGVyQWN0aW9uc0FjdGl2ZX0pXG4gIH1cblxuICBvbldpbmRvd01vdXNlVXAgPSAoZSkgPT4ge1xuICAgIC8vIENsb3NlIHRoZSBoZWFkZXIgYWN0aW9ucyBtZW51IGlmIGNsaWNrZWQgaGFwcGVuZWQgb3V0c2lkZVxuICAgIGlmICh0aGlzLnMuaGVhZGVyQWN0aW9uc0FjdGl2ZSAmJiB0aGlzLnR0LmhlYWRlckFjdGlvbnNSZWYuY3VycmVudCAmJiAhdGhpcy50dC5oZWFkZXJBY3Rpb25zUmVmLmN1cnJlbnQuY29udGFpbnMoZS50YXJnZXQpKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtoZWFkZXJBY3Rpb25zQWN0aXZlOiBmYWxzZX0pXG4gICAgfVxuICB9XG59KSlcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxPQUFPQSxLQUFLLElBQUdDLE1BQU0sUUFBTyxPQUFPO0FBQ25DLE9BQU9DLGFBQWEsTUFBTSx5QkFBeUI7QUFDbkQsT0FBT0MsSUFBSSxNQUFNLHFCQUFxQjtBQUN0QyxPQUFPQyxJQUFJLE1BQU0sNEJBQTRCO0FBQzdDLE9BQU9DLFNBQVMsTUFBTSxZQUFZO0FBQ2xDLE9BQU9DLGNBQWMsTUFBTSxrQkFBa0I7QUFDN0MsU0FBUUMsY0FBYyxRQUFPLHVDQUF1QztBQUNwRSxPQUFPQyxJQUFJLE1BQU0scUJBQXFCO0FBQ3RDLFNBQVFDLFNBQVMsRUFBRUMsSUFBSSxRQUFPLGNBQWM7QUFDNUMsT0FBT0MsYUFBYSxNQUFNLHlCQUF5QjtBQUNuRCxPQUFPQyxnQkFBZ0IsTUFBTSw2QkFBNkI7QUFFMUQsZUFBZVIsSUFBSSxDQUFDRyxjQUFjLENBQUMsTUFBTU0sOEJBQThCLFNBQVNYLGFBQWEsQ0FBQztFQUM1RixPQUFPWSxTQUFTLEdBQUdSLGNBQWMsQ0FBQztJQUNoQ1MsT0FBTyxFQUFFVixTQUFTLENBQUNXLElBQUk7SUFDdkJDLGFBQWEsRUFBRVosU0FBUyxDQUFDYSxJQUFJLENBQUNDLFVBQVU7SUFDeENDLEtBQUssRUFBRWYsU0FBUyxDQUFDZ0I7RUFDbkIsQ0FBQyxDQUFDO0VBRUZDLEtBQUtBLENBQUEsRUFB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
|
|
@@ -0,0 +1,164 @@
|
|
|
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 { StyleSheet, View } from "react-native";
|
|
4
|
+
import BaseComponent from "../../base-component";
|
|
5
|
+
import CommandsPool from "../../commands-pool";
|
|
6
|
+
import config from "super-admin/config";
|
|
7
|
+
import Header from "./header";
|
|
8
|
+
import memo from "set-state-compare/src/memo";
|
|
9
|
+
import Menu from "./menu";
|
|
10
|
+
import PropTypes from "prop-types";
|
|
11
|
+
import PropTypesExact from "prop-types-exact";
|
|
12
|
+
import { shapeComponent } from "set-state-compare/src/shape-component";
|
|
13
|
+
import Text from "../../utils/text";
|
|
14
|
+
import useBreakpoint from "../../use-breakpoint";
|
|
15
|
+
import useCurrentUser from "../../use-current-user";
|
|
16
|
+
import useI18n from "i18n-on-steroids/src/use-i18n";
|
|
17
|
+
const NoAccess = /*#__PURE__*/React.lazy(() => import("./no-access"));
|
|
18
|
+
const styles = StyleSheet.create({
|
|
19
|
+
appLayoutContentContainer: {
|
|
20
|
+
base: {
|
|
21
|
+
minHeight: "100vh",
|
|
22
|
+
backgroundColor: "#f7f7f7"
|
|
23
|
+
},
|
|
24
|
+
mdDown: {
|
|
25
|
+
paddingTop: 130,
|
|
26
|
+
paddingRight: 30,
|
|
27
|
+
paddingBottom: 30
|
|
28
|
+
},
|
|
29
|
+
mdUp: {
|
|
30
|
+
paddingTop: 130,
|
|
31
|
+
paddingRight: 30,
|
|
32
|
+
paddingBottom: 30,
|
|
33
|
+
paddingLeft: 280
|
|
34
|
+
},
|
|
35
|
+
lgUp: {
|
|
36
|
+
paddingTop: 130,
|
|
37
|
+
paddingRight: 30,
|
|
38
|
+
paddingBottom: 30,
|
|
39
|
+
paddingLeft: 320
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
mb15: {
|
|
43
|
+
marginBottom: 15
|
|
44
|
+
},
|
|
45
|
+
rootView: {
|
|
46
|
+
width: "100%",
|
|
47
|
+
minHeight: "100vh",
|
|
48
|
+
backgroundColor: "#fff",
|
|
49
|
+
color: "#000"
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
export default memo(shapeComponent(class ApiMakerSuperAdminLayout extends BaseComponent {
|
|
53
|
+
static propTypes = PropTypesExact({
|
|
54
|
+
actions: PropTypes.node,
|
|
55
|
+
active: PropTypes.string,
|
|
56
|
+
children: PropTypes.node,
|
|
57
|
+
className: PropTypes.string,
|
|
58
|
+
currentCustomer: PropTypes.object,
|
|
59
|
+
currentCustomerId: PropTypes.string,
|
|
60
|
+
currentUser: PropTypes.object,
|
|
61
|
+
headTitle: PropTypes.string,
|
|
62
|
+
headerTitle: PropTypes.string
|
|
63
|
+
});
|
|
64
|
+
setup() {
|
|
65
|
+
const currentUser = useCurrentUser();
|
|
66
|
+
const {
|
|
67
|
+
locale,
|
|
68
|
+
t
|
|
69
|
+
} = useI18n({
|
|
70
|
+
namespace: "js.api_maker.super_admin.layout"
|
|
71
|
+
});
|
|
72
|
+
const {
|
|
73
|
+
lgUp,
|
|
74
|
+
mdUp,
|
|
75
|
+
mdDown
|
|
76
|
+
} = useBreakpoint();
|
|
77
|
+
this.useStates({
|
|
78
|
+
menuTriggered: false
|
|
79
|
+
});
|
|
80
|
+
this.setInstance({
|
|
81
|
+
currentUser,
|
|
82
|
+
lgUp,
|
|
83
|
+
mdUp,
|
|
84
|
+
mdDown,
|
|
85
|
+
t
|
|
86
|
+
});
|
|
87
|
+
useMemo(() => {
|
|
88
|
+
CommandsPool.current().globalRequestData.layout = "admin";
|
|
89
|
+
CommandsPool.current().globalRequestData.locale = locale;
|
|
90
|
+
}, [locale]);
|
|
91
|
+
}
|
|
92
|
+
render() {
|
|
93
|
+
const {
|
|
94
|
+
currentUser,
|
|
95
|
+
lgUp,
|
|
96
|
+
mdUp,
|
|
97
|
+
mdDown,
|
|
98
|
+
t
|
|
99
|
+
} = this.tt;
|
|
100
|
+
const {
|
|
101
|
+
actions,
|
|
102
|
+
active,
|
|
103
|
+
children,
|
|
104
|
+
className,
|
|
105
|
+
currentCustomer,
|
|
106
|
+
currentCustomerId,
|
|
107
|
+
headTitle,
|
|
108
|
+
headerTitle,
|
|
109
|
+
menu,
|
|
110
|
+
...restProps
|
|
111
|
+
} = this.props;
|
|
112
|
+
const actualHeadTitle = headTitle || headerTitle;
|
|
113
|
+
if (actualHeadTitle) {
|
|
114
|
+
document.title = actualHeadTitle;
|
|
115
|
+
} else {
|
|
116
|
+
document.title = "Super Admin";
|
|
117
|
+
}
|
|
118
|
+
const noAccess = !currentUser;
|
|
119
|
+
const appLayoutContentContainerStyles = [styles.appLayoutContentContainer.base];
|
|
120
|
+
if (mdDown) appLayoutContentContainerStyles.push(styles.appLayoutContentContainer.mdDown);
|
|
121
|
+
if (mdUp) appLayoutContentContainerStyles.push(styles.appLayoutContentContainer.mdUp);
|
|
122
|
+
if (lgUp) appLayoutContentContainerStyles.push(styles.appLayoutContentContainer.lgUp);
|
|
123
|
+
return /*#__PURE__*/React.createElement(View, _extends({
|
|
124
|
+
dataSet: {
|
|
125
|
+
component: "super-admin--layout",
|
|
126
|
+
class: className,
|
|
127
|
+
menuTriggered: this.s.menuTriggered
|
|
128
|
+
},
|
|
129
|
+
style: styles.rootView
|
|
130
|
+
}, restProps), /*#__PURE__*/React.createElement(Menu, {
|
|
131
|
+
active: active,
|
|
132
|
+
noAccess: noAccess,
|
|
133
|
+
onRequestMenuClose: this.tt.onRequestMenuClose,
|
|
134
|
+
triggered: this.s.menuTriggered
|
|
135
|
+
}), /*#__PURE__*/React.createElement(Header, {
|
|
136
|
+
actions: actions,
|
|
137
|
+
onTriggerMenu: this.tt.onTriggerMenu,
|
|
138
|
+
title: headerTitle
|
|
139
|
+
}), /*#__PURE__*/React.createElement(View, {
|
|
140
|
+
dataSet: {
|
|
141
|
+
class: "app-layout-content-container"
|
|
142
|
+
},
|
|
143
|
+
style: appLayoutContentContainerStyles
|
|
144
|
+
}, noAccess && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(NoAccess, null), currentUser && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Text, {
|
|
145
|
+
style: styles.mb15
|
|
146
|
+
}, t(".try_signing_out_and_in_with_a_different_user", {
|
|
147
|
+
defaultValue: "Try signing in with a different user."
|
|
148
|
+
}))), !currentUser && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Text, {
|
|
149
|
+
style: styles.mb15
|
|
150
|
+
}, t(".try_signing_in", {
|
|
151
|
+
defaultValue: "Try signing in."
|
|
152
|
+
})), config.signInContent())), !noAccess && children));
|
|
153
|
+
}
|
|
154
|
+
onRequestMenuClose = () => this.setState({
|
|
155
|
+
menuTriggered: false
|
|
156
|
+
});
|
|
157
|
+
onTriggerMenu = e => {
|
|
158
|
+
e.preventDefault();
|
|
159
|
+
this.setState({
|
|
160
|
+
menuTriggered: !this.s.menuTriggered
|
|
161
|
+
});
|
|
162
|
+
};
|
|
163
|
+
}));
|
|
164
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZU1lbW8iLCJTdHlsZVNoZWV0IiwiVmlldyIsIkJhc2VDb21wb25lbnQiLCJDb21tYW5kc1Bvb2wiLCJjb25maWciLCJIZWFkZXIiLCJtZW1vIiwiTWVudSIsIlByb3BUeXBlcyIsIlByb3BUeXBlc0V4YWN0Iiwic2hhcGVDb21wb25lbnQiLCJUZXh0IiwidXNlQnJlYWtwb2ludCIsInVzZUN1cnJlbnRVc2VyIiwidXNlSTE4biIsIk5vQWNjZXNzIiwibGF6eSIsInN0eWxlcyIsImNyZWF0ZSIsImFwcExheW91dENvbnRlbnRDb250YWluZXIiLCJiYXNlIiwibWluSGVpZ2h0IiwiYmFja2dyb3VuZENvbG9yIiwibWREb3duIiwicGFkZGluZ1RvcCIsInBhZGRpbmdSaWdodCIsInBhZGRpbmdCb3R0b20iLCJtZFVwIiwicGFkZGluZ0xlZnQiLCJsZ1VwIiwibWIxNSIsIm1hcmdpbkJvdHRvbSIsInJvb3RWaWV3Iiwid2lkdGgiLCJjb2xvciIsIkFwaU1ha2VyU3VwZXJBZG1pbkxheW91dCIsInByb3BUeXBlcyIsImFjdGlvbnMiLCJub2RlIiwiYWN0aXZlIiwic3RyaW5nIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJjdXJyZW50Q3VzdG9tZXIiLCJvYmplY3QiLCJjdXJyZW50Q3VzdG9tZXJJZCIsImN1cnJlbnRVc2VyIiwiaGVhZFRpdGxlIiwiaGVhZGVyVGl0bGUiLCJzZXR1cCIsImxvY2FsZSIsInQiLCJuYW1lc3BhY2UiLCJ1c2VTdGF0ZXMiLCJtZW51VHJpZ2dlcmVkIiwic2V0SW5zdGFuY2UiLCJjdXJyZW50IiwiZ2xvYmFsUmVxdWVzdERhdGEiLCJsYXlvdXQiLCJyZW5kZXIiLCJ0dCIsIm1lbnUiLCJyZXN0UHJvcHMiLCJwcm9wcyIsImFjdHVhbEhlYWRUaXRsZSIsImRvY3VtZW50IiwidGl0bGUiLCJub0FjY2VzcyIsImFwcExheW91dENvbnRlbnRDb250YWluZXJTdHlsZXMiLCJwdXNoIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzIiwiZGF0YVNldCIsImNvbXBvbmVudCIsImNsYXNzIiwicyIsInN0eWxlIiwib25SZXF1ZXN0TWVudUNsb3NlIiwidHJpZ2dlcmVkIiwib25UcmlnZ2VyTWVudSIsIkZyYWdtZW50IiwiZGVmYXVsdFZhbHVlIiwic2lnbkluQ29udGVudCIsInNldFN0YXRlIiwiZSIsInByZXZlbnREZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N1cGVyLWFkbWluL2xheW91dC9pbmRleC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7U3R5bGVTaGVldCwgVmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IENvbW1hbmRzUG9vbCBmcm9tIFwiLi4vLi4vY29tbWFuZHMtcG9vbFwiXG5pbXBvcnQgY29uZmlnIGZyb20gXCJzdXBlci1hZG1pbi9jb25maWdcIlxuaW1wb3J0IEhlYWRlciBmcm9tIFwiLi9oZWFkZXJcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9tZW1vXCJcbmltcG9ydCBNZW51IGZyb20gXCIuL21lbnVcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgUHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9zaGFwZS1jb21wb25lbnRcIlxuaW1wb3J0IFRleHQgZnJvbSBcIi4uLy4uL3V0aWxzL3RleHRcIlxuaW1wb3J0IHVzZUJyZWFrcG9pbnQgZnJvbSBcIi4uLy4uL3VzZS1icmVha3BvaW50XCJcbmltcG9ydCB1c2VDdXJyZW50VXNlciBmcm9tIFwiLi4vLi4vdXNlLWN1cnJlbnQtdXNlclwiXG5pbXBvcnQgdXNlSTE4biBmcm9tIFwiaTE4bi1vbi1zdGVyb2lkcy9zcmMvdXNlLWkxOG5cIlxuXG5jb25zdCBOb0FjY2VzcyA9IFJlYWN0LmxhenkoKCkgPT4gaW1wb3J0KFwiLi9uby1hY2Nlc3NcIikpXG5cbmNvbnN0IHN0eWxlcyA9IFN0eWxlU2hlZXQuY3JlYXRlKHtcbiAgYXBwTGF5b3V0Q29udGVudENvbnRhaW5lcjoge1xuICAgIGJhc2U6IHtcbiAgICAgIG1pbkhlaWdodDogXCIxMDB2aFwiLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiBcIiNmN2Y3ZjdcIlxuICAgIH0sXG4gICAgbWREb3duOiB7XG4gICAgICBwYWRkaW5nVG9wOiAxMzAsXG4gICAgICBwYWRkaW5nUmlnaHQ6IDMwLFxuICAgICAgcGFkZGluZ0JvdHRvbTogMzBcbiAgICB9LFxuICAgIG1kVXA6IHtcbiAgICAgIHBhZGRpbmdUb3A6IDEzMCxcbiAgICAgIHBhZGRpbmdSaWdodDogMzAsXG4gICAgICBwYWRkaW5nQm90dG9tOiAzMCxcbiAgICAgIHBhZGRpbmdMZWZ0OiAyODBcbiAgICB9LFxuICAgIGxnVXA6IHtcbiAgICAgIHBhZGRpbmdUb3A6IDEzMCxcbiAgICAgIHBhZGRpbmdSaWdodDogMzAsXG4gICAgICBwYWRkaW5nQm90dG9tOiAzMCxcbiAgICAgIHBhZGRpbmdMZWZ0OiAzMjBcbiAgICB9XG4gIH0sXG4gIG1iMTU6IHtcbiAgICBtYXJnaW5Cb3R0b206IDE1XG4gIH0sXG4gIHJvb3RWaWV3OiB7XG4gICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgIG1pbkhlaWdodDogXCIxMDB2aFwiLFxuICAgIGJhY2tncm91bmRDb2xvcjogXCIjZmZmXCIsXG4gICAgY29sb3I6IFwiIzAwMFwiXG4gIH1cbn0pXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJTdXBlckFkbWluTGF5b3V0IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBQcm9wVHlwZXNFeGFjdCh7XG4gICAgYWN0aW9uczogUHJvcFR5cGVzLm5vZGUsXG4gICAgYWN0aXZlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY3VycmVudEN1c3RvbWVyOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGN1cnJlbnRDdXN0b21lcklkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGN1cnJlbnRVc2VyOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGhlYWRUaXRsZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBoZWFkZXJUaXRsZTogUHJvcFR5cGVzLnN0cmluZ1xuICB9KVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gdXNlQ3VycmVudFVzZXIoKVxuICAgIGNvbnN0IHtsb2NhbGUsIHR9ID0gdXNlSTE4bih7bmFtZXNwYWNlOiBcImpzLmFwaV9tYWtlci5zdXBlcl9hZG1pbi5sYXlvdXRcIn0pXG4gICAgY29uc3Qge2xnVXAsIG1kVXAsIG1kRG93bn0gPSB1c2VCcmVha3BvaW50KClcblxuICAgIHRoaXMudXNlU3RhdGVzKHttZW51VHJpZ2dlcmVkOiBmYWxzZX0pXG4gICAgdGhpcy5zZXRJbnN0YW5jZSh7Y3VycmVudFVzZXIsIGxnVXAsIG1kVXAsIG1kRG93biwgdH0pXG5cbiAgICB1c2VNZW1vKCgpID0+IHtcbiAgICAgIENvbW1hbmRzUG9vbC5jdXJyZW50KCkuZ2xvYmFsUmVxdWVzdERhdGEubGF5b3V0ID0gXCJhZG1pblwiXG4gICAgICBDb21tYW5kc1Bvb2wuY3VycmVudCgpLmdsb2JhbFJlcXVlc3REYXRhLmxvY2FsZSA9IGxvY2FsZVxuICAgIH0sIFtsb2NhbGVdKVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtjdXJyZW50VXNlciwgbGdVcCwgbWRVcCwgbWREb3duLCB0fSA9IHRoaXMudHRcbiAgICBjb25zdCB7XG4gICAgICBhY3Rpb25zLFxuICAgICAgYWN0aXZlLFxuICAgICAgY2hpbGRyZW4sXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBjdXJyZW50Q3VzdG9tZXIsXG4gICAgICBjdXJyZW50Q3VzdG9tZXJJZCxcbiAgICAgIGhlYWRUaXRsZSxcbiAgICAgIGhlYWRlclRpdGxlLFxuICAgICAgbWVudSxcbiAgICAgIC4uLnJlc3RQcm9wc1xuICAgIH0gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgYWN0dWFsSGVhZFRpdGxlID0gaGVhZFRpdGxlIHx8IGhlYWRlclRpdGxlXG5cbiAgICBpZiAoYWN0dWFsSGVhZFRpdGxlKSB7XG4gICAgICBkb2N1bWVudC50aXRsZSA9IGFjdHVhbEhlYWRUaXRsZVxuICAgIH0gZWxzZSB7XG4gICAgICBkb2N1bWVudC50aXRsZSA9IFwiU3VwZXIgQWRtaW5cIlxuICAgIH1cblxuICAgIGNvbnN0IG5vQWNjZXNzID0gIWN1cnJlbnRVc2VyXG4gICAgY29uc3QgYXBwTGF5b3V0Q29udGVudENvbnRhaW5lclN0eWxlcyA9IFtzdHlsZXMuYXBwTGF5b3V0Q29udGVudENvbnRhaW5lci5iYXNlXVxuXG4gICAgaWYgKG1kRG93bikgYXBwTGF5b3V0Q29udGVudENvbnRhaW5lclN0eWxlcy5wdXNoKHN0eWxlcy5hcHBMYXlvdXRDb250ZW50Q29udGFpbmVyLm1kRG93bilcbiAgICBpZiAobWRVcCkgYXBwTGF5b3V0Q29udGVudENvbnRhaW5lclN0eWxlcy5wdXNoKHN0eWxlcy5hcHBMYXlvdXRDb250ZW50Q29udGFpbmVyLm1kVXApXG4gICAgaWYgKGxnVXApIGFwcExheW91dENvbnRlbnRDb250YWluZXJTdHlsZXMucHVzaChzdHlsZXMuYXBwTGF5b3V0Q29udGVudENvbnRhaW5lci5sZ1VwKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3XG4gICAgICAgIGRhdGFTZXQ9e3tjb21wb25lbnQ6IFwic3VwZXItYWRtaW4tLWxheW91dFwiLCBjbGFzczogY2xhc3NOYW1lLCBtZW51VHJpZ2dlcmVkOiB0aGlzLnMubWVudVRyaWdnZXJlZH19XG4gICAgICAgIHN0eWxlPXtzdHlsZXMucm9vdFZpZXd9XG4gICAgICAgIHsuLi5yZXN0UHJvcHN9PlxuICAgICAgICA8TWVudVxuICAgICAgICAgIGFjdGl2ZT17YWN0aXZlfVxuICAgICAgICAgIG5vQWNjZXNzPXtub0FjY2Vzc31cbiAgICAgICAgICBvblJlcXVlc3RNZW51Q2xvc2U9e3RoaXMudHQub25SZXF1ZXN0TWVudUNsb3NlfVxuICAgICAgICAgIHRyaWdnZXJlZD17dGhpcy5zLm1lbnVUcmlnZ2VyZWR9XG4gICAgICAgIC8+XG4gICAgICAgIDxIZWFkZXIgYWN0aW9ucz17YWN0aW9uc30gb25UcmlnZ2VyTWVudT17dGhpcy50dC5vblRyaWdnZXJNZW51fSB0aXRsZT17aGVhZGVyVGl0bGV9IC8+XG4gICAgICAgIDxWaWV3IGRhdGFTZXQ9e3tjbGFzczogXCJhcHAtbGF5b3V0LWNvbnRlbnQtY29udGFpbmVyXCJ9fSBzdHlsZT17YXBwTGF5b3V0Q29udGVudENvbnRhaW5lclN0eWxlc30+XG4gICAgICAgICAge25vQWNjZXNzICYmXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8Tm9BY2Nlc3MgLz5cbiAgICAgICAgICAgICAge2N1cnJlbnRVc2VyICYmXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIDxUZXh0IHN0eWxlPXtzdHlsZXMubWIxNX0+XG4gICAgICAgICAgICAgICAgICAgIHt0KFwiLnRyeV9zaWduaW5nX291dF9hbmRfaW5fd2l0aF9hX2RpZmZlcmVudF91c2VyXCIsIHtkZWZhdWx0VmFsdWU6IFwiVHJ5IHNpZ25pbmcgaW4gd2l0aCBhIGRpZmZlcmVudCB1c2VyLlwifSl9XG4gICAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgeyFjdXJyZW50VXNlciAmJlxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICA8VGV4dCBzdHlsZT17c3R5bGVzLm1iMTV9PlxuICAgICAgICAgICAgICAgICAgICB7dChcIi50cnlfc2lnbmluZ19pblwiLCB7ZGVmYXVsdFZhbHVlOiBcIlRyeSBzaWduaW5nIGluLlwifSl9XG4gICAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgICAgICB7Y29uZmlnLnNpZ25JbkNvbnRlbnQoKX1cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgfVxuICAgICAgICAgIHshbm9BY2Nlc3MgJiYgY2hpbGRyZW59XG4gICAgICAgIDwvVmlldz5cbiAgICAgIDwvVmlldz5cbiAgICApXG4gIH1cblxuICBvblJlcXVlc3RNZW51Q2xvc2UgPSAoKSA9PiB0aGlzLnNldFN0YXRlKHttZW51VHJpZ2dlcmVkOiBmYWxzZX0pXG4gIG9uVHJpZ2dlck1lbnUgPSAoZSkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIHRoaXMuc2V0U3RhdGUoe21lbnVUcmlnZ2VyZWQ6ICF0aGlzLnMubWVudVRyaWdnZXJlZH0pXG4gIH1cbn0pKVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsS0FBSyxJQUFHQyxPQUFPLFFBQU8sT0FBTztBQUNwQyxTQUFRQyxVQUFVLEVBQUVDLElBQUksUUFBTyxjQUFjO0FBQzdDLE9BQU9DLGFBQWEsTUFBTSxzQkFBc0I7QUFDaEQsT0FBT0MsWUFBWSxNQUFNLHFCQUFxQjtBQUM5QyxPQUFPQyxNQUFNLE1BQU0sb0JBQW9CO0FBQ3ZDLE9BQU9DLE1BQU0sTUFBTSxVQUFVO0FBQzdCLE9BQU9DLElBQUksTUFBTSw0QkFBNEI7QUFDN0MsT0FBT0MsSUFBSSxNQUFNLFFBQVE7QUFDekIsT0FBT0MsU0FBUyxNQUFNLFlBQVk7QUFDbEMsT0FBT0MsY0FBYyxNQUFNLGtCQUFrQjtBQUM3QyxTQUFRQyxjQUFjLFFBQU8sdUNBQXVDO0FBQ3BFLE9BQU9DLElBQUksTUFBTSxrQkFBa0I7QUFDbkMsT0FBT0MsYUFBYSxNQUFNLHNCQUFzQjtBQUNoRCxPQUFPQyxjQUFjLE1BQU0sd0JBQXdCO0FBQ25ELE9BQU9DLE9BQU8sTUFBTSwrQkFBK0I7QUFFbkQsTUFBTUMsUUFBUSxnQkFBR2pCLEtBQUssQ0FBQ2tCLElBQUksQ0FBQyxNQUFNLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUV4RCxNQUFNQyxNQUFNLEdBQUdqQixVQUFVLENBQUNrQixNQUFNLENBQUM7RUFDL0JDLHlCQUF5QixFQUFFO0lBQ3pCQyxJQUFJLEVBQUU7TUFDSkMsU0FBUyxFQUFFLE9BQU87TUFDbEJDLGVBQWUsRUFBRTtJQUNuQixDQUFDO0lBQ0RDLE1BQU0sRUFBRTtNQUNOQyxVQUFVLEVBQUUsR0FBRztNQUNmQyxZQUFZLEVBQUUsRUFBRTtNQUNoQkMsYUFBYSxFQUFFO0lBQ2pCLENBQUM7SUFDREMsSUFBSSxFQUFFO01BQ0pILFVBQVUsRUFBRSxHQUFHO01BQ2ZDLFlBQVksRUFBRSxFQUFFO01BQ2hCQyxhQUFhLEVBQUUsRUFBRTtNQUNqQkUsV0FBVyxFQUFFO0lBQ2YsQ0FBQztJQUNEQyxJQUFJLEVBQUU7TUFDSkwsVUFBVSxFQUFFLEdBQUc7TUFDZkMsWUFBWSxFQUFFLEVBQUU7TUFDaEJDLGFBQWEsRUFBRSxFQUFFO01BQ2pCRSxXQUFXLEVBQUU7SUFDZjtFQUNGLENBQUM7RUFDREUsSUFBSSxFQUFFO0lBQ0pDLFlBQVksRUFBRTtFQUNoQixDQUFDO0VBQ0RDLFFBQVEsRUFBRTtJQUNSQyxLQUFLLEVBQUUsTUFBTTtJQUNiWixTQUFTLEVBQUUsT0FBTztJQUNsQkMsZUFBZSxFQUFFLE1BQU07SUFDdkJZLEtBQUssRUFBRTtFQUNUO0FBQ0YsQ0FBQyxDQUFDO0FBRUYsZUFBZTVCLElBQUksQ0FBQ0ksY0FBYyxDQUFDLE1BQU15Qix3QkFBd0IsU0FBU2pDLGFBQWEsQ0FBQztFQUN0RixPQUFPa0MsU0FBUyxHQUFHM0IsY0FBYyxDQUFDO0lBQ2hDNEIsT0FBTyxFQUFFN0IsU0FBUyxDQUFDOEIsSUFBSTtJQUN2QkMsTUFBTSxFQUFFL0IsU0FBUyxDQUFDZ0MsTUFBTTtJQUN4QkMsUUFBUSxFQUFFakMsU0FBUyxDQUFDOEIsSUFBSTtJQUN4QkksU0FBUyxFQUFFbEMsU0FBUyxDQUFDZ0MsTUFBTTtJQUMzQkcsZUFBZSxFQUFFbkMsU0FBUyxDQUFDb0MsTUFBTTtJQUNqQ0MsaUJBQWlCLEVBQUVyQyxTQUFTLENBQUNnQyxNQUFNO0lBQ25DTSxXQUFXLEVBQUV0QyxTQUFTLENBQUNvQyxNQUFNO0lBQzdCRyxTQUFTLEVBQUV2QyxTQUFTLENBQUNnQyxNQUFNO0lBQzNCUSxXQUFXLEVBQUV4QyxTQUFTLENBQUNnQztFQUN6QixDQUFDLENBQUM7RUFFRlMsS0FBS0EsQ0FBQSxFQUFHO0lBQ04sTUFBTUgsV0FBVyxHQUFHakMsY0FBYyxDQUFDLENBQUM7SUFDcEMsTUFBTTtNQUFDcUMsTUFBTTtNQUFFQztJQUFDLENBQUMsR0FBR3JDLE9BQU8sQ0FBQztNQUFDc0MsU0FBUyxFQUFFO0lBQWlDLENBQUMsQ0FBQztJQUMzRSxNQUFNO01BQUN2QixJQUFJO01BQUVGLElBQUk7TUFBRUo7SUFBTSxDQUFDLEdBQUdYLGFBQWEsQ0FBQyxDQUFDO0lBRTVDLElBQUksQ0FBQ3lDLFNBQVMsQ0FBQztNQUFDQyxhQUFhLEVBQUU7SUFBSyxDQUFDLENBQUM7SUFDdEMsSUFBSSxDQUFDQyxXQUFXLENBQUM7TUFBQ1QsV0FBVztNQUFFakIsSUFBSTtNQUFFRixJQUFJO01BQUVKLE1BQU07TUFBRTRCO0lBQUMsQ0FBQyxDQUFDO0lBRXREcEQsT0FBTyxDQUFDLE1BQU07TUFDWkksWUFBWSxDQUFDcUQsT0FBTyxDQUFDLENBQUMsQ0FBQ0MsaUJBQWlCLENBQUNDLE1BQU0sR0FBRyxPQUFPO01BQ3pEdkQsWUFBWSxDQUFDcUQsT0FBTyxDQUFDLENBQUMsQ0FBQ0MsaUJBQWlCLENBQUNQLE1BQU0sR0FBR0EsTUFBTTtJQUMxRCxDQUFDLEVBQUUsQ0FBQ0EsTUFBTSxDQUFDLENBQUM7RUFDZDtFQUVBUyxNQUFNQSxDQUFBLEVBQUc7SUFDUCxNQUFNO01BQUNiLFdBQVc7TUFBRWpCLElBQUk7TUFBRUYsSUFBSTtNQUFFSixNQUFNO01BQUU0QjtJQUFDLENBQUMsR0FBRyxJQUFJLENBQUNTLEVBQUU7SUFDcEQsTUFBTTtNQUNKdkIsT0FBTztNQUNQRSxNQUFNO01BQ05FLFFBQVE7TUFDUkMsU0FBUztNQUNUQyxlQUFlO01BQ2ZFLGlCQUFpQjtNQUNqQkUsU0FBUztNQUNUQyxXQUFXO01BQ1hhLElBQUk7TUFDSixHQUFHQztJQUNMLENBQUMsR0FBRyxJQUFJLENBQUNDLEtBQUs7SUFDZCxNQUFNQyxlQUFlLEdBQUdqQixTQUFTLElBQUlDLFdBQVc7SUFFaEQsSUFBSWdCLGVBQWUsRUFBRTtNQUNuQkMsUUFBUSxDQUFDQyxLQUFLLEdBQUdGLGVBQWU7SUFDbEMsQ0FBQyxNQUFNO01BQ0xDLFFBQVEsQ0FBQ0MsS0FBSyxHQUFHLGFBQWE7SUFDaEM7SUFFQSxNQUFNQyxRQUFRLEdBQUcsQ0FBQ3JCLFdBQVc7SUFDN0IsTUFBTXNCLCtCQUErQixHQUFHLENBQUNuRCxNQUFNLENBQUNFLHlCQUF5QixDQUFDQyxJQUFJLENBQUM7SUFFL0UsSUFBSUcsTUFBTSxFQUFFNkMsK0JBQStCLENBQUNDLElBQUksQ0FBQ3BELE1BQU0sQ0FBQ0UseUJBQXlCLENBQUNJLE1BQU0sQ0FBQztJQUN6RixJQUFJSSxJQUFJLEVBQUV5QywrQkFBK0IsQ0FBQ0MsSUFBSSxDQUFDcEQsTUFBTSxDQUFDRSx5QkFBeUIsQ0FBQ1EsSUFBSSxDQUFDO0lBQ3JGLElBQUlFLElBQUksRUFBRXVDLCtCQUErQixDQUFDQyxJQUFJLENBQUNwRCxNQUFNLENBQUNFLHlCQUF5QixDQUFDVSxJQUFJLENBQUM7SUFFckYsb0JBQ0UvQixLQUFBLENBQUF3RSxhQUFBLENBQUNyRSxJQUFJLEVBQUFzRSxRQUFBO01BQ0hDLE9BQU8sRUFBRTtRQUFDQyxTQUFTLEVBQUUscUJBQXFCO1FBQUVDLEtBQUssRUFBRWhDLFNBQVM7UUFBRVksYUFBYSxFQUFFLElBQUksQ0FBQ3FCLENBQUMsQ0FBQ3JCO01BQWEsQ0FBRTtNQUNuR3NCLEtBQUssRUFBRTNELE1BQU0sQ0FBQ2U7SUFBUyxHQUNuQjhCLFNBQVMsZ0JBQ2JoRSxLQUFBLENBQUF3RSxhQUFBLENBQUMvRCxJQUFJO01BQ0hnQyxNQUFNLEVBQUVBLE1BQU87TUFDZjRCLFFBQVEsRUFBRUEsUUFBUztNQUNuQlUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDakIsRUFBRSxDQUFDaUIsa0JBQW1CO01BQy9DQyxTQUFTLEVBQUUsSUFBSSxDQUFDSCxDQUFDLENBQUNyQjtJQUFjLENBQ2pDLENBQUMsZUFDRnhELEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQ2pFLE1BQU07TUFBQ2dDLE9BQU8sRUFBRUEsT0FBUTtNQUFDMEMsYUFBYSxFQUFFLElBQUksQ0FBQ25CLEVBQUUsQ0FBQ21CLGFBQWM7TUFBQ2IsS0FBSyxFQUFFbEI7SUFBWSxDQUFFLENBQUMsZUFDdEZsRCxLQUFBLENBQUF3RSxhQUFBLENBQUNyRSxJQUFJO01BQUN1RSxPQUFPLEVBQUU7UUFBQ0UsS0FBSyxFQUFFO01BQThCLENBQUU7TUFBQ0UsS0FBSyxFQUFFUjtJQUFnQyxHQUM1RkQsUUFBUSxpQkFDUHJFLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQXhFLEtBQUEsQ0FBQWtGLFFBQUEscUJBQ0VsRixLQUFBLENBQUF3RSxhQUFBLENBQUN2RCxRQUFRLE1BQUUsQ0FBQyxFQUNYK0IsV0FBVyxpQkFDVmhELEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQXhFLEtBQUEsQ0FBQWtGLFFBQUEscUJBQ0VsRixLQUFBLENBQUF3RSxhQUFBLENBQUMzRCxJQUFJO01BQUNpRSxLQUFLLEVBQUUzRCxNQUFNLENBQUNhO0lBQUssR0FDdEJxQixDQUFDLENBQUMsK0NBQStDLEVBQUU7TUFBQzhCLFlBQVksRUFBRTtJQUF1QyxDQUFDLENBQ3ZHLENBQ04sQ0FBQyxFQUVKLENBQUNuQyxXQUFXLGlCQUNYaEQsS0FBQSxDQUFBd0UsYUFBQSxDQUFBeEUsS0FBQSxDQUFBa0YsUUFBQSxxQkFDRWxGLEtBQUEsQ0FBQXdFLGFBQUEsQ0FBQzNELElBQUk7TUFBQ2lFLEtBQUssRUFBRTNELE1BQU0sQ0FBQ2E7SUFBSyxHQUN0QnFCLENBQUMsQ0FBQyxpQkFBaUIsRUFBRTtNQUFDOEIsWUFBWSxFQUFFO0lBQWlCLENBQUMsQ0FDbkQsQ0FBQyxFQUNON0UsTUFBTSxDQUFDOEUsYUFBYSxDQUFDLENBQ3RCLENBRUosQ0FBQyxFQUVKLENBQUNmLFFBQVEsSUFBSTFCLFFBQ1YsQ0FDRixDQUFDO0VBRVg7RUFFQW9DLGtCQUFrQixHQUFHQSxDQUFBLEtBQU0sSUFBSSxDQUFDTSxRQUFRLENBQUM7SUFBQzdCLGFBQWEsRUFBRTtFQUFLLENBQUMsQ0FBQztFQUNoRXlCLGFBQWEsR0FBSUssQ0FBQyxJQUFLO0lBQ3JCQSxDQUFDLENBQUNDLGNBQWMsQ0FBQyxDQUFDO0lBQ2xCLElBQUksQ0FBQ0YsUUFBUSxDQUFDO01BQUM3QixhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUNxQixDQUFDLENBQUNyQjtJQUFhLENBQUMsQ0FBQztFQUN2RCxDQUFDO0FBQ0gsQ0FBQyxDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { StyleSheet, View } from "react-native";
|
|
2
|
+
import BaseComponent from "../../../base-component";
|
|
3
|
+
import Icon from "../../../utils/icon";
|
|
4
|
+
import memo from "set-state-compare/src/memo";
|
|
5
|
+
import Link from "../../../link";
|
|
6
|
+
import MenuContent from "./menu-content";
|
|
7
|
+
import MenuItem from "./menu-item";
|
|
8
|
+
import Params from "../../../params";
|
|
9
|
+
import PropTypes from "prop-types";
|
|
10
|
+
import PropTypesExact from "prop-types-exact";
|
|
11
|
+
import React from "react";
|
|
12
|
+
import { shapeComponent } from "set-state-compare/src/shape-component";
|
|
13
|
+
import Text from "../../../utils/text";
|
|
14
|
+
import useBreakpoint from "../../../use-breakpoint";
|
|
15
|
+
import useCurrentUser from "../../../use-current-user";
|
|
16
|
+
import useI18n from "i18n-on-steroids/src/use-i18n";
|
|
17
|
+
import { WithDefaultStyle } from "../../../utils/default-style";
|
|
18
|
+
const styles = StyleSheet.create({
|
|
19
|
+
root: {
|
|
20
|
+
base: {
|
|
21
|
+
position: "fixed",
|
|
22
|
+
zIndex: 9,
|
|
23
|
+
overflowY: "auto",
|
|
24
|
+
overflowX: "hidden",
|
|
25
|
+
top: 0,
|
|
26
|
+
left: 0,
|
|
27
|
+
height: "100%",
|
|
28
|
+
flexDirection: "column",
|
|
29
|
+
backgroundColor: "#1b1c1e"
|
|
30
|
+
},
|
|
31
|
+
mdDown: {
|
|
32
|
+
width: "100%",
|
|
33
|
+
maxWidth: 250,
|
|
34
|
+
maxHeight: "100vh",
|
|
35
|
+
overflowY: "auto"
|
|
36
|
+
},
|
|
37
|
+
mdUp: {
|
|
38
|
+
width: 250
|
|
39
|
+
},
|
|
40
|
+
lgUp: {
|
|
41
|
+
width: 290
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
userName: {
|
|
45
|
+
flexShrink: 1,
|
|
46
|
+
marginLeft: 8
|
|
47
|
+
},
|
|
48
|
+
userNameContainer: {
|
|
49
|
+
overflow: "hidden",
|
|
50
|
+
maxWidth: 140
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
export default memo(shapeComponent(class ComponentsAdminLayoutMenu extends BaseComponent {
|
|
54
|
+
static propTypes = PropTypesExact({
|
|
55
|
+
active: PropTypes.string,
|
|
56
|
+
noAccess: PropTypes.bool.isRequired,
|
|
57
|
+
onRequestMenuClose: PropTypes.func.isRequired,
|
|
58
|
+
triggered: PropTypes.bool.isRequired
|
|
59
|
+
});
|
|
60
|
+
setup() {
|
|
61
|
+
const {
|
|
62
|
+
lgUp,
|
|
63
|
+
mdDown,
|
|
64
|
+
mdUp
|
|
65
|
+
} = useBreakpoint();
|
|
66
|
+
const {
|
|
67
|
+
t
|
|
68
|
+
} = useI18n({
|
|
69
|
+
namespace: "js.api_maker.super_admin.layout.menu"
|
|
70
|
+
});
|
|
71
|
+
const currentUser = useCurrentUser();
|
|
72
|
+
this.setInstance({
|
|
73
|
+
currentUser,
|
|
74
|
+
lgUp,
|
|
75
|
+
mdDown,
|
|
76
|
+
mdUp,
|
|
77
|
+
t
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
render() {
|
|
81
|
+
const {
|
|
82
|
+
currentUser,
|
|
83
|
+
lgUp,
|
|
84
|
+
mdDown,
|
|
85
|
+
mdUp,
|
|
86
|
+
t
|
|
87
|
+
} = this.tt;
|
|
88
|
+
const {
|
|
89
|
+
active,
|
|
90
|
+
noAccess,
|
|
91
|
+
triggered
|
|
92
|
+
} = this.props;
|
|
93
|
+
const style = [styles.root.base];
|
|
94
|
+
if (mdDown) style.push(styles.root.mdDown);
|
|
95
|
+
if (mdUp) style.push(styles.root.mdUp);
|
|
96
|
+
if (lgUp) style.push(styles.root.lgUp);
|
|
97
|
+
if (mdDown && !triggered) {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
101
|
+
dataSet: {
|
|
102
|
+
component: "super-admin--layout--menu",
|
|
103
|
+
triggered
|
|
104
|
+
},
|
|
105
|
+
style: style
|
|
106
|
+
}, /*#__PURE__*/React.createElement(WithDefaultStyle, {
|
|
107
|
+
style: {
|
|
108
|
+
Text: {
|
|
109
|
+
color: "#fff"
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
113
|
+
dataSet: {
|
|
114
|
+
class: "menu-logo"
|
|
115
|
+
},
|
|
116
|
+
style: {
|
|
117
|
+
overflow: "hidden",
|
|
118
|
+
marginTop: 25,
|
|
119
|
+
marginRight: "auto",
|
|
120
|
+
marginLeft: "auto"
|
|
121
|
+
}
|
|
122
|
+
}, /*#__PURE__*/React.createElement(Link, {
|
|
123
|
+
dataSet: {
|
|
124
|
+
class: "menu-logo-link"
|
|
125
|
+
},
|
|
126
|
+
to: Params.withParams({})
|
|
127
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
128
|
+
style: {
|
|
129
|
+
fontSize: 42,
|
|
130
|
+
textOverflow: "ellipsis",
|
|
131
|
+
whiteSpace: "nowrap"
|
|
132
|
+
}
|
|
133
|
+
}, "Admin"))), /*#__PURE__*/React.createElement(View, {
|
|
134
|
+
dataSet: {
|
|
135
|
+
class: "menu-items-center"
|
|
136
|
+
},
|
|
137
|
+
style: {
|
|
138
|
+
marginTop: 25
|
|
139
|
+
}
|
|
140
|
+
}, !noAccess && /*#__PURE__*/React.createElement(MenuContent, {
|
|
141
|
+
active: active
|
|
142
|
+
})), /*#__PURE__*/React.createElement(View, {
|
|
143
|
+
dataSet: {
|
|
144
|
+
class: "menu-items-bottom"
|
|
145
|
+
},
|
|
146
|
+
style: {
|
|
147
|
+
marginTop: "auto",
|
|
148
|
+
marginBottom: 25
|
|
149
|
+
}
|
|
150
|
+
}, currentUser && /*#__PURE__*/React.createElement(View, {
|
|
151
|
+
dataSet: {
|
|
152
|
+
class: "menu-user-section"
|
|
153
|
+
},
|
|
154
|
+
style: {
|
|
155
|
+
flexDirection: "row",
|
|
156
|
+
alignItems: "center",
|
|
157
|
+
marginRight: 25,
|
|
158
|
+
marginBottom: 25,
|
|
159
|
+
marginLeft: 25
|
|
160
|
+
}
|
|
161
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
162
|
+
dataSet: {
|
|
163
|
+
class: "menu-user-icon"
|
|
164
|
+
},
|
|
165
|
+
style: {
|
|
166
|
+
width: 44,
|
|
167
|
+
height: 44,
|
|
168
|
+
alignItems: "center",
|
|
169
|
+
justifyContent: "center",
|
|
170
|
+
backgroundColor: "#abbcd0",
|
|
171
|
+
borderRadius: "50%"
|
|
172
|
+
}
|
|
173
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
174
|
+
name: "user",
|
|
175
|
+
size: 12
|
|
176
|
+
})), /*#__PURE__*/React.createElement(View, {
|
|
177
|
+
className: "menu-user-name",
|
|
178
|
+
style: styles.userName
|
|
179
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
180
|
+
dataSet: {
|
|
181
|
+
class: "menu-user-name-container"
|
|
182
|
+
},
|
|
183
|
+
style: styles.userNameContainer
|
|
184
|
+
}, currentUser.name()))), currentUser && /*#__PURE__*/React.createElement(MenuItem, {
|
|
185
|
+
active: true,
|
|
186
|
+
className: "sign-out-menu-item",
|
|
187
|
+
icon: "sign-out-alt",
|
|
188
|
+
label: t(".sign_out", {
|
|
189
|
+
defaultValue: "Sign out"
|
|
190
|
+
}),
|
|
191
|
+
onClick: this.tt.onSignOutClicked
|
|
192
|
+
}))));
|
|
193
|
+
}
|
|
194
|
+
onSignOutClicked = async e => {
|
|
195
|
+
e.preventDefault();
|
|
196
|
+
try {
|
|
197
|
+
await Devise.signOut();
|
|
198
|
+
FlashMessage.success(this.t(".you_have_been_signed_out", {
|
|
199
|
+
defaultValue: "You have been signed out"
|
|
200
|
+
}));
|
|
201
|
+
} catch (error) {
|
|
202
|
+
FlashMessage.errorResponse(error);
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
}));
|
|
206
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTdHlsZVNoZWV0IiwiVmlldyIsIkJhc2VDb21wb25lbnQiLCJJY29uIiwibWVtbyIsIkxpbmsiLCJNZW51Q29udGVudCIsIk1lbnVJdGVtIiwiUGFyYW1zIiwiUHJvcFR5cGVzIiwiUHJvcFR5cGVzRXhhY3QiLCJSZWFjdCIsInNoYXBlQ29tcG9uZW50IiwiVGV4dCIsInVzZUJyZWFrcG9pbnQiLCJ1c2VDdXJyZW50VXNlciIsInVzZUkxOG4iLCJXaXRoRGVmYXVsdFN0eWxlIiwic3R5bGVzIiwiY3JlYXRlIiwicm9vdCIsImJhc2UiLCJwb3NpdGlvbiIsInpJbmRleCIsIm92ZXJmbG93WSIsIm92ZXJmbG93WCIsInRvcCIsImxlZnQiLCJoZWlnaHQiLCJmbGV4RGlyZWN0aW9uIiwiYmFja2dyb3VuZENvbG9yIiwibWREb3duIiwid2lkdGgiLCJtYXhXaWR0aCIsIm1heEhlaWdodCIsIm1kVXAiLCJsZ1VwIiwidXNlck5hbWUiLCJmbGV4U2hyaW5rIiwibWFyZ2luTGVmdCIsInVzZXJOYW1lQ29udGFpbmVyIiwib3ZlcmZsb3ciLCJDb21wb25lbnRzQWRtaW5MYXlvdXRNZW51IiwicHJvcFR5cGVzIiwiYWN0aXZlIiwic3RyaW5nIiwibm9BY2Nlc3MiLCJib29sIiwiaXNSZXF1aXJlZCIsIm9uUmVxdWVzdE1lbnVDbG9zZSIsImZ1bmMiLCJ0cmlnZ2VyZWQiLCJzZXR1cCIsInQiLCJuYW1lc3BhY2UiLCJjdXJyZW50VXNlciIsInNldEluc3RhbmNlIiwicmVuZGVyIiwidHQiLCJwcm9wcyIsInN0eWxlIiwicHVzaCIsImNyZWF0ZUVsZW1lbnQiLCJkYXRhU2V0IiwiY29tcG9uZW50IiwiY29sb3IiLCJjbGFzcyIsIm1hcmdpblRvcCIsIm1hcmdpblJpZ2h0IiwidG8iLCJ3aXRoUGFyYW1zIiwiZm9udFNpemUiLCJ0ZXh0T3ZlcmZsb3ciLCJ3aGl0ZVNwYWNlIiwibWFyZ2luQm90dG9tIiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50IiwiYm9yZGVyUmFkaXVzIiwibmFtZSIsInNpemUiLCJjbGFzc05hbWUiLCJpY29uIiwibGFiZWwiLCJkZWZhdWx0VmFsdWUiLCJvbkNsaWNrIiwib25TaWduT3V0Q2xpY2tlZCIsImUiLCJwcmV2ZW50RGVmYXVsdCIsIkRldmlzZSIsInNpZ25PdXQiLCJGbGFzaE1lc3NhZ2UiLCJzdWNjZXNzIiwiZXJyb3IiLCJlcnJvclJlc3BvbnNlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N1cGVyLWFkbWluL2xheW91dC9tZW51L2luZGV4LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1N0eWxlU2hlZXQsIFZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uLy4uLy4uL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBJY29uIGZyb20gXCIuLi8uLi8uLi91dGlscy9pY29uXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvbWVtb1wiXG5pbXBvcnQgTGluayBmcm9tIFwiLi4vLi4vLi4vbGlua1wiXG5pbXBvcnQgTWVudUNvbnRlbnQgZnJvbSBcIi4vbWVudS1jb250ZW50XCJcbmltcG9ydCBNZW51SXRlbSBmcm9tIFwiLi9tZW51LWl0ZW1cIlxuaW1wb3J0IFBhcmFtcyBmcm9tIFwiLi4vLi4vLi4vcGFyYW1zXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IFByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy9zaGFwZS1jb21wb25lbnRcIlxuaW1wb3J0IFRleHQgZnJvbSBcIi4uLy4uLy4uL3V0aWxzL3RleHRcIlxuaW1wb3J0IHVzZUJyZWFrcG9pbnQgZnJvbSBcIi4uLy4uLy4uL3VzZS1icmVha3BvaW50XCJcbmltcG9ydCB1c2VDdXJyZW50VXNlciBmcm9tIFwiLi4vLi4vLi4vdXNlLWN1cnJlbnQtdXNlclwiXG5pbXBvcnQgdXNlSTE4biBmcm9tIFwiaTE4bi1vbi1zdGVyb2lkcy9zcmMvdXNlLWkxOG5cIlxuaW1wb3J0IHtXaXRoRGVmYXVsdFN0eWxlfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvZGVmYXVsdC1zdHlsZVwiXG5cbmNvbnN0IHN0eWxlcyA9IFN0eWxlU2hlZXQuY3JlYXRlKHtcbiAgcm9vdDoge1xuICAgIGJhc2U6IHtcbiAgICAgIHBvc2l0aW9uOiBcImZpeGVkXCIsXG4gICAgICB6SW5kZXg6IDksXG4gICAgICBvdmVyZmxvd1k6IFwiYXV0b1wiLFxuICAgICAgb3ZlcmZsb3dYOiBcImhpZGRlblwiLFxuICAgICAgdG9wOiAwLFxuICAgICAgbGVmdDogMCxcbiAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiBcIiMxYjFjMWVcIlxuICAgIH0sXG4gICAgbWREb3duOiB7XG4gICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICBtYXhXaWR0aDogMjUwLFxuICAgICAgbWF4SGVpZ2h0OiBcIjEwMHZoXCIsXG4gICAgICBvdmVyZmxvd1k6IFwiYXV0b1wiXG4gICAgfSxcbiAgICBtZFVwOiB7XG4gICAgICB3aWR0aDogMjUwXG4gICAgfSxcbiAgICBsZ1VwOiB7XG4gICAgICB3aWR0aDogMjkwXG4gICAgfVxuICB9LFxuICB1c2VyTmFtZToge1xuICAgIGZsZXhTaHJpbms6IDEsXG4gICAgbWFyZ2luTGVmdDogOFxuICB9LFxuICB1c2VyTmFtZUNvbnRhaW5lcjoge1xuICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgIG1heFdpZHRoOiAxNDBcbiAgfVxufSlcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBDb21wb25lbnRzQWRtaW5MYXlvdXRNZW51IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBQcm9wVHlwZXNFeGFjdCh7XG4gICAgYWN0aXZlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG5vQWNjZXNzOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIG9uUmVxdWVzdE1lbnVDbG9zZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB0cmlnZ2VyZWQ6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWRcbiAgfSlcblxuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7bGdVcCwgbWREb3duLCBtZFVwfSA9IHVzZUJyZWFrcG9pbnQoKVxuICAgIGNvbnN0IHt0fSA9IHVzZUkxOG4oe25hbWVzcGFjZTogXCJqcy5hcGlfbWFrZXIuc3VwZXJfYWRtaW4ubGF5b3V0Lm1lbnVcIn0pXG4gICAgY29uc3QgY3VycmVudFVzZXIgPSB1c2VDdXJyZW50VXNlcigpXG5cbiAgICB0aGlzLnNldEluc3RhbmNlKHtjdXJyZW50VXNlciwgbGdVcCwgbWREb3duLCBtZFVwLCB0fSlcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7Y3VycmVudFVzZXIsIGxnVXAsIG1kRG93biwgbWRVcCwgdH0gPSB0aGlzLnR0XG4gICAgY29uc3Qge2FjdGl2ZSwgbm9BY2Nlc3MsIHRyaWdnZXJlZH0gPSB0aGlzLnByb3BzXG5cbiAgICBjb25zdCBzdHlsZSA9IFtzdHlsZXMucm9vdC5iYXNlXVxuXG4gICAgaWYgKG1kRG93bikgc3R5bGUucHVzaChzdHlsZXMucm9vdC5tZERvd24pXG4gICAgaWYgKG1kVXApIHN0eWxlLnB1c2goc3R5bGVzLnJvb3QubWRVcClcbiAgICBpZiAobGdVcCkgc3R5bGUucHVzaChzdHlsZXMucm9vdC5sZ1VwKVxuXG4gICAgaWYgKG1kRG93biAmJiAhdHJpZ2dlcmVkKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8VmlldyBkYXRhU2V0PXt7Y29tcG9uZW50OiBcInN1cGVyLWFkbWluLS1sYXlvdXQtLW1lbnVcIiwgdHJpZ2dlcmVkfX0gc3R5bGU9e3N0eWxlfT5cbiAgICAgICAgPFdpdGhEZWZhdWx0U3R5bGUgc3R5bGU9e3tUZXh0OiB7Y29sb3I6IFwiI2ZmZlwifX19PlxuICAgICAgICAgIDxWaWV3XG4gICAgICAgICAgICBkYXRhU2V0PXt7Y2xhc3M6IFwibWVudS1sb2dvXCJ9fVxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgICAgICAgICAgIG1hcmdpblRvcDogMjUsXG4gICAgICAgICAgICAgIG1hcmdpblJpZ2h0OiBcImF1dG9cIixcbiAgICAgICAgICAgICAgbWFyZ2luTGVmdDogXCJhdXRvXCJcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPExpbmsgZGF0YVNldD17e2NsYXNzOiBcIm1lbnUtbG9nby1saW5rXCJ9fSB0bz17UGFyYW1zLndpdGhQYXJhbXMoe30pfT5cbiAgICAgICAgICAgICAgPFRleHRcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZm9udFNpemU6IDQyLFxuICAgICAgICAgICAgICAgICAgdGV4dE92ZXJmbG93OiBcImVsbGlwc2lzXCIsXG4gICAgICAgICAgICAgICAgICB3aGl0ZVNwYWNlOiBcIm5vd3JhcFwiXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEFkbWluXG4gICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgPFZpZXcgZGF0YVNldD17e2NsYXNzOiBcIm1lbnUtaXRlbXMtY2VudGVyXCJ9fSBzdHlsZT17e21hcmdpblRvcDogMjV9fT5cbiAgICAgICAgICAgIHshbm9BY2Nlc3MgJiZcbiAgICAgICAgICAgICAgPE1lbnVDb250ZW50IGFjdGl2ZT17YWN0aXZlfSAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICA8VmlldyBkYXRhU2V0PXt7Y2xhc3M6IFwibWVudS1pdGVtcy1ib3R0b21cIn19IHN0eWxlPXt7bWFyZ2luVG9wOiBcImF1dG9cIiwgbWFyZ2luQm90dG9tOiAyNX19PlxuICAgICAgICAgICAge2N1cnJlbnRVc2VyICYmXG4gICAgICAgICAgICAgIDxWaWV3XG4gICAgICAgICAgICAgICAgZGF0YVNldD17e2NsYXNzOiBcIm1lbnUtdXNlci1zZWN0aW9uXCJ9fVxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAgICAgICAgICAgIG1hcmdpblJpZ2h0OiAyNSxcbiAgICAgICAgICAgICAgICAgIG1hcmdpbkJvdHRvbTogMjUsXG4gICAgICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiAyNVxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8Vmlld1xuICAgICAgICAgICAgICAgICAgZGF0YVNldD17e2NsYXNzOiBcIm1lbnUtdXNlci1pY29uXCJ9fVxuICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ0LFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ0LFxuICAgICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcIiNhYmJjZDBcIixcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiBcIjUwJVwiXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJ1c2VyXCIgc2l6ZT17MTJ9IC8+XG4gICAgICAgICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgICAgICAgIDxWaWV3IGNsYXNzTmFtZT1cIm1lbnUtdXNlci1uYW1lXCIgc3R5bGU9e3N0eWxlcy51c2VyTmFtZX0+XG4gICAgICAgICAgICAgICAgICA8VGV4dCBkYXRhU2V0PXt7Y2xhc3M6IFwibWVudS11c2VyLW5hbWUtY29udGFpbmVyXCJ9fSBzdHlsZT17c3R5bGVzLnVzZXJOYW1lQ29udGFpbmVyfT5cbiAgICAgICAgICAgICAgICAgICAge2N1cnJlbnRVc2VyLm5hbWUoKX1cbiAgICAgICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHtjdXJyZW50VXNlciAmJlxuICAgICAgICAgICAgICA8TWVudUl0ZW1cbiAgICAgICAgICAgICAgICBhY3RpdmVcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJzaWduLW91dC1tZW51LWl0ZW1cIlxuICAgICAgICAgICAgICAgIGljb249XCJzaWduLW91dC1hbHRcIlxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KFwiLnNpZ25fb3V0XCIsIHtkZWZhdWx0VmFsdWU6IFwiU2lnbiBvdXRcIn0pfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMudHQub25TaWduT3V0Q2xpY2tlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgIDwvV2l0aERlZmF1bHRTdHlsZT5cbiAgICAgIDwvVmlldz5cbiAgICApXG4gIH1cblxuICBvblNpZ25PdXRDbGlja2VkID0gYXN5bmMgKGUpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBEZXZpc2Uuc2lnbk91dCgpXG4gICAgICBGbGFzaE1lc3NhZ2Uuc3VjY2Vzcyh0aGlzLnQoXCIueW91X2hhdmVfYmVlbl9zaWduZWRfb3V0XCIsIHtkZWZhdWx0VmFsdWU6IFwiWW91IGhhdmUgYmVlbiBzaWduZWQgb3V0XCJ9KSlcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgRmxhc2hNZXNzYWdlLmVycm9yUmVzcG9uc2UoZXJyb3IpXG4gICAgfVxuICB9XG59KSlcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsVUFBVSxFQUFFQyxJQUFJLFFBQU8sY0FBYztBQUM3QyxPQUFPQyxhQUFhLE1BQU0seUJBQXlCO0FBQ25ELE9BQU9DLElBQUksTUFBTSxxQkFBcUI7QUFDdEMsT0FBT0MsSUFBSSxNQUFNLDRCQUE0QjtBQUM3QyxPQUFPQyxJQUFJLE1BQU0sZUFBZTtBQUNoQyxPQUFPQyxXQUFXLE1BQU0sZ0JBQWdCO0FBQ3hDLE9BQU9DLFFBQVEsTUFBTSxhQUFhO0FBQ2xDLE9BQU9DLE1BQU0sTUFBTSxpQkFBaUI7QUFDcEMsT0FBT0MsU0FBUyxNQUFNLFlBQVk7QUFDbEMsT0FBT0MsY0FBYyxNQUFNLGtCQUFrQjtBQUM3QyxPQUFPQyxLQUFLLE1BQU0sT0FBTztBQUN6QixTQUFRQyxjQUFjLFFBQU8sdUNBQXVDO0FBQ3BFLE9BQU9DLElBQUksTUFBTSxxQkFBcUI7QUFDdEMsT0FBT0MsYUFBYSxNQUFNLHlCQUF5QjtBQUNuRCxPQUFPQyxjQUFjLE1BQU0sMkJBQTJCO0FBQ3RELE9BQU9DLE9BQU8sTUFBTSwrQkFBK0I7QUFDbkQsU0FBUUMsZ0JBQWdCLFFBQU8sOEJBQThCO0FBRTdELE1BQU1DLE1BQU0sR0FBR2xCLFVBQVUsQ0FBQ21CLE1BQU0sQ0FBQztFQUMvQkMsSUFBSSxFQUFFO0lBQ0pDLElBQUksRUFBRTtNQUNKQyxRQUFRLEVBQUUsT0FBTztNQUNqQkMsTUFBTSxFQUFFLENBQUM7TUFDVEMsU0FBUyxFQUFFLE1BQU07TUFDakJDLFNBQVMsRUFBRSxRQUFRO01BQ25CQyxHQUFHLEVB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
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import React, { useMemo } from "react";
|
|
2
|
+
import BaseComponent from "../../../base-component";
|
|
3
|
+
import { digg } from "diggerize";
|
|
4
|
+
import memo from "set-state-compare/src/memo";
|
|
5
|
+
import MenuItem from "./menu-item";
|
|
6
|
+
import models from "../../models";
|
|
7
|
+
import Params from "../../../params";
|
|
8
|
+
import PropTypes from "prop-types";
|
|
9
|
+
import PropTypesExact from "prop-types-exact";
|
|
10
|
+
import { shapeComponent } from "set-state-compare/src/shape-component";
|
|
11
|
+
import useCanCan from "../../../use-can-can";
|
|
12
|
+
import useI18n from "i18n-on-steroids/src/use-i18n";
|
|
13
|
+
export default memo(shapeComponent(class ComponentsAdminLayoutMenuContent extends BaseComponent {
|
|
14
|
+
static propTypes = PropTypesExact({
|
|
15
|
+
active: PropTypes.string
|
|
16
|
+
});
|
|
17
|
+
render() {
|
|
18
|
+
const {
|
|
19
|
+
locale
|
|
20
|
+
} = useI18n({
|
|
21
|
+
namespace: "js.api_maker.super_admin.layout.menu.menu_content"
|
|
22
|
+
});
|
|
23
|
+
const {
|
|
24
|
+
active
|
|
25
|
+
} = this.p;
|
|
26
|
+
const canCan = useCanCan(() => models.map(modelClass => [modelClass, ["index"]]));
|
|
27
|
+
const sortedModels = useMemo(() => models.sort((a, b) => a.modelName().human({
|
|
28
|
+
count: 2
|
|
29
|
+
}).toLowerCase().localeCompare(b.modelName().human({
|
|
30
|
+
count: 2
|
|
31
|
+
}).toLowerCase())), [locale]);
|
|
32
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, sortedModels.map(model => canCan?.can("index", model) && /*#__PURE__*/React.createElement(MenuItem, {
|
|
33
|
+
active: active,
|
|
34
|
+
icon: "sitemap",
|
|
35
|
+
identifier: digg(model.modelClassData(), "name"),
|
|
36
|
+
label: model.modelName().human({
|
|
37
|
+
count: 2
|
|
38
|
+
}),
|
|
39
|
+
key: model.modelClassData().name,
|
|
40
|
+
to: Params.withParams({
|
|
41
|
+
model: model.modelClassData().name
|
|
42
|
+
})
|
|
43
|
+
})));
|
|
44
|
+
}
|
|
45
|
+
}));
|
|
46
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZU1lbW8iLCJCYXNlQ29tcG9uZW50IiwiZGlnZyIsIm1lbW8iLCJNZW51SXRlbSIsIm1vZGVscyIsIlBhcmFtcyIsIlByb3BUeXBlcyIsIlByb3BUeXBlc0V4YWN0Iiwic2hhcGVDb21wb25lbnQiLCJ1c2VDYW5DYW4iLCJ1c2VJMThuIiwiQ29tcG9uZW50c0FkbWluTGF5b3V0TWVudUNvbnRlbnQiLCJwcm9wVHlwZXMiLCJhY3RpdmUiLCJzdHJpbmciLCJyZW5kZXIiLCJsb2NhbGUiLCJuYW1lc3BhY2UiLCJwIiwiY2FuQ2FuIiwibWFwIiwibW9kZWxDbGFzcyIsInNvcnRlZE1vZGVscyIsInNvcnQiLCJhIiwiYiIsIm1vZGVsTmFtZSIsImh1bWFuIiwiY291bnQiLCJ0b0xvd2VyQ2FzZSIsImxvY2FsZUNvbXBhcmUiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJtb2RlbCIsImNhbiIsImljb24iLCJpZGVudGlmaWVyIiwibW9kZWxDbGFzc0RhdGEiLCJsYWJlbCIsImtleSIsIm5hbWUiLCJ0byIsIndpdGhQYXJhbXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3VwZXItYWRtaW4vbGF5b3V0L21lbnUvbWVudS1jb250ZW50LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHt1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uLy4uLy4uL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL21lbW9cIlxuaW1wb3J0IE1lbnVJdGVtIGZyb20gXCIuL21lbnUtaXRlbVwiXG5pbXBvcnQgbW9kZWxzIGZyb20gXCIuLi8uLi9tb2RlbHNcIlxuaW1wb3J0IFBhcmFtcyBmcm9tIFwiLi4vLi4vLi4vcGFyYW1zXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IFByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvc2hhcGUtY29tcG9uZW50XCJcbmltcG9ydCB1c2VDYW5DYW4gZnJvbSBcIi4uLy4uLy4uL3VzZS1jYW4tY2FuXCJcbmltcG9ydCB1c2VJMThuIGZyb20gXCJpMThuLW9uLXN0ZXJvaWRzL3NyYy91c2UtaTE4blwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQ29tcG9uZW50c0FkbWluTGF5b3V0TWVudUNvbnRlbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IFByb3BUeXBlc0V4YWN0KHtcbiAgICBhY3RpdmU6IFByb3BUeXBlcy5zdHJpbmdcbiAgfSlcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2xvY2FsZX0gPSB1c2VJMThuKHtuYW1lc3BhY2U6IFwianMuYXBpX21ha2VyLnN1cGVyX2FkbWluLmxheW91dC5tZW51Lm1lbnVfY29udGVudFwifSlcbiAgICBjb25zdCB7YWN0aXZlfSA9IHRoaXMucFxuICAgIGNvbnN0IGNhbkNhbiA9IHVzZUNhbkNhbigoKSA9PiBtb2RlbHMubWFwKChtb2RlbENsYXNzKSA9PiBbbW9kZWxDbGFzcywgW1wiaW5kZXhcIl1dKSlcbiAgICBjb25zdCBzb3J0ZWRNb2RlbHMgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gbW9kZWxzLnNvcnQoKGEsIGIpID0+IGEubW9kZWxOYW1lKCkuaHVtYW4oe2NvdW50OiAyfSkudG9Mb3dlckNhc2UoKS5sb2NhbGVDb21wYXJlKGIubW9kZWxOYW1lKCkuaHVtYW4oe2NvdW50OiAyfSkudG9Mb3dlckNhc2UoKSkpLFxuICAgICAgW2xvY2FsZV1cbiAgICApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAge3NvcnRlZE1vZGVscy5tYXAoKG1vZGVsKSA9PiBjYW5DYW4/LmNhbihcImluZGV4XCIsIG1vZGVsKSAmJlxuICAgICAgICAgIDxNZW51SXRlbVxuICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICBpY29uPVwic2l0ZW1hcFwiXG4gICAgICAgICAgICBpZGVudGlmaWVyPXtkaWdnKG1vZGVsLm1vZGVsQ2xhc3NEYXRhKCksIFwibmFtZVwiKX1cbiAgICAgICAgICAgIGxhYmVsPXttb2RlbC5tb2RlbE5hbWUoKS5odW1hbih7Y291bnQ6IDJ9KX1cbiAgICAgICAgICAgIGtleT17bW9kZWwubW9kZWxDbGFzc0RhdGEoKS5uYW1lfVxuICAgICAgICAgICAgdG89e1BhcmFtcy53aXRoUGFyYW1zKHttb2RlbDogbW9kZWwubW9kZWxDbGFzc0RhdGEoKS5uYW1lfSl9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvPlxuICAgIClcbiAgfVxufSkpXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLEtBQUssSUFBR0MsT0FBTyxRQUFPLE9BQU87QUFDcEMsT0FBT0MsYUFBYSxNQUFNLHlCQUF5QjtBQUNuRCxTQUFRQyxJQUFJLFFBQU8sV0FBVztBQUM5QixPQUFPQyxJQUFJLE1BQU0sNEJBQTRCO0FBQzdDLE9BQU9DLFFBQVEsTUFBTSxhQUFhO0FBQ2xDLE9BQU9DLE1BQU0sTUFBTSxjQUFjO0FBQ2pDLE9BQU9DLE1BQU0sTUFBTSxpQkFBaUI7QUFDcEMsT0FBT0MsU0FBUyxNQUFNLFlBQVk7QUFDbEMsT0FBT0MsY0FBYyxNQUFNLGtCQUFrQjtBQUM3QyxTQUFRQyxjQUFjLFFBQU8sdUNBQXVDO0FBQ3BFLE9BQU9DLFNBQVMsTUFBTSxzQkFBc0I7QUFDNUMsT0FBT0MsT0FBTyxNQUFNLCtCQUErQjtBQUVuRCxlQUFlUixJQUFJLENBQUNNLGNBQWMsQ0FBQyxNQUFNRyxnQ0FBZ0MsU0FBU1gsYUFBYSxDQUFDO0VBQzlGLE9BQU9ZLFNBQVMsR0FBR0wsY0FBYyxDQUFDO0lBQ2hDTSxNQUFNLEVBQUVQLFNBQVMsQ0FBQ1E7RUFDcEIsQ0FBQyxDQUFDO0VBRUZDLE1BQU1BLENBQUEsRUFBRztJQUNQLE1BQU07TUFBQ0M7SUFBTSxDQUFDLEdBQUdOLE9BQU8sQ0FBQztNQUFDTyxTQUFTLEVBQUU7SUFBbUQsQ0FBQyxDQUFDO0lBQzFGLE1BQU07TUFBQ0o7SUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDSyxDQUFDO0lBQ3ZCLE1BQU1DLE1BQU0sR0FBR1YsU0FBUyxDQUFDLE1BQU1MLE1BQU0sQ0FBQ2dCLEdBQUcsQ0FBRUMsVUFBVSxJQUFLLENBQUNBLFVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRixNQUFNQyxZQUFZLEdBQUd2QixPQUFPLENBQzFCLE1BQU1LLE1BQU0sQ0FBQ21CLElBQUksQ0FBQyxDQUFDQyxDQUFDLEVBQUVDLENBQUMsS0FBS0QsQ0FBQyxDQUFDRSxTQUFTLENBQUMsQ0FBQyxDQUFDQyxLQUFLLENBQUM7TUFBQ0MsS0FBSyxFQUFFO0lBQUMsQ0FBQyxDQUFDLENBQUNDLFdBQVcsQ0FBQyxDQUFDLENBQUNDLGFBQWEsQ0FBQ0wsQ0FBQyxDQUFDQyxTQUFTLENBQUMsQ0FBQyxDQUFDQyxLQUFLLENBQUM7TUFBQ0MsS0FBSyxFQUFFO0lBQUMsQ0FBQyxDQUFDLENBQUNDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUN2SSxDQUFDYixNQUFNLENBQ1QsQ0FBQztJQUVELG9CQUNFbEIsS0FBQSxDQUFBaUMsYUFBQSxDQUFBakMsS0FBQSxDQUFBa0MsUUFBQSxRQUNHVixZQUFZLENBQUNGLEdBQUcsQ0FBRWEsS0FBSyxJQUFLZCxNQUFNLEVBQUVlLEdBQUcsQ0FBQyxPQUFPLEVBQUVELEtBQUssQ0FBQyxpQkFDdERuQyxLQUFBLENBQUFpQyxhQUFBLENBQUM1QixRQUFRO01BQ1BVLE1BQU0sRUFBRUEsTUFBTztNQUNmc0IsSUFBSSxFQUFDLFNBQVM7TUFDZEMsVUFBVSxFQUFFbkMsSUFBSSxDQUFDZ0MsS0FBSyxDQUFDSSxjQUFjLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBRTtNQUNqREMsS0FBSyxFQUFFTCxLQUFLLENBQUNQLFNBQVMsQ0FBQyxDQUFDLENBQUNDLEtBQUssQ0FBQztRQUFDQyxLQUFLLEVBQUU7TUFBQyxDQUFDLENBQUU7TUFDM0NXLEdBQUcsRUFBRU4sS0FBSyxDQUFDSSxjQUFjLENBQUMsQ0FBQyxDQUFDRyxJQUFLO01BQ2pDQyxFQUFFLEVBQUVwQyxNQUFNLENBQUNxQyxVQUFVLENBQUM7UUFBQ1QsS0FBSyxFQUFFQSxLQUFLLENBQUNJLGNBQWMsQ0FBQyxDQUFDLENBQUNHO01BQUksQ0FBQztJQUFFLENBQzdELENBQ0gsQ0FDQSxDQUFDO0VBRVA7QUFDRixDQUFDLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|