@arpproject/recrate 0.1.7-test3 → 0.1.7-test6
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/dist/app/App.d.ts +2 -0
- package/dist/app/EmbeddedComponent.d.ts +3 -0
- package/dist/app/index.d.ts +0 -0
- package/dist/app/lookup.d.ts +82 -0
- package/dist/crate-builder/CrateManager/contexts.d.ts +6 -0
- package/dist/crate-builder/CrateManager/crate-manager-benchmarking.spec.d.ts +1 -0
- package/dist/crate-builder/CrateManager/crate-manager-loading-exporting.spec.d.ts +1 -0
- package/dist/crate-builder/CrateManager/crate-manager-operations.spec.d.ts +0 -0
- package/dist/crate-builder/CrateManager/crate-manager.d.ts +641 -0
- package/dist/crate-builder/CrateManager/crate-manager.spec.d.ts +1 -0
- package/dist/crate-builder/CrateManager/lib.d.ts +26 -0
- package/dist/crate-builder/CrateManager/lib.spec.d.ts +1 -0
- package/dist/crate-builder/CrateManager/profile-manager.d.ts +143 -0
- package/dist/crate-builder/CrateManager/profile-manager.spec.d.ts +1 -0
- package/{src/crate-builder/CrateManager/schema-type-definitions.json → dist/crate-builder/CrateManager/schema-type-definitions.json.d.ts} +4 -1
- package/dist/crate-builder/CrateManager/validate-identifier.d.ts +10 -0
- package/dist/crate-builder/CrateManager/validate-identifier.spec.d.ts +1 -0
- package/dist/crate-builder/RenderEntity/Add.d.ts +26 -0
- package/dist/crate-builder/RenderEntity/AddControl.d.ts +14 -0
- package/dist/crate-builder/RenderEntity/AddControl.stories.d.ts +29 -0
- package/dist/crate-builder/RenderEntity/AutoComplete.d.ts +12 -0
- package/dist/crate-builder/RenderEntity/BulkAdd.d.ts +10 -0
- package/dist/crate-builder/RenderEntity/DeleteProperty.d.ts +8 -0
- package/dist/crate-builder/RenderEntity/DialogAddProperty.d.ts +9 -0
- package/dist/crate-builder/RenderEntity/DialogBrowseEntities.d.ts +8 -0
- package/dist/crate-builder/RenderEntity/DialogEditContext.d.ts +8 -0
- package/dist/crate-builder/RenderEntity/DialogPreviewCrate.d.ts +7 -0
- package/dist/crate-builder/RenderEntity/DialogSaveCrateAsTemplate.d.ts +13 -0
- package/dist/crate-builder/RenderEntity/DialogSaveEntityTemplate.d.ts +14 -0
- package/dist/crate-builder/RenderEntity/DisplayPropertyName.d.ts +8 -0
- package/dist/crate-builder/RenderEntity/DisplayPropertyName.stories.d.ts +6 -0
- package/dist/crate-builder/RenderEntity/EntityId.d.ts +13 -0
- package/dist/crate-builder/RenderEntity/EntityName.d.ts +13 -0
- package/dist/crate-builder/RenderEntity/EntityProperty.d.ts +19 -0
- package/dist/crate-builder/RenderEntity/EntityPropertyInstance.d.ts +25 -0
- package/dist/crate-builder/RenderEntity/EntityType.d.ts +12 -0
- package/dist/crate-builder/RenderEntity/ItemLink.d.ts +14 -0
- package/dist/crate-builder/RenderEntity/PaginateLinkedEntities.d.ts +23 -0
- package/dist/crate-builder/RenderEntity/PaginateLinkedEntities.stories.d.ts +7 -0
- package/dist/crate-builder/RenderEntity/PropertyHelp.d.ts +6 -0
- package/dist/crate-builder/RenderEntity/RenderControls.d.ts +22 -0
- package/dist/crate-builder/RenderEntity/RenderLinkedItem.d.ts +20 -0
- package/dist/crate-builder/RenderEntity/RenderPropertyHelp.d.ts +6 -0
- package/dist/crate-builder/RenderEntity/RenderReverseConnections.d.ts +16 -0
- package/dist/crate-builder/RenderEntity/RenderTypes.d.ts +6 -0
- package/dist/crate-builder/RenderEntity/Shell2.d.ts +14 -0
- package/dist/crate-builder/RenderEntity/UnlinkEntity.d.ts +14 -0
- package/dist/crate-builder/RenderEntity/auto-complete.lib.d.ts +25 -0
- package/dist/crate-builder/RenderEntity/keys.d.ts +4 -0
- package/dist/crate-builder/RenderEntity/layout.d.ts +14 -0
- package/dist/crate-builder/RenderEntity/layout.spec.d.ts +1 -0
- package/dist/crate-builder/Shell.d.ts +40 -0
- package/dist/crate-builder/editor-state.d.ts +72 -0
- package/dist/crate-builder/emotionCache.d.ts +1 -0
- package/dist/crate-builder/helpers.d.ts +9 -0
- package/dist/crate-builder/i18n.d.ts +2 -0
- package/dist/crate-builder/lib/validate-iri.d.ts +6 -0
- package/dist/crate-builder/locales/en.d.ts +79 -0
- package/dist/crate-builder/locales/hu.d.ts +79 -0
- package/dist/crate-builder/primitives/Boolean.d.ts +11 -0
- package/dist/crate-builder/primitives/Boolean.stories.d.ts +7 -0
- package/dist/crate-builder/primitives/Date.d.ts +11 -0
- package/dist/crate-builder/primitives/Date.stories.d.ts +5 -0
- package/dist/crate-builder/primitives/DateTime.d.ts +11 -0
- package/dist/crate-builder/primitives/DateTime.stories.d.ts +5 -0
- package/dist/crate-builder/primitives/Geo.d.ts +12 -0
- package/dist/crate-builder/primitives/Geo.stories.d.ts +26 -0
- package/dist/crate-builder/primitives/Map.SelectArea.d.ts +9 -0
- package/dist/crate-builder/primitives/Map.d.ts +15 -0
- package/dist/crate-builder/primitives/Map.stories.d.ts +6 -0
- package/dist/crate-builder/primitives/Number.d.ts +16 -0
- package/dist/crate-builder/primitives/Number.stories.d.ts +10 -0
- package/dist/crate-builder/primitives/Select.d.ts +15 -0
- package/dist/crate-builder/primitives/Select.stories.d.ts +9 -0
- package/dist/crate-builder/primitives/SelectObject.d.ts +13 -0
- package/dist/crate-builder/primitives/SelectObject.stories.d.ts +5 -0
- package/dist/crate-builder/primitives/SelectUrl.d.ts +14 -0
- package/dist/crate-builder/primitives/SelectUrl.stories.d.ts +7 -0
- package/dist/crate-builder/primitives/Text.d.ts +19 -0
- package/dist/crate-builder/primitives/Text.stories.d.ts +13 -0
- package/dist/crate-builder/primitives/Time.d.ts +11 -0
- package/dist/crate-builder/primitives/Time.stories.d.ts +7 -0
- package/dist/crate-builder/primitives/Url.d.ts +11 -0
- package/dist/crate-builder/primitives/Url.stories.d.ts +7 -0
- package/dist/crate-builder/primitives/Value.d.ts +7 -0
- package/dist/crate-builder/primitives/Value.stories.d.ts +7 -0
- package/dist/crate-builder/primitives/date-libs.d.ts +1 -0
- package/dist/crate-builder/property-definitions.d.ts +78 -0
- package/dist/crate-builder/store.d.ts +8 -0
- package/dist/index.d.ts +5 -0
- package/dist/recrate.css +1896 -0
- package/dist/recrate.es.js +38508 -0
- package/dist/types.d.ts +42 -0
- package/package.json +31 -28
- package/.eslintrc.json +0 -37
- package/.storybook/main.ts +0 -40
- package/.storybook/preview.tsx +0 -46
- package/babel.config.json +0 -5
- package/docker-compose.yml +0 -30
- package/docs/.nojekyll +0 -1
- package/docs/assets/highlight.css +0 -99
- package/docs/assets/icons.js +0 -18
- package/docs/assets/icons.svg +0 -1
- package/docs/assets/main.js +0 -60
- package/docs/assets/navigation.js +0 -1
- package/docs/assets/search.js +0 -1
- package/docs/assets/style.css +0 -1448
- package/docs/classes/src_crate_builder_CrateManager_crate_manager.CrateManager.html +0 -240
- package/docs/classes/src_crate_builder_CrateManager_profile_manager.ProfileManager.html +0 -42
- package/docs/classes/src_crate_builder_editor_state.EditorState.html +0 -28
- package/docs/classes/src_crate_builder_types.CrateManagerType.html +0 -57
- package/docs/classes/src_crate_builder_types.ProfileManagerType.html +0 -13
- package/docs/functions/src_crate_builder_CrateManager_lib.isURL.html +0 -2
- package/docs/functions/src_crate_builder_CrateManager_lib.mintNewCrate.html +0 -3
- package/docs/functions/src_crate_builder_CrateManager_lib.normalise.html +0 -5
- package/docs/functions/src_crate_builder_CrateManager_lib.normaliseEntityType.html +0 -1
- package/docs/index.html +0 -58
- package/docs/interfaces/src_crate_builder_types.NormalisedCrate.html +0 -3
- package/docs/interfaces/src_crate_builder_types.NormalisedEntityDefinition.html +0 -4
- package/docs/interfaces/src_crate_builder_types.NormalisedProfile.html +0 -9
- package/docs/interfaces/src_crate_builder_types.ProfileLayout.html +0 -2
- package/docs/interfaces/src_crate_builder_types.ProfileLayoutGroup.html +0 -9
- package/docs/interfaces/src_crate_builder_types.UnverifiedCrate.html +0 -3
- package/docs/interfaces/src_crate_builder_types.UnverifiedEntityDefinition.html +0 -4
- package/docs/modules/src_crate_builder_CrateManager_crate_manager.html +0 -2
- package/docs/modules/src_crate_builder_CrateManager_lib.html +0 -6
- package/docs/modules/src_crate_builder_CrateManager_profile_manager.html +0 -2
- package/docs/modules/src_crate_builder_editor_state.html +0 -2
- package/docs/modules/src_crate_builder_types.html +0 -16
- package/docs/types/src_crate_builder_types.EntityReference.html +0 -1
- package/docs/types/src_crate_builder_types.NormalisedContext.html +0 -1
- package/docs/types/src_crate_builder_types.PrimitiveType.html +0 -1
- package/docs/types/src_crate_builder_types.ProfileAssociation.html +0 -1
- package/docs/types/src_crate_builder_types.ProfileInput.html +0 -1
- package/docs/types/src_crate_builder_types.UnverifiedContext.html +0 -1
- package/docs/variables/src_crate_builder_CrateManager_lib.urlProtocols.html +0 -1
- package/index.html +0 -13
- package/load-data-packs.cjs +0 -38
- package/postcss.config.cjs +0 -6
- package/react-app-env.d.ts +0 -1
- package/rollup.config.js +0 -26
- package/src/app/App.tsx +0 -13
- package/src/app/EmbeddedComponent.tsx +0 -432
- package/src/app/index.html +0 -20
- package/src/app/index.tsx +0 -19
- package/src/app/lookup.ts +0 -141
- package/src/app/override-styles.css +0 -96
- package/src/crate-builder/CrateManager/contexts/1.1-context.jsonld +0 -2660
- package/src/crate-builder/CrateManager/contexts/1.2-DRAFT-context.jsonld +0 -2918
- package/src/crate-builder/CrateManager/contexts.ts +0 -42
- package/src/crate-builder/CrateManager/crate-manager-benchmarking.spec.ts +0 -31
- package/src/crate-builder/CrateManager/crate-manager-loading-exporting.spec.ts +0 -431
- package/src/crate-builder/CrateManager/crate-manager-operations.spec.ts +0 -298
- package/src/crate-builder/CrateManager/crate-manager.spec.ts +0 -2336
- package/src/crate-builder/CrateManager/crate-manager.ts +0 -2111
- package/src/crate-builder/CrateManager/lib.spec.ts +0 -133
- package/src/crate-builder/CrateManager/lib.ts +0 -170
- package/src/crate-builder/CrateManager/profile-manager.spec.ts +0 -593
- package/src/crate-builder/CrateManager/profile-manager.ts +0 -367
- package/src/crate-builder/CrateManager/validate-identifier.spec.ts +0 -82
- package/src/crate-builder/CrateManager/validate-identifier.ts +0 -65
- package/src/crate-builder/RenderEntity/Add.tsx +0 -249
- package/src/crate-builder/RenderEntity/AddControl.stories.tsx +0 -126
- package/src/crate-builder/RenderEntity/AddControl.tsx +0 -84
- package/src/crate-builder/RenderEntity/AutoComplete.tsx +0 -215
- package/src/crate-builder/RenderEntity/BulkAdd.tsx +0 -136
- package/src/crate-builder/RenderEntity/DeleteProperty.tsx +0 -33
- package/src/crate-builder/RenderEntity/DialogAddProperty.tsx +0 -83
- package/src/crate-builder/RenderEntity/DialogBrowseEntities.tsx +0 -136
- package/src/crate-builder/RenderEntity/DialogEditContext.tsx +0 -107
- package/src/crate-builder/RenderEntity/DialogPreviewCrate.tsx +0 -54
- package/src/crate-builder/RenderEntity/DialogSaveCrateAsTemplate.tsx +0 -65
- package/src/crate-builder/RenderEntity/DialogSaveEntityTemplate.tsx +0 -87
- package/src/crate-builder/RenderEntity/DisplayPropertyName.stories.tsx +0 -30
- package/src/crate-builder/RenderEntity/DisplayPropertyName.tsx +0 -21
- package/src/crate-builder/RenderEntity/EntityId.tsx +0 -75
- package/src/crate-builder/RenderEntity/EntityName.tsx +0 -49
- package/src/crate-builder/RenderEntity/EntityProperty.tsx +0 -188
- package/src/crate-builder/RenderEntity/EntityPropertyInstance.tsx +0 -255
- package/src/crate-builder/RenderEntity/EntityType.tsx +0 -95
- package/src/crate-builder/RenderEntity/ItemLink.tsx +0 -37
- package/src/crate-builder/RenderEntity/PaginateLinkedEntities.stories.tsx +0 -43
- package/src/crate-builder/RenderEntity/PaginateLinkedEntities.tsx +0 -141
- package/src/crate-builder/RenderEntity/PropertyHelp.tsx +0 -39
- package/src/crate-builder/RenderEntity/RenderControls.tsx +0 -278
- package/src/crate-builder/RenderEntity/RenderLinkedItem.tsx +0 -139
- package/src/crate-builder/RenderEntity/RenderPropertyHelp.tsx +0 -41
- package/src/crate-builder/RenderEntity/RenderReverseConnections.tsx +0 -150
- package/src/crate-builder/RenderEntity/RenderTypes.tsx +0 -102
- package/src/crate-builder/RenderEntity/Shell2.tsx +0 -576
- package/src/crate-builder/RenderEntity/UnlinkEntity.tsx +0 -30
- package/src/crate-builder/RenderEntity/auto-complete.lib.ts +0 -184
- package/src/crate-builder/RenderEntity/keys.ts +0 -4
- package/src/crate-builder/RenderEntity/layout.spec.js +0 -593
- package/src/crate-builder/RenderEntity/layout.ts +0 -220
- package/src/crate-builder/Shell.tsx +0 -337
- package/src/crate-builder/component.css +0 -65
- package/src/crate-builder/editor-state.ts +0 -114
- package/src/crate-builder/emotionCache.ts +0 -8
- package/src/crate-builder/helpers.ts +0 -16
- package/src/crate-builder/i18n.ts +0 -22
- package/src/crate-builder/lib/validate-iri.ts +0 -57
- package/src/crate-builder/locales/en.js +0 -149
- package/src/crate-builder/locales/hu.js +0 -147
- package/src/crate-builder/primitives/Boolean.stories.tsx +0 -33
- package/src/crate-builder/primitives/Boolean.tsx +0 -67
- package/src/crate-builder/primitives/Date.stories.tsx +0 -32
- package/src/crate-builder/primitives/Date.tsx +0 -58
- package/src/crate-builder/primitives/DateTime.stories.tsx +0 -32
- package/src/crate-builder/primitives/DateTime.tsx +0 -64
- package/src/crate-builder/primitives/Geo.stories.tsx +0 -57
- package/src/crate-builder/primitives/Geo.tsx +0 -225
- package/src/crate-builder/primitives/Map.SelectArea.js +0 -359
- package/src/crate-builder/primitives/Map.stories.tsx +0 -61
- package/src/crate-builder/primitives/Map.tsx +0 -124
- package/src/crate-builder/primitives/Number.stories.tsx +0 -74
- package/src/crate-builder/primitives/Number.tsx +0 -166
- package/src/crate-builder/primitives/Select.stories.tsx +0 -66
- package/src/crate-builder/primitives/Select.tsx +0 -121
- package/src/crate-builder/primitives/SelectObject.stories.tsx +0 -29
- package/src/crate-builder/primitives/SelectObject.tsx +0 -105
- package/src/crate-builder/primitives/SelectUrl.stories.tsx +0 -42
- package/src/crate-builder/primitives/SelectUrl.tsx +0 -110
- package/src/crate-builder/primitives/Text.stories.tsx +0 -106
- package/src/crate-builder/primitives/Text.tsx +0 -197
- package/src/crate-builder/primitives/Time.stories.tsx +0 -38
- package/src/crate-builder/primitives/Time.tsx +0 -71
- package/src/crate-builder/primitives/Url.stories.tsx +0 -43
- package/src/crate-builder/primitives/Url.tsx +0 -75
- package/src/crate-builder/primitives/Value.stories.tsx +0 -37
- package/src/crate-builder/primitives/Value.tsx +0 -30
- package/src/crate-builder/primitives/date-libs.ts +0 -12
- package/src/crate-builder/profile-schema.json +0 -145
- package/src/crate-builder/property-definitions.ts +0 -78
- package/src/crate-builder/recrate.css +0 -3
- package/src/crate-builder/store.ts +0 -14
- package/src/crate-builder/tailwind.css +0 -5
- package/src/crate-builder/types.d.ts +0 -318
- package/src/examples/collection/collections-entity-example.json +0 -131
- package/src/examples/collection/crate-builder-entity-example.json +0 -33
- package/src/examples/item/complex-collection/ro-crate-metadata.json +0 -174
- package/src/examples/item/complex-item/ro-crate-metadata.json +0 -769
- package/src/examples/item/crate-with-language.json +0 -38
- package/src/examples/item/empty/ro-crate-metadata.json +0 -20
- package/src/examples/item/item-with-relationship-and-action/ro-crate-metadata.json +0 -66
- package/src/examples/item/large-crate/ro-crate-metadata.json +0 -5762
- package/src/examples/item/multiple-types/ro-crate-metadata.json +0 -20
- package/src/examples/item/ridiculously-big-collection/ro-crate-metadata.json +0 -162977
- package/src/examples/profile/aroma.complex.profile.json +0 -11098
- package/src/examples/profile/aroma.profile.json +0 -9158
- package/src/examples/profile/nyingarn-item-profile.json +0 -426
- package/src/examples/profile/profile-to-test-inverse-associations.json +0 -73
- package/src/examples/profile/profile-to-test-multiple-types.json +0 -31
- package/src/examples/profile/profile-with-all-primitives-and-groups.json +0 -207
- package/src/examples/profile/profile-with-all-primitives.json +0 -244
- package/src/examples/profile/profile-with-constraints.json +0 -446
- package/src/examples/profile/profile-with-resolve.json +0 -57
- package/src/examples/profile/vocabulary-creation-profile.json +0 -231
- package/src/images.d.ts +0 -5
- package/src/index.ts +0 -12
- package/src/types.ts +0 -104
- package/tailwind.config.js +0 -21
- package/tsconfig.app.json +0 -31
- package/tsconfig.json +0 -26
- package/typedoc.json +0 -11
- package/update-deps.sh +0 -4
- package/vite-env.d.ts +0 -1
- package/vite.config.ts +0 -104
- /package/{public → dist}/favicon.ico +0 -0
- /package/{public → dist}/index.html +0 -0
- /package/{public → dist}/logo192.png +0 -0
- /package/{public → dist}/logo512.png +0 -0
- /package/{public → dist}/manifest.json +0 -0
- /package/{public → dist}/marker-icon.png +0 -0
- /package/{public → dist}/marker-shadow.png +0 -0
- /package/{public → dist}/robots.txt +0 -0
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
interface State {
|
|
2
|
-
id: string;
|
|
3
|
-
[key: string]: any; // Add index signature to allow dynamic properties
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* @class
|
|
8
|
-
*
|
|
9
|
-
* EditorState
|
|
10
|
-
*
|
|
11
|
-
* A class to work with the internal editor state of the component
|
|
12
|
-
*
|
|
13
|
-
*/
|
|
14
|
-
export class EditorState {
|
|
15
|
-
history: State[];
|
|
16
|
-
current: number;
|
|
17
|
-
constructor() {
|
|
18
|
-
this.history = [];
|
|
19
|
-
this.current = 0;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Reset the internal state
|
|
24
|
-
*/
|
|
25
|
-
reset() {
|
|
26
|
-
this.history = [];
|
|
27
|
-
this.current = 0;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Push a new state onto the history stack
|
|
32
|
-
*
|
|
33
|
-
* A new state is an entry with the id of the currently displayed entity.
|
|
34
|
-
*
|
|
35
|
-
* @param {Object} options
|
|
36
|
-
* @param {String} options.id - the id of the entity that is currently displayed
|
|
37
|
-
*/
|
|
38
|
-
push({ id }: State) {
|
|
39
|
-
if (!id) return;
|
|
40
|
-
if (this.history.length - 1 > this.current) {
|
|
41
|
-
this.history = this.history.slice(0, this.current + 1);
|
|
42
|
-
}
|
|
43
|
-
this.history = [...this.history, { id }];
|
|
44
|
-
this.current = this.history.length - 1;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Go back through the state
|
|
49
|
-
*/
|
|
50
|
-
back() {
|
|
51
|
-
if (this.current === 0) return;
|
|
52
|
-
this.current -= 1;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Go forward through the state
|
|
57
|
-
*/
|
|
58
|
-
forward() {
|
|
59
|
-
if (this.current === this.history.length - 1) return;
|
|
60
|
-
this.current += 1;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Return the current entry
|
|
65
|
-
*/
|
|
66
|
-
latest() {
|
|
67
|
-
return this.history[this.current];
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Update the current entry
|
|
72
|
-
*
|
|
73
|
-
* @param {Object} an object to be merged into the current entry
|
|
74
|
-
*/
|
|
75
|
-
update(newState: State) {
|
|
76
|
-
this.history[this.current] = { ...this.history[this.current], ...newState };
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Delete a property from the current entry
|
|
81
|
-
*
|
|
82
|
-
* @param {Object} object
|
|
83
|
-
* @param {String} object.property - the property to remove from the current entry
|
|
84
|
-
*/
|
|
85
|
-
deleteFromState({ property }: { property: string }) {
|
|
86
|
-
delete (this.history as any)[this.current][property];
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Replace an id in the state
|
|
91
|
-
*
|
|
92
|
-
* When we change an entity id, we also need to update the history
|
|
93
|
-
* so we don't try to navigate back to a non-existent entity
|
|
94
|
-
*
|
|
95
|
-
* @param {Object} object
|
|
96
|
-
* @param {String} object.id - the id to replace
|
|
97
|
-
* @param {String} object.newId - the replacement
|
|
98
|
-
*/
|
|
99
|
-
replaceId({ id, newId }: { id: string; newId: string }) {
|
|
100
|
-
// remove the latest history entry
|
|
101
|
-
// if we don't do this, we end up with a duplicate
|
|
102
|
-
this.history = this.history.slice(0, -1);
|
|
103
|
-
this.current = this.history.length - 1;
|
|
104
|
-
|
|
105
|
-
// updating the rest of the history
|
|
106
|
-
this.history = this.history.map((e, i) => {
|
|
107
|
-
if (e.id === id) {
|
|
108
|
-
return { ...e, id: newId };
|
|
109
|
-
} else {
|
|
110
|
-
return e;
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import Ajv from "ajv";
|
|
2
|
-
import profileSchema from "./profile-schema.json";
|
|
3
|
-
|
|
4
|
-
export function validateProfile(profile: any) {
|
|
5
|
-
const ajv = new Ajv();
|
|
6
|
-
const validate = ajv.compile(profileSchema);
|
|
7
|
-
let valid = validate(profile);
|
|
8
|
-
if (!valid) {
|
|
9
|
-
return {
|
|
10
|
-
valid,
|
|
11
|
-
description: `Structural issues have been found in the profile.`,
|
|
12
|
-
data: validate.errors,
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
return { valid };
|
|
16
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import i18next from "i18next";
|
|
2
|
-
import { initReactI18next } from "react-i18next";
|
|
3
|
-
import en from "./locales/en.js";
|
|
4
|
-
import hu from "./locales/hu.js";
|
|
5
|
-
|
|
6
|
-
// Initialize i18next with React integration
|
|
7
|
-
i18next
|
|
8
|
-
.use(initReactI18next) // This line connects i18next with React
|
|
9
|
-
.init({
|
|
10
|
-
debug: false,
|
|
11
|
-
resources: {
|
|
12
|
-
en,
|
|
13
|
-
hu,
|
|
14
|
-
},
|
|
15
|
-
lng: "en", // Default language
|
|
16
|
-
fallbackLng: "en",
|
|
17
|
-
interpolation: {
|
|
18
|
-
escapeValue: false // React already escapes values
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
export default i18next;
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
export enum IriValidationStrategy {
|
|
2
|
-
Strict = 'strict',
|
|
3
|
-
Pragmatic = 'pragmatic',
|
|
4
|
-
None = 'none'
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
function buildAbsoluteIriRfc3987Regex(): RegExp {
|
|
8
|
-
const sub_delims_raw = `!$&'()*+,;=`;
|
|
9
|
-
const sub_delims = `[${sub_delims_raw}]`;
|
|
10
|
-
const pct_encoded = `%[a-fA-F0-9]{2}`;
|
|
11
|
-
const dec_octet = "([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])";
|
|
12
|
-
const ipv4address = `${dec_octet}\\.${dec_octet}\\.${dec_octet}\\.${dec_octet}`;
|
|
13
|
-
const h16 = `[a-fA-F0-9]{1,4}`;
|
|
14
|
-
const ls32 = `(${h16}:${h16}|${ipv4address})`;
|
|
15
|
-
const ipv6address = `((${h16}:){6}${ls32}|::(${h16}:){5}${ls32}|(${h16})?::(${h16}:){4}${ls32}|((${h16}:){0,1}${h16})?::(${h16}:){3}${ls32}|((${h16}:){0,2}${h16})?::(${h16}:){2}${ls32}|((${h16}:){0,3}${h16})?::${h16}:${ls32}|((${h16}:){0,4}${h16})?::${ls32}|((${h16}:){0,5}${h16})?::${h16}|((${h16}:){0,6}${h16})?::)`;
|
|
16
|
-
const ipvfuture = `v[a-fA-F0-9]+\\.(${sub_delims}|${sub_delims}|":)+`;
|
|
17
|
-
const ip_literal = `\\[(${ipv6address}|${ipvfuture})\\]`;
|
|
18
|
-
const port = `[0-9]*`;
|
|
19
|
-
const scheme = `[a-zA-Z][a-zA-Z0-9+\\-.]*`;
|
|
20
|
-
const iprivate_raw = `\uE000-\uF8FF\u{F0000}-\u{FFFFD}\u{100000}-\u{10FFFD}`;
|
|
21
|
-
const iprivate = `[${iprivate_raw}]`;
|
|
22
|
-
const ucschar_raw = `\xA0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF\u{10000}-\u{1FFFD}\u{20000}-\u{2FFFD}\u{30000}-\u{3FFFD}\u{40000}-\u{4FFFD}\u{50000}-\u{5FFFD}\u{60000}-\u{6FFFD}\u{70000}-\u{7FFFD}\u{80000}-\u{8FFFD}\u{90000}-\u{9FFFD}\u{A0000}-\u{AFFFD}\u{B0000}-\u{BFFFD}\u{C0000}-\u{CFFFD}\u{D0000}-\u{DFFFD}\u{E1000}-\u{EFFFD}`;
|
|
23
|
-
const iunreserved_raw = `a-zA-Z0-9\\-._~${ucschar_raw}`;
|
|
24
|
-
const iunreserved = `[${iunreserved_raw}]`;
|
|
25
|
-
const ipchar = `(${iunreserved}|${pct_encoded}|${sub_delims}|[:@])*`;
|
|
26
|
-
const ifragment = `(${ipchar}|[\\/?])*`;
|
|
27
|
-
const iquery = `(${ipchar}|${iprivate}|[\\/?])*`;
|
|
28
|
-
const isegment_nz = `(${ipchar})+`;
|
|
29
|
-
const isegment = `(${ipchar})*`;
|
|
30
|
-
const ipath_empty = "";
|
|
31
|
-
const ipath_rootless = `${isegment_nz}(\\/${isegment})*`;
|
|
32
|
-
const ipath_absolute = `\\/(${isegment_nz}(\\/${isegment})*)?`;
|
|
33
|
-
const ipath_abempty = `(\\/${isegment})*`;
|
|
34
|
-
const ireg_name = `(${iunreserved}|${pct_encoded}|${sub_delims})*`;
|
|
35
|
-
const ihost = `(${ip_literal}|${ipv4address}|${ireg_name})`;
|
|
36
|
-
const iuserinfo = `(${iunreserved}|${pct_encoded}|${sub_delims}|:)*`;
|
|
37
|
-
const iauthority = `(${iuserinfo}@)?${ihost}(:${port})?`;
|
|
38
|
-
const ihier_part = `(\\/\\/${iauthority}${ipath_abempty}|${ipath_absolute}|${ipath_rootless}|${ipath_empty})`;
|
|
39
|
-
const iri = `^${scheme}:${ihier_part}(\\?${iquery})?(#${ifragment})?$`;
|
|
40
|
-
return new RegExp(iri, "u");
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
const STRICT_IRI_REGEX = buildAbsoluteIriRfc3987Regex();
|
|
44
|
-
const PRAGMATIC_IRI_REGEX = /^[A-Za-z][\d+-.A-Za-z]*:[^\u0000-\u0020"<>\\^`{|}]*$/;
|
|
45
|
-
|
|
46
|
-
export function validateIri(iri: string, strategy: IriValidationStrategy = IriValidationStrategy.Strict): Error | undefined {
|
|
47
|
-
switch (strategy) {
|
|
48
|
-
case IriValidationStrategy.Strict:
|
|
49
|
-
return STRICT_IRI_REGEX.test(iri) ? undefined : new Error(`Invalid IRI according to RFC 3987: '${iri}'`);
|
|
50
|
-
case IriValidationStrategy.Pragmatic:
|
|
51
|
-
return PRAGMATIC_IRI_REGEX.test(iri) ? undefined : new Error(`Invalid IRI according to RDF Turtle: '${iri}'`);
|
|
52
|
-
case IriValidationStrategy.None:
|
|
53
|
-
return undefined;
|
|
54
|
-
default:
|
|
55
|
-
return new Error(`Not supported validation strategy "${strategy}"`);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
const en = {
|
|
2
|
-
translation: {
|
|
3
|
-
hello_one: "hello world",
|
|
4
|
-
hello_other: "hello worlds",
|
|
5
|
-
|
|
6
|
-
// RenderControls.component.vue
|
|
7
|
-
root_dataset_label: "Root dataset",
|
|
8
|
-
add_label: "Add",
|
|
9
|
-
edit_context_label: "Edit context",
|
|
10
|
-
preview_label: "Preview",
|
|
11
|
-
browse_entities_label: "Browse entities",
|
|
12
|
-
save_crate_as_template_label: "Save Crate as Template",
|
|
13
|
-
save_entity_template_label: "Save Entity Template",
|
|
14
|
-
delete_entity_label: "Delete Entity",
|
|
15
|
-
are_you_sure_to_delete: "Are you sure you want to delete this entity?",
|
|
16
|
-
are_you_sure_to_delete_yes: "Yes",
|
|
17
|
-
are_you_sure_to_delete_no: "No",
|
|
18
|
-
add_properties_to_this_entity: "Add properties to this entity",
|
|
19
|
-
edit_context: "Edit Context",
|
|
20
|
-
preview_crate: "Preview Crate",
|
|
21
|
-
browse_entities: "Browse entities",
|
|
22
|
-
|
|
23
|
-
// DialogAddProperty.component.vue
|
|
24
|
-
filter_attribute_set: "Filter the attribute set",
|
|
25
|
-
|
|
26
|
-
// DialogEditContext.component.vue
|
|
27
|
-
save_label: "Save",
|
|
28
|
-
|
|
29
|
-
// DialogPreviewCrate.component.vue
|
|
30
|
-
preview_loading: "loading ...",
|
|
31
|
-
|
|
32
|
-
// DialogBrowseEntities.component.vue
|
|
33
|
-
search_for_connection: "Search for a connection",
|
|
34
|
-
filter_by_type: "Filter by type",
|
|
35
|
-
|
|
36
|
-
// DialogSaveCrateAsTemplate.component.vue
|
|
37
|
-
save_template_prompt: "Save this crate as a template for re-use",
|
|
38
|
-
provide_name_for_template: "provide a name for the crate template",
|
|
39
|
-
|
|
40
|
-
// RenderEntityName.component.vue
|
|
41
|
-
name_field_label: "Name",
|
|
42
|
-
name_field_help: "A short, descriptive name for this item.",
|
|
43
|
-
|
|
44
|
-
// Add.component.vue
|
|
45
|
-
associate_existing_prompt:
|
|
46
|
-
"Associate an existing '{{addType}}' (lookup by identifier or name) or create a new '{{addType}}' by typing a name for it.",
|
|
47
|
-
associate_any_prompt: "Associate any entity (lookup by identifier or name).",
|
|
48
|
-
add_text: "Add text",
|
|
49
|
-
|
|
50
|
-
// Text.component.vue
|
|
51
|
-
invalid_type_for_text:
|
|
52
|
-
"The type '{{type}}' is not valid for this component. It can only be 'text' or 'textarea'",
|
|
53
|
-
text_constraints_error_message:
|
|
54
|
-
"The specified value does not meet the following constraints: {{- value}}, or it is considered invalid.",
|
|
55
|
-
|
|
56
|
-
// Date.component.vue
|
|
57
|
-
pick_a_date: "Pick a date",
|
|
58
|
-
invalid_date_value:
|
|
59
|
-
"The supplied date '{{value}}' is invalid. Date format is: YYYY-MM-DD or an ISO String. e.g. 2021-03-22 or 2022-09-28T02:20:56.521Z.",
|
|
60
|
-
|
|
61
|
-
// DateTime.component.vue
|
|
62
|
-
pick_a_datetime: "Pick a date and time",
|
|
63
|
-
invalid_datetime_value:
|
|
64
|
-
"The supplied date/time '{{value}}' is invalid. Date/Time format is: YYYY-MM-DD HH:mm:ss or an ISO String. e.g. 2021-03-22 03:23:00 or 2022-09-28T02:20:56.521Z.",
|
|
65
|
-
|
|
66
|
-
// Time.component.vue
|
|
67
|
-
provide_time: "Please provide a time.",
|
|
68
|
-
invalid_time_value:
|
|
69
|
-
"The supplied time '{{value}}' is invalid. Time format is: HH:mm::ss. e.g. 09:03:59",
|
|
70
|
-
|
|
71
|
-
// Number.component.vue
|
|
72
|
-
invalid_number_value:
|
|
73
|
-
"The supplied number '{{value}}' is invalid. The value must be a valid number passed in as a String or a Number.",
|
|
74
|
-
number_constraints_error_message:
|
|
75
|
-
"The specified number does not meet the following constraints: {{value}}",
|
|
76
|
-
|
|
77
|
-
// Select.component.vue
|
|
78
|
-
select: "Select",
|
|
79
|
-
invalid_select_value:
|
|
80
|
-
"The definition provided to this component has values of the wrong from. It can only be an array of strings",
|
|
81
|
-
|
|
82
|
-
// Url.component.vue
|
|
83
|
-
invalid_url_value:
|
|
84
|
-
"The entry needs to be a valid url. The accepted protocols are: http, https, ftp, ftps and arcp.",
|
|
85
|
-
|
|
86
|
-
// Boolean.component.vue
|
|
87
|
-
true_label: "True",
|
|
88
|
-
false_label: "False",
|
|
89
|
-
|
|
90
|
-
// SelectUrl.component.vue
|
|
91
|
-
// select: as above
|
|
92
|
-
invalid_selecturl_value:
|
|
93
|
-
"The value '{{value}}' provided to this component is of the wrong from. It can only be a valid URL.",
|
|
94
|
-
invalid_selecturl_values:
|
|
95
|
-
"The definition provided to this component has values of the wrong from. It can only be an array of strings which are each valid URLs.",
|
|
96
|
-
|
|
97
|
-
// SelectObject.component.vue
|
|
98
|
-
// select: as above
|
|
99
|
-
invalid_selectobject_values:
|
|
100
|
-
"The definition provided to this component has values of the wrong from. It can only be an array of JSON-LD objects and each object, at a minimum, must have '@id', '@type' and 'name' defined.",
|
|
101
|
-
|
|
102
|
-
// Geo.component.vue
|
|
103
|
-
define_location: "Define a location by selecting on the map",
|
|
104
|
-
center_map: "center map",
|
|
105
|
-
select_region: "select region",
|
|
106
|
-
select_point: "select point",
|
|
107
|
-
press_shift_drag_to_select: "Press the shift key and drag the mouse to select an area",
|
|
108
|
-
click_on_map_to_select_point: "Click on the map to select a point",
|
|
109
|
-
location_name: "Location Name",
|
|
110
|
-
provide_name_for_location: "Please provide a name for this location - optional",
|
|
111
|
-
provide_name_for_location_error: "You need to provide a name for this location",
|
|
112
|
-
select_existing_location: "Select a location that has already been defined",
|
|
113
|
-
|
|
114
|
-
// Value.component.vue
|
|
115
|
-
invalid_value_value: "The supplied value '{{value}}' is invalid. It can only be a string.",
|
|
116
|
-
|
|
117
|
-
// AutoComplete.component.vue
|
|
118
|
-
select_existing_or_create_new: "select an existing entity or create a new one",
|
|
119
|
-
create_new_of_type: "Create new {{type}}",
|
|
120
|
-
external_lookup_timeout_error: "External Lookup Timeout",
|
|
121
|
-
ror_lookup_timeout_error: "ROR Lookup Timeout",
|
|
122
|
-
associate_existing_entity: "Associate an entity already defined in this crate",
|
|
123
|
-
associate_entity_from_template: "Associate an entity from saved templates",
|
|
124
|
-
associate_organization_from_ror:
|
|
125
|
-
"Associate an Organization defined in the Research Organization Registry",
|
|
126
|
-
associate_user_created_entity: "Associate a user created entity",
|
|
127
|
-
associate_from_datapack: "Associate a verified entity from a datapack",
|
|
128
|
-
create_new_entity: "Create new entity",
|
|
129
|
-
|
|
130
|
-
// AddControl.component.vue
|
|
131
|
-
select_a_type_to_add: "Select a type to add",
|
|
132
|
-
|
|
133
|
-
// EntityType.tsx
|
|
134
|
-
select_a_class_to_add: "Select a class to add",
|
|
135
|
-
|
|
136
|
-
// PaginateLinkedEntities.component.vue
|
|
137
|
-
filter_the_entities: "Filter the entities",
|
|
138
|
-
pagination_total: "Total: {{total}}",
|
|
139
|
-
|
|
140
|
-
// RenderEntityProperty.component.vue
|
|
141
|
-
not_defined_in_profile: "not defined in profile",
|
|
142
|
-
|
|
143
|
-
// RenderReverseConnections.component.vue
|
|
144
|
-
// search_for_connection: defined before
|
|
145
|
-
links_to_this_entity: "Links to this entity:",
|
|
146
|
-
},
|
|
147
|
-
};
|
|
148
|
-
|
|
149
|
-
export default en;
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
const hu = {
|
|
2
|
-
translation: {
|
|
3
|
-
hello_one: "szia világ",
|
|
4
|
-
hello_other: "sziasztok világok",
|
|
5
|
-
|
|
6
|
-
// RenderControls.component.vue
|
|
7
|
-
root_dataset_label: "Gyökér adatcsomag",
|
|
8
|
-
add_label: "Új elem",
|
|
9
|
-
edit_context_label: "Kontextus szerkesztése",
|
|
10
|
-
preview_label: "Előnézet",
|
|
11
|
-
browse_entities_label: "Entitás böngésző",
|
|
12
|
-
save_crate_as_template_label: "Mentés csomag mintaként",
|
|
13
|
-
save_entity_template_label: "Mentés entitás mintaként",
|
|
14
|
-
delete_entity_label: "Entitás törlése",
|
|
15
|
-
are_you_sure_to_delete: "Biztosan törölni akarja az entitást?",
|
|
16
|
-
are_you_sure_to_delete_yes: "Igen",
|
|
17
|
-
are_you_sure_to_delete_no: "Nem",
|
|
18
|
-
add_properties_to_this_entity: "Új adat hozzáadása az entitáshoz",
|
|
19
|
-
edit_context: "Kontextus szerkesztése",
|
|
20
|
-
preview_crate: "Csomag előnézete",
|
|
21
|
-
browse_entities: "Entitások böngészése",
|
|
22
|
-
|
|
23
|
-
// DialogAddProperty.component.vue
|
|
24
|
-
filter_attribute_set: "Attribútumok szűrése",
|
|
25
|
-
|
|
26
|
-
// DialogEditContext.component.vue
|
|
27
|
-
save_label: "Mentés",
|
|
28
|
-
|
|
29
|
-
// DialogPreviewCrate.component.vue
|
|
30
|
-
preview_loading: "betöltés ...",
|
|
31
|
-
|
|
32
|
-
// DialogBrowseEntities.component.vue
|
|
33
|
-
search_for_connection: "Kapcsolt entitás keresése",
|
|
34
|
-
filter_by_type: "Típus szerinti szűrés",
|
|
35
|
-
// DialogSaveCrateAsTemplate.component.vue
|
|
36
|
-
save_template_prompt: "Csomag mentése mintaként",
|
|
37
|
-
provide_name_for_template: "minta neve",
|
|
38
|
-
|
|
39
|
-
// RenderEntityName.component.vue
|
|
40
|
-
name_field_label: "Név",
|
|
41
|
-
name_field_help: "Az entitás rövid, leíró neve",
|
|
42
|
-
|
|
43
|
-
// Add.component.vue
|
|
44
|
-
associate_existing_prompt:
|
|
45
|
-
"Egy létező '{{addType}}' társítása (név vagy azonosító alapú kereséssel) vagy egy új '{{addType}}' létrehozása a név megadásával",
|
|
46
|
-
associate_any_prompt: "Bármely entitás hozzárendelése (azonosító vagy név alapján)",
|
|
47
|
-
add_text: "Szöveg hozzáadása",
|
|
48
|
-
|
|
49
|
-
// Text.component.vue
|
|
50
|
-
invalid_type_for_text:
|
|
51
|
-
"'{{type}}' típus nem használható ezzel a komponenssel. A típus csak 'text' vagy 'textarea' lehet",
|
|
52
|
-
text_constraints_error_message: "A megadott érték nem felel meg a következő megszorításoknak: {{- value}}, vagy érvénytelen.",
|
|
53
|
-
|
|
54
|
-
// Date.component.vue
|
|
55
|
-
pick_a_date: "Válassz dátumot!",
|
|
56
|
-
invalid_date_value:
|
|
57
|
-
"A megadott dátum '{{value}}' nem megfelelő. Az elvárt dátum formátum: YYYY-MM-DD vagy egy ISO dátum, pl. 2021-03-22 or 2022-09-28T02:20:56.521Z.",
|
|
58
|
-
|
|
59
|
-
// DateTime.component.vue
|
|
60
|
-
pick_a_datetime: "Válassz dátumot és időt!",
|
|
61
|
-
invalid_datetime_value:
|
|
62
|
-
"A megadott dátum/idő '{{value}}' nem megfelelő. Az elvárt dátum/idő formátum: YYYY-MM-DD HH:mm:ss vagy egy ISO dátum, pl. 2021-03-22 03:23:00 or 2022-09-28T02:20:56.521Z.",
|
|
63
|
-
|
|
64
|
-
// Time.component.vue
|
|
65
|
-
provide_time: "Add meg az időt!",
|
|
66
|
-
invalid_time_value:
|
|
67
|
-
"A megadott érték '{{value}}' nem megfelelő. Az elvárt idő formátum: HH:mm::ss. pl. 09:03:59",
|
|
68
|
-
|
|
69
|
-
// Number.component.vue
|
|
70
|
-
invalid_number_value:
|
|
71
|
-
"A megadott érték '{{value}}' nem megfelelő. Az értéket String vagy Number típusként kell megadni",
|
|
72
|
-
number_constraints_error_message: "A megadott szám nem felel meg a következő megszorításoknak: {{value}}",
|
|
73
|
-
|
|
74
|
-
// Select.component.vue
|
|
75
|
-
select: "Válassz!",
|
|
76
|
-
invalid_select_value:
|
|
77
|
-
"A komponensnek adott definíció értékei nem megfelelő formátumban vannak. Csak karakterláncokból álló tömb lehet.",
|
|
78
|
-
|
|
79
|
-
// Url.component.vue
|
|
80
|
-
invalid_url_value:
|
|
81
|
-
"A bejegyzésnek érvényes URL-nek kell lennie. Az elfogadott protokollok: http, https, ftp, ftps és arcp.",
|
|
82
|
-
|
|
83
|
-
// Boolean.component.vue
|
|
84
|
-
true_label: "Igaz",
|
|
85
|
-
false_label: "Hamis",
|
|
86
|
-
|
|
87
|
-
// SelectUrl.component.vue
|
|
88
|
-
// select: as above
|
|
89
|
-
invalid_selecturl_value:
|
|
90
|
-
"A megadott '{{value}}' érték nem megfelelő formátumú. Csak érvényes URL lehet.",
|
|
91
|
-
invalid_selecturl_values:
|
|
92
|
-
"A komponensnek adott definíció értékei nem megfelelő formátumban vannak. Csak olyan karakterláncokból álló tömb lehet, amelyek mindegyike érvényes URL.",
|
|
93
|
-
|
|
94
|
-
// SelectObject.component.vue
|
|
95
|
-
// select: as above
|
|
96
|
-
invalid_selectobject_values:
|
|
97
|
-
"A komponensnek adott definíció értékei nem megfelelő formátumban vannak. Csak JSON-LD objektumokból álló tömb lehet, és minden objektumnak legalább '@id', '@type' és 'name' meghatározással kell rendelkeznie.",
|
|
98
|
-
|
|
99
|
-
// Geo.component.vue
|
|
100
|
-
define_location: "Határozz meg egy helyet a térképen történő kiválasztással!",
|
|
101
|
-
center_map: "térkép középre állítása",
|
|
102
|
-
select_region: "régió kiválasztása",
|
|
103
|
-
select_point: "pont kiválasztása",
|
|
104
|
-
press_shift_drag_to_select:
|
|
105
|
-
"Nyomd le a shift billentyűt és húzd az egérrel, hogy kijelölj egy területet",
|
|
106
|
-
click_on_map_to_select_point: "Kattints a térképre, hogy kiválaszthass egy pontot",
|
|
107
|
-
location_name: "Hely neve",
|
|
108
|
-
provide_name_for_location: "Adj nevet ennek a helynek!",
|
|
109
|
-
provide_name_for_location_error: "A hely nevének megadása kötelező!",
|
|
110
|
-
select_existing_location: "Válassz egy már meghatározott helyet a csomagban!",
|
|
111
|
-
|
|
112
|
-
// Value.component.vue
|
|
113
|
-
invalid_value_value: "A megadott '{{value}}' érték érvénytelen. Csak karakterlánc lehet.",
|
|
114
|
-
|
|
115
|
-
// AutoComplete.component.vue
|
|
116
|
-
select_existing_or_create_new: "válassz egy meglévő entitást vagy hozz létre egy újat",
|
|
117
|
-
create_new_of_type: "Új {{type}} létrehozása",
|
|
118
|
-
external_lookup_timeout_error: "Külső lekérdezési időtúllépés",
|
|
119
|
-
ror_lookup_timeout_error: "ROR lekérdezési időtúllépés",
|
|
120
|
-
associate_existing_entity: "Kapcsolj egy már ebben a csomagban definiált entitást",
|
|
121
|
-
associate_entity_from_template: "Kapcsolj egy mentett sablonból származó entitást",
|
|
122
|
-
associate_organization_from_ror:
|
|
123
|
-
"Kapcsolj egy a Research Organization Registryben definiált szervezetet",
|
|
124
|
-
associate_user_created_entity: "Kapcsolj egy felhasználó által létrehozott entitást",
|
|
125
|
-
associate_from_datapack: "Kapcsolj egy ellenőrzött entitást egy adatcsomagból",
|
|
126
|
-
create_new_entity: "Új entitás létrehozása",
|
|
127
|
-
|
|
128
|
-
// AddControl.component.vue
|
|
129
|
-
select_a_type_to_add: "Válassz hozzáadandó típust",
|
|
130
|
-
|
|
131
|
-
// EntityType.tsx
|
|
132
|
-
select_a_class_to_add: "Válassz hozzáadandó osztályt",
|
|
133
|
-
|
|
134
|
-
// PaginateLinkedEntities.component.vue
|
|
135
|
-
filter_the_entities: "Entitások szűrése",
|
|
136
|
-
pagination_total: "Összesen: {{total}}",
|
|
137
|
-
|
|
138
|
-
// RenderEntityProperty.component.vue
|
|
139
|
-
not_defined_in_profile: "nincs definiálva a profilban",
|
|
140
|
-
|
|
141
|
-
// RenderReverseConnections.component.vue
|
|
142
|
-
// search_for_connection: defined before
|
|
143
|
-
links_to_this_entity: "Entitásra mutató hivatkozások:",
|
|
144
|
-
},
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
export default hu;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Meta, StoryObj } from '@storybook/react';
|
|
3
|
-
import Boolean from './Boolean';
|
|
4
|
-
|
|
5
|
-
const meta: Meta<typeof Boolean> = {
|
|
6
|
-
component: Boolean,
|
|
7
|
-
title: 'Primitives/Boolean',
|
|
8
|
-
argTypes: {
|
|
9
|
-
value: {
|
|
10
|
-
options: [true, false],
|
|
11
|
-
control: { type: 'radio' }
|
|
12
|
-
},
|
|
13
|
-
onSaveProperty: { action: 'saveProperty' }
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export default meta;
|
|
18
|
-
|
|
19
|
-
type Story = StoryObj<typeof Boolean>;
|
|
20
|
-
|
|
21
|
-
export const Default: Story = {
|
|
22
|
-
args: {
|
|
23
|
-
property: 'boolean',
|
|
24
|
-
value: false
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
export const Checked: Story = {
|
|
29
|
-
args: {
|
|
30
|
-
property: 'boolean',
|
|
31
|
-
value: true
|
|
32
|
-
}
|
|
33
|
-
};
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import React, { useState, useEffect } from 'react';
|
|
2
|
-
import { Switch, Form} from 'antd'
|
|
3
|
-
import { useTranslation } from 'react-i18next';
|
|
4
|
-
import { debounce } from 'lodash';
|
|
5
|
-
|
|
6
|
-
export interface BooleanProps {
|
|
7
|
-
property: string;
|
|
8
|
-
value?: boolean;
|
|
9
|
-
onSaveProperty: (data: { property: string; value: boolean }) => void;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
const Boolean: React.FC<BooleanProps> = ({ property, value = false, onSaveProperty }) => {
|
|
13
|
-
// Add try-catch to handle the case when i18n is not available (like in Storybook)
|
|
14
|
-
let t: (key: string) => string;
|
|
15
|
-
try {
|
|
16
|
-
const i18n = useTranslation();
|
|
17
|
-
t = i18n.t;
|
|
18
|
-
} catch (e) {
|
|
19
|
-
// Fallback translation function if i18n is not available
|
|
20
|
-
t = (key: string) => key === 'true_label' ? 'True' : 'False';
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
const [internalValue, setInternalValue] = useState<boolean>(value);
|
|
24
|
-
|
|
25
|
-
// Update internal value when prop value changes
|
|
26
|
-
useEffect(() => {
|
|
27
|
-
setInternalValue(value);
|
|
28
|
-
}, [value]);
|
|
29
|
-
|
|
30
|
-
// Create debounced save function
|
|
31
|
-
const debouncedSave = React.useCallback(
|
|
32
|
-
debounce((newValue: boolean) => {
|
|
33
|
-
onSaveProperty({
|
|
34
|
-
property,
|
|
35
|
-
value: newValue
|
|
36
|
-
});
|
|
37
|
-
}, 200),
|
|
38
|
-
[property, onSaveProperty]
|
|
39
|
-
);
|
|
40
|
-
|
|
41
|
-
// Handle change
|
|
42
|
-
const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {
|
|
43
|
-
const newValue = event.target.checked;
|
|
44
|
-
setInternalValue(newValue);
|
|
45
|
-
debouncedSave(newValue);
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
return (
|
|
49
|
-
<div className="flex flex-col describo-property-type-boolean">
|
|
50
|
-
<div className="flex flex-row space-x-2">
|
|
51
|
-
<Form.Item
|
|
52
|
-
label={internalValue ? t('true_label') : t('false_label')}
|
|
53
|
-
>
|
|
54
|
-
<Switch
|
|
55
|
-
checked={internalValue}
|
|
56
|
-
onChange={(checked: boolean) => {
|
|
57
|
-
handleChange({ target: { checked } } as React.ChangeEvent<HTMLInputElement>);
|
|
58
|
-
}}
|
|
59
|
-
size="default"
|
|
60
|
-
/>
|
|
61
|
-
</Form.Item>
|
|
62
|
-
</div>
|
|
63
|
-
</div>
|
|
64
|
-
);
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
export default Boolean;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { StoryFn, Meta } from '@storybook/react';
|
|
3
|
-
import DateComponent from './Date';
|
|
4
|
-
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
|
|
5
|
-
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
|
|
6
|
-
|
|
7
|
-
export default {
|
|
8
|
-
title: 'Primitives/Date',
|
|
9
|
-
component: DateComponent,
|
|
10
|
-
argTypes: {
|
|
11
|
-
value: {
|
|
12
|
-
options: ['2022-03-02', '2022-09-28T02:20:56.521', new Date().toISOString()],
|
|
13
|
-
control: { type: 'radio' }
|
|
14
|
-
},
|
|
15
|
-
onSaveProperty: { action: 'saveProperty' }
|
|
16
|
-
},
|
|
17
|
-
decorators: [
|
|
18
|
-
(Story) => (
|
|
19
|
-
<LocalizationProvider dateAdapter={AdapterDayjs}>
|
|
20
|
-
<Story />
|
|
21
|
-
</LocalizationProvider>
|
|
22
|
-
)
|
|
23
|
-
]
|
|
24
|
-
} as Meta<typeof DateComponent>;
|
|
25
|
-
|
|
26
|
-
const Template: StoryFn<typeof DateComponent> = (args) => <DateComponent {...args} />;
|
|
27
|
-
|
|
28
|
-
export const Default = Template.bind({});
|
|
29
|
-
Default.args = {
|
|
30
|
-
property: 'date',
|
|
31
|
-
value: '2022-03-02'
|
|
32
|
-
};
|