@piveau/piveau-hub-ui-modules 4.6.26 → 4.6.28
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/data-provider-interface/components/BlankInput.vue.d.ts +2 -0
- package/dist/data-provider-interface/components/BlankInput.vue.mjs +11 -0
- package/dist/data-provider-interface/components/BlankInput.vue.mjs.map +1 -0
- package/dist/data-provider-interface/components/BlankInput.vue2.mjs +5 -0
- package/dist/data-provider-interface/components/BlankInput.vue2.mjs.map +1 -0
- package/dist/data-provider-interface/components/DistributionStepper.vue.mjs.map +1 -1
- package/dist/data-provider-interface/components/WidgetInput.vue.mjs +42 -37
- package/dist/data-provider-interface/components/WidgetInput.vue.mjs.map +1 -1
- package/dist/data-provider-interface/config/dcatapde_BFS/format-types.mjs +1 -0
- package/dist/data-provider-interface/config/dcatapde_BFS/format-types.mjs.map +1 -1
- package/dist/data-provider-interface/config/dcatapde_BFS/input-definition.d.ts +1 -1
- package/dist/data-provider-interface/config/dcatapde_BFS/input-definition.mjs +9 -0
- package/dist/data-provider-interface/config/dcatapde_BFS/input-definition.mjs.map +1 -1
- package/dist/data-provider-interface/config/dcatapde_BFS/page-content-config.mjs +1 -1
- package/dist/data-provider-interface/config/dcatapde_BFS/page-content-config.mjs.map +1 -1
- package/dist/data-provider-interface/utils/RDFconverter.mjs +155 -157
- package/dist/data-provider-interface/utils/RDFconverter.mjs.map +1 -1
- package/dist/data-provider-interface/utils/inputConverter.mjs +85 -86
- package/dist/data-provider-interface/utils/inputConverter.mjs.map +1 -1
- package/dist/data-provider-interface/views/InputPage.vue.mjs +30 -32
- package/dist/data-provider-interface/views/InputPage.vue.mjs.map +1 -1
- package/dist/datasets/datasetsFacets/DatasetsFacets.vue.mjs +78 -71
- package/dist/datasets/datasetsFacets/DatasetsFacets.vue.mjs.map +1 -1
- package/dist/form/inputDefinitions.mjs +25 -20
- package/dist/form/inputDefinitions.mjs.map +1 -1
- package/dist/piveau-hub-ui-modules.css +1 -1
- package/dist/scss/_dpi-style.scss +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputConverter.mjs","sources":["../../../lib/data-provider-interface/utils/inputConverter.js"],"sourcesContent":["import generalHelper from \"./general-helper\";\nimport { has, isEmpty } from \"lodash\";\n\n/**\n * Converts given data for given property into input form format\n * @param {*} state state from store\n * @param {*} property Property to convert data for (datasets/catalogues)\n * @param {*} data Linked data within a dataset\n */\nasync function convertToInput(state, property, data, dpiConfig) {\n let generalID;\n let namespaceKeys;\n let propertyQuads;\n\n if (property === \"datasets\") {\n propertyQuads = data.match(\n null,\n \"http://www.w3.org/1999/02/22-rdf-syntax-ns#type\",\n \"http://www.w3.org/ns/dcat#Dataset\",\n null\n );\n } else {\n propertyQuads = data.match(\n null,\n \"http://www.w3.org/1999/02/22-rdf-syntax-ns#type\",\n \"http://www.w3.org/ns/dcat#Catalog\",\n null\n );\n }\n\n // extract data for datasets/catalogues\n namespaceKeys = generalHelper.getPagePrefixedNames(\n property,\n dpiConfig.inputDefinition,\n dpiConfig.pageConent\n );\n state[property] = {};\n for (let el of propertyQuads) {\n // there should be only one dataset id\n generalID = el.subject.value;\n\n for (let pageName in namespaceKeys[property]) {\n state[property][pageName] = {};\n convertProperties(\n property,\n state[property][pageName],\n generalID,\n data,\n namespaceKeys[property][pageName],\n dpiConfig\n );\n }\n }\n\n // also add distribution data\n if (property === \"datasets\") {\n const distributionQuads = data.match(\n generalID,\n \"http://www.w3.org/ns/dcat#distribution\",\n null,\n null\n );\n namespaceKeys = generalHelper.getPagePrefixedNames(\n \"distributions\",\n dpiConfig.inputDefinition,\n dpiConfig.pageConent\n );\n state.datasets.Distributions[\"distributionList\"] = [];\n for (let el of distributionQuads) {\n const currentDistribution = {};\n\n const distributionId = el.object.value;\n for (let pageName in namespaceKeys[\"distributions\"]) {\n currentDistribution[pageName] = {};\n convertProperties(\n \"distributions\",\n currentDistribution[pageName],\n distributionId,\n data,\n namespaceKeys[\"distributions\"][pageName],\n dpiConfig\n );\n }\n state.datasets.Distributions.distributionList.push(currentDistribution);\n }\n }\n}\n\n/**\n * Converts value for given property from RDF into input form format\n * @param {*} property Parent property of given value (datasets/distributions/catalogues)\n * @param {*} state State from store\n * @param {*} id Id of parent node which serves as subject\n * @param {*} data Linked data\n * @param {*} propertyKeys Keys of properties to check\n */\nfunction convertProperties(property, state, id, data, propertyKeys, dpiConfig) {\n const formatType = dpiConfig.formatTypes;\n\n for (let index = 0; index < propertyKeys.length; index += 1) {\n const key = propertyKeys[index];\n let subData = data.match(\n id,\n generalHelper.addNamespace(key, dpiConfig),\n null,\n null\n );\n\n if (formatType.singularString[property].includes(key)) {\n convertSingularStrings(subData, state, key);\n } else if (formatType.singularURI[property].includes(key)) {\n convertSingularURI(subData, state, key, dpiConfig);\n } else if (formatType.multipleURI[property].includes(key)) {\n convertMultipleURI(subData, state, key, property, dpiConfig);\n } else if (formatType.typedStrings[property].includes(key)) {\n convertTypedString(subData, state, key);\n } else if (formatType.multilingualStrings[property].includes(key)) {\n convertMultilingual(subData, state, key);\n } else if (formatType.conditionalProperties[property].includes(key)) {\n // publisher either is an URI or a group with multiple values (name, homepage, email)\n if (key === \"dct:publisher\" || key === \"dct:license\") {\n for (let el of subData) {\n if (el.object.termType === \"NamedNode\") {\n state[key] = { name: el.object.value, resource: el.object.value };\n } else if (el.object.termType === \"BlankNode\") {\n // get keys for nested values without dct'title (special format)\n const nestedKeys = generalHelper\n .getNestedKeys(data.match(el.object, null, null, null), dpiConfig)\n .filter((el) => el !== \"dct:title\");\n const nestedProperties = {};\n\n // convert nested values\n if (key === \"dct:license\") {\n const licenceTitleQuad = data.match(\n el.object,\n generalHelper.addNamespace(\"dct:title\", dpiConfig),\n null,\n null\n );\n for (let el of licenceTitleQuad) {\n nestedProperties[\"dct:title\"] = el.object.value;\n }\n }\n\n convertProperties(\n property,\n nestedProperties,\n el.object,\n data,\n nestedKeys,\n dpiConfig\n );\n state[key] = nestedProperties;\n }\n }\n }\n } else if (formatType.groupedProperties[property].includes(key)) {\n if (subData.size > 0) {\n state[key] = [];\n // there could be multiple nodes with data for a property\n for (let el of subData) {\n let currentState = {};\n if (key === \"skos:notation\") {\n // skos notation behaves differently\n // there should be a typed literal given which should be seperated into @value and @type\n if (el.object.value) currentState[\"@value\"] = el.object.value;\n if (el.object.datatypeString)\n currentState[\"@type\"] = {\n name: el.object.datatypeString,\n resource: el.object.datatypeString,\n };\n } else {\n // some properties have a named node containing data, the value of this named node also is a value form the input form (typically @id)\n if (el.object.termType === \"NamedNode\")\n currentState[\"@id\"] = el.object.value;\n // get keys of node properties\n const nestedKeys = generalHelper.getNestedKeys(\n data.match(el.object, null, null, null),\n dpiConfig\n );\n convertProperties(\n property,\n currentState,\n el.object,\n data,\n nestedKeys,\n dpiConfig\n );\n }\n // creator not an array\n if (\n key === \"dct:creator\" ||\n key === \"vcard:hasAddress\" ||\n key === \"skos:notation\" ||\n key === \"spdx:checksum\"\n )\n state[key] = currentState;\n else state[key].push(currentState);\n }\n }\n } else if (key === \"dcat:temporalResolution\") {\n // temporal resolution is displayed as group of input forms for each property (year, month, day, ...)\n // the form provides the data as following: [ { 'Year': '...', 'Month': '...', ... } ]\n // the linked data format of this property looks like this: P?Y?M?DT?H?M?S\n if (subData.size > 0) {\n state[key] = {};\n\n const shorts = [\"Y\", \"M\", \"D\", \"H\", \"M\", \"S\"];\n const forms = {\n 0: \"Year\",\n 1: \"Month\",\n 2: \"Day\",\n 3: \"Hour\",\n 4: \"Minute\",\n 5: \"Second\",\n };\n\n // should be oly one quad\n let resolutionValue;\n for (let el of subData) {\n resolutionValue = el.object.value;\n }\n\n // backend converts temporalResolution values without a date into seconds for time values\n if (!resolutionValue.startsWith(\"P\")) {\n // setting year, month and day to 0\n state[key][forms[0]] = 0;\n state[key][forms[1]] = 0;\n state[key][forms[2]] = 0;\n\n // converting seconds into HH:MM:SS\n const data = new Date(resolutionValue * 1000)\n .toISOString()\n .slice(11, 19);\n state[key][forms[3]] = data.slice(0, 2);\n state[key][forms[4]] = data.slice(3, 5);\n state[key][forms[5]] = data.slice(7, 9);\n } else {\n // find index of letter for time period\n // extract substring until this index\n // extract number from string and set as according value for input\n for (let tempIndex = 0; tempIndex < shorts.length; tempIndex += 1) {\n const position = resolutionValue.indexOf(shorts[tempIndex]); // position of duration letter\n const subDuration = resolutionValue.substring(0, position); // substring until position of duration letter\n const value = subDuration?.match(/\\d+/g)?.[0] ?? \"\"; // extract number\n resolutionValue = resolutionValue.substring(position); // overwrite resolution string with shortened version (missing the extracted part)\n state[key][forms[tempIndex]] = value; // write to result object\n }\n }\n }\n } else if (key === \"dct:identifier\") {\n if (subData.size > 0) {\n // identifier should be provided as array of strings\n // [{'@value': '...'}, {'@value': '...'}, ...]\n state[key] = [];\n\n for (let el of subData) {\n state[key].push({ \"@value\": el.object.value });\n }\n }\n } else if (key === \"dct:rights\") {\n // rights is conditional and gets a string\n // rights always includes a type so everything is located within a blank node\n // also rights is a singular property\n if (subData.size > 0) {\n let nodeData;\n // get id of blank node and associated label data\n for (let el of subData) {\n const rightsBlankNode = el.object;\n nodeData = data.match(\n rightsBlankNode,\n generalHelper.addNamespace(\"rdfs:label\", dpiConfig),\n null,\n null\n );\n for (let label of nodeData) {\n if (generalHelper.isUrl(label.object.value))\n state[key] = { \"@type\": \"url\", \"rdfs:value\": label.object.value };\n else\n state[key] = {\n \"@type\": \"text\",\n \"rdfs:value\": label.object.value,\n };\n }\n }\n }\n } else if (key === \"datasetID\" && property !== \"datatsets\") {\n // id is given as complete URI\n // dataset-/catalogue-id is string following the last /\n state[key] = id.substr(id.lastIndexOf(\"/\") + 1);\n state[\"hidden_datasetIDFormHidden\"] = id.substr(id.lastIndexOf(\"/\") + 1);\n } else if (key === \"dcat:catalog\" && property === \"datasets\") {\n // datasets also have a property called dcat:catalog (not valid DCAT-AP)\n // property is needed to determine catalog the dataset belongs to\n if (!(subData.size > 0)) {\n // bceause dcat:catalog is no valid DCAT-AP it is possible that the prefix is not resolved\n // therefore it is also possible to get the data by using the shortned key\n subData = data.match(id, \"dcat:catalog\", null, null);\n }\n\n state[key] = \"\";\n\n // there should only be one catalog\n for (let cat of subData) {\n state[key] = cat.object.value;\n }\n } else if (key === \"rdf:type\") {\n // some properties have a type which can be selected\n // the type also has a namespace and therefore need to be shortened ( e.g. from https://...Individual to vcard:Individual)\n if (subData.size > 0) {\n state[key] = \"\";\n\n // typically there is only on type provided for each property instance\n for (let el of subData) {\n state[key] = generalHelper.removeNamespace(\n el.object.value,\n dpiConfig\n );\n }\n }\n } else if (key === \"pv:distributionType\") {\n // Displays the Tag of the Distribution TODO\n console.log(state[key]);\n }\n }\n}\n\n//-----------------------------------------------------------------------------------------------------\n// basic conversion methods for different categories of data\n//-----------------------------------------------------------------------------------------------------\n// seems at first to be unnecessary but if we want to convert nested properties as well, we need these\n// methods (especially to provide the correct parent URI)\n\n/**\n *\n * @param {*} data\n * @param {*} state\n * @param {*} key\n */\nfunction convertSingularStrings(data, state, key) {\n if (data.size > 0) {\n state[key] = \"\";\n\n for (let el of data) {\n state[key] = el.object.value;\n }\n }\n}\n\n/**\n *\n * @param {*} data\n * @param {*} state\n * @param {*} key\n */\nfunction convertSingularURI(data, state, key, dpiConfig) {\n const formatType = dpiConfig.formatTypes;\n\n if (data.size > 0) {\n state[key] = \"\";\n\n for (let el of data) {\n const value = el.object.value;\n\n if (value.startsWith(\"mailto:\")) {\n state[key] = value.replace(\"mailto:\", \"\");\n } else {\n if (formatType.URIformat.voc.includes(key))\n state[key] = { name: value, resource: value };\n else if (formatType.URIformat.string.includes(key)) state[key] = value;\n else state[key] = { \"@id\": value };\n }\n }\n }\n}\n\n/**\n *\n * @param {*} data\n * @param {*} state\n * @param {*} key\n */\nfunction convertMultipleURI(data, state, key, property, dpiConfig) {\n // there are two different formats the frontend need to deliver multiple URIs\n // 1: [ \"URI1\", \"URI2\" ]\n // 2: [ { \"@id\": \"URI1\" }, { \"@id\": \"URI2\" } ]\n\n const formatType = dpiConfig.formatTypes;\n\n if (data.size > 0) {\n state[key] = [];\n for (let el of data) {\n if (formatType.URIformat.voc.includes(key))\n state[key].push({ name: el.object.value, resource: el.object.value });\n else if (formatType.URIformat.string.includes(key))\n state[key].push(el.object.value);\n else state[key].push({ \"@id\": el.object.value });\n }\n }\n}\n\n/**\n *\n * @param {*} data\n * @param {*} state\n * @param {*} key\n */\nfunction convertTypedString(data, state, key) {\n // some properties have a type\n // normally this type is not used within the forntend form and therefore won't be saved to frontend values\n if (data.size > 0) {\n state[key] = \"\";\n for (let el of data) {\n if (key === \"dcat:spatialResolutionInMeters\" || key === \"dcat:byteSize\")\n state[key] = el.object.value;\n else if (key === \"dcat:startDate\" || key === \"dcat:endDate\") {\n state[key] = el.object.value;\n } else if (key === \"pv:distributionType\") {\n state[key] = el.object.value;\n } else {\n let dateType;\n if (el.object.value.includes(\"T\")) dateType = \"dateTime\";\n else dateType = \"date\";\n\n state[key] = { \"@type\": dateType, \"@value\": el.object.value };\n }\n }\n }\n}\n\n/**\n * Converts and writes multilingual data to store\n * @param {*} data DatasetCore containing an array of quads\n * @param {*} state State for current key\n * @param {*} key Name of current property (e.g: 'dct:title')\n */\nfunction convertMultilingual(data, state, key) {\n // multilingual data is always stored within an array containing object with the value and it's language\n // [ {'@value': '...', '@language': '...'}, ...]\n if (data.size > 0) {\n state[key] = [];\n\n for (let el of data) {\n if (!el.object.language.includes(\"-\")) {\n // machine translation language tags look like this \"fi-t-en-t0-mtec\" and should not be included\n const currentElement = {};\n currentElement[\"@value\"] = el.object.value; // actual value\n currentElement[\"@language\"] = el.object.language; // language of value\n state[key].push(currentElement);\n }\n }\n }\n}\n\nexport default {\n convertToInput,\n};\n"],"names":["convertToInput","state","property","data","dpiConfig","generalID","namespaceKeys","propertyQuads","generalHelper","el","pageName","convertProperties","distributionQuads","currentDistribution","distributionId","id","propertyKeys","formatType","index","key","subData","convertSingularStrings","convertSingularURI","convertMultipleURI","convertTypedString","convertMultilingual","nestedKeys","nestedProperties","licenceTitleQuad","currentState","shorts","forms","resolutionValue","tempIndex","position","subDuration","value","_a","nodeData","rightsBlankNode","label","cat","dateType","currentElement","toInput"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inputConverter.mjs","sources":["../../../lib/data-provider-interface/utils/inputConverter.js"],"sourcesContent":["import generalHelper from \"./general-helper\";\nimport { has, isEmpty } from \"lodash\";\n\n/**\n * Converts given data for given property into input form format\n * @param {*} state state from store\n * @param {*} property Property to convert data for (datasets/catalogues)\n * @param {*} data Linked data within a dataset\n */\nasync function convertToInput(state, property, data, dpiConfig) {\n let generalID;\n let namespaceKeys;\n let propertyQuads;\n\n if (property === \"datasets\") {\n propertyQuads = data.match(\n null,\n \"http://www.w3.org/1999/02/22-rdf-syntax-ns#type\",\n \"http://www.w3.org/ns/dcat#Dataset\",\n null\n );\n } else {\n propertyQuads = data.match(\n null,\n \"http://www.w3.org/1999/02/22-rdf-syntax-ns#type\",\n \"http://www.w3.org/ns/dcat#Catalog\",\n null\n );\n }\n\n // extract data for datasets/catalogues\n namespaceKeys = generalHelper.getPagePrefixedNames(\n property,\n dpiConfig.inputDefinition,\n dpiConfig.pageConent\n );\n state[property] = {};\n for (let el of propertyQuads) {\n // there should be only one dataset id\n generalID = el.subject.value;\n\n for (let pageName in namespaceKeys[property]) {\n state[property][pageName] = {};\n convertProperties(\n property,\n state[property][pageName],\n generalID,\n data,\n namespaceKeys[property][pageName],\n dpiConfig\n );\n }\n }\n\n // also add distribution data\n if (property === \"datasets\") {\n const distributionQuads = data.match(\n generalID,\n \"http://www.w3.org/ns/dcat#distribution\",\n null,\n null\n );\n namespaceKeys = generalHelper.getPagePrefixedNames(\n \"distributions\",\n dpiConfig.inputDefinition,\n dpiConfig.pageConent\n );\n state.datasets.Distributions[\"distributionList\"] = [];\n for (let el of distributionQuads) {\n const currentDistribution = {};\n\n const distributionId = el.object.value;\n for (let pageName in namespaceKeys[\"distributions\"]) {\n currentDistribution[pageName] = {};\n convertProperties(\n \"distributions\",\n currentDistribution[pageName],\n distributionId,\n data,\n namespaceKeys[\"distributions\"][pageName],\n dpiConfig\n );\n }\n state.datasets.Distributions.distributionList.push(currentDistribution);\n }\n }\n}\n\n/**\n * Converts value for given property from RDF into input form format\n * @param {*} property Parent property of given value (datasets/distributions/catalogues)\n * @param {*} state State from store\n * @param {*} id Id of parent node which serves as subject\n * @param {*} data Linked data\n * @param {*} propertyKeys Keys of properties to check\n */\nfunction convertProperties(property, state, id, data, propertyKeys, dpiConfig) {\n const formatType = dpiConfig.formatTypes;\n\n for (let index = 0; index < propertyKeys.length; index += 1) {\n const key = propertyKeys[index];\n let subData = data.match(\n id,\n generalHelper.addNamespace(key, dpiConfig),\n null,\n null\n );\n\n if (formatType.singularString[property].includes(key)) {\n convertSingularStrings(subData, state, key);\n } else if (formatType.singularURI[property].includes(key)) {\n convertSingularURI(subData, state, key, dpiConfig);\n } else if (formatType.multipleURI[property].includes(key)) {\n convertMultipleURI(subData, state, key, property, dpiConfig);\n } else if (formatType.typedStrings[property].includes(key)) {\n convertTypedString(subData, state, key);\n } else if (formatType.multilingualStrings[property].includes(key)) {\n convertMultilingual(subData, state, key);\n } else if (formatType.conditionalProperties[property].includes(key)) {\n // publisher either is an URI or a group with multiple values (name, homepage, email)\n if (key === \"dct:publisher\" || key === \"dct:license\") {\n for (let el of subData) {\n if (el.object.termType === \"NamedNode\") {\n state[key] = { name: el.object.value, resource: el.object.value };\n } else if (el.object.termType === \"BlankNode\") {\n // get keys for nested values without dct'title (special format)\n const nestedKeys = generalHelper\n .getNestedKeys(data.match(el.object, null, null, null), dpiConfig)\n .filter((el) => el !== \"dct:title\");\n const nestedProperties = {};\n\n // convert nested values\n if (key === \"dct:license\") {\n const licenceTitleQuad = data.match(\n el.object,\n generalHelper.addNamespace(\"dct:title\", dpiConfig),\n null,\n null\n );\n for (let el of licenceTitleQuad) {\n nestedProperties[\"dct:title\"] = el.object.value;\n }\n }\n\n convertProperties(\n property,\n nestedProperties,\n el.object,\n data,\n nestedKeys,\n dpiConfig\n );\n state[key] = nestedProperties;\n }\n }\n }\n } else if (formatType.groupedProperties[property].includes(key)) {\n if (subData.size > 0) {\n state[key] = [];\n // there could be multiple nodes with data for a property\n for (let el of subData) {\n let currentState = {};\n if (key === \"skos:notation\") {\n // skos notation behaves differently\n // there should be a typed literal given which should be seperated into @value and @type\n if (el.object.value) currentState[\"@value\"] = el.object.value;\n if (el.object.datatypeString)\n currentState[\"@type\"] = {\n name: el.object.datatypeString,\n resource: el.object.datatypeString,\n };\n } else {\n // some properties have a named node containing data, the value of this named node also is a value form the input form (typically @id)\n if (el.object.termType === \"NamedNode\")\n currentState[\"@id\"] = el.object.value;\n // get keys of node properties\n const nestedKeys = generalHelper.getNestedKeys(\n data.match(el.object, null, null, null),\n dpiConfig\n );\n convertProperties(\n property,\n currentState,\n el.object,\n data,\n nestedKeys,\n dpiConfig\n );\n }\n // creator not an array\n if (\n key === \"dct:creator\" ||\n key === \"vcard:hasAddress\" ||\n key === \"skos:notation\" ||\n key === \"spdx:checksum\"\n )\n state[key] = currentState;\n else state[key].push(currentState);\n }\n }\n } else if (key === \"dcat:temporalResolution\") {\n // temporal resolution is displayed as group of input forms for each property (year, month, day, ...)\n // the form provides the data as following: [ { 'Year': '...', 'Month': '...', ... } ]\n // the linked data format of this property looks like this: P?Y?M?DT?H?M?S\n if (subData.size > 0) {\n state[key] = {};\n\n const shorts = [\"Y\", \"M\", \"D\", \"H\", \"M\", \"S\"];\n const forms = {\n 0: \"Year\",\n 1: \"Month\",\n 2: \"Day\",\n 3: \"Hour\",\n 4: \"Minute\",\n 5: \"Second\",\n };\n\n // should be oly one quad\n let resolutionValue;\n for (let el of subData) {\n resolutionValue = el.object.value;\n }\n\n // backend converts temporalResolution values without a date into seconds for time values\n if (!resolutionValue.startsWith(\"P\")) {\n // setting year, month and day to 0\n state[key][forms[0]] = 0;\n state[key][forms[1]] = 0;\n state[key][forms[2]] = 0;\n\n // converting seconds into HH:MM:SS\n const data = new Date(resolutionValue * 1000)\n .toISOString()\n .slice(11, 19);\n state[key][forms[3]] = data.slice(0, 2);\n state[key][forms[4]] = data.slice(3, 5);\n state[key][forms[5]] = data.slice(7, 9);\n } else {\n // find index of letter for time period\n // extract substring until this index\n // extract number from string and set as according value for input\n for (let tempIndex = 0; tempIndex < shorts.length; tempIndex += 1) {\n const position = resolutionValue.indexOf(shorts[tempIndex]); // position of duration letter\n const subDuration = resolutionValue.substring(0, position); // substring until position of duration letter\n const value = subDuration?.match(/\\d+/g)?.[0] ?? \"\"; // extract number\n resolutionValue = resolutionValue.substring(position); // overwrite resolution string with shortened version (missing the extracted part)\n state[key][forms[tempIndex]] = value; // write to result object\n }\n }\n }\n } else if (key === \"dct:identifier\") {\n if (subData.size > 0) {\n // identifier should be provided as array of strings\n // [{'@value': '...'}, {'@value': '...'}, ...]\n state[key] = [];\n\n for (let el of subData) {\n state[key].push({ \"@value\": el.object.value });\n }\n }\n } else if (key === \"dct:rights\") {\n // rights is conditional and gets a string\n // rights always includes a type so everything is located within a blank node\n // also rights is a singular property\n if (subData.size > 0) {\n let nodeData;\n // get id of blank node and associated label data\n for (let el of subData) {\n const rightsBlankNode = el.object;\n nodeData = data.match(\n rightsBlankNode,\n generalHelper.addNamespace(\"rdfs:label\", dpiConfig),\n null,\n null\n );\n for (let label of nodeData) {\n if (generalHelper.isUrl(label.object.value))\n state[key] = { \"@type\": \"url\", \"rdfs:value\": label.object.value };\n else\n state[key] = {\n \"@type\": \"text\",\n \"rdfs:value\": label.object.value,\n };\n }\n }\n }\n } else if (key === \"datasetID\" && property !== \"datatsets\") {\n // id is given as complete URI\n // dataset-/catalogue-id is string following the last /\n state[key] = id.substr(id.lastIndexOf(\"/\") + 1);\n state[\"hidden_datasetIDFormHidden\"] = id.substr(id.lastIndexOf(\"/\") + 1);\n } else if (key === \"dcat:catalog\" && property === \"datasets\") {\n // datasets also have a property called dcat:catalog (not valid DCAT-AP)\n // property is needed to determine catalog the dataset belongs to\n if (!(subData.size > 0)) {\n // bceause dcat:catalog is no valid DCAT-AP it is possible that the prefix is not resolved\n // therefore it is also possible to get the data by using the shortned key\n subData = data.match(id, \"dcat:catalog\", null, null);\n }\n\n state[key] = \"\";\n\n // there should only be one catalog\n for (let cat of subData) {\n state[key] = cat.object.value;\n }\n } else if (key === \"rdf:type\") {\n // some properties have a type which can be selected\n // the type also has a namespace and therefore need to be shortened ( e.g. from https://...Individual to vcard:Individual)\n if (subData.size > 0) {\n state[key] = \"\";\n\n // typically there is only on type provided for each property instance\n for (let el of subData) {\n state[key] = generalHelper.removeNamespace(\n el.object.value,\n dpiConfig\n );\n }\n }\n }\n }\n}\n\n//-----------------------------------------------------------------------------------------------------\n// basic conversion methods for different categories of data\n//-----------------------------------------------------------------------------------------------------\n// seems at first to be unnecessary but if we want to convert nested properties as well, we need these\n// methods (especially to provide the correct parent URI)\n\n/**\n *\n * @param {*} data\n * @param {*} state\n * @param {*} key\n */\nfunction convertSingularStrings(data, state, key) {\n if (data.size > 0) {\n state[key] = \"\";\n\n for (let el of data) {\n state[key] = el.object.value;\n }\n }\n}\n\n/**\n *\n * @param {*} data\n * @param {*} state\n * @param {*} key\n */\nfunction convertSingularURI(data, state, key, dpiConfig) {\n const formatType = dpiConfig.formatTypes;\n\n if (data.size > 0) {\n state[key] = \"\";\n\n for (let el of data) {\n const value = el.object.value;\n\n if (value.startsWith(\"mailto:\")) {\n state[key] = value.replace(\"mailto:\", \"\");\n } else {\n if (formatType.URIformat.voc.includes(key))\n state[key] = { name: value, resource: value };\n else if (formatType.URIformat.string.includes(key)) state[key] = value;\n else state[key] = { \"@id\": value };\n }\n }\n }\n}\n\n/**\n *\n * @param {*} data\n * @param {*} state\n * @param {*} key\n */\nfunction convertMultipleURI(data, state, key, property, dpiConfig) {\n // there are two different formats the frontend need to deliver multiple URIs\n // 1: [ \"URI1\", \"URI2\" ]\n // 2: [ { \"@id\": \"URI1\" }, { \"@id\": \"URI2\" } ]\n\n const formatType = dpiConfig.formatTypes;\n\n if (data.size > 0) {\n state[key] = [];\n for (let el of data) {\n if (formatType.URIformat.voc.includes(key))\n state[key].push({ name: el.object.value, resource: el.object.value });\n else if (formatType.URIformat.string.includes(key))\n state[key].push(el.object.value);\n else state[key].push({ \"@id\": el.object.value });\n }\n }\n}\n\n/**\n *\n * @param {*} data\n * @param {*} state\n * @param {*} key\n */\nfunction convertTypedString(data, state, key) {\n // some properties have a type\n // normally this type is not used within the forntend form and therefore won't be saved to frontend values\n\n if (data.size > 0) {\n state[key] = \"\";\n for (let el of data) {\n if (key === \"dcat:spatialResolutionInMeters\" || key === \"dcat:byteSize\")\n state[key] = el.object.value;\n else if (key === \"dcat:startDate\" || key === \"dcat:endDate\") {\n state[key] = el.object.value;\n } else if (key === \"pv:distributionType\") {\n state[key] = { \"@Tag\": el.object.value };\n } else if (key === \"pv:isLeading\") {\n state[\"pv:distributionType\"].lead = el.object.value;\n } else {\n let dateType;\n if (el.object.value.includes(\"T\")) dateType = \"dateTime\";\n else dateType = \"date\";\n\n state[key] = { \"@type\": dateType, \"@value\": el.object.value };\n }\n }\n }\n}\n\n/**\n * Converts and writes multilingual data to store\n * @param {*} data DatasetCore containing an array of quads\n * @param {*} state State for current key\n * @param {*} key Name of current property (e.g: 'dct:title')\n */\nfunction convertMultilingual(data, state, key) {\n // multilingual data is always stored within an array containing object with the value and it's language\n // [ {'@value': '...', '@language': '...'}, ...]\n if (data.size > 0) {\n state[key] = [];\n\n for (let el of data) {\n if (!el.object.language.includes(\"-\")) {\n // machine translation language tags look like this \"fi-t-en-t0-mtec\" and should not be included\n const currentElement = {};\n currentElement[\"@value\"] = el.object.value; // actual value\n currentElement[\"@language\"] = el.object.language; // language of value\n state[key].push(currentElement);\n }\n }\n }\n}\n\nexport default {\n convertToInput,\n};\n"],"names":["convertToInput","state","property","data","dpiConfig","generalID","namespaceKeys","propertyQuads","generalHelper","el","pageName","convertProperties","distributionQuads","currentDistribution","distributionId","id","propertyKeys","formatType","index","key","subData","convertSingularStrings","convertSingularURI","convertMultipleURI","convertTypedString","convertMultilingual","nestedKeys","nestedProperties","licenceTitleQuad","currentState","shorts","forms","resolutionValue","tempIndex","position","subDuration","value","_a","nodeData","rightsBlankNode","label","cat","dateType","currentElement","toInput"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as U, markRaw as W, computed as j, resolveComponent as v, openBlock as o, createElementBlock as r, createElementVNode as p,
|
|
1
|
+
import { defineComponent as U, markRaw as W, computed as j, resolveComponent as v, openBlock as o, createElementBlock as r, createElementVNode as p, createVNode as T, withModifiers as q, withCtx as D, Fragment as V, renderList as $, normalizeClass as B, toDisplayString as f, createTextVNode as n, createCommentVNode as u, createBlock as P } from "vue";
|
|
2
2
|
import { mapGetters as F, mapActions as w } from "vuex";
|
|
3
3
|
import K from "jquery";
|
|
4
4
|
import R from "./PropertyChooser.vue.mjs";
|
|
@@ -111,7 +111,7 @@ const ee = U({
|
|
|
111
111
|
},
|
|
112
112
|
initInputPage() {
|
|
113
113
|
const e = this.getSchema(this.property).value, t = Object.keys(e).find(
|
|
114
|
-
(s) => e[s].map((
|
|
114
|
+
(s) => e[s].map((a) => a.name).includes("dct:issued") || e[s].map((a) => a.name).includes("dct:modified")
|
|
115
115
|
);
|
|
116
116
|
this.$formkit.setLocale("de"), localStorage.getItem("dpi_editmode") === "true" && t != null && e[t].forEach(
|
|
117
117
|
(s) => {
|
|
@@ -123,9 +123,9 @@ const ee = U({
|
|
|
123
123
|
K('[data-toggle="tooltip"]').tooltip({
|
|
124
124
|
container: "body"
|
|
125
125
|
}), setTimeout(() => {
|
|
126
|
-
document.querySelectorAll(".formkitProperty h4").forEach((
|
|
127
|
-
|
|
128
|
-
|
|
126
|
+
document.querySelectorAll(".formkitProperty h4").forEach((a, m) => {
|
|
127
|
+
a.parentElement.parentElement.classList.contains("formkitWrapRepeatable") || (m != 0 && m != 1 && m != 2 && m != 3 && a.nextElementSibling.classList.toggle("d-none"), a.addEventListener("click", () => {
|
|
128
|
+
a.classList.toggle("dpiChevUp"), a.nextElementSibling.classList.toggle("d-none");
|
|
129
129
|
}));
|
|
130
130
|
}), document.querySelectorAll(".formkitProperty");
|
|
131
131
|
});
|
|
@@ -174,24 +174,24 @@ const ee = U({
|
|
|
174
174
|
steps: t,
|
|
175
175
|
activeStep: d,
|
|
176
176
|
visitedSteps: s,
|
|
177
|
-
previousStep:
|
|
178
|
-
nextStep:
|
|
177
|
+
previousStep: a,
|
|
178
|
+
nextStep: m,
|
|
179
179
|
stepPlugin: S,
|
|
180
180
|
goToNextStep: y,
|
|
181
181
|
goToPreviousStep: I
|
|
182
182
|
} = J(), { t: k, te: b } = x(), { translateSchema: i, createSchema: l, getSchema: h } = Y({ t: k, te: b }), C = () => {
|
|
183
|
-
let { x:
|
|
183
|
+
let { x: c, y: O } = Q({ behavior: "smooth" });
|
|
184
184
|
O.value = 0;
|
|
185
|
-
}, L = (
|
|
186
|
-
var
|
|
187
|
-
return !!((
|
|
185
|
+
}, L = (c) => (t[c].errorCount > 0 || t[c].blockingCount > 0) && s.value.includes(c), A = W({ OverviewPage: H }), M = j(() => {
|
|
186
|
+
var c;
|
|
187
|
+
return !!((c = e.value.edit) != null && c.enabled);
|
|
188
188
|
});
|
|
189
189
|
return {
|
|
190
190
|
steps: t,
|
|
191
191
|
visitedSteps: s,
|
|
192
192
|
activeStep: d,
|
|
193
|
-
previousStep:
|
|
194
|
-
nextStep:
|
|
193
|
+
previousStep: a,
|
|
194
|
+
nextStep: m,
|
|
195
195
|
stepPlugin: S,
|
|
196
196
|
checkStepValidity: L,
|
|
197
197
|
goToNextStep: y,
|
|
@@ -221,13 +221,11 @@ const ee = U({
|
|
|
221
221
|
key: 4,
|
|
222
222
|
class: "p-1"
|
|
223
223
|
};
|
|
224
|
-
function ye(e, t, d, s,
|
|
224
|
+
function ye(e, t, d, s, a, m) {
|
|
225
225
|
const S = v("FormKitSchema"), y = v("DistributionInputPage"), I = v("InputPageStep"), k = v("Navigation"), b = v("FormKit");
|
|
226
226
|
return o(), r("div", te, [
|
|
227
227
|
e.isInput ? (o(), r("div", ie, [
|
|
228
228
|
p("div", se, [
|
|
229
|
-
p("details", null, m(e.formValues), 1),
|
|
230
|
-
t[17] || (t[17] = a()),
|
|
231
229
|
T(b, {
|
|
232
230
|
type: "form",
|
|
233
231
|
modelValue: e.formValues,
|
|
@@ -254,58 +252,58 @@ function ye(e, t, d, s, n, c) {
|
|
|
254
252
|
}
|
|
255
253
|
}, [
|
|
256
254
|
p("div", ne, [
|
|
257
|
-
p("div", le,
|
|
258
|
-
t[5] || (t[5] =
|
|
255
|
+
p("div", le, f(h + 1), 1),
|
|
256
|
+
t[5] || (t[5] = n()),
|
|
259
257
|
e.checkStepValidity(l) ? (o(), r("span", {
|
|
260
258
|
key: 0,
|
|
261
259
|
class: "step--errors",
|
|
262
|
-
textContent:
|
|
260
|
+
textContent: f(i.errorCount + i.blockingCount)
|
|
263
261
|
}, null, 8, pe)) : u("", !0),
|
|
264
|
-
|
|
262
|
+
n(f(e.$t("message.dataupload.steps." + l + "Step")), 1)
|
|
265
263
|
]),
|
|
266
|
-
t[6] || (t[6] =
|
|
264
|
+
t[6] || (t[6] = n()),
|
|
267
265
|
h != Object.keys(e.steps).length ? (o(), r("div", de)) : u("", !0)
|
|
268
266
|
], 10, ae))), 128)),
|
|
269
|
-
t[8] || (t[8] =
|
|
267
|
+
t[8] || (t[8] = n()),
|
|
270
268
|
e.activeStep === "Overview" ? (o(), r("li", ue, t[7] || (t[7] = [
|
|
271
269
|
p("div", { class: "circle stepCircle" }, null, -1)
|
|
272
270
|
]))) : u("", !0)
|
|
273
271
|
]),
|
|
274
|
-
t[15] || (t[15] =
|
|
272
|
+
t[15] || (t[15] = n()),
|
|
275
273
|
p("div", me, [
|
|
276
274
|
(o(!0), r(V, null, $(e.getNavSteps(e.$env.content.dataProviderInterface.specification)[e.property], (i, l) => (o(), r("div", { key: l }, [
|
|
277
275
|
T(I, { name: i }, {
|
|
278
276
|
default: D(() => [
|
|
279
277
|
i !== "Distributions" && i !== "Overview" ? (o(), r("div", ce, [
|
|
280
|
-
p("h1", fe,
|
|
281
|
-
t[9] || (t[9] =
|
|
278
|
+
p("h1", fe, f(e.$t("message.dataupload.steps." + i)), 1),
|
|
279
|
+
t[9] || (t[9] = n()),
|
|
282
280
|
p("a", {
|
|
283
281
|
class: "standardButtonDPI",
|
|
284
282
|
onClick: t[0] || (t[0] = (h) => {
|
|
285
283
|
e.dropdownCLick(), e.expandall = !e.expandall;
|
|
286
284
|
})
|
|
287
285
|
}, [
|
|
288
|
-
e.expandall ? (o(), r("span", he,
|
|
286
|
+
e.expandall ? (o(), r("span", he, f(e.$t("message.dataupload.info.expand")), 1)) : (o(), r("span", ve, f(e.$t("message.dataupload.info.hide")), 1))
|
|
289
287
|
])
|
|
290
288
|
])) : u("", !0),
|
|
291
|
-
t[11] || (t[11] =
|
|
289
|
+
t[11] || (t[11] = n()),
|
|
292
290
|
i !== "Distributions" ? (o(), r("hr", ge)) : u("", !0),
|
|
293
|
-
t[12] || (t[12] =
|
|
291
|
+
t[12] || (t[12] = n()),
|
|
294
292
|
i !== "Distributions" ? (o(), P(S, {
|
|
295
293
|
key: 2,
|
|
296
294
|
schema: e.getSchema(e.property).value[i],
|
|
297
295
|
library: e.library
|
|
298
296
|
}, null, 8, ["schema", "library"])) : u("", !0),
|
|
299
|
-
t[13] || (t[13] =
|
|
297
|
+
t[13] || (t[13] = n()),
|
|
300
298
|
i === "Distributions" ? (o(), P(y, {
|
|
301
299
|
key: 3,
|
|
302
300
|
schema: e.getSchema("distributions").value,
|
|
303
301
|
values: e.formValues
|
|
304
302
|
}, null, 8, ["schema", "values"])) : u("", !0),
|
|
305
|
-
t[14] || (t[14] =
|
|
303
|
+
t[14] || (t[14] = n()),
|
|
306
304
|
i === "Mandatory" ? (o(), r("p", Se, [
|
|
307
305
|
t[10] || (t[10] = p("b", null, "*", -1)),
|
|
308
|
-
|
|
306
|
+
n(" " + f(e.$t("message.dataupload.info.mandatory")), 1)
|
|
309
307
|
])) : u("", !0)
|
|
310
308
|
]),
|
|
311
309
|
_: 2
|
|
@@ -313,7 +311,7 @@ function ye(e, t, d, s, n, c) {
|
|
|
313
311
|
]))), 128))
|
|
314
312
|
])
|
|
315
313
|
]),
|
|
316
|
-
t[16] || (t[16] =
|
|
314
|
+
t[16] || (t[16] = n()),
|
|
317
315
|
T(k, {
|
|
318
316
|
steps: e.steps,
|
|
319
317
|
nextStep: e.nextStep,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputPage.vue.mjs","sources":["../../../lib/data-provider-interface/views/InputPage.vue"],"sourcesContent":["<template>\n <div class=\"form-container \">\n <div ref=\"fkInputContainer\" class=\"inputContainer\" v-if=\"isInput\">\n <div class=\"formContainer formkit position-relative\">\n\n <details>{{ formValues }}</details>\n <FormKit type=\"form\" v-model=\"formValues\" :actions=\"false\" :plugins=\"[stepPlugin]\" id=\"dpiForm\"\n @change=\"saveFormValues({ property: property, page: page, distid: id, values: formValues })\"\n @click=\"saveFormValues({ property: property, page: page, distid: id, values: formValues })\" @submit.prevent=\"\"\n class=\"d-flex\" >\n\n <div class=\"d-flex\">\n <ul class=\"steps\">\n <li v-for=\"(step, stepName, index) in steps\" :key=\"step\" class=\"step\"\n :data-step-active=\"activeStep === stepName\" :data-step-valid=\"step.valid && step.errorCount === 0\"\n :class=\"{ activeItem: activeStep === stepName, inactiveStep: stepName != activeStep, 'has-errors': checkStepValidity(stepName) }\"\n @click=\"activeStep = stepName; update(); scrollToTop()\">\n\n <div class=\"stepBubbleWrap\">\n <div class=\"circle stepCircle\">{{ index + 1 }}</div>\n <span v-if=\"checkStepValidity(stepName)\" class=\"step--errors\"\n v-text=\"step.errorCount + step.blockingCount\" />{{ $t('message.dataupload.steps.' + stepName +\n \"Step\")\n }}\n </div>\n <div v-if=\"index != Object.keys(steps).length\" class=\"seperatorHorizontalStepper\"></div>\n </li>\n <li class=\"step inactiveStep\" v-if=\"activeStep === 'Overview'\">\n <div class=\"circle stepCircle\"></div>\n </li>\n\n </ul>\n\n <div class=\"d-flex flex-column w-100\">\n <div v-for=\"(stepName, index) in getNavSteps($env.content.dataProviderInterface.specification)[property]\"\n :key=\"index\">\n <InputPageStep :name=\"stepName\">\n <div v-if=\"stepName !== 'Distributions' && stepName !== 'Overview'\"\n class=\"w-100 d-flex justify-content-between\">\n <h1 style=\"min-width:80%\">{{ $t('message.dataupload.steps.' + stepName) }}</h1>\n <a class=\"standardButtonDPI\" @click=\"dropdownCLick(); expandall = !expandall\"><span\n v-if=\"expandall\">{{ $t('message.dataupload.info.expand') }}</span>\n <span v-else>{{ $t('message.dataupload.info.hide') }}</span></a>\n </div>\n <hr v-if=\"stepName !== 'Distributions'\">\n <FormKitSchema v-if=\"stepName !== 'Distributions'\" :schema=\"getSchema(property).value[stepName]\"\n :library=\"library\" />\n <DistributionInputPage v-if=\"stepName === 'Distributions'\" :schema=\"getSchema('distributions').value\"\n :values=\"formValues\" />\n <p class=\"p-1\" v-if=\"stepName === 'Mandatory'\"> <b>*</b> {{ $t('message.dataupload.info.mandatory') }}\n </p>\n </InputPageStep>\n </div>\n </div>\n </div>\n\n <Navigation :steps=\"steps\" :nextStep=\"nextStep\" :previousStep=\"previousStep\" :goToNextStep=\"goToNextStep\"\n :goToPreviousStep=\"goToPreviousStep\"></Navigation>\n\n </FormKit>\n\n </div>\n </div>\n </div>\n</template>\n\n<script>\n/* eslint-disable no-alert,arrow-parens,no-param-reassign,no-lonely-if */\nimport { defineComponent, markRaw, computed } from 'vue';\nimport { mapActions, mapGetters } from 'vuex';\nimport $ from 'jquery';\nimport PropertyChooser from './PropertyChooser.vue'\nimport { has, isNil, isEmpty } from 'lodash';\nimport DistributionInputPage from './DistributionInputPage.vue';\nimport OverviewPage from './OverviewPage.vue';\nimport InputPageStep from '../components/InputPageStep.vue';\nimport Navigation from '../components/Navigation.vue';\nimport { useDpiStepper } from '../composables/useDpiStepper';\nimport { useWindowScroll } from '@vueuse/core'\nimport { plugin, defaultConfig } from '@formkit/vue'\nimport { useDpiContext, useFormSchema } from '../composables';\nimport { useI18n } from 'vue-i18n'\n\nexport default defineComponent({\n props: {\n property: {\n required: true,\n type: String,\n },\n id: {\n type: String,\n },\n },\n data() {\n return {\n heightActiveSec: \"10vh\",\n formValues: {},\n offsetTopStepper: \"60px\",\n info: {},\n catalogues: [],\n byte: true,\n expandall: true,\n // steps:{},\n camel2title: (str) =>\n str\n .replace(/([A-Z])/g, (match) => ` ${match}`)\n .replace(/^./, (match) => match.toUpperCase())\n .trim(),\n };\n },\n components: {\n InputPageStep,\n DistributionInputPage,\n PropertyChooser,\n Navigation\n },\n computed: {\n ...mapGetters('auth', [\n 'getIsEditMode',\n 'getUserCatalogIds',\n ]),\n ...mapGetters('dpiStore', [\n 'getNavSteps',\n 'getDeleteDistributionInline',\n ]),\n getTitleStep() {\n return Object.keys(this.formValues).filter(key => has(this.formValues[key], 'dct:title'))[0];\n },\n createIDFromTitle() {\n\n const title = this.formValues[this.getTitleStep]['dct:title'][0]['@value'];\n\n if (title != undefined) {\n return title\n .toLowerCase()\n .replace(/ /g, '-');\n }\n else return;\n },\n getFirstTitleFromForm() {\n const allValues = this.formValues[this.getTitleStep];\n\n return has(allValues, 'dct:title')\n && allValues['dct:title'].length > 0\n && has(allValues['dct:title'][0], '@value')\n && !isNil(allValues['dct:title'][0], '@value')\n ? allValues['dct:title'][0]['@value']\n : '';\n },\n isInput() {\n return this.$route.params.page !== 'overview' && this.$route.params.page !== 'distoverview';\n },\n },\n methods: {\n ...mapActions('auth', [\n 'setIsEditMode',\n 'setIsDraft',\n ]),\n ...mapActions('dpiStore', [\n 'saveFormValues',\n 'saveLocalstorageValues',\n 'clearAll',\n ]),\n update() {\n this.$forceUpdate();\n },\n dropdownCLick() {\n\n const h4Elements = document.querySelectorAll('.formkitProperty h4');\n\n if (this.expandall) {\n h4Elements.forEach((h4Element, index) => {\n h4Element.classList.add('dpiChevUp')\n h4Element.nextElementSibling.classList.remove('d-none')\n })\n }\n if (!this.expandall) {\n h4Elements.forEach((h4Element, index) => {\n h4Element.classList.remove('dpiChevUp')\n h4Element.nextElementSibling.classList.add('d-none')\n })\n\n }\n },\n clearForm() {\n this.$formkit.reset('dpi')\n },\n scrollToTop() {\n window.scrollTo(0, 0);\n },\n initInputPage() {\n // adding validation of modified and issued based on edit mode\n // no validation in edit mode\n\n // get step name where issued and modified are included\n const initialSchema = this.getSchema(this.property).value;\n const stepWithDates = Object.keys(initialSchema).find(\n key => initialSchema[key].map(el => el.name).includes('dct:issued') || initialSchema[key].map(el => el.name).includes('dct:modified')\n );\n\n \n \n this.$formkit.setLocale('de');\n // console.log(this.$formkit);\n \n\n // this.$formkit.getValidationMessages()\n if (localStorage.getItem('dpi_editmode') === 'true' && stepWithDates != undefined) {\n initialSchema[stepWithDates].forEach((el) => {\n if (el['identifier'] === 'issued' || el['identifier'] === 'modified') {\n el['children'][1]['props']['else']['validation'] = ''\n el['children'][1]['props']['else']['validation-visibility'] = ''\n\n el['children'][1]['props']['then']['validation'] = ''\n el['children'][1]['props']['then']['validation-visibility'] = ''\n el['children'][1]['props']['then']['validation'] = ''\n el['children'][1]['props']['then']['validation-visibility'] = ''\n }\n }\n );\n }\n\n if (localStorage.getItem('dpi_editmode') === 'false') {\n this.setIsDraft(false)\n this.setIsEditMode(false)\n }\n\n this.saveLocalstorageValues(this.property); // saves values from localStorage to vuex store\n const existingValues = this.$store.getters['dpiStore/getRawValues']({ property: this.property });\n\n\n // only overwrite empty object if there are values\n if (!isEmpty(existingValues)) this.formValues = existingValues;\n\n\n\n this.$nextTick(() => {\n $('[data-toggle=\"tooltip\"]').tooltip({\n container: 'body',\n });\n setTimeout(() => {\n const h4Elements = document.querySelectorAll('.formkitProperty h4');\n h4Elements.forEach((h4Element, index) => {\n // Added the clickeffect to the headers of the individual properties\n\n if (!h4Element.parentElement.parentElement.classList.contains('formkitWrapRepeatable')) {\n if (index != 0 && index != 1 && index != 2 && index != 3) {\n h4Element.nextElementSibling.classList.toggle('d-none')\n }\n h4Element.addEventListener('click', () => {\n h4Element.classList.toggle('dpiChevUp')\n h4Element.nextElementSibling.classList.toggle('d-none')\n });\n }\n })\n // Observe the validity of the individual properties\n const elements = document.querySelectorAll('.formkitProperty');\n const attributeChangedCallback = (mutationsList) => {\n for (const mutation of mutationsList) {\n\n if (mutation.type === 'attributes') {\n if (mutation.target.getAttribute('data-invalid') === 'true') {\n try {\n if (mutation.target.parentNode.parentNode.parentNode.previousElementSibling.tagName === 'H4') {\n mutation.target.parentNode.parentNode.parentNode.previousElementSibling.classList.add('isInvalidProperty')\n }\n } catch (error) { }\n try {\n if (mutation.target.previousElementSibling.tagName === 'H4') {\n mutation.target.previousElementSibling.classList.add('isInvalidProperty')\n }\n } catch (error) { }\n try {\n if (mutation.target.parentNode.previousElementSibling.tagName === 'H4') {\n mutation.target.parentNode.previousElementSibling.classList.add('isInvalidProperty')\n }\n } catch (error) { }\n }\n if (mutation.target.getAttribute('data-invalid') === null || mutation.target.getAttribute('data-invalid') === 'false') {\n try {\n if (mutation.target.parentNode.parentNode.parentNode.previousElementSibling.tagName === 'H4') {\n mutation.target.parentNode.parentNode.parentNode.previousElementSibling.classList.remove('isInvalidProperty')\n }\n } catch (error) { }\n try {\n if (mutation.target.previousElementSibling.tagName === 'H4') {\n mutation.target.previousElementSibling.classList.remove('isInvalidProperty')\n }\n } catch (error) { }\n try {\n if (mutation.target.parentNode.previousElementSibling.tagName === 'H4') {\n mutation.target.parentNode.previousElementSibling.classList.remove('isInvalidProperty')\n }\n } catch (error) { }\n }\n }\n }\n };\n // MutationObserver \n // const observer = new MutationObserver(attributeChangedCallback);\n // const config = { attributes: true };\n // let allMatchingElements = [];\n\n // elements.forEach((element, index) => {\n // const matchingChildren = element.querySelectorAll('.formkit-outer');\n // allMatchingElements = allMatchingElements.concat(Array.from(matchingChildren));\n // observer.observe(allMatchingElements[index], config);\n // });\n });\n });\n },\n createDatasetID() {\n const valueObject = this.formValues[this.getTitleStep];\n if (!has(valueObject, 'datasetID') || isNil(valueObject['datasetID'])) {\n // console.log('in if');\n this.formValues[this.getTitleStep].datasetID = this.createIDFromTitle;\n }\n else {\n\n if (this.createIDFromTitle.startsWith(valueObject.datasetID) || valueObject.datasetID.startsWith(this.createIDFromTitle)) {\n // console.log('in else');\n this.formValues[this.getTitleStep].datasetID = this.createIDFromTitle;\n }\n }\n },\n generateandTranslateSchema(property) {\n for (let index = 0; index < this.getNavSteps(this.$env.content.dataProviderInterface.specification)[property].length; index++) {\n this.createSchema({ property: property, page: this.getNavSteps(this.$env.content.dataProviderInterface.specification)[property][index], specification: this.$env.content.dataProviderInterface.specification });\n this.translateSchema({ property: property, page: this.getNavSteps(this.$env.content.dataProviderInterface.specification)[property][index] });\n }\n },\n\n },\n created() {\n\n // Needs to be reworked\n if (this.$route.query.edit === 'false') {\n this.clearAll();\n // localStorage.clear();\n }\n\n // create schema for datasets or catalogues\n this.generateandTranslateSchema(this.property);\n\n // for datasets also create schema for distributions\n if (this.property === 'datasets') {\n this.generateandTranslateSchema('distributions');\n }\n },\n mounted() {\n this.initInputPage();\n\n },\n watch: {\n activeStep: {\n handler() {\n this.scrollToTop();\n },\n },\n getFirstTitleFromForm: {\n handler(newVal, oldVal) {\n if (newVal === oldVal) return\n if (localStorage.getItem('dpi_editmode') === 'false') {\n this.setIsDraft(false)\n this.setIsEditMode(false)\n }\n // only create id from title if the user is not editing an existing dataset with an existing datasetID\n if (!this.isEditMode) {\n this.createDatasetID();\n }\n },\n },\n // the schema is a computed value which gets computed only once so on language change this value must be re-computed\n '$i18n.locale': {\n handler() {\n this.generateandTranslateSchema(this.property);\n if (this.property === 'datasets') this.generateandTranslateSchema('distributions');\n }\n },\n },\n beforeRouteEnter(to, from, next) {\n // Always clear storage when entering DPI\n next(vm => {\n if (from.name && !from.name.startsWith('DataProviderInterface')) {\n vm.clearAll();\n }\n });\n },\n setup() {\n const dpiContext = useDpiContext();\n const {\n steps,\n activeStep,\n visitedSteps,\n previousStep,\n nextStep,\n stepPlugin,\n goToNextStep,\n goToPreviousStep,\n } = useDpiStepper();\n const { t, te } = useI18n()\n\n const { translateSchema, createSchema, getSchema } = useFormSchema({ t, te });\n\n const scrollToTop = () => {\n let { x, y } = useWindowScroll({ behavior: 'smooth' })\n y.value = 0\n\n }\n\n const checkStepValidity = (stepName) => {\n return (steps[stepName].errorCount > 0 || steps[stepName].blockingCount > 0) && visitedSteps.value.includes(stepName)\n }\n\n const library = markRaw({ OverviewPage })\n\n const isEditMode = computed(() => {\n return !!dpiContext.value.edit?.enabled\n })\n\n\n return {\n steps,\n visitedSteps,\n activeStep,\n previousStep,\n nextStep,\n stepPlugin,\n checkStepValidity,\n goToNextStep,\n goToPreviousStep,\n scrollToTop,\n library,\n isEditMode,\n translateSchema,\n createSchema,\n getSchema,\n }\n }\n});\n</script>\n\n<style lang=\"scss\">\n.standardButtonDPI {\n background-color: #fff;\n color: #000;\n border-radius: 0.3em;\n font-size: 16px;\n padding: 0.75em;\n display: inline-flex;\n align-items: center;\n height: 50px;\n border: 1px solid lightgray;\n transition: all 100ms ease-in-out;\n cursor: pointer;\n\n &:hover {\n transform: scale(98%);\n background-color: #F4F4F4;\n border-color: gray;\n text-decoration: none;\n }\n}\n\n:root {\n --gray: #ccccd7;\n --gray-l: #eeeef4;\n}\n\n.formkit-form {\n max-width: 500px;\n flex-shrink: 0;\n margin-top: 1em;\n margin-bottom: 1em;\n background: #fff;\n color: #000;\n border: 1px solid var(--gray);\n border-radius: 0.5em;\n box-shadow: 0.25em 0.25em 1em 0 rgba(0, 0, 0, 0.1);\n}\n\n#app .source-content {\n padding: 2em;\n background: transparent;\n}\n\n.steps {\n list-style-type: none;\n margin: 0;\n display: flex;\n padding-left: 0;\n background: var(--gray-l);\n border-radius: 0.4em 0.4em 0 0;\n overflow: hidden;\n border-bottom: 1px solid var(--gray);\n}\n\n.step {\n font-size: 14px;\n display: flex;\n align-items: center;\n padding: 16px 20px;\n background: var(--gray-l);\n border-right: 1px solid var(--gray);\n color: gray;\n flex-grow: 0;\n flex-shrink: 0;\n position: relative;\n}\n\n.step:last-child {\n box-shadow: 0.1em -0.1 0.1em 0 rgba(0, 0, 0, 0.33)\n}\n\n.step:hover {\n cursor: pointer;\n}\n\n[data-step-active=\"true\"] {\n color: black;\n background: white !important;\n border-bottom: none;\n position: relative;\n}\n\n.step--errors,\n[data-step-valid=\"true\"]:after {\n content: '✓';\n background-color: #54A085;\n position: absolute;\n top: 4px;\n right: 4px;\n height: 18px;\n width: 18px;\n border-radius: 50%;\n z-index: 10;\n display: flex;\n font-size: 10px;\n flex-direction: column;\n justify-content: center;\n text-align: center;\n color: white;\n}\n\n.step--errors {\n background-color: #ff4949;\n color: #fff;\n z-index: 100;\n}\n\n.step-nav {\n display: flex;\n margin-top: 2em;\n margin-bottom: 1em;\n justify-content: space-between;\n}\n\n.form-body {\n padding: 2em;\n}\n\n.next {\n margin-left: auto;\n}\n\n.formkit-outer[data-type=\"submit\"] .formkit-wrapper {\n padding: 0 2em 1em 2em;\n display: flex;\n}\n\n.formkit-outer[data-type=\"submit\"] .formkit-input {\n margin-left: auto;\n margin-right: 0;\n}\n\ndetails {\n border: 1px solid var(--gray);\n background: var(--gray-l);\n border-radius: .15em;\n padding: 1em;\n}\n\n.formkit-form>.formkit-messages {\n padding: 0 2em 0em 2em;\n}\n\n.formkit-form>.formkit-messages:last-child {\n padding: 0 2em 2em 2em;\n}\n\n[data-errors=\"true\"] .formkit-label {\n color: #ff4949;\n}\n\n.formkit-wrapper {\n max-width: 100%;\n}\n\nbutton:hover,\nsummary {\n cursor: pointer\n}\n\n\n@media (max-width: 438px) {\n h1 {\n font-size: 1.15em;\n }\n\n #app .source-content {\n padding: 0.5em;\n }\n\n .steps {\n flex-direction: column;\n }\n\n .step {\n border-bottom: 1px solid var(--gray);\n border-right: none;\n }\n\n .step:last-child {\n border-bottom: none;\n }\n\n .form-body {\n padding: 1em;\n }\n\n .formkit-outer[data-type=\"submit\"] .formkit-wrapper {\n padding: 0 1em 1em 1em;\n display: flex;\n }\n\n .formkit-form>.formkit-messages {\n padding: 0 1em 0em 1em;\n }\n\n .formkit-form>.formkit-messages:last-child {\n padding: 0 1em 1em 1em;\n }\n}\n\n.repeatableWrap,\n.formkitCmpWrap {\n margin: 2rem 0 !important\n}\n\n.isInvalidProperty {\n background-color: #FFD9D9 !important;\n}\n\n.activeItem {\n flex-grow: 1;\n\n .seperatorHorizontalStepper {\n height: 100%;\n }\n}\n\nselect {\n\n line-height: unset !important;\n}\n\n.form-container {\n padding-top: 20px;\n margin-top: 30px;\n border: solid 1px #d5d5d5;\n border-radius: 3px;\n margin-bottom: 20px;\n}\n\n.inputContainer {\n display: flex;\n}\n\n.formContainer {\n width: 100% !important;\n}\n\n.distributionPage0 {\n display: block;\n}\n\n.distributionPage1 {\n display: none;\n}\n\n.distributionPage2 {\n display: none;\n}\n\n.grid2r2c {\n .formkit-input-group-repeatable {\n display: grid;\n grid-template-columns: 70% 28%;\n grid-template-rows: auto auto;\n grid-gap: 10px;\n background-color: transparent;\n }\n}\n\n.grid1r2c {\n .formkit-input-group-repeatable {\n display: grid;\n grid-template-columns: 70% 28%;\n grid-template-rows: auto;\n grid-gap: 10px;\n background-color: transparent;\n }\n}\n\n.row1 {\n grid-row-start: 1;\n grid-row-end: 2;\n}\n\n.row2 {\n grid-row-start: 2;\n grid-row-end: 3;\n}\n\n.grow3 {\n grid-row-start: 3;\n grid-row-end: 4;\n}\n\n.column1 {\n grid-column-start: 1;\n grid-column-end: 2;\n}\n\n.column2 {\n grid-column-start: 2;\n grid-column-end: 3;\n}\n\n.columnboth {\n grid-column-start: 1;\n grid-column-end: 3;\n}\n\n.display-none {\n display: none;\n}\n\n.activeSection {\n >.formkitProperty {\n >div {}\n }\n}\n\n.formkitCmpWrap {\n border-left: 1px solid lightgray;\n\n\n}\n\n.formkitProperty {\n\n >h4 {\n background-color: #f5f5f5;\n padding: 1rem;\n cursor: pointer;\n position: relative;\n transition: all ease-in-out 200ms;\n\n &:hover {\n\n background-color: lightgray;\n\n &:before {\n\n rotate: -45deg;\n }\n\n &:after {\n\n rotate: 45deg;\n }\n }\n\n &:before {\n transition: all ease-in-out 200ms;\n content: \"\";\n width: 15px;\n height: 1.5px;\n background-color: black;\n position: absolute;\n top: 30px;\n right: 15px;\n rotate: 45deg;\n }\n\n &:after {\n transition: all ease-in-out 200ms;\n content: \"\";\n width: 15px;\n height: 1.5px;\n background-color: black;\n position: absolute;\n top: 30px;\n right: 25px;\n rotate: -45deg;\n }\n }\n\n .formkitProperty {\n h4 {\n padding: 0;\n background-color: unset !important;\n\n &::before {\n display: none !important;\n }\n\n &:after {\n display: none !important;\n }\n }\n }\n}\n\n.dpiChevUp {\n\n &:before {\n\n rotate: -45deg !important;\n }\n\n &:after {\n\n rotate: 45deg !important;\n }\n\n\n\n}\n</style>\n"],"names":["_sfc_main","defineComponent","str","match","InputPageStep","DistributionInputPage","PropertyChooser","Navigation","mapGetters","key","has","title","allValues","isNil","mapActions","h4Elements","h4Element","index","initialSchema","stepWithDates","el","existingValues","isEmpty","$","valueObject","property","newVal","oldVal","to","from","next","vm","dpiContext","useDpiContext","steps","activeStep","visitedSteps","previousStep","nextStep","stepPlugin","goToNextStep","goToPreviousStep","useDpiStepper","t","te","useI18n","translateSchema","createSchema","getSchema","useFormSchema","scrollToTop","x","y","useWindowScroll","checkStepValidity","stepName","library","markRaw","OverviewPage","isEditMode","computed","_a","_hoisted_1","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_12","_hoisted_14","_openBlock","_createElementBlock","_ctx","_hoisted_2","_createElementVNode","_cache","_createTextVNode","_createVNode","_component_FormKit","$event","_withModifiers","_withCtx","_Fragment","_renderList","step","_normalizeClass","_toDisplayString","_createCommentVNode","_hoisted_10","_hoisted_11","_component_InputPageStep","_hoisted_13","_hoisted_15","_hoisted_16","_hoisted_17","_createBlock","_component_FormKitSchema","_component_DistributionInputPage","_hoisted_18","_component_Navigation"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InputPage.vue.mjs","sources":["../../../lib/data-provider-interface/views/InputPage.vue"],"sourcesContent":["<template>\n <div class=\"form-container \">\n <div ref=\"fkInputContainer\" class=\"inputContainer\" v-if=\"isInput\">\n <div class=\"formContainer formkit position-relative\">\n\n <!-- <details>{{ formValues }}</details> -->\n <FormKit type=\"form\" v-model=\"formValues\" :actions=\"false\" :plugins=\"[stepPlugin]\" id=\"dpiForm\"\n @change=\"saveFormValues({ property: property, page: page, distid: id, values: formValues })\"\n @click=\"saveFormValues({ property: property, page: page, distid: id, values: formValues })\" @submit.prevent=\"\"\n class=\"d-flex\" >\n\n <div class=\"d-flex\">\n <ul class=\"steps\">\n <li v-for=\"(step, stepName, index) in steps\" :key=\"step\" class=\"step\"\n :data-step-active=\"activeStep === stepName\" :data-step-valid=\"step.valid && step.errorCount === 0\"\n :class=\"{ activeItem: activeStep === stepName, inactiveStep: stepName != activeStep, 'has-errors': checkStepValidity(stepName) }\"\n @click=\"activeStep = stepName; update(); scrollToTop()\">\n\n <div class=\"stepBubbleWrap\">\n <div class=\"circle stepCircle\">{{ index + 1 }}</div>\n <span v-if=\"checkStepValidity(stepName)\" class=\"step--errors\"\n v-text=\"step.errorCount + step.blockingCount\" />{{ $t('message.dataupload.steps.' + stepName +\n \"Step\")\n }}\n </div>\n <div v-if=\"index != Object.keys(steps).length\" class=\"seperatorHorizontalStepper\"></div>\n </li>\n <li class=\"step inactiveStep\" v-if=\"activeStep === 'Overview'\">\n <div class=\"circle stepCircle\"></div>\n </li>\n\n </ul>\n\n <div class=\"d-flex flex-column w-100\">\n <div v-for=\"(stepName, index) in getNavSteps($env.content.dataProviderInterface.specification)[property]\"\n :key=\"index\">\n <InputPageStep :name=\"stepName\">\n <div v-if=\"stepName !== 'Distributions' && stepName !== 'Overview'\"\n class=\"w-100 d-flex justify-content-between\">\n <h1 style=\"min-width:80%\">{{ $t('message.dataupload.steps.' + stepName) }}</h1>\n <a class=\"standardButtonDPI\" @click=\"dropdownCLick(); expandall = !expandall\"><span\n v-if=\"expandall\">{{ $t('message.dataupload.info.expand') }}</span>\n <span v-else>{{ $t('message.dataupload.info.hide') }}</span></a>\n </div>\n <hr v-if=\"stepName !== 'Distributions'\">\n <FormKitSchema v-if=\"stepName !== 'Distributions'\" :schema=\"getSchema(property).value[stepName]\"\n :library=\"library\" />\n <DistributionInputPage v-if=\"stepName === 'Distributions'\" :schema=\"getSchema('distributions').value\"\n :values=\"formValues\" />\n <p class=\"p-1\" v-if=\"stepName === 'Mandatory'\"> <b>*</b> {{ $t('message.dataupload.info.mandatory') }}\n </p>\n </InputPageStep>\n </div>\n </div>\n </div>\n\n <Navigation :steps=\"steps\" :nextStep=\"nextStep\" :previousStep=\"previousStep\" :goToNextStep=\"goToNextStep\"\n :goToPreviousStep=\"goToPreviousStep\"></Navigation>\n\n </FormKit>\n\n </div>\n </div>\n </div>\n</template>\n\n<script>\n/* eslint-disable no-alert,arrow-parens,no-param-reassign,no-lonely-if */\nimport { defineComponent, markRaw, computed } from 'vue';\nimport { mapActions, mapGetters } from 'vuex';\nimport $ from 'jquery';\nimport PropertyChooser from './PropertyChooser.vue'\nimport { has, isNil, isEmpty } from 'lodash';\nimport DistributionInputPage from './DistributionInputPage.vue';\nimport OverviewPage from './OverviewPage.vue';\nimport InputPageStep from '../components/InputPageStep.vue';\nimport Navigation from '../components/Navigation.vue';\nimport { useDpiStepper } from '../composables/useDpiStepper';\nimport { useWindowScroll } from '@vueuse/core'\nimport { plugin, defaultConfig } from '@formkit/vue'\nimport { useDpiContext, useFormSchema } from '../composables';\nimport { useI18n } from 'vue-i18n'\n\nexport default defineComponent({\n props: {\n property: {\n required: true,\n type: String,\n },\n id: {\n type: String,\n },\n },\n data() {\n return {\n heightActiveSec: \"10vh\",\n formValues: {},\n offsetTopStepper: \"60px\",\n info: {},\n catalogues: [],\n byte: true,\n expandall: true,\n // steps:{},\n camel2title: (str) =>\n str\n .replace(/([A-Z])/g, (match) => ` ${match}`)\n .replace(/^./, (match) => match.toUpperCase())\n .trim(),\n };\n },\n components: {\n InputPageStep,\n DistributionInputPage,\n PropertyChooser,\n Navigation\n },\n computed: {\n ...mapGetters('auth', [\n 'getIsEditMode',\n 'getUserCatalogIds',\n ]),\n ...mapGetters('dpiStore', [\n 'getNavSteps',\n 'getDeleteDistributionInline',\n ]),\n getTitleStep() {\n return Object.keys(this.formValues).filter(key => has(this.formValues[key], 'dct:title'))[0];\n },\n createIDFromTitle() {\n\n const title = this.formValues[this.getTitleStep]['dct:title'][0]['@value'];\n\n if (title != undefined) {\n return title\n .toLowerCase()\n .replace(/ /g, '-');\n }\n else return;\n },\n getFirstTitleFromForm() {\n const allValues = this.formValues[this.getTitleStep];\n\n return has(allValues, 'dct:title')\n && allValues['dct:title'].length > 0\n && has(allValues['dct:title'][0], '@value')\n && !isNil(allValues['dct:title'][0], '@value')\n ? allValues['dct:title'][0]['@value']\n : '';\n },\n isInput() {\n return this.$route.params.page !== 'overview' && this.$route.params.page !== 'distoverview';\n },\n },\n methods: {\n ...mapActions('auth', [\n 'setIsEditMode',\n 'setIsDraft',\n ]),\n ...mapActions('dpiStore', [\n 'saveFormValues',\n 'saveLocalstorageValues',\n 'clearAll',\n ]),\n update() {\n this.$forceUpdate();\n },\n dropdownCLick() {\n\n const h4Elements = document.querySelectorAll('.formkitProperty h4');\n\n if (this.expandall) {\n h4Elements.forEach((h4Element, index) => {\n h4Element.classList.add('dpiChevUp')\n h4Element.nextElementSibling.classList.remove('d-none')\n })\n }\n if (!this.expandall) {\n h4Elements.forEach((h4Element, index) => {\n h4Element.classList.remove('dpiChevUp')\n h4Element.nextElementSibling.classList.add('d-none')\n })\n\n }\n },\n clearForm() {\n this.$formkit.reset('dpi')\n },\n scrollToTop() {\n window.scrollTo(0, 0);\n },\n initInputPage() {\n // adding validation of modified and issued based on edit mode\n // no validation in edit mode\n\n // get step name where issued and modified are included\n const initialSchema = this.getSchema(this.property).value;\n const stepWithDates = Object.keys(initialSchema).find(\n key => initialSchema[key].map(el => el.name).includes('dct:issued') || initialSchema[key].map(el => el.name).includes('dct:modified')\n );\n\n \n \n this.$formkit.setLocale('de');\n // console.log(this.$formkit);\n \n\n // this.$formkit.getValidationMessages()\n if (localStorage.getItem('dpi_editmode') === 'true' && stepWithDates != undefined) {\n initialSchema[stepWithDates].forEach((el) => {\n if (el['identifier'] === 'issued' || el['identifier'] === 'modified') {\n el['children'][1]['props']['else']['validation'] = ''\n el['children'][1]['props']['else']['validation-visibility'] = ''\n\n el['children'][1]['props']['then']['validation'] = ''\n el['children'][1]['props']['then']['validation-visibility'] = ''\n el['children'][1]['props']['then']['validation'] = ''\n el['children'][1]['props']['then']['validation-visibility'] = ''\n }\n }\n );\n }\n\n if (localStorage.getItem('dpi_editmode') === 'false') {\n this.setIsDraft(false)\n this.setIsEditMode(false)\n }\n\n this.saveLocalstorageValues(this.property); // saves values from localStorage to vuex store\n const existingValues = this.$store.getters['dpiStore/getRawValues']({ property: this.property });\n\n\n // only overwrite empty object if there are values\n if (!isEmpty(existingValues)) this.formValues = existingValues;\n\n\n\n this.$nextTick(() => {\n $('[data-toggle=\"tooltip\"]').tooltip({\n container: 'body',\n });\n setTimeout(() => {\n const h4Elements = document.querySelectorAll('.formkitProperty h4');\n h4Elements.forEach((h4Element, index) => {\n // Added the clickeffect to the headers of the individual properties\n\n if (!h4Element.parentElement.parentElement.classList.contains('formkitWrapRepeatable')) {\n if (index != 0 && index != 1 && index != 2 && index != 3) {\n h4Element.nextElementSibling.classList.toggle('d-none')\n }\n h4Element.addEventListener('click', () => {\n h4Element.classList.toggle('dpiChevUp')\n h4Element.nextElementSibling.classList.toggle('d-none')\n });\n }\n })\n // Observe the validity of the individual properties\n const elements = document.querySelectorAll('.formkitProperty');\n const attributeChangedCallback = (mutationsList) => {\n for (const mutation of mutationsList) {\n\n if (mutation.type === 'attributes') {\n if (mutation.target.getAttribute('data-invalid') === 'true') {\n try {\n if (mutation.target.parentNode.parentNode.parentNode.previousElementSibling.tagName === 'H4') {\n mutation.target.parentNode.parentNode.parentNode.previousElementSibling.classList.add('isInvalidProperty')\n }\n } catch (error) { }\n try {\n if (mutation.target.previousElementSibling.tagName === 'H4') {\n mutation.target.previousElementSibling.classList.add('isInvalidProperty')\n }\n } catch (error) { }\n try {\n if (mutation.target.parentNode.previousElementSibling.tagName === 'H4') {\n mutation.target.parentNode.previousElementSibling.classList.add('isInvalidProperty')\n }\n } catch (error) { }\n }\n if (mutation.target.getAttribute('data-invalid') === null || mutation.target.getAttribute('data-invalid') === 'false') {\n try {\n if (mutation.target.parentNode.parentNode.parentNode.previousElementSibling.tagName === 'H4') {\n mutation.target.parentNode.parentNode.parentNode.previousElementSibling.classList.remove('isInvalidProperty')\n }\n } catch (error) { }\n try {\n if (mutation.target.previousElementSibling.tagName === 'H4') {\n mutation.target.previousElementSibling.classList.remove('isInvalidProperty')\n }\n } catch (error) { }\n try {\n if (mutation.target.parentNode.previousElementSibling.tagName === 'H4') {\n mutation.target.parentNode.previousElementSibling.classList.remove('isInvalidProperty')\n }\n } catch (error) { }\n }\n }\n }\n };\n // MutationObserver \n // const observer = new MutationObserver(attributeChangedCallback);\n // const config = { attributes: true };\n // let allMatchingElements = [];\n\n // elements.forEach((element, index) => {\n // const matchingChildren = element.querySelectorAll('.formkit-outer');\n // allMatchingElements = allMatchingElements.concat(Array.from(matchingChildren));\n // observer.observe(allMatchingElements[index], config);\n // });\n });\n });\n },\n createDatasetID() {\n const valueObject = this.formValues[this.getTitleStep];\n if (!has(valueObject, 'datasetID') || isNil(valueObject['datasetID'])) {\n // console.log('in if');\n this.formValues[this.getTitleStep].datasetID = this.createIDFromTitle;\n }\n else {\n\n if (this.createIDFromTitle.startsWith(valueObject.datasetID) || valueObject.datasetID.startsWith(this.createIDFromTitle)) {\n // console.log('in else');\n this.formValues[this.getTitleStep].datasetID = this.createIDFromTitle;\n }\n }\n },\n generateandTranslateSchema(property) {\n for (let index = 0; index < this.getNavSteps(this.$env.content.dataProviderInterface.specification)[property].length; index++) {\n this.createSchema({ property: property, page: this.getNavSteps(this.$env.content.dataProviderInterface.specification)[property][index], specification: this.$env.content.dataProviderInterface.specification });\n this.translateSchema({ property: property, page: this.getNavSteps(this.$env.content.dataProviderInterface.specification)[property][index] });\n }\n },\n\n },\n created() {\n\n // Needs to be reworked\n if (this.$route.query.edit === 'false') {\n this.clearAll();\n // localStorage.clear();\n }\n\n // create schema for datasets or catalogues\n this.generateandTranslateSchema(this.property);\n\n // for datasets also create schema for distributions\n if (this.property === 'datasets') {\n this.generateandTranslateSchema('distributions');\n }\n },\n mounted() {\n this.initInputPage();\n\n },\n watch: {\n activeStep: {\n handler() {\n this.scrollToTop();\n },\n },\n getFirstTitleFromForm: {\n handler(newVal, oldVal) {\n if (newVal === oldVal) return\n if (localStorage.getItem('dpi_editmode') === 'false') {\n this.setIsDraft(false)\n this.setIsEditMode(false)\n }\n // only create id from title if the user is not editing an existing dataset with an existing datasetID\n if (!this.isEditMode) {\n this.createDatasetID();\n }\n },\n },\n // the schema is a computed value which gets computed only once so on language change this value must be re-computed\n '$i18n.locale': {\n handler() {\n this.generateandTranslateSchema(this.property);\n if (this.property === 'datasets') this.generateandTranslateSchema('distributions');\n }\n },\n },\n beforeRouteEnter(to, from, next) {\n // Always clear storage when entering DPI\n next(vm => {\n if (from.name && !from.name.startsWith('DataProviderInterface')) {\n vm.clearAll();\n }\n });\n },\n setup() {\n const dpiContext = useDpiContext();\n const {\n steps,\n activeStep,\n visitedSteps,\n previousStep,\n nextStep,\n stepPlugin,\n goToNextStep,\n goToPreviousStep,\n } = useDpiStepper();\n const { t, te } = useI18n()\n\n const { translateSchema, createSchema, getSchema } = useFormSchema({ t, te });\n\n const scrollToTop = () => {\n let { x, y } = useWindowScroll({ behavior: 'smooth' })\n y.value = 0\n\n }\n\n const checkStepValidity = (stepName) => {\n return (steps[stepName].errorCount > 0 || steps[stepName].blockingCount > 0) && visitedSteps.value.includes(stepName)\n }\n\n const library = markRaw({ OverviewPage })\n\n const isEditMode = computed(() => {\n return !!dpiContext.value.edit?.enabled\n })\n\n\n return {\n steps,\n visitedSteps,\n activeStep,\n previousStep,\n nextStep,\n stepPlugin,\n checkStepValidity,\n goToNextStep,\n goToPreviousStep,\n scrollToTop,\n library,\n isEditMode,\n translateSchema,\n createSchema,\n getSchema,\n }\n }\n});\n</script>\n\n<style lang=\"scss\">\n.standardButtonDPI {\n background-color: #fff;\n color: #000;\n border-radius: 0.3em;\n font-size: 16px;\n padding: 0.75em;\n display: inline-flex;\n align-items: center;\n height: 50px;\n border: 1px solid lightgray;\n transition: all 100ms ease-in-out;\n cursor: pointer;\n\n &:hover {\n transform: scale(98%);\n background-color: #F4F4F4;\n border-color: gray;\n text-decoration: none;\n }\n}\n\n:root {\n --gray: #ccccd7;\n --gray-l: #eeeef4;\n}\n\n.formkit-form {\n max-width: 500px;\n flex-shrink: 0;\n margin-top: 1em;\n margin-bottom: 1em;\n background: #fff;\n color: #000;\n border: 1px solid var(--gray);\n border-radius: 0.5em;\n box-shadow: 0.25em 0.25em 1em 0 rgba(0, 0, 0, 0.1);\n}\n\n#app .source-content {\n padding: 2em;\n background: transparent;\n}\n\n.steps {\n list-style-type: none;\n margin: 0;\n display: flex;\n padding-left: 0;\n background: var(--gray-l);\n border-radius: 0.4em 0.4em 0 0;\n overflow: hidden;\n border-bottom: 1px solid var(--gray);\n}\n\n.step {\n font-size: 14px;\n display: flex;\n align-items: center;\n padding: 16px 20px;\n background: var(--gray-l);\n border-right: 1px solid var(--gray);\n color: gray;\n flex-grow: 0;\n flex-shrink: 0;\n position: relative;\n}\n\n.step:last-child {\n box-shadow: 0.1em -0.1 0.1em 0 rgba(0, 0, 0, 0.33)\n}\n\n.step:hover {\n cursor: pointer;\n}\n\n[data-step-active=\"true\"] {\n color: black;\n background: white !important;\n border-bottom: none;\n position: relative;\n}\n\n.step--errors,\n[data-step-valid=\"true\"]:after {\n content: '✓';\n background-color: #54A085;\n position: absolute;\n top: 4px;\n right: 4px;\n height: 18px;\n width: 18px;\n border-radius: 50%;\n z-index: 10;\n display: flex;\n font-size: 10px;\n flex-direction: column;\n justify-content: center;\n text-align: center;\n color: white;\n}\n\n.step--errors {\n background-color: #ff4949;\n color: #fff;\n z-index: 100;\n}\n\n.step-nav {\n display: flex;\n margin-top: 2em;\n margin-bottom: 1em;\n justify-content: space-between;\n}\n\n.form-body {\n padding: 2em;\n}\n\n.next {\n margin-left: auto;\n}\n\n.formkit-outer[data-type=\"submit\"] .formkit-wrapper {\n padding: 0 2em 1em 2em;\n display: flex;\n}\n\n.formkit-outer[data-type=\"submit\"] .formkit-input {\n margin-left: auto;\n margin-right: 0;\n}\n\ndetails {\n border: 1px solid var(--gray);\n background: var(--gray-l);\n border-radius: .15em;\n padding: 1em;\n}\n\n.formkit-form>.formkit-messages {\n padding: 0 2em 0em 2em;\n}\n\n.formkit-form>.formkit-messages:last-child {\n padding: 0 2em 2em 2em;\n}\n\n[data-errors=\"true\"] .formkit-label {\n color: #ff4949;\n}\n\n.formkit-wrapper {\n max-width: 100%;\n}\n\nbutton:hover,\nsummary {\n cursor: pointer\n}\n\n\n@media (max-width: 438px) {\n h1 {\n font-size: 1.15em;\n }\n\n #app .source-content {\n padding: 0.5em;\n }\n\n .steps {\n flex-direction: column;\n }\n\n .step {\n border-bottom: 1px solid var(--gray);\n border-right: none;\n }\n\n .step:last-child {\n border-bottom: none;\n }\n\n .form-body {\n padding: 1em;\n }\n\n .formkit-outer[data-type=\"submit\"] .formkit-wrapper {\n padding: 0 1em 1em 1em;\n display: flex;\n }\n\n .formkit-form>.formkit-messages {\n padding: 0 1em 0em 1em;\n }\n\n .formkit-form>.formkit-messages:last-child {\n padding: 0 1em 1em 1em;\n }\n}\n\n.repeatableWrap,\n.formkitCmpWrap {\n margin: 2rem 0 !important\n}\n\n.isInvalidProperty {\n background-color: #FFD9D9 !important;\n}\n\n.activeItem {\n flex-grow: 1;\n\n .seperatorHorizontalStepper {\n height: 100%;\n }\n}\n\nselect {\n\n line-height: unset !important;\n}\n\n.form-container {\n padding-top: 20px;\n margin-top: 30px;\n border: solid 1px #d5d5d5;\n border-radius: 3px;\n margin-bottom: 20px;\n}\n\n.inputContainer {\n display: flex;\n}\n\n.formContainer {\n width: 100% !important;\n}\n\n.distributionPage0 {\n display: block;\n}\n\n.distributionPage1 {\n display: none;\n}\n\n.distributionPage2 {\n display: none;\n}\n\n.grid2r2c {\n .formkit-input-group-repeatable {\n display: grid;\n grid-template-columns: 70% 28%;\n grid-template-rows: auto auto;\n grid-gap: 10px;\n background-color: transparent;\n }\n}\n\n.grid1r2c {\n .formkit-input-group-repeatable {\n display: grid;\n grid-template-columns: 70% 28%;\n grid-template-rows: auto;\n grid-gap: 10px;\n background-color: transparent;\n }\n}\n\n.row1 {\n grid-row-start: 1;\n grid-row-end: 2;\n}\n\n.row2 {\n grid-row-start: 2;\n grid-row-end: 3;\n}\n\n.grow3 {\n grid-row-start: 3;\n grid-row-end: 4;\n}\n\n.column1 {\n grid-column-start: 1;\n grid-column-end: 2;\n}\n\n.column2 {\n grid-column-start: 2;\n grid-column-end: 3;\n}\n\n.columnboth {\n grid-column-start: 1;\n grid-column-end: 3;\n}\n\n.display-none {\n display: none;\n}\n\n.activeSection {\n >.formkitProperty {\n >div {}\n }\n}\n\n.formkitCmpWrap {\n border-left: 1px solid lightgray;\n\n\n}\n\n.formkitProperty {\n\n >h4 {\n background-color: #f5f5f5;\n padding: 1rem;\n cursor: pointer;\n position: relative;\n transition: all ease-in-out 200ms;\n\n &:hover {\n\n background-color: lightgray;\n\n &:before {\n\n rotate: -45deg;\n }\n\n &:after {\n\n rotate: 45deg;\n }\n }\n\n &:before {\n transition: all ease-in-out 200ms;\n content: \"\";\n width: 15px;\n height: 1.5px;\n background-color: black;\n position: absolute;\n top: 30px;\n right: 15px;\n rotate: 45deg;\n }\n\n &:after {\n transition: all ease-in-out 200ms;\n content: \"\";\n width: 15px;\n height: 1.5px;\n background-color: black;\n position: absolute;\n top: 30px;\n right: 25px;\n rotate: -45deg;\n }\n }\n\n .formkitProperty {\n h4 {\n padding: 0;\n background-color: unset !important;\n\n &::before {\n display: none !important;\n }\n\n &:after {\n display: none !important;\n }\n }\n }\n}\n\n.dpiChevUp {\n\n &:before {\n\n rotate: -45deg !important;\n }\n\n &:after {\n\n rotate: 45deg !important;\n }\n\n\n\n}\n</style>\n"],"names":["_sfc_main","defineComponent","str","match","InputPageStep","DistributionInputPage","PropertyChooser","Navigation","mapGetters","key","has","title","allValues","isNil","mapActions","h4Elements","h4Element","index","initialSchema","stepWithDates","el","existingValues","isEmpty","$","valueObject","property","newVal","oldVal","to","from","next","vm","dpiContext","useDpiContext","steps","activeStep","visitedSteps","previousStep","nextStep","stepPlugin","goToNextStep","goToPreviousStep","useDpiStepper","t","te","useI18n","translateSchema","createSchema","getSchema","useFormSchema","scrollToTop","x","y","useWindowScroll","checkStepValidity","stepName","library","markRaw","OverviewPage","isEditMode","computed","_a","_hoisted_1","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_12","_hoisted_14","_openBlock","_createElementBlock","_ctx","_hoisted_2","_createElementVNode","_createVNode","_component_FormKit","_cache","$event","_withModifiers","_withCtx","_Fragment","_renderList","step","_normalizeClass","_toDisplayString","_createTextVNode","_createCommentVNode","_hoisted_10","_hoisted_11","_component_InputPageStep","_hoisted_13","_hoisted_15","_hoisted_16","_hoisted_17","_createBlock","_component_FormKitSchema","_component_DistributionInputPage","_hoisted_18","_component_Navigation"],"mappings":"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"}
|