@kaspernj/api-maker 1.0.2059 → 1.0.2061
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/api.d.ts +89 -14
- package/build/api.d.ts.map +1 -1
- package/build/api.js +100 -32
- package/build/attribute-not-loaded-error.js +2 -5
- package/build/base-component.js +3 -6
- package/build/base-error.js +9 -15
- package/build/base-model/attribute.js +4 -10
- package/build/base-model/column.js +2 -5
- package/build/base-model/reflection.js +10 -49
- package/build/base-model/scope.js +5 -41
- package/build/base-model.js +76 -115
- package/build/bootstrap/attribute-row.js +39 -71
- package/build/bootstrap/attribute-rows.js +14 -20
- package/build/bootstrap/card.js +57 -72
- package/build/bootstrap/checkbox.js +40 -35
- package/build/bootstrap/checkboxes.js +45 -69
- package/build/bootstrap/index.js +1 -2
- package/build/bootstrap/input.d.ts +1 -1
- package/build/bootstrap/input.js +69 -48
- package/build/bootstrap/invalid-feedback.d.ts +5 -2
- package/build/bootstrap/invalid-feedback.d.ts.map +1 -1
- package/build/bootstrap/invalid-feedback.js +12 -17
- package/build/bootstrap/paginate.js +74 -74
- package/build/bootstrap/radio-buttons.d.ts +1 -1
- package/build/bootstrap/radio-buttons.js +38 -33
- package/build/bootstrap/select.d.ts +1 -1
- package/build/bootstrap/select.js +46 -34
- package/build/bootstrap/sort-link.js +35 -68
- package/build/cable-connection-pool.d.ts +6 -7
- package/build/cable-connection-pool.d.ts.map +1 -1
- package/build/cable-connection-pool.js +12 -18
- package/build/cable-subscription-pool.js +19 -58
- package/build/cable-subscription.js +6 -12
- package/build/cache-key-generator.js +5 -11
- package/build/can-can.js +17 -56
- package/build/channels-consumer.js +5 -10
- package/build/collection-loader.js +31 -36
- package/build/collection.js +19 -58
- package/build/command-submit-data.js +4 -10
- package/build/commands-pool.js +33 -39
- package/build/compose.js +2 -5
- package/build/config.js +5 -40
- package/build/custom-error.js +4 -9
- package/build/data-set-to-attributes.js +3 -39
- package/build/deserializer.js +18 -57
- package/build/destroy-error.js +4 -9
- package/build/devise.js +16 -55
- package/build/draggable-sort/controller.js +11 -14
- package/build/draggable-sort/index.js +32 -69
- package/build/draggable-sort/item.js +33 -70
- package/build/error-logger.js +8 -14
- package/build/error-messages.js +5 -8
- package/build/event-connection.d.ts +4 -1
- package/build/event-connection.d.ts.map +1 -1
- package/build/event-connection.js +12 -18
- package/build/event-emitter-listener.js +4 -9
- package/build/event-model-class.d.ts +4 -1
- package/build/event-model-class.d.ts.map +1 -1
- package/build/event-model-class.js +11 -17
- package/build/events.js +4 -6
- package/build/form.d.ts +3 -2
- package/build/form.d.ts.map +1 -1
- package/build/form.js +31 -69
- package/build/history-expo.js +6 -11
- package/build/history-react-native.js +9 -14
- package/build/history.js +3 -5
- package/build/index.js +2 -5
- package/build/inputs/attachment.js +34 -29
- package/build/inputs/auto-submit.js +6 -42
- package/build/inputs/checkbox.js +37 -73
- package/build/inputs/checkboxes.d.ts +1 -1
- package/build/inputs/checkboxes.js +40 -68
- package/build/inputs/id-for-component.js +3 -39
- package/build/inputs/input-wrapper.d.ts +2 -1
- package/build/inputs/input-wrapper.d.ts.map +1 -1
- package/build/inputs/input-wrapper.js +6 -12
- package/build/inputs/input.d.ts +1 -1
- package/build/inputs/input.js +66 -101
- package/build/inputs/money.js +56 -85
- package/build/inputs/name-for-component.js +3 -39
- package/build/inputs/select.d.ts +1 -1
- package/build/inputs/select.js +33 -32
- package/build/instance-of-class-name.js +5 -7
- package/build/is-expo.js +6 -8
- package/build/key-value-store.js +4 -10
- package/build/link.js +15 -21
- package/build/logger.js +2 -5
- package/build/merge-styles.js +4 -7
- package/build/modal.js +24 -25
- package/build/model-class-require.js +4 -40
- package/build/model-events.js +14 -20
- package/build/model-name.js +5 -44
- package/build/model-prop-type.js +9 -15
- package/build/model-recipes-loader.js +8 -14
- package/build/model-recipes-model-loader.d.ts +7 -7
- package/build/model-recipes-model-loader.js +18 -57
- package/build/models-response-reader.js +7 -46
- package/build/models.js +5 -10
- package/build/money-formatter.d.ts +2 -2
- package/build/money-formatter.d.ts.map +1 -1
- package/build/money-formatter.js +13 -19
- package/build/not-loaded-error.js +2 -5
- package/build/params.js +13 -19
- package/build/preloaded.js +5 -44
- package/build/resize-observer.js +6 -11
- package/build/rest-props-validator.js +2 -4
- package/build/result.js +2 -5
- package/build/router/route.d.ts +4 -4
- package/build/router/route.d.ts.map +1 -1
- package/build/router/route.js +50 -82
- package/build/router/switch.d.ts +2 -1
- package/build/router/switch.d.ts.map +1 -1
- package/build/router/switch.js +18 -56
- package/build/router.d.ts +2 -1
- package/build/router.d.ts.map +1 -1
- package/build/router.js +24 -59
- package/build/routes-native.js +15 -54
- package/build/routes.js +13 -49
- package/build/run-last.js +2 -5
- package/build/serializer.js +5 -8
- package/build/services.js +4 -10
- package/build/session-status-updater.js +14 -53
- package/build/source-maps-loader.js +11 -50
- package/build/super-admin/config-reader.js +9 -45
- package/build/super-admin/edit-page/edit-attribute-checkbox.js +24 -61
- package/build/super-admin/edit-page/edit-attribute-content.js +16 -21
- package/build/super-admin/edit-page/edit-attribute-input.js +37 -71
- package/build/super-admin/edit-page/edit-attribute.js +33 -66
- package/build/super-admin/edit-page.js +50 -79
- package/build/super-admin/has-edit-config.js +4 -9
- package/build/super-admin/index-page.js +13 -17
- package/build/super-admin/index.js +72 -84
- package/build/super-admin/layout/header/index.d.ts +25 -1
- package/build/super-admin/layout/header/index.d.ts.map +1 -1
- package/build/super-admin/layout/header/index.js +49 -71
- package/build/super-admin/layout/index.js +59 -78
- package/build/super-admin/layout/menu/index.d.ts +4 -1
- package/build/super-admin/layout/menu/index.d.ts.map +1 -1
- package/build/super-admin/layout/menu/index.js +90 -105
- package/build/super-admin/layout/menu/menu-content.js +23 -60
- package/build/super-admin/layout/menu/menu-item.js +20 -23
- package/build/super-admin/layout/no-access.js +16 -20
- package/build/super-admin/model-class-table.js +25 -64
- package/build/super-admin/models.js +3 -38
- package/build/super-admin/show-nav.js +33 -61
- package/build/super-admin/show-page/belongs-to-attribute-row.js +20 -52
- package/build/super-admin/show-page/index.js +29 -63
- package/build/super-admin/show-reflection-actions.js +27 -62
- package/build/super-admin/show-reflection-link.js +17 -19
- package/build/super-admin/show-reflection-page.js +27 -63
- package/build/table/column-content.js +14 -54
- package/build/table/column-identifier.js +2 -5
- package/build/table/column-visible.js +2 -5
- package/build/table/components/column.js +8 -14
- package/build/table/components/flat-list.js +8 -14
- package/build/table/components/header.js +10 -16
- package/build/table/components/row.js +10 -16
- package/build/table/filters/attribute-element.js +24 -26
- package/build/table/filters/filter-form.js +124 -118
- package/build/table/filters/filter.js +36 -32
- package/build/table/filters/index.js +55 -43
- package/build/table/filters/load-search-modal.js +67 -81
- package/build/table/filters/reflection-element.js +20 -22
- package/build/table/filters/save-search-modal.js +29 -27
- package/build/table/filters/scope-element.js +17 -19
- package/build/table/header-column-content.js +27 -28
- package/build/table/header-column.js +45 -80
- package/build/table/header-select.js +39 -32
- package/build/table/model-callback-args.js +3 -39
- package/build/table/model-column.js +45 -75
- package/build/table/model-row.js +57 -79
- package/build/table/select-calculator.js +13 -52
- package/build/table/settings/column-row.js +25 -57
- package/build/table/settings/download-action.js +45 -31
- package/build/table/settings/index.js +42 -66
- package/build/table/table-settings.js +31 -70
- package/build/table/table.js +242 -212
- package/build/table/use-sorting.js +6 -12
- package/build/table/widths.js +9 -12
- package/build/table/worker-plugins-check-all-checkbox.js +25 -64
- package/build/table/worker-plugins-checkbox.js +22 -61
- package/build/translated-attributes.js +2 -5
- package/build/translated-collections.js +8 -14
- package/build/updated-attribute.d.ts +2 -1
- package/build/updated-attribute.d.ts.map +1 -1
- package/build/updated-attribute.js +15 -21
- package/build/url-encode.js +4 -10
- package/build/use-breakpoint.js +20 -58
- package/build/use-can-can.js +15 -21
- package/build/use-collection.d.ts +4 -4
- package/build/use-collection.d.ts.map +1 -1
- package/build/use-collection.js +32 -70
- package/build/use-created-event.js +22 -27
- package/build/use-current-user-context.d.ts +1 -1
- package/build/use-current-user-context.d.ts.map +1 -1
- package/build/use-current-user-context.js +37 -74
- package/build/use-current-user.js +11 -17
- package/build/use-destroyed-event.js +15 -20
- package/build/use-event-emitter.js +7 -13
- package/build/use-event-listener.js +7 -12
- package/build/use-input.js +28 -33
- package/build/use-model-event.js +13 -18
- package/build/use-model.js +28 -66
- package/build/use-resize-observer.js +10 -15
- package/build/use-router.d.ts +5 -2
- package/build/use-router.d.ts.map +1 -1
- package/build/use-router.js +35 -66
- package/build/use-screen-layout.d.ts.map +1 -1
- package/build/use-screen-layout.js +13 -8
- package/build/use-styles.d.ts +1 -1
- package/build/use-styles.d.ts.map +1 -1
- package/build/use-styles.js +16 -54
- package/build/use-updated-event.d.ts.map +1 -1
- package/build/use-updated-event.js +18 -21
- package/build/use-validation-errors.d.ts.map +1 -1
- package/build/use-validation-errors.js +10 -14
- package/build/utils/button.js +35 -33
- package/build/utils/card.js +30 -61
- package/build/utils/checkbox.js +28 -60
- package/build/utils/checkboxes.js +47 -78
- package/build/utils/default-style.d.ts +7 -3
- package/build/utils/default-style.d.ts.map +1 -1
- package/build/utils/default-style.js +18 -58
- package/build/utils/header.d.ts +2 -1
- package/build/utils/header.d.ts.map +1 -1
- package/build/utils/header.js +6 -12
- package/build/utils/icon.js +22 -61
- package/build/utils/invalid-feedback.js +13 -17
- package/build/utils/modal.js +29 -60
- package/build/utils/text.js +10 -14
- package/build/validation-error.js +6 -45
- package/build/validation-errors.d.ts.map +1 -1
- package/build/validation-errors.js +19 -59
- package/build/with-api-maker.js +13 -52
- package/build/with-collection.js +11 -50
- package/build/with-current-user.d.ts +2 -1
- package/build/with-current-user.d.ts.map +1 -1
- package/build/with-current-user.js +6 -12
- package/build/with-model.js +8 -14
- package/build/with-router.d.ts +6 -2
- package/build/with-router.d.ts.map +1 -1
- package/build/with-router.js +12 -13
- package/package.json +5 -3
|
@@ -1,58 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
40
|
-
const attribute_row_1 = __importDefault(require("../../bootstrap/attribute-row"));
|
|
41
|
-
const base_component_js_1 = __importDefault(require("../../base-component.js"));
|
|
42
|
-
const inflection = __importStar(require("inflection"));
|
|
43
|
-
const link_1 = __importDefault(require("../../link"));
|
|
44
|
-
const memo_js_1 = __importDefault(require("set-state-compare/build/memo.js"));
|
|
45
|
-
const params_js_1 = __importDefault(require("../../params.js"));
|
|
46
|
-
const react_1 = __importDefault(require("react"));
|
|
47
|
-
const shape_component_js_1 = require("set-state-compare/build/shape-component.js");
|
|
48
|
-
const text_1 = __importDefault(require("../../utils/text"));
|
|
49
|
-
exports.default = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent)(class ApiMakerSuperAdminShowPageBelongsToAttributeRow extends base_component_js_1.default {
|
|
1
|
+
import AttributeRow from "../../bootstrap/attribute-row";
|
|
2
|
+
import BaseComponent from "../../base-component.js";
|
|
3
|
+
import * as inflection from "inflection";
|
|
4
|
+
import Link from "../../link";
|
|
5
|
+
import memo from "set-state-compare/build/memo.js";
|
|
6
|
+
import Params from "../../params.js";
|
|
7
|
+
import React from "react";
|
|
8
|
+
import { shapeComponent } from "set-state-compare/build/shape-component.js";
|
|
9
|
+
import Text from "../../utils/text";
|
|
10
|
+
export default memo(shapeComponent(class ApiMakerSuperAdminShowPageBelongsToAttributeRow extends BaseComponent {
|
|
50
11
|
render() {
|
|
51
12
|
const { model, modelClass, reflection } = this.props;
|
|
52
13
|
const reflectionMethodName = inflection.camelize(reflection.name(), true);
|
|
53
14
|
const subModel = model[reflectionMethodName]();
|
|
54
|
-
return (
|
|
55
|
-
|
|
15
|
+
return (<AttributeRow label={modelClass.humanAttributeName(inflection.camelize(reflection.name(), true))}>
|
|
16
|
+
{subModel &&
|
|
17
|
+
<Link to={Params.withParams({ model: subModel.modelClassData().name, model_id: subModel.primaryKey() })}>
|
|
18
|
+
<Text>
|
|
19
|
+
{subModel && "name" in subModel && subModel.name()}
|
|
20
|
+
{subModel && !("name" in subModel) && subModel?.id()}
|
|
21
|
+
</Text>
|
|
22
|
+
</Link>}
|
|
23
|
+
</AttributeRow>);
|
|
56
24
|
}
|
|
57
25
|
}));
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVsb25ncy10by1hdHRyaWJ1dGUtcm93LmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJzdXBlci1hZG1pbi9zaG93LXBhZ2UvYmVsb25ncy10by1hdHRyaWJ1dGUtcm93LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFlBQVksTUFBTSwrQkFBK0IsQ0FBQTtBQUN4RCxPQUFPLGFBQWEsTUFBTSx5QkFBeUIsQ0FBQTtBQUNuRCxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLElBQUksTUFBTSxZQUFZLENBQUE7QUFDN0IsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxNQUFNLE1BQU0saUJBQWlCLENBQUE7QUFDcEMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBQ3pCLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLElBQUksTUFBTSxrQkFBa0IsQ0FBQTtBQUVuQyxlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSwrQ0FBZ0QsU0FBUSxhQUFhO0lBQzVHLE1BQU07UUFDSixNQUFNLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBQ2xELE1BQU0sb0JBQW9CLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDekUsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQTtRQUU5QyxPQUFPLENBQ0wsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDL0Y7UUFBQSxDQUFDLFFBQVE7Z0JBQ1AsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsVUFBVSxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQ3BHO1lBQUEsQ0FBQyxJQUFJLENBQ0g7Y0FBQSxDQUFDLFFBQVEsSUFBSSxNQUFNLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FDbEQ7Y0FBQSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FDdEQ7WUFBQSxFQUFFLElBQUksQ0FDUjtVQUFBLEVBQUUsSUFBSSxDQUNSLENBQ0Y7TUFBQSxFQUFFLFlBQVksQ0FBQyxDQUNoQixDQUFBO0lBQ0gsQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEF0dHJpYnV0ZVJvdyBmcm9tIFwiLi4vLi4vYm9vdHN0cmFwL2F0dHJpYnV0ZS1yb3dcIlxuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uLy4uL2Jhc2UtY29tcG9uZW50LmpzXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IExpbmsgZnJvbSBcIi4uLy4uL2xpbmtcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IFBhcmFtcyBmcm9tIFwiLi4vLi4vcGFyYW1zLmpzXCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgVGV4dCBmcm9tIFwiLi4vLi4vdXRpbHMvdGV4dFwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJTdXBlckFkbWluU2hvd1BhZ2VCZWxvbmdzVG9BdHRyaWJ1dGVSb3cgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHttb2RlbCwgbW9kZWxDbGFzcywgcmVmbGVjdGlvbn0gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgcmVmbGVjdGlvbk1ldGhvZE5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKHJlZmxlY3Rpb24ubmFtZSgpLCB0cnVlKVxuICAgIGNvbnN0IHN1Yk1vZGVsID0gbW9kZWxbcmVmbGVjdGlvbk1ldGhvZE5hbWVdKClcblxuICAgIHJldHVybiAoXG4gICAgICA8QXR0cmlidXRlUm93IGxhYmVsPXttb2RlbENsYXNzLmh1bWFuQXR0cmlidXRlTmFtZShpbmZsZWN0aW9uLmNhbWVsaXplKHJlZmxlY3Rpb24ubmFtZSgpLCB0cnVlKSl9PlxuICAgICAgICB7c3ViTW9kZWwgJiZcbiAgICAgICAgICA8TGluayB0bz17UGFyYW1zLndpdGhQYXJhbXMoe21vZGVsOiBzdWJNb2RlbC5tb2RlbENsYXNzRGF0YSgpLm5hbWUsIG1vZGVsX2lkOiBzdWJNb2RlbC5wcmltYXJ5S2V5KCl9KX0+XG4gICAgICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgICAge3N1Yk1vZGVsICYmIFwibmFtZVwiIGluIHN1Yk1vZGVsICYmIHN1Yk1vZGVsLm5hbWUoKX1cbiAgICAgICAgICAgICAge3N1Yk1vZGVsICYmICEoXCJuYW1lXCIgaW4gc3ViTW9kZWwpICYmIHN1Yk1vZGVsPy5pZCgpfVxuICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgfVxuICAgICAgPC9BdHRyaWJ1dGVSb3c+XG4gICAgKVxuICB9XG59KSlcbiJdfQ==
|
|
@@ -1,56 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
40
|
-
const react_1 = __importStar(require("react"));
|
|
41
|
-
const attribute_row_1 = __importDefault(require("../../bootstrap/attribute-row"));
|
|
42
|
-
const base_component_js_1 = __importDefault(require("../../base-component.js"));
|
|
43
|
-
const belongs_to_attribute_row_1 = __importDefault(require("./belongs-to-attribute-row"));
|
|
44
|
-
const config_reader_js_1 = __importDefault(require("../config-reader.js"));
|
|
45
|
-
const diggerize_1 = require("diggerize");
|
|
46
|
-
const memo_js_1 = __importDefault(require("set-state-compare/build/memo.js"));
|
|
47
|
-
const inflection = __importStar(require("inflection"));
|
|
48
|
-
const prop_types_1 = __importDefault(require("prop-types"));
|
|
49
|
-
const shape_component_js_1 = require("set-state-compare/build/shape-component.js");
|
|
50
|
-
const show_nav_1 = __importDefault(require("../show-nav"));
|
|
51
|
-
const use_model_js_1 = __importDefault(require("../../use-model.js"));
|
|
52
|
-
const react_native_1 = require("react-native");
|
|
53
|
-
const AttributePresenter = (0, memo_js_1.default)(({ attribute, model, modelArgs }) => {
|
|
1
|
+
import React, { useMemo } from "react";
|
|
2
|
+
import AttributeRow from "../../bootstrap/attribute-row";
|
|
3
|
+
import BaseComponent from "../../base-component.js";
|
|
4
|
+
import BelongsToAttributeRow from "./belongs-to-attribute-row";
|
|
5
|
+
import ConfigReader from "../config-reader.js";
|
|
6
|
+
import { digg } from "diggerize";
|
|
7
|
+
import memo from "set-state-compare/build/memo.js";
|
|
8
|
+
import * as inflection from "inflection";
|
|
9
|
+
import PropTypes from "prop-types";
|
|
10
|
+
import { shapeComponent } from "set-state-compare/build/shape-component.js";
|
|
11
|
+
import ShowNav from "../show-nav";
|
|
12
|
+
import useModel from "../../use-model.js";
|
|
13
|
+
import { View } from "react-native";
|
|
14
|
+
const AttributePresenter = memo(({ attribute, model, modelArgs }) => {
|
|
54
15
|
const attributeRowProps = {
|
|
55
16
|
model
|
|
56
17
|
};
|
|
@@ -65,15 +26,15 @@ const AttributePresenter = (0, memo_js_1.default)(({ attribute, model, modelArgs
|
|
|
65
26
|
else if (attribute) {
|
|
66
27
|
attributeRowProps.attribute = attribute;
|
|
67
28
|
}
|
|
68
|
-
return (
|
|
29
|
+
return (<AttributeRow {...attributeRowProps}/>);
|
|
69
30
|
});
|
|
70
|
-
|
|
31
|
+
export default memo(shapeComponent(class ApiMakerSuperAdminShowPage extends BaseComponent {
|
|
71
32
|
static propTypes = {
|
|
72
|
-
modelClass:
|
|
33
|
+
modelClass: PropTypes.func.isRequired
|
|
73
34
|
};
|
|
74
35
|
setup() {
|
|
75
36
|
const { modelClass } = this.props;
|
|
76
|
-
const configReader =
|
|
37
|
+
const configReader = useMemo(() => ConfigReader.forModel(modelClass), [modelClass]);
|
|
77
38
|
const showConfig = configReader.modelConfig?.show;
|
|
78
39
|
this.setInstance({ configReader, showConfig });
|
|
79
40
|
}
|
|
@@ -142,17 +103,22 @@ exports.default = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent
|
|
|
142
103
|
}
|
|
143
104
|
}
|
|
144
105
|
}
|
|
145
|
-
const useModelResult = (
|
|
106
|
+
const useModelResult = useModel(modelClass, {
|
|
146
107
|
loadByQueryParam: ({ queryParams }) => queryParams.model_id,
|
|
147
108
|
preload,
|
|
148
109
|
select
|
|
149
110
|
});
|
|
150
|
-
const camelizedLower =
|
|
151
|
-
const model =
|
|
111
|
+
const camelizedLower = digg(modelClass.modelClassData(), "camelizedLower");
|
|
112
|
+
const model = digg(useModelResult, camelizedLower);
|
|
152
113
|
const modelArgs = {};
|
|
153
114
|
modelArgs[inflection.camelize(modelClass.modelClassData().name, true)] = model;
|
|
154
|
-
return (
|
|
155
|
-
|
|
115
|
+
return (<View testID="super-admin/show-page">
|
|
116
|
+
{model &&
|
|
117
|
+
<ShowNav model={model} modelClass={modelClass}/>}
|
|
118
|
+
{attributes && model && attributes.map((attribute) => <AttributePresenter attribute={attribute} key={attribute.key || attribute.attribute || attribute} modelArgs={modelArgs} model={model}/>)}
|
|
119
|
+
{model && modelClass.reflections().filter((reflection) => reflection.macro() == "belongs_to" || reflection.macro() == "has_one").map((reflection) => <BelongsToAttributeRow key={reflection.name()} model={model} modelClass={modelClass} reflection={reflection}/>)}
|
|
120
|
+
{model && extraContent && extraContent(modelArgs)}
|
|
121
|
+
</View>);
|
|
156
122
|
}
|
|
157
123
|
}));
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL3Nob3ctcGFnZS9pbmRleC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQW9DO0FBQ3BDLGtGQUF3RDtBQUN4RCxnRkFBbUQ7QUFDbkQsMEZBQThEO0FBQzlELDJFQUE4QztBQUM5Qyx5Q0FBOEI7QUFDOUIsOEVBQWtEO0FBQ2xELHVEQUF3QztBQUN4Qyw0REFBa0M7QUFDbEMsbUZBQXlFO0FBQ3pFLDJEQUFpQztBQUNqQyxzRUFBeUM7QUFDekMsK0NBQWlDO0FBRWpDLE1BQU0sa0JBQWtCLEdBQUcsSUFBQSxpQkFBSSxFQUFDLENBQUMsRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBQyxFQUFFLEVBQUU7SUFDaEUsTUFBTSxpQkFBaUIsR0FBRztRQUN4QixLQUFLO0tBQ04sQ0FBQTtJQUVELElBQUksT0FBTyxTQUFTLElBQUksUUFBUSxFQUFFLENBQUM7UUFDakMsSUFBSSxTQUFTLENBQUMsU0FBUztZQUFFLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFBO1FBQzFFLElBQUksU0FBUyxDQUFDLE9BQU87WUFBRSxpQkFBaUIsQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUNoRixJQUFJLFNBQVMsQ0FBQyxLQUFLO1lBQUUsaUJBQWlCLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUE7SUFDaEUsQ0FBQztTQUFNLElBQUksU0FBUyxFQUFFLENBQUM7UUFDckIsaUJBQWlCLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQTtJQUN6QyxDQUFDO0lBRUQsT0FBTyxDQUNMLHVCQUFDLHVCQUFZLE9BQUssaUJBQWlCLEdBQUksQ0FDeEMsQ0FBQTtBQUNILENBQUMsQ0FBQyxDQUFBO0FBRUYs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QUksU0FBUyxDQUF3QyxDQUN6SSxFQUNBLEtBQUssSUFBSSxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLElBQUksWUFBWSxJQUFJLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUNsSix1QkFBQyxrQ0FBcUIsSUFBeUIsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLElBQS9FLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBa0UsQ0FDaEgsRUFDQSxLQUFLLElBQUksWUFBWSxJQUFJLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFDNUMsQ0FDUixDQUFBO0lBQ0gsQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBBdHRyaWJ1dGVSb3cgZnJvbSBcIi4uLy4uL2Jvb3RzdHJhcC9hdHRyaWJ1dGUtcm93XCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi8uLi9iYXNlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgQmVsb25nc1RvQXR0cmlidXRlUm93IGZyb20gXCIuL2JlbG9uZ3MtdG8tYXR0cmlidXRlLXJvd1wiXG5pbXBvcnQgQ29uZmlnUmVhZGVyIGZyb20gXCIuLi9jb25maWctcmVhZGVyLmpzXCJcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgU2hvd05hdiBmcm9tIFwiLi4vc2hvdy1uYXZcIlxuaW1wb3J0IHVzZU1vZGVsIGZyb20gXCIuLi8uLi91c2UtbW9kZWwuanNcIlxuaW1wb3J0IHtWaWV3fSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcblxuY29uc3QgQXR0cmlidXRlUHJlc2VudGVyID0gbWVtbygoe2F0dHJpYnV0ZSwgbW9kZWwsIG1vZGVsQXJnc30pID0+IHtcbiAgY29uc3QgYXR0cmlidXRlUm93UHJvcHMgPSB7XG4gICAgbW9kZWxcbiAgfVxuXG4gIGlmICh0eXBlb2YgYXR0cmlidXRlID09IFwib2JqZWN0XCIpIHtcbiAgICBpZiAoYXR0cmlidXRlLmF0dHJpYnV0ZSkgYXR0cmlidXRlUm93UHJvcHMuYXR0cmlidXRlID0gYXR0cmlidXRlLmF0dHJpYnV0ZVxuICAgIGlmIChhdHRyaWJ1dGUuY29udGVudCkgYXR0cmlidXRlUm93UHJvcHMuY2hpbGRyZW4gPSBhdHRyaWJ1dGUuY29udGVudChtb2RlbEFyZ3MpXG4gICAgaWYgKGF0dHJpYnV0ZS5sYWJlbCkgYXR0cmlidXRlUm93UHJvcHMubGFiZWwgPSBhdHRyaWJ1dGUubGFiZWxcbiAgfSBlbHNlIGlmIChhdHRyaWJ1dGUpIHtcbiAgICBhdHRyaWJ1dGVSb3dQcm9wcy5hdHRyaWJ1dGUgPSBhdHRyaWJ1dGVcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPEF0dHJpYnV0ZVJvdyB7Li4uYXR0cmlidXRlUm93UHJvcHN9IC8+XG4gIClcbn0pXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJTdXBlckFkbWluU2hvd1BhZ2UgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBtb2RlbENsYXNzOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkXG4gIH1cblxuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7bW9kZWxDbGFzc30gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgY29uZmlnUmVhZGVyID0gdXNlTWVtbygoKSA9PiBDb25maWdSZWFkZXIuZm9yTW9kZWwobW9kZWxDbGFzcyksIFttb2RlbENsYXNzXSlcbiAgICBjb25zdCBzaG93Q29uZmlnID0gY29uZmlnUmVhZGVyLm1vZGVsQ29uZmlnPy5zaG93XG5cbiAgICB0aGlzLnNldEluc3RhbmNlKHtjb25maWdSZWFkZXIsIHNob3dDb25maWd9KVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHttb2RlbENsYXNzfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7Y29uZmlnUmVhZGVyLCBzaG93Q29uZmlnfSA9IHRoaXMudHRcbiAgICBjb25zdCBhdHRyaWJ1dGVzID0gY29uZmlnUmVhZGVyLmF0dHJpYnV0ZXNUb1Nob3coKVxuICAgIGNvbnN0IGV4dHJhQ29udGVudCA9IHNob3dDb25maWc/LmV4dHJhQ29udGVudFxuICAgIGNvbnN0IG1vZGVsQ2xhc3NOYW1lID0gbW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLm5hbWVcbiAgICBjb25zdCBwcmltYXJ5S2V5TmFtZSA9IG1vZGVsQ2xhc3MucHJpbWFyeUtleSgpXG4gICAgY29uc3QgcHJlbG9hZCA9IFtdXG4gICAgY29uc3Qgc2VsZWN0ID0gc2hvd0NvbmZpZz8uZXh0cmFTZWxlY3QgfHwge31cbiAgICBjb25zdCBtb2RlbENsYXNzU2VsZWN0ID0gc2VsZWN0W21vZGVsQ2xhc3NOYW1lXSB8fCBbXVxuXG4gICAgaWYgKHNob3dDb25maWc/LnByZWxvYWQpIHtcbiAgICAgIGZvciAoY29uc3Qgc2hvd0NvbmZpZ1ByZWxvYWQgb2Ygc2hvd0NvbmZpZy5wcmVsb2FkKSB7XG4gICAgICAgIHByZWxvYWQucHVzaChzaG93Q29uZmlnUHJlbG9hZClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIShtb2RlbENsYXNzTmFtZSBpbiBzZWxlY3QpKSBzZWxlY3RbbW9kZWxDbGFzc05hbWVdID0gbW9kZWxDbGFzc1NlbGVjdFxuICAgIGlmICghbW9kZWxDbGFzc1NlbGVjdC5pbmNsdWRlcyhwcmltYXJ5S2V5TmFtZSkpIG1vZGVsQ2xhc3NTZWxlY3QucHVzaChwcmltYXJ5S2V5TmFtZSlcblxuICAgIC8vIFNlbGVjdCBhbGwgYXR0cmlidXRlcyBzZWxlY3RlZCBieSBkZWZhdWx0IGJlY2F1c2UgdGhleSB3aWxsIGJlIHNob3duIGJ5IGRlZmF1bHRcbiAgICBmb3IgKGNvbnN0IGF0dHJpYnV0ZSBvZiBtb2RlbENsYXNzLmF0dHJpYnV0ZXMoKSkge1xuICAgICAgaWYgKChhdHRyaWJ1dGUuaXNTZWxlY3RlZEJ5RGVmYXVsdCgpIHx8IGF0dHJpYnV0ZS5uYW1lKCkgPT0gXCJuYW1lXCIpICYmICFtb2RlbENsYXNzU2VsZWN0LmluY2x1ZGVzKGF0dHJpYnV0ZS5uYW1lKCkpKSB7XG4gICAgICAgIG1vZGVsQ2xhc3NTZWxlY3QucHVzaChhdHRyaWJ1dGUubmFtZSgpKVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgcmVmbGVjdGlvbiBvZiBtb2RlbENsYXNzLnJlZmxlY3Rpb25zKCkpIHtcbiAgICAgIGlmIChyZWZsZWN0aW9uLm1hY3JvKCkgPT0gXCJiZWxvbmdzX3RvXCIpIHtcbiAgICAgICAgY29uc3QgcmVmbGVjdGlvbk1vZGVsQ2xhc3MgPSByZWZsZWN0aW9uLm1vZGVsQ2xhc3MoKVxuICAgICAgICBjb25zdCByZWZsZWN0aW9uTW9kZWxDbGFzc05hbWUgPSByZWZsZWN0aW9uTW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLm5hbWVcbiAgICAgICAgY29uc3QgcmVmbGVjdGlvbk1vZGVsQ2xhc3NBdHRyaWJ1dGVzID0gcmVmbGVjdGlvbk1vZGVsQ2xhc3MuYXR0cmlidXRlcygpXG4gICAgICAgIGNvbnN0IG5hbWVBdHRyaWJ1dGUgPSByZWZsZWN0aW9uTW9kZWxDbGFzc0F0dHJpYnV0ZXMuZmluZCgoYXR0cmlidXRlKSA9PiBhdHRyaWJ1dGUubmFtZSgpID09IFwibmFtZVwiKVxuXG4gICAgICAgIHByZWxvYWQucHVzaChpbmZsZWN0aW9uLnVuZGVyc2NvcmUocmVmbGVjdGlvbi5uYW1lKCkpKVxuXG4gICAgICAgIGlmICghKHJlZmxlY3Rpb25Nb2RlbENsYXNzTmFtZSBpbiBzZWxlY3QpKSBzZWxlY3RbcmVmbGVjdGlvbk1vZGVsQ2xhc3NOYW1lXSA9IFtdXG4gICAgICAgIGlmICghc2VsZWN0W3JlZmxlY3Rpb25Nb2RlbENsYXNzTmFtZV0uaW5jbHVkZXMoXCJpZFwiKSkgc2VsZWN0W3JlZmxlY3Rpb25Nb2RlbENsYXNzTmFtZV0ucHVzaChcImlkXCIpXG4gICAgICAgIGlmIChuYW1lQXR0cmlidXRlICYmICFzZWxlY3RbcmVmbGVjdGlvbk1vZGVsQ2xhc3NOYW1lXS5pbmNsdWRlcyhcIm5hbWVcIikpIHNlbGVjdFtyZWZsZWN0aW9uTW9kZWxDbGFzc05hbWVdLnB1c2goXCJuYW1lXCIpXG5cbiAgICAgICAgLy8gVGhlIGZvcmVpZ24ga2V5IGlzIG5lZWRlZCB0byBsb29rIHVwIGFueSBiZWxvbmdzLXRvLXJlbGF0aW9uc2hpcHNcbiAgICAgICAgaWYgKCFtb2RlbENsYXNzU2VsZWN0LmluY2x1ZGVzKHJlZmxlY3Rpb24uZm9yZWlnbktleSgpKSkge1xuICAgICAgICAgIGNvbnN0IGZvcmVpZ25LZXlBdHRyaWJ1dGUgPSByZWZsZWN0aW9uTW9kZWxDbGFzc0F0dHJpYnV0ZXMuZmluZCgoYXR0cmlidXRlKSA9PiBhdHRyaWJ1dGUubmFtZSgpID09IHJlZmxlY3Rpb24uZm9yZWlnbktleSgpKVxuXG4gICAgICAgICAgaWYgKCFmb3JlaWduS2V5QXR0cmlidXRlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7cmVmbGVjdGlvbi5mb3JlaWduS2V5KCl9IHdhc24ndCBkZWZpbmVkIGFzIGFuIGF0dHJpYnV0ZSBvbiAke21vZGVsQ2xhc3NOYW1lfWApXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbW9kZWxDbGFzc1NlbGVjdC5wdXNoKHJlZmxlY3Rpb24uZm9yZWlnbktleSgpKVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHJlZmxlY3Rpb24ubWFjcm8oKSA9PSBcImhhc19vbmVcIikge1xuICAgICAgICBjb25zdCByZWZsZWN0aW9uTW9kZWxDbGFzcyA9IHJlZmxlY3Rpb24ubW9kZWxDbGFzcygpXG4gICAgICAgIGNvbnN0IHJlZmxlY3Rpb25Nb2RlbENsYXNzTmFtZSA9IHJlZmxlY3Rpb25Nb2RlbENsYXNzLm1vZGVsQ2xhc3NEYXRhKCkubmFtZVxuICAgICAgICBjb25zdCByZWZsZWN0aW9uTW9kZWxDbGFzc0F0dHJpYnV0ZXMgPSByZWZsZWN0aW9uTW9kZWxDbGFzcy5hdHRyaWJ1dGVzKClcbiAgICAgICAgY29uc3QgbmFtZUF0dHJpYnV0ZSA9IHJlZmxlY3Rpb25Nb2RlbENsYXNzQXR0cmlidXRlcy5maW5kKChhdHRyaWJ1dGUpID0+IGF0dHJpYnV0ZS5uYW1lKCkgPT0gXCJuYW1lXCIpXG5cbiAgICAgICAgcHJlbG9hZC5wdXNoKGluZmxlY3Rpb24udW5kZXJzY29yZShyZWZsZWN0aW9uLm5hbWUoKSkpXG5cbiAgICAgICAgaWYgKCEocmVmbGVjdGlvbk1vZGVsQ2xhc3NOYW1lIGluIHNlbGVjdCkpIHNlbGVjdFtyZWZsZWN0aW9uTW9kZWxDbGFzc05hbWVdID0gW11cbiAgICAgICAgaWYgKCFzZWxlY3RbcmVmbGVjdGlvbk1vZGVsQ2xhc3NOYW1lXS5pbmNsdWRlcyhcImlkXCIpKSBzZWxlY3RbcmVmbGVjdGlvbk1vZGVsQ2xhc3NOYW1lXS5wdXNoKFwiaWRcIilcbiAgICAgICAgaWYgKG5hbWVBdHRyaWJ1dGUgJiYgIXNlbGVjdFtyZWZsZWN0aW9uTW9kZWxDbGFzc05hbWVdLmluY2x1ZGVzKFwibmFtZVwiKSkgc2VsZWN0W3JlZmxlY3Rpb25Nb2RlbENsYXNzTmFtZV0ucHVzaChcIm5hbWVcIilcblxuICAgICAgICAvLyBUaGUgZm9yZWlnbiBrZXkgaXMgbmVlZGVkIHRvIGxvb2sgdXAgYW55IGhhcy1vbmUtcmVsYXRpb25zaGlwc1xuICAgICAgICBpZiAoIW1vZGVsQ2xhc3NTZWxlY3QuaW5jbHVkZXMocmVmbGVjdGlvbi5mb3JlaWduS2V5KCkpICYmICFzZWxlY3RbcmVmbGVjdGlvbk1vZGVsQ2xhc3NOYW1lXS5pbmNsdWRlcyhyZWZsZWN0aW9uLmZvcmVpZ25LZXkoKSkgJiYgIXJlZmxlY3Rpb24udGhyb3VnaCgpKSB7XG4gICAgICAgICAgc2VsZWN0W3JlZmxlY3Rpb25Nb2RlbENsYXNzTmFtZV0ucHVzaChyZWZsZWN0aW9uLmZvcmVpZ25LZXkoKSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHVzZU1vZGVsUmVzdWx0ID0gdXNlTW9kZWwobW9kZWxDbGFzcywge1xuICAgICAgbG9hZEJ5UXVlcnlQYXJhbTogKHtxdWVyeVBhcmFtc30pID0+IHF1ZXJ5UGFyYW1zLm1vZGVsX2lkLFxuICAgICAgcHJlbG9hZCxcbiAgICAgIHNlbGVjdFxuICAgIH0pXG4gICAgY29uc3QgY2FtZWxpemVkTG93ZXIgPSBkaWdnKG1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKSwgXCJjYW1lbGl6ZWRMb3dlclwiKVxuICAgIGNvbnN0IG1vZGVsID0gZGlnZyh1c2VNb2RlbFJlc3VsdCwgY2FtZWxpemVkTG93ZXIpXG4gICAgY29uc3QgbW9kZWxBcmdzID0ge31cblxuICAgIG1vZGVsQXJnc1tpbmZsZWN0aW9uLmNhbWVsaXplKG1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKS5uYW1lLCB0cnVlKV0gPSBtb2RlbFxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3IHRlc3RJRD1cInN1cGVyLWFkbWluL3Nob3ctcGFnZVwiPlxuICAgICAgICB7bW9kZWwgJiZcbiAgICAgICAgICA8U2hvd05hdiBtb2RlbD17bW9kZWx9IG1vZGVsQ2xhc3M9e21vZGVsQ2xhc3N9IC8+XG4gICAgICAgIH1cbiAgICAgICAge2F0dHJpYnV0ZXMgJiYgbW9kZWwgJiYgYXR0cmlidXRlcy5tYXAoKGF0dHJpYnV0ZSkgPT5cbiAgICAgICAgICA8QXR0cmlidXRlUHJlc2VudGVyIGF0dHJpYnV0ZT17YXR0cmlidXRlfSBrZXk9e2F0dHJpYnV0ZS5rZXkgfHwgYXR0cmlidXRlLmF0dHJpYnV0ZSB8fCBhdHRyaWJ1dGV9IG1vZGVsQXJncz17bW9kZWxBcmdzfSBtb2RlbD17bW9kZWx9IC8+XG4gICAgICAgICl9XG4gICAgICAgIHttb2RlbCAmJiBtb2RlbENsYXNzLnJlZmxlY3Rpb25zKCkuZmlsdGVyKChyZWZsZWN0aW9uKSA9PiByZWZsZWN0aW9uLm1hY3JvKCkgPT0gXCJiZWxvbmdzX3RvXCIgfHwgcmVmbGVjdGlvbi5tYWNybygpID09IFwiaGFzX29uZVwiKS5tYXAoKHJlZmxlY3Rpb24pID0+XG4gICAgICAgICAgPEJlbG9uZ3NUb0F0dHJpYnV0ZVJvdyBrZXk9e3JlZmxlY3Rpb24ubmFtZSgpfSBtb2RlbD17bW9kZWx9IG1vZGVsQ2xhc3M9e21vZGVsQ2xhc3N9IHJlZmxlY3Rpb249e3JlZmxlY3Rpb259IC8+XG4gICAgICAgICl9XG4gICAgICAgIHttb2RlbCAmJiBleHRyYUNvbnRlbnQgJiYgZXh0cmFDb250ZW50KG1vZGVsQXJncyl9XG4gICAgICA8L1ZpZXc+XG4gICAgKVxuICB9XG59KSlcbiJdfQ==
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL3Nob3ctcGFnZS9pbmRleC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDcEMsT0FBTyxZQUFZLE1BQU0sK0JBQStCLENBQUE7QUFDeEQsT0FBTyxhQUFhLE1BQU0seUJBQXlCLENBQUE7QUFDbkQsT0FBTyxxQkFBcUIsTUFBTSw0QkFBNEIsQ0FBQTtBQUM5RCxPQUFPLFlBQVksTUFBTSxxQkFBcUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQzlCLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNENBQTRDLENBQUE7QUFDekUsT0FBTyxPQUFPLE1BQU0sYUFBYSxDQUFBO0FBQ2pDLE9BQU8sUUFBUSxNQUFNLG9CQUFvQixDQUFBO0FBQ3pDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFFakMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsQ0FBQyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFDLEVBQUUsRUFBRTtJQUNoRSxNQUFNLGlCQUFpQixHQUFHO1FBQ3hCLEtBQUs7S0FDTixDQUFBO0lBRUQsSUFBSSxPQUFPLFNBQVMsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNqQyxJQUFJLFNBQVMsQ0FBQyxTQUFTO1lBQUUsaUJBQWlCLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUE7UUFDMUUsSUFBSSxTQUFTLENBQUMsT0FBTztZQUFFLGlCQUFpQixDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUMsT0FB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LENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQ2hELENBQ0E7UUFBQSxDQUFDLFVBQVUsSUFBSSxLQUFLLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQ25ELENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxTQUFTLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFHLENBQ3pJLENBQ0Q7UUFBQSxDQUFDLEtBQUssSUFBSSxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLElBQUksWUFBWSxJQUFJLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUNsSixDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFHLENBQ2hILENBQ0Q7UUFBQSxDQUFDLEtBQUssSUFBSSxZQUFZLElBQUksWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUNuRDtNQUFBLEVBQUUsSUFBSSxDQUFDLENBQ1IsQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgQXR0cmlidXRlUm93IGZyb20gXCIuLi8uLi9ib290c3RyYXAvYXR0cmlidXRlLXJvd1wiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vLi4vYmFzZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IEJlbG9uZ3NUb0F0dHJpYnV0ZVJvdyBmcm9tIFwiLi9iZWxvbmdzLXRvLWF0dHJpYnV0ZS1yb3dcIlxuaW1wb3J0IENvbmZpZ1JlYWRlciBmcm9tIFwiLi4vY29uZmlnLXJlYWRlci5qc1wiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFNob3dOYXYgZnJvbSBcIi4uL3Nob3ctbmF2XCJcbmltcG9ydCB1c2VNb2RlbCBmcm9tIFwiLi4vLi4vdXNlLW1vZGVsLmpzXCJcbmltcG9ydCB7Vmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5cbmNvbnN0IEF0dHJpYnV0ZVByZXNlbnRlciA9IG1lbW8oKHthdHRyaWJ1dGUsIG1vZGVsLCBtb2RlbEFyZ3N9KSA9PiB7XG4gIGNvbnN0IGF0dHJpYnV0ZVJvd1Byb3BzID0ge1xuICAgIG1vZGVsXG4gIH1cblxuICBpZiAodHlwZW9mIGF0dHJpYnV0ZSA9PSBcIm9iamVjdFwiKSB7XG4gICAgaWYgKGF0dHJpYnV0ZS5hdHRyaWJ1dGUpIGF0dHJpYnV0ZVJvd1Byb3BzLmF0dHJpYnV0ZSA9IGF0dHJpYnV0ZS5hdHRyaWJ1dGVcbiAgICBpZiAoYXR0cmlidXRlLmNvbnRlbnQpIGF0dHJpYnV0ZVJvd1Byb3BzLmNoaWxkcmVuID0gYXR0cmlidXRlLmNvbnRlbnQobW9kZWxBcmdzKVxuICAgIGlmIChhdHRyaWJ1dGUubGFiZWwpIGF0dHJpYnV0ZVJvd1Byb3BzLmxhYmVsID0gYXR0cmlidXRlLmxhYmVsXG4gIH0gZWxzZSBpZiAoYXR0cmlidXRlKSB7XG4gICAgYXR0cmlidXRlUm93UHJvcHMuYXR0cmlidXRlID0gYXR0cmlidXRlXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxBdHRyaWJ1dGVSb3cgey4uLmF0dHJpYnV0ZVJvd1Byb3BzfSAvPlxuICApXG59KVxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyU3VwZXJBZG1pblNob3dQYWdlIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgbW9kZWxDbGFzczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZFxuICB9XG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge21vZGVsQ2xhc3N9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IGNvbmZpZ1JlYWRlciA9IHVzZU1lbW8oKCkgPT4gQ29uZmlnUmVhZGVyLmZvck1vZGVsKG1vZGVsQ2xhc3MpLCBbbW9kZWxDbGFzc10pXG4gICAgY29uc3Qgc2hvd0NvbmZpZyA9IGNvbmZpZ1JlYWRlci5tb2RlbENvbmZpZz8uc2hvd1xuXG4gICAgdGhpcy5zZXRJbnN0YW5jZSh7Y29uZmlnUmVhZGVyLCBzaG93Q29uZmlnfSlcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7bW9kZWxDbGFzc30gPSB0aGlzLnByb3BzXG4gICAgY29uc3Qge2NvbmZpZ1JlYWRlciwgc2hvd0NvbmZpZ30gPSB0aGlzLnR0XG4gICAgY29uc3QgYXR0cmlidXRlcyA9IGNvbmZpZ1JlYWRlci5hdHRyaWJ1dGVzVG9TaG93KClcbiAgICBjb25zdCBleHRyYUNvbnRlbnQgPSBzaG93Q29uZmlnPy5leHRyYUNvbnRlbnRcbiAgICBjb25zdCBtb2RlbENsYXNzTmFtZSA9IG1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKS5uYW1lXG4gICAgY29uc3QgcHJpbWFyeUtleU5hbWUgPSBtb2RlbENsYXNzLnByaW1hcnlLZXkoKVxuICAgIGNvbnN0IHByZWxvYWQgPSBbXVxuICAgIGNvbnN0IHNlbGVjdCA9IHNob3dDb25maWc/LmV4dHJhU2VsZWN0IHx8IHt9XG4gICAgY29uc3QgbW9kZWxDbGFzc1NlbGVjdCA9IHNlbGVjdFttb2RlbENsYXNzTmFtZV0gfHwgW11cblxuICAgIGlmIChzaG93Q29uZmlnPy5wcmVsb2FkKSB7XG4gICAgICBmb3IgKGNvbnN0IHNob3dDb25maWdQcmVsb2FkIG9mIHNob3dDb25maWcucHJlbG9hZCkge1xuICAgICAgICBwcmVsb2FkLnB1c2goc2hvd0NvbmZpZ1ByZWxvYWQpXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCEobW9kZWxDbGFzc05hbWUgaW4gc2VsZWN0KSkgc2VsZWN0W21vZGVsQ2xhc3NOYW1lXSA9IG1vZGVsQ2xhc3NTZWxlY3RcbiAgICBpZiAoIW1vZGVsQ2xhc3NTZWxlY3QuaW5jbHVkZXMocHJpbWFyeUtleU5hbWUpKSBtb2RlbENsYXNzU2VsZWN0LnB1c2gocHJpbWFyeUtleU5hbWUpXG5cbiAgICAvLyBTZWxlY3QgYWxsIGF0dHJpYnV0ZXMgc2VsZWN0ZWQgYnkgZGVmYXVsdCBiZWNhdXNlIHRoZXkgd2lsbCBiZSBzaG93biBieSBkZWZhdWx0XG4gICAgZm9yIChjb25zdCBhdHRyaWJ1dGUgb2YgbW9kZWxDbGFzcy5hdHRyaWJ1dGVzKCkpIHtcbiAgICAgIGlmICgoYXR0cmlidXRlLmlzU2VsZWN0ZWRCeURlZmF1bHQoKSB8fCBhdHRyaWJ1dGUubmFtZSgpID09IFwibmFtZVwiKSAmJiAhbW9kZWxDbGFzc1NlbGVjdC5pbmNsdWRlcyhhdHRyaWJ1dGUubmFtZSgpKSkge1xuICAgICAgICBtb2RlbENsYXNzU2VsZWN0LnB1c2goYXR0cmlidXRlLm5hbWUoKSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHJlZmxlY3Rpb24gb2YgbW9kZWxDbGFzcy5yZWZsZWN0aW9ucygpKSB7XG4gICAgICBpZiAocmVmbGVjdGlvbi5tYWNybygpID09IFwiYmVsb25nc190b1wiKSB7XG4gICAgICAgIGNvbnN0IHJlZmxlY3Rpb25Nb2RlbENsYXNzID0gcmVmbGVjdGlvbi5tb2RlbENsYXNzKClcbiAgICAgICAgY29uc3QgcmVmbGVjdGlvbk1vZGVsQ2xhc3NOYW1lID0gcmVmbGVjdGlvbk1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKS5uYW1lXG4gICAgICAgIGNvbnN0IHJlZmxlY3Rpb25Nb2RlbENsYXNzQXR0cmlidXRlcyA9IHJlZmxlY3Rpb25Nb2RlbENsYXNzLmF0dHJpYnV0ZXMoKVxuICAgICAgICBjb25zdCBuYW1lQXR0cmlidXRlID0gcmVmbGVjdGlvbk1vZGVsQ2xhc3NBdHRyaWJ1dGVzLmZpbmQoKGF0dHJpYnV0ZSkgPT4gYXR0cmlidXRlLm5hbWUoKSA9PSBcIm5hbWVcIilcblxuICAgICAgICBwcmVsb2FkLnB1c2goaW5mbGVjdGlvbi51bmRlcnNjb3JlKHJlZmxlY3Rpb24ubmFtZSgpKSlcblxuICAgICAgICBpZiAoIShyZWZsZWN0aW9uTW9kZWxDbGFzc05hbWUgaW4gc2VsZWN0KSkgc2VsZWN0W3JlZmxlY3Rpb25Nb2RlbENsYXNzTmFtZV0gPSBbXVxuICAgICAgICBpZiAoIXNlbGVjdFtyZWZsZWN0aW9uTW9kZWxDbGFzc05hbWVdLmluY2x1ZGVzKFwiaWRcIikpIHNlbGVjdFtyZWZsZWN0aW9uTW9kZWxDbGFzc05hbWVdLnB1c2goXCJpZFwiKVxuICAgICAgICBpZiAobmFtZUF0dHJpYnV0ZSAmJiAhc2VsZWN0W3JlZmxlY3Rpb25Nb2RlbENsYXNzTmFtZV0uaW5jbHVkZXMoXCJuYW1lXCIpKSBzZWxlY3RbcmVmbGVjdGlvbk1vZGVsQ2xhc3NOYW1lXS5wdXNoKFwibmFtZVwiKVxuXG4gICAgICAgIC8vIFRoZSBmb3JlaWduIGtleSBpcyBuZWVkZWQgdG8gbG9vayB1cCBhbnkgYmVsb25ncy10by1yZWxhdGlvbnNoaXBzXG4gICAgICAgIGlmICghbW9kZWxDbGFzc1NlbGVjdC5pbmNsdWRlcyhyZWZsZWN0aW9uLmZvcmVpZ25LZXkoKSkpIHtcbiAgICAgICAgICBjb25zdCBmb3JlaWduS2V5QXR0cmlidXRlID0gcmVmbGVjdGlvbk1vZGVsQ2xhc3NBdHRyaWJ1dGVzLmZpbmQoKGF0dHJpYnV0ZSkgPT4gYXR0cmlidXRlLm5hbWUoKSA9PSByZWZsZWN0aW9uLmZvcmVpZ25LZXkoKSlcblxuICAgICAgICAgIGlmICghZm9yZWlnbktleUF0dHJpYnV0ZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3JlZmxlY3Rpb24uZm9yZWlnbktleSgpfSB3YXNuJ3QgZGVmaW5lZCBhcyBhbiBhdHRyaWJ1dGUgb24gJHttb2RlbENsYXNzTmFtZX1gKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIG1vZGVsQ2xhc3NTZWxlY3QucHVzaChyZWZsZWN0aW9uLmZvcmVpZ25LZXkoKSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChyZWZsZWN0aW9uLm1hY3JvKCkgPT0gXCJoYXNfb25lXCIpIHtcbiAgICAgICAgY29uc3QgcmVmbGVjdGlvbk1vZGVsQ2xhc3MgPSByZWZsZWN0aW9uLm1vZGVsQ2xhc3MoKVxuICAgICAgICBjb25zdCByZWZsZWN0aW9uTW9kZWxDbGFzc05hbWUgPSByZWZsZWN0aW9uTW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLm5hbWVcbiAgICAgICAgY29uc3QgcmVmbGVjdGlvbk1vZGVsQ2xhc3NBdHRyaWJ1dGVzID0gcmVmbGVjdGlvbk1vZGVsQ2xhc3MuYXR0cmlidXRlcygpXG4gICAgICAgIGNvbnN0IG5hbWVBdHRyaWJ1dGUgPSByZWZsZWN0aW9uTW9kZWxDbGFzc0F0dHJpYnV0ZXMuZmluZCgoYXR0cmlidXRlKSA9PiBhdHRyaWJ1dGUubmFtZSgpID09IFwibmFtZVwiKVxuXG4gICAgICAgIHByZWxvYWQucHVzaChpbmZsZWN0aW9uLnVuZGVyc2NvcmUocmVmbGVjdGlvbi5uYW1lKCkpKVxuXG4gICAgICAgIGlmICghKHJlZmxlY3Rpb25Nb2RlbENsYXNzTmFtZSBpbiBzZWxlY3QpKSBzZWxlY3RbcmVmbGVjdGlvbk1vZGVsQ2xhc3NOYW1lXSA9IFtdXG4gICAgICAgIGlmICghc2VsZWN0W3JlZmxlY3Rpb25Nb2RlbENsYXNzTmFtZV0uaW5jbHVkZXMoXCJpZFwiKSkgc2VsZWN0W3JlZmxlY3Rpb25Nb2RlbENsYXNzTmFtZV0ucHVzaChcImlkXCIpXG4gICAgICAgIGlmIChuYW1lQXR0cmlidXRlICYmICFzZWxlY3RbcmVmbGVjdGlvbk1vZGVsQ2xhc3NOYW1lXS5pbmNsdWRlcyhcIm5hbWVcIikpIHNlbGVjdFtyZWZsZWN0aW9uTW9kZWxDbGFzc05hbWVdLnB1c2goXCJuYW1lXCIpXG5cbiAgICAgICAgLy8gVGhlIGZvcmVpZ24ga2V5IGlzIG5lZWRlZCB0byBsb29rIHVwIGFueSBoYXMtb25lLXJlbGF0aW9uc2hpcHNcbiAgICAgICAgaWYgKCFtb2RlbENsYXNzU2VsZWN0LmluY2x1ZGVzKHJlZmxlY3Rpb24uZm9yZWlnbktleSgpKSAmJiAhc2VsZWN0W3JlZmxlY3Rpb25Nb2RlbENsYXNzTmFtZV0uaW5jbHVkZXMocmVmbGVjdGlvbi5mb3JlaWduS2V5KCkpICYmICFyZWZsZWN0aW9uLnRocm91Z2goKSkge1xuICAgICAgICAgIHNlbGVjdFtyZWZsZWN0aW9uTW9kZWxDbGFzc05hbWVdLnB1c2gocmVmbGVjdGlvbi5mb3JlaWduS2V5KCkpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB1c2VNb2RlbFJlc3VsdCA9IHVzZU1vZGVsKG1vZGVsQ2xhc3MsIHtcbiAgICAgIGxvYWRCeVF1ZXJ5UGFyYW06ICh7cXVlcnlQYXJhbXN9KSA9PiBxdWVyeVBhcmFtcy5tb2RlbF9pZCxcbiAgICAgIHByZWxvYWQsXG4gICAgICBzZWxlY3RcbiAgICB9KVxuICAgIGNvbnN0IGNhbWVsaXplZExvd2VyID0gZGlnZyhtb2RlbENsYXNzLm1vZGVsQ2xhc3NEYXRhKCksIFwiY2FtZWxpemVkTG93ZXJcIilcbiAgICBjb25zdCBtb2RlbCA9IGRpZ2codXNlTW9kZWxSZXN1bHQsIGNhbWVsaXplZExvd2VyKVxuICAgIGNvbnN0IG1vZGVsQXJncyA9IHt9XG5cbiAgICBtb2RlbEFyZ3NbaW5mbGVjdGlvbi5jYW1lbGl6ZShtb2RlbENsYXNzLm1vZGVsQ2xhc3NEYXRhKCkubmFtZSwgdHJ1ZSldID0gbW9kZWxcblxuICAgIHJldHVybiAoXG4gICAgICA8VmlldyB0ZXN0SUQ9XCJzdXBlci1hZG1pbi9zaG93LXBhZ2VcIj5cbiAgICAgICAge21vZGVsICYmXG4gICAgICAgICAgPFNob3dOYXYgbW9kZWw9e21vZGVsfSBtb2RlbENsYXNzPXttb2RlbENsYXNzfSAvPlxuICAgICAgICB9XG4gICAgICAgIHthdHRyaWJ1dGVzICYmIG1vZGVsICYmIGF0dHJpYnV0ZXMubWFwKChhdHRyaWJ1dGUpID0+XG4gICAgICAgICAgPEF0dHJpYnV0ZVByZXNlbnRlciBhdHRyaWJ1dGU9e2F0dHJpYnV0ZX0ga2V5PXthdHRyaWJ1dGUua2V5IHx8IGF0dHJpYnV0ZS5hdHRyaWJ1dGUgfHwgYXR0cmlidXRlfSBtb2RlbEFyZ3M9e21vZGVsQXJnc30gbW9kZWw9e21vZGVsfSAvPlxuICAgICAgICApfVxuICAgICAgICB7bW9kZWwgJiYgbW9kZWxDbGFzcy5yZWZsZWN0aW9ucygpLmZpbHRlcigocmVmbGVjdGlvbikgPT4gcmVmbGVjdGlvbi5tYWNybygpID09IFwiYmVsb25nc190b1wiIHx8IHJlZmxlY3Rpb24ubWFjcm8oKSA9PSBcImhhc19vbmVcIikubWFwKChyZWZsZWN0aW9uKSA9PlxuICAgICAgICAgIDxCZWxvbmdzVG9BdHRyaWJ1dGVSb3cga2V5PXtyZWZsZWN0aW9uLm5hbWUoKX0gbW9kZWw9e21vZGVsfSBtb2RlbENsYXNzPXttb2RlbENsYXNzfSByZWZsZWN0aW9uPXtyZWZsZWN0aW9ufSAvPlxuICAgICAgICApfVxuICAgICAgICB7bW9kZWwgJiYgZXh0cmFDb250ZW50ICYmIGV4dHJhQ29udGVudChtb2RlbEFyZ3MpfVxuICAgICAgPC9WaWV3PlxuICAgIClcbiAgfVxufSkpXG4iXX0=
|
|
@@ -1,68 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
40
|
-
const base_component_js_1 = __importDefault(require("../base-component.js"));
|
|
41
|
-
const diggerize_1 = require("diggerize");
|
|
42
|
-
const inflection = __importStar(require("inflection"));
|
|
43
|
-
const link_1 = __importDefault(require("../link"));
|
|
44
|
-
const memo_js_1 = __importDefault(require("set-state-compare/build/memo.js"));
|
|
45
|
-
const react_1 = __importStar(require("react"));
|
|
46
|
-
const params_js_1 = __importDefault(require("../params.js"));
|
|
47
|
-
const prop_types_1 = __importDefault(require("prop-types"));
|
|
48
|
-
const prop_types_exact_1 = __importDefault(require("prop-types-exact"));
|
|
49
|
-
const shape_component_js_1 = require("set-state-compare/build/shape-component.js");
|
|
50
|
-
const use_can_can_js_1 = __importDefault(require("../use-can-can.js"));
|
|
51
|
-
exports.default = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent)(class SuperAdminShowReflectionActions extends base_component_js_1.default {
|
|
52
|
-
static propTypes = (0, prop_types_exact_1.default)({
|
|
53
|
-
model: prop_types_1.default.object,
|
|
54
|
-
modelClass: prop_types_1.default.func,
|
|
55
|
-
reflectionName: prop_types_1.default.string
|
|
1
|
+
import BaseComponent from "../base-component.js";
|
|
2
|
+
import { digg } from "diggerize";
|
|
3
|
+
import * as inflection from "inflection";
|
|
4
|
+
import Link from "../link";
|
|
5
|
+
import memo from "set-state-compare/build/memo.js";
|
|
6
|
+
import React, { useMemo } from "react";
|
|
7
|
+
import Params from "../params.js";
|
|
8
|
+
import PropTypes from "prop-types";
|
|
9
|
+
import propTypesExact from "prop-types-exact";
|
|
10
|
+
import { shapeComponent } from "set-state-compare/build/shape-component.js";
|
|
11
|
+
import useCanCan from "../use-can-can.js";
|
|
12
|
+
export default memo(shapeComponent(class SuperAdminShowReflectionActions extends BaseComponent {
|
|
13
|
+
static propTypes = propTypesExact({
|
|
14
|
+
model: PropTypes.object,
|
|
15
|
+
modelClass: PropTypes.func,
|
|
16
|
+
reflectionName: PropTypes.string
|
|
56
17
|
});
|
|
57
18
|
setup() {
|
|
58
19
|
const { modelClass, reflectionName } = this.p;
|
|
59
|
-
this.reflection =
|
|
60
|
-
this.canCan = (
|
|
20
|
+
this.reflection = useMemo(() => modelClass.reflections().find((reflection) => reflection.name() == reflectionName), [modelClass, reflectionName]);
|
|
21
|
+
this.canCan = useCanCan(() => [[this.reflection.modelClass(), ["new"]]]);
|
|
61
22
|
}
|
|
62
23
|
render() {
|
|
63
24
|
const { canCan, reflection } = this.tt;
|
|
64
25
|
const { model } = this.p;
|
|
65
|
-
const modelClassName =
|
|
26
|
+
const modelClassName = digg(reflection, "reflectionData", "className");
|
|
66
27
|
const modelData = {};
|
|
67
28
|
const dataParamName = inflection.singularize(reflection.reflectionData.collectionName);
|
|
68
29
|
modelData[reflection.foreignKey()] = model?.id();
|
|
@@ -71,9 +32,13 @@ exports.default = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent
|
|
|
71
32
|
mode: "new"
|
|
72
33
|
};
|
|
73
34
|
linkParams[dataParamName] = modelData;
|
|
74
|
-
const dataSet =
|
|
75
|
-
return (
|
|
76
|
-
|
|
35
|
+
const dataSet = useMemo(() => ({ class: "create-new-model-link" }), []);
|
|
36
|
+
return (<>
|
|
37
|
+
{canCan?.can("new", reflection.modelClass()) &&
|
|
38
|
+
<Link dataSet={dataSet} to={Params.withParams(linkParams)}>
|
|
39
|
+
Create new
|
|
40
|
+
</Link>}
|
|
41
|
+
</>);
|
|
77
42
|
}
|
|
78
43
|
}));
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1yZWZsZWN0aW9uLWFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL3Nob3ctcmVmbGVjdGlvbi1hY3Rpb25zLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLGFBQWEsTUFBTSxzQkFBc0IsQ0FBQTtBQUNoRCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQzlCLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sSUFBSSxNQUFNLFNBQVMsQ0FBQTtBQUMxQixPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLEtBQUssRUFBRSxFQUFDLE9BQU8sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUNwQyxPQUFPLE1BQU0sTUFBTSxjQUFjLENBQUE7QUFDakMsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLFNBQVMsTUFBTSxtQkFBbUIsQ0FBQTtBQUV6QyxlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSwrQkFBZ0MsU0FBUSxhQUFhO0lBQzVGLE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN2QixVQUFVLEVBQUUsU0FBUyxDQUFDLElBQUk7UUFDMUIsY0FBYyxFQUFFLFNBQVMsQ0FBQyxNQUFNO0tBQ2pDLENBQUMsQ0FBQTtJQUVGLEtBQUs7UUFDSCxNQUFNLEVBQUMsVUFBVSxFQUFFLGNBQWMsRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFFM0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLGNBQWMsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUE7UUFDakosSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUMxRSxDQUFDO0lBRUQsTUFBTTtRQUNKLE1BQU0sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQTtRQUNwQyxNQUFNLEVBQUMsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUN0QixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLGdCQUFnQixFQUFFLFdBQVcsQ0FBQyxDQUFBO1FBQ3RFLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQTtRQUNwQixNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUE7UUFFdEYsU0FBUyxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQTtRQUVoRCxNQUFNLFVBQVUsR0FBRztZQUNqQixLQUFLLEVBQUUsY0FBYztZQUNyQixJQUFJLEVBQUUsS0FBSztTQUNaLENBQUE7UUFFRCxVQUFVLENBQUMsYUFBYSxDQUFDLEdBQUcsU0FBUyxDQUFBO1FBRXJDLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFFLHVCQUF1QixFQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVyRSxPQUFPLENBQ0wsRUFDRTtRQUFBLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUMxQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQ3hEOztVQUNGLEVBQUUsSUFBSSxDQUNSLENBQ0Y7TUFBQSxHQUFHLENBQ0osQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgTGluayBmcm9tIFwiLi4vbGlua1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgUmVhY3QsIHt1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IFBhcmFtcyBmcm9tIFwiLi4vcGFyYW1zLmpzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IHVzZUNhbkNhbiBmcm9tIFwiLi4vdXNlLWNhbi1jYW4uanNcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIFN1cGVyQWRtaW5TaG93UmVmbGVjdGlvbkFjdGlvbnMgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBtb2RlbENsYXNzOiBQcm9wVHlwZXMuZnVuYyxcbiAgICByZWZsZWN0aW9uTmFtZTogUHJvcFR5cGVzLnN0cmluZ1xuICB9KVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHttb2RlbENsYXNzLCByZWZsZWN0aW9uTmFtZX0gPSB0aGlzLnBcblxuICAgIHRoaXMucmVmbGVjdGlvbiA9IHVzZU1lbW8oKCkgPT4gbW9kZWxDbGFzcy5yZWZsZWN0aW9ucygpLmZpbmQoKHJlZmxlY3Rpb24pID0+IHJlZmxlY3Rpb24ubmFtZSgpID09IHJlZmxlY3Rpb25OYW1lKSwgW21vZGVsQ2xhc3MsIHJlZmxlY3Rpb25OYW1lXSlcbiAgICB0aGlzLmNhbkNhbiA9IHVzZUNhbkNhbigoKSA9PiBbW3RoaXMucmVmbGVjdGlvbi5tb2RlbENsYXNzKCksIFtcIm5ld1wiXV1dKVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtjYW5DYW4sIHJlZmxlY3Rpb259ID0gdGhpcy50dFxuICAgIGNvbnN0IHttb2RlbH0gPSB0aGlzLnBcbiAgICBjb25zdCBtb2RlbENsYXNzTmFtZSA9IGRpZ2cocmVmbGVjdGlvbiwgXCJyZWZsZWN0aW9uRGF0YVwiLCBcImNsYXNzTmFtZVwiKVxuICAgIGNvbnN0IG1vZGVsRGF0YSA9IHt9XG4gICAgY29uc3QgZGF0YVBhcmFtTmFtZSA9IGluZmxlY3Rpb24uc2luZ3VsYXJpemUocmVmbGVjdGlvbi5yZWZsZWN0aW9uRGF0YS5jb2xsZWN0aW9uTmFtZSlcblxuICAgIG1vZGVsRGF0YVtyZWZsZWN0aW9uLmZvcmVpZ25LZXkoKV0gPSBtb2RlbD8uaWQoKVxuXG4gICAgY29uc3QgbGlua1BhcmFtcyA9IHtcbiAgICAgIG1vZGVsOiBtb2RlbENsYXNzTmFtZSxcbiAgICAgIG1vZGU6IFwibmV3XCJcbiAgICB9XG5cbiAgICBsaW5rUGFyYW1zW2RhdGFQYXJhbU5hbWVdID0gbW9kZWxEYXRhXG5cbiAgICBjb25zdCBkYXRhU2V0ID0gdXNlTWVtbygoKSA9PiAoe2NsYXNzOiBcImNyZWF0ZS1uZXctbW9kZWwtbGlua1wifSksIFtdKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHtjYW5DYW4/LmNhbihcIm5ld1wiLCByZWZsZWN0aW9uLm1vZGVsQ2xhc3MoKSkgJiZcbiAgICAgICAgICA8TGluayBkYXRhU2V0PXtkYXRhU2V0fSB0bz17UGFyYW1zLndpdGhQYXJhbXMobGlua1BhcmFtcyl9PlxuICAgICAgICAgICAgQ3JlYXRlIG5ld1xuICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgfVxuICAgICAgPC8+XG4gICAgKVxuICB9XG59KSlcbiJdfQ==
|
|
@@ -1,22 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const params_js_1 = __importDefault(require("../params.js"));
|
|
12
|
-
const react_1 = __importDefault(require("react"));
|
|
13
|
-
const shape_component_js_1 = require("set-state-compare/build/shape-component.js");
|
|
14
|
-
const text_1 = __importDefault(require("../utils/text"));
|
|
15
|
-
const react_2 = require("react");
|
|
16
|
-
exports.default = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent)(class ApiMakerSuperAdminShowReflectionLink extends base_component_js_1.default {
|
|
1
|
+
import BaseComponent from "../base-component.js";
|
|
2
|
+
import { digg } from "diggerize";
|
|
3
|
+
import Link from "../link";
|
|
4
|
+
import memo from "set-state-compare/build/memo.js";
|
|
5
|
+
import Params from "../params.js";
|
|
6
|
+
import React from "react";
|
|
7
|
+
import { shapeComponent } from "set-state-compare/build/shape-component.js";
|
|
8
|
+
import Text from "../utils/text";
|
|
9
|
+
import { useMemo } from "react";
|
|
10
|
+
export default memo(shapeComponent(class ApiMakerSuperAdminShowReflectionLink extends BaseComponent {
|
|
17
11
|
setup() {
|
|
18
12
|
this.useStates({ count: undefined });
|
|
19
|
-
|
|
13
|
+
useMemo(() => {
|
|
20
14
|
this.countRelationship();
|
|
21
15
|
}, []);
|
|
22
16
|
}
|
|
@@ -29,7 +23,11 @@ exports.default = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent
|
|
|
29
23
|
render() {
|
|
30
24
|
const { model, modelClass, reflection } = this.p;
|
|
31
25
|
const { count } = this.s;
|
|
32
|
-
return (
|
|
26
|
+
return (<Link to={Params.withParams({ model: digg(modelClass.modelClassData(), "name"), model_id: model.primaryKey(), model_reflection: reflection.name() })}>
|
|
27
|
+
<Text>
|
|
28
|
+
{modelClass.humanAttributeName(reflection.name())} ({count})
|
|
29
|
+
</Text>
|
|
30
|
+
</Link>);
|
|
33
31
|
}
|
|
34
32
|
}));
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1yZWZsZWN0aW9uLWxpbmsuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL3Nob3ctcmVmbGVjdGlvbi1saW5rLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLGFBQWEsTUFBTSxzQkFBc0IsQ0FBQTtBQUNoRCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQzlCLE9BQU8sSUFBSSxNQUFNLFNBQVMsQ0FBQTtBQUMxQixPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLE1BQU0sTUFBTSxjQUFjLENBQUE7QUFDakMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBQ3pCLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLElBQUksTUFBTSxlQUFlLENBQUE7QUFDaEMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUU3QixlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxvQ0FBcUMsU0FBUSxhQUFhO0lBQ2pHLEtBQUs7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBQyxDQUFDLENBQUE7UUFFbEMsT0FBTyxDQUFDLEdBQUcsRUFBRTtZQUNYLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFBO1FBQzFCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUNSLENBQUM7SUFFRCxpQkFBaUIsR0FBRyxLQUFLLElBQUksRUFBRTtRQUM3QixNQUFNLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDbEMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUE7UUFDeEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUE7UUFFM0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUE7SUFDeEIsQ0FBQyxDQUFBO0lBRUQsTUFBTTtRQUNKLE1BQU0sRUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDOUMsTUFBTSxFQUFDLEtBQUssRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFFdEIsT0FBTyxDQUNMLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FDako7UUFBQSxDQUFDLElBQUksQ0FDSDtVQUFBLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFFLEVBQUMsQ0FBQyxLQUFLLENBQUM7UUFDN0QsRUFBRSxJQUFJLENBQ1I7TUFBQSxFQUFFLElBQUksQ0FBQyxDQUNSLENBQUE7SUFDSCxDQUFDO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBMaW5rIGZyb20gXCIuLi9saW5rXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBQYXJhbXMgZnJvbSBcIi4uL3BhcmFtcy5qc1wiXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFRleHQgZnJvbSBcIi4uL3V0aWxzL3RleHRcIlxuaW1wb3J0IHt1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyU3VwZXJBZG1pblNob3dSZWZsZWN0aW9uTGluayBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzZXR1cCgpIHtcbiAgICB0aGlzLnVzZVN0YXRlcyh7Y291bnQ6IHVuZGVmaW5lZH0pXG5cbiAgICB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHRoaXMuY291bnRSZWxhdGlvbnNoaXAoKVxuICAgIH0sIFtdKVxuICB9XG5cbiAgY291bnRSZWxhdGlvbnNoaXAgPSBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qge21vZGVsLCByZWZsZWN0aW9ufSA9IHRoaXMucFxuICAgIGNvbnN0IHF1ZXJ5ID0gbW9kZWxbcmVmbGVjdGlvbi5uYW1lKCldKClcbiAgICBjb25zdCBjb3VudCA9IGF3YWl0IHF1ZXJ5LnJhbnNhY2soKS5jb3VudCgpXG5cbiAgICB0aGlzLnNldFN0YXRlKHtjb3VudH0pXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge21vZGVsLCBtb2RlbENsYXNzLCByZWZsZWN0aW9ufSA9IHRoaXMucFxuICAgIGNvbnN0IHtjb3VudH0gPSB0aGlzLnNcblxuICAgIHJldHVybiAoXG4gICAgICA8TGluayB0bz17UGFyYW1zLndpdGhQYXJhbXMoe21vZGVsOiBkaWdnKG1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lXCIpLCBtb2RlbF9pZDogbW9kZWwucHJpbWFyeUtleSgpLCBtb2RlbF9yZWZsZWN0aW9uOiByZWZsZWN0aW9uLm5hbWUoKX0pfT5cbiAgICAgICAgPFRleHQ+XG4gICAgICAgICAge21vZGVsQ2xhc3MuaHVtYW5BdHRyaWJ1dGVOYW1lKHJlZmxlY3Rpb24ubmFtZSgpKX0gKHtjb3VudH0pXG4gICAgICAgIDwvVGV4dD5cbiAgICAgIDwvTGluaz5cbiAgICApXG4gIH1cbn0pKVxuIl19
|
|
@@ -1,74 +1,38 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
40
|
-
const base_component_js_1 = __importDefault(require("../base-component.js"));
|
|
41
|
-
const diggerize_1 = require("diggerize");
|
|
42
|
-
const prop_types_1 = __importDefault(require("prop-types"));
|
|
43
|
-
const prop_types_exact_1 = __importDefault(require("prop-types-exact"));
|
|
44
|
-
const memo_js_1 = __importDefault(require("set-state-compare/build/memo.js"));
|
|
45
|
-
const model_class_table_1 = __importDefault(require("./model-class-table"));
|
|
46
|
-
const react_1 = __importStar(require("react"));
|
|
47
|
-
const shape_component_js_1 = require("set-state-compare/build/shape-component.js");
|
|
48
|
-
const show_nav_1 = __importDefault(require("./show-nav"));
|
|
49
|
-
const use_model_js_1 = __importDefault(require("../use-model.js"));
|
|
50
|
-
const use_query_params_js_1 = __importDefault(require("on-location-changed/build/use-query-params.js"));
|
|
51
|
-
const react_native_1 = require("react-native");
|
|
52
|
-
exports.default = (0, memo_js_1.default)((0, shape_component_js_1.shapeComponent)(class ApiMakerSuperAdminShowReflectionPage extends base_component_js_1.default {
|
|
53
|
-
static propTypes = (0, prop_types_exact_1.default)({
|
|
54
|
-
modelClass: prop_types_1.default.func.isRequired,
|
|
55
|
-
modelId: prop_types_1.default.string.isRequired
|
|
1
|
+
import BaseComponent from "../base-component.js";
|
|
2
|
+
import { digg } from "diggerize";
|
|
3
|
+
import PropTypes from "prop-types";
|
|
4
|
+
import propTypesExact from "prop-types-exact";
|
|
5
|
+
import memo from "set-state-compare/build/memo.js";
|
|
6
|
+
import ModelClassTable from "./model-class-table";
|
|
7
|
+
import React, { useMemo } from "react";
|
|
8
|
+
import { shapeComponent } from "set-state-compare/build/shape-component.js";
|
|
9
|
+
import ShowNav from "./show-nav";
|
|
10
|
+
import useModel from "../use-model.js";
|
|
11
|
+
import useQueryParams from "on-location-changed/build/use-query-params.js";
|
|
12
|
+
import { View } from "react-native";
|
|
13
|
+
export default memo(shapeComponent(class ApiMakerSuperAdminShowReflectionPage extends BaseComponent {
|
|
14
|
+
static propTypes = propTypesExact({
|
|
15
|
+
modelClass: PropTypes.func.isRequired,
|
|
16
|
+
modelId: PropTypes.string.isRequired
|
|
56
17
|
});
|
|
57
18
|
render() {
|
|
58
19
|
const { modelClass } = this.p;
|
|
59
|
-
const queryParams = (
|
|
60
|
-
const camelizedLower =
|
|
61
|
-
const useModelResult = (
|
|
62
|
-
const model =
|
|
20
|
+
const queryParams = useQueryParams();
|
|
21
|
+
const camelizedLower = digg(modelClass.modelClassData(), "camelizedLower");
|
|
22
|
+
const useModelResult = useModel(modelClass, { loadByQueryParam: ({ queryParams }) => digg(queryParams, "model_id") });
|
|
23
|
+
const model = digg(useModelResult, camelizedLower);
|
|
63
24
|
const reflections = modelClass.reflections();
|
|
64
25
|
const reflection = reflections.find((reflectionI) => reflectionI.name() == queryParams.model_reflection);
|
|
65
26
|
const reflectionModelClass = reflection.modelClass();
|
|
66
27
|
let collection;
|
|
67
28
|
if (model)
|
|
68
29
|
collection = model[reflection.name()]();
|
|
69
|
-
return (
|
|
70
|
-
|
|
71
|
-
|
|
30
|
+
return (<View testID="super-admin/show-reflection-page">
|
|
31
|
+
{model &&
|
|
32
|
+
<ShowNav model={model} modelClass={modelClass}/>}
|
|
33
|
+
{collection &&
|
|
34
|
+
<ModelClassTable collection={collection} key={reflectionModelClass.modelName().human()} modelClass={reflectionModelClass}/>}
|
|
35
|
+
</View>);
|
|
72
36
|
}
|
|
73
37
|
}));
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1yZWZsZWN0aW9uLXBhZ2UuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL3Nob3ctcmVmbGVjdGlvbi1wYWdlLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLGFBQWEsTUFBTSxzQkFBc0IsQ0FBQTtBQUNoRCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQzlCLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLGVBQWUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNqRCxPQUFPLEtBQUssRUFBRSxFQUFDLE9BQU8sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUNwQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNENBQTRDLENBQUE7QUFDekUsT0FBTyxPQUFPLE1BQU0sWUFBWSxDQUFBO0FBQ2hDLE9BQU8sUUFBUSxNQUFNLGlCQUFpQixDQUFBO0FBQ3RDLE9BQU8sY0FBYyxNQUFNLCtDQUErQyxDQUFBO0FBQzFFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFFakMsZUFBZSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sb0NBQXFDLFNBQVEsYUFBYTtJQUNqRyxNQUFNLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQztRQUNoQyxVQUFVLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVO1FBQ3JDLE9BQU8sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7S0FDckMsQ0FBQyxDQUFBO0lBRUYsTUFBTTtRQUNKLE1BQU0sRUFBQyxVQUFVLEVBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQzNCLE1BQU0sV0FBVyxHQUFHLGNBQWMsRUFBRSxDQUFBO1FBQ3BDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQTtRQUMxRSxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsVUFBVSxFQUFFLEVBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxFQUFDLENBQUMsQ0FBQTtRQUNqSCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFBO1FBQ2xELE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUM1QyxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUE7UUFDeEcsTUFBTSxvQkFBb0IsR0FBRyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUE7UUFDcEQsSUFBSSxVQUFVLENBQUE7UUFFZCxJQUFJLEtBQUs7WUFBRSxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUE7UUFFbEQsT0FBTyxDQUNMLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FDN0M7UUFBQSxDQUFDLEtBQUs7Z0JBQ0osQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQ2hELENBQ0E7UUFBQSxDQUFDLFVBQVU7Z0JBQ1QsQ0FBQyxlQUFlLENBQ2QsVUFBVSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQ3ZCLEdBQUcsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQzlDLFVBQVUsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLEVBRXJDLENBQ0Y7TUFBQSxFQUFFLElBQUksQ0FBQyxDQUNSLENBQUE7SUFDSCxDQUFDO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBNb2RlbENsYXNzVGFibGUgZnJvbSBcIi4vbW9kZWwtY2xhc3MtdGFibGVcIlxuaW1wb3J0IFJlYWN0LCB7dXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFNob3dOYXYgZnJvbSBcIi4vc2hvdy1uYXZcIlxuaW1wb3J0IHVzZU1vZGVsIGZyb20gXCIuLi91c2UtbW9kZWwuanNcIlxuaW1wb3J0IHVzZVF1ZXJ5UGFyYW1zIGZyb20gXCJvbi1sb2NhdGlvbi1jaGFuZ2VkL2J1aWxkL3VzZS1xdWVyeS1wYXJhbXMuanNcIlxuaW1wb3J0IHtWaWV3fSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlclN1cGVyQWRtaW5TaG93UmVmbGVjdGlvblBhZ2UgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBtb2RlbENsYXNzOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG1vZGVsSWQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZFxuICB9KVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7bW9kZWxDbGFzc30gPSB0aGlzLnBcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHVzZVF1ZXJ5UGFyYW1zKClcbiAgICBjb25zdCBjYW1lbGl6ZWRMb3dlciA9IGRpZ2cobW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLCBcImNhbWVsaXplZExvd2VyXCIpXG4gICAgY29uc3QgdXNlTW9kZWxSZXN1bHQgPSB1c2VNb2RlbChtb2RlbENsYXNzLCB7bG9hZEJ5UXVlcnlQYXJhbTogKHtxdWVyeVBhcmFtc30pID0+IGRpZ2cocXVlcnlQYXJhbXMsIFwibW9kZWxfaWRcIil9KVxuICAgIGNvbnN0IG1vZGVsID0gZGlnZyh1c2VNb2RlbFJlc3VsdCwgY2FtZWxpemVkTG93ZXIpXG4gICAgY29uc3QgcmVmbGVjdGlvbnMgPSBtb2RlbENsYXNzLnJlZmxlY3Rpb25zKClcbiAgICBjb25zdCByZWZsZWN0aW9uID0gcmVmbGVjdGlvbnMuZmluZCgocmVmbGVjdGlvbkkpID0+IHJlZmxlY3Rpb25JLm5hbWUoKSA9PSBxdWVyeVBhcmFtcy5tb2RlbF9yZWZsZWN0aW9uKVxuICAgIGNvbnN0IHJlZmxlY3Rpb25Nb2RlbENsYXNzID0gcmVmbGVjdGlvbi5tb2RlbENsYXNzKClcbiAgICBsZXQgY29sbGVjdGlvblxuXG4gICAgaWYgKG1vZGVsKSBjb2xsZWN0aW9uID0gbW9kZWxbcmVmbGVjdGlvbi5uYW1lKCldKClcblxuICAgIHJldHVybiAoXG4gICAgICA8VmlldyB0ZXN0SUQ9XCJzdXBlci1hZG1pbi9zaG93LXJlZmxlY3Rpb24tcGFnZVwiPlxuICAgICAgICB7bW9kZWwgJiZcbiAgICAgICAgICA8U2hvd05hdiBtb2RlbD17bW9kZWx9IG1vZGVsQ2xhc3M9e21vZGVsQ2xhc3N9IC8+XG4gICAgICAgIH1cbiAgICAgICAge2NvbGxlY3Rpb24gJiZcbiAgICAgICAgICA8TW9kZWxDbGFzc1RhYmxlXG4gICAgICAgICAgICBjb2xsZWN0aW9uPXtjb2xsZWN0aW9ufVxuICAgICAgICAgICAga2V5PXtyZWZsZWN0aW9uTW9kZWxDbGFzcy5tb2RlbE5hbWUoKS5odW1hbigpfVxuICAgICAgICAgICAgbW9kZWxDbGFzcz17cmVmbGVjdGlvbk1vZGVsQ2xhc3N9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9WaWV3PlxuICAgIClcbiAgfVxufSkpXG4iXX0=
|