From a819b144fd8a75970006ff28501cc9bb04998e18 Mon Sep 17 00:00:00 2001 From: dananji Date: Fri, 29 Jul 2022 13:52:44 -0400 Subject: [PATCH 1/2] SME with IIIF manifest usage --- app/controllers/media_objects_controller.rb | 1 + .../components/ReactButtonContainer.jsx | 28 +++++++++++++------ app/models/iiif_canvas_presenter.rb | 6 ++-- app/models/iiif_manifest_presenter.rb | 9 ++++++ app/views/media_objects/_structure.html.erb | 6 ++-- package.json | 2 +- yarn.lock | 21 ++++++++++---- 7 files changed, 53 insertions(+), 20 deletions(-) diff --git a/app/controllers/media_objects_controller.rb b/app/controllers/media_objects_controller.rb index 955bd59d72..229210b783 100644 --- a/app/controllers/media_objects_controller.rb +++ b/app/controllers/media_objects_controller.rb @@ -475,6 +475,7 @@ def manifest manifest = IIIFManifest::V3::ManifestFactory.new(presenter).to_h # TODO: implement thumbnail in iiif_manifest manifest["thumbnail"] = [{ "id" => presenter.thumbnail, "type" => 'Image' }] if presenter.thumbnail + manifest["rendering"] = presenter.rendering respond_to do |wants| wants.json { render json: manifest.to_json } diff --git a/app/javascript/components/ReactButtonContainer.jsx b/app/javascript/components/ReactButtonContainer.jsx index 8956a5fa53..878e4e9750 100644 --- a/app/javascript/components/ReactButtonContainer.jsx +++ b/app/javascript/components/ReactButtonContainer.jsx @@ -7,22 +7,27 @@ class ReactButtonContainer extends Component { constructor(props) { super(props); - const { audioURL, baseURL, initStructure, masterFileID, streamDuration } = this.props; + const { + baseURL, + initStructure, + masterFileID, + mediaObjectID, + canvasIndex, + } = this.props; this.state = { show: false, smeProps: { structureURL: baseURL + '/master_files/' + masterFileID + '/structure.json', - waveformURL: baseURL + '/master_files/' + masterFileID + '/waveform.json', + manifestURL: baseURL + '/media_objects/' + mediaObjectID + '/manifest.json', + canvasIndex: canvasIndex, initStructure: initStructure, - audioURL: audioURL, - streamDuration: Number(streamDuration) }, structureSaved: true }; } handleClose = () => { - if(!this.state.structureSaved) { + if (!this.state.structureSaved) { if (confirm("Unsaved changes will be lost. Are you sure?")) { this.setState({ show: false @@ -44,10 +49,10 @@ class ReactButtonContainer extends Component { getStructureStatus = (value) => { this.setState({ structureSaved: value }); - } + }; render() { - const modalID = `edit_structure_${this.props.sectionIndex}`; + const modalID = `edit_structure_${this.props.canvasIndex}`; return (
diff --git a/package.json b/package.json index fa2041f6ef..fd87de2ebc 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "react": "^16.8.4", "react-bootstrap": "^1.0.0", "react-dom": "^16.8.4", - "react-structural-metadata-editor": "https://github.com/avalonmediasystem/react-structural-metadata-editor", + "react-structural-metadata-editor": "https://github.com/avalonmediasystem/react-structural-metadata-editor#iiif-manifest", "react_ujs": "^2.4.4", "url-search-params-polyfill": "^7.0.1", "video.js": "^7.15.4", diff --git a/yarn.lock b/yarn.lock index 8e8d2663e9..1254376539 100644 --- a/yarn.lock +++ b/yarn.lock @@ -894,9 +894,9 @@ "@babel/plugin-transform-react-pure-annotations" "^7.14.5" "@babel/runtime@^7.1.2", "@babel/runtime@^7.15.4", "@babel/runtime@^7.2.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.8.3", "@babel/runtime@^7.9.2": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a" - integrity sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw== + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.0.tgz#22b11c037b094d27a8a2504ea4dcff00f50e2259" + integrity sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA== dependencies: regenerator-runtime "^0.13.4" @@ -4832,6 +4832,16 @@ manifesto.js@^4.1.0: isomorphic-unfetch "^3.0.0" lodash "^4.17.21" +manifesto.js@^4.2.14: + version "4.2.14" + resolved "https://registry.yarnpkg.com/manifesto.js/-/manifesto.js-4.2.14.tgz#376fc73f9884646ff79168a67c4d3356cbd28b48" + integrity sha512-6lsgr3j/DyxlIQfqE+0VlNeKlb3MzJVv42Is9+Y8AC6pBfVIqKV4xfGrP7B1q9jX59elFR4grYGDMVWi71KwSQ== + dependencies: + "@edsilv/http-status-codes" "^1.0.3" + "@iiif/vocabulary" "^1.0.20" + isomorphic-unfetch "^3.0.0" + lodash "^4.17.21" + map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" @@ -6592,9 +6602,9 @@ react-redux@^7.2.6: prop-types "^15.7.2" react-is "^17.0.2" -"react-structural-metadata-editor@https://github.com/avalonmediasystem/react-structural-metadata-editor": +"react-structural-metadata-editor@https://github.com/avalonmediasystem/react-structural-metadata-editor#iiif-manifest": version "1.1.0" - resolved "https://github.com/avalonmediasystem/react-structural-metadata-editor#649f6e415a414c04e231e9f400bf268915209956" + resolved "https://github.com/avalonmediasystem/react-structural-metadata-editor#ec1e1306b9717ff711af4716f75c1aa0c2f8350c" dependencies: "@babel/runtime" "^7.4.4" "@fortawesome/fontawesome-svg-core" "^1.2.4" @@ -6606,6 +6616,7 @@ react-redux@^7.2.6: base-64 "^0.1.0" hls.js "^1.1.2" lodash "4.17.21" + manifesto.js "^4.2.14" peaks.js "^0.26.0" prop-types "^15.6.2" react-bootstrap "1.6.4" From 7a2dfac2025fb5afc34799d2aaaeb87f9c53a461 Mon Sep 17 00:00:00 2001 From: Chris Colvard Date: Fri, 17 Feb 2023 16:34:39 -0500 Subject: [PATCH 2/2] Use main branch of SME --- package.json | 2 +- yarn.lock | 10 ++-------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index fd87de2ebc..fa2041f6ef 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "react": "^16.8.4", "react-bootstrap": "^1.0.0", "react-dom": "^16.8.4", - "react-structural-metadata-editor": "https://github.com/avalonmediasystem/react-structural-metadata-editor#iiif-manifest", + "react-structural-metadata-editor": "https://github.com/avalonmediasystem/react-structural-metadata-editor", "react_ujs": "^2.4.4", "url-search-params-polyfill": "^7.0.1", "video.js": "^7.15.4", diff --git a/yarn.lock b/yarn.lock index 1254376539..9ab79d12d4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1892,11 +1892,6 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base-64@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/base-64/-/base-64-0.1.0.tgz#780a99c84e7d600260361511c4877613bf24f6bb" - integrity sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA== - base64-js@^1.0.2: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" @@ -6602,9 +6597,9 @@ react-redux@^7.2.6: prop-types "^15.7.2" react-is "^17.0.2" -"react-structural-metadata-editor@https://github.com/avalonmediasystem/react-structural-metadata-editor#iiif-manifest": +"react-structural-metadata-editor@https://github.com/avalonmediasystem/react-structural-metadata-editor": version "1.1.0" - resolved "https://github.com/avalonmediasystem/react-structural-metadata-editor#ec1e1306b9717ff711af4716f75c1aa0c2f8350c" + resolved "https://github.com/avalonmediasystem/react-structural-metadata-editor#ca1ed572f3104e6043e4b8fc60bf67f6a75259cd" dependencies: "@babel/runtime" "^7.4.4" "@fortawesome/fontawesome-svg-core" "^1.2.4" @@ -6613,7 +6608,6 @@ react-redux@^7.2.6: "@material-ui/core" "^4.12.0" "@material-ui/icons" "4.2.1" axios "^0.21.2" - base-64 "^0.1.0" hls.js "^1.1.2" lodash "4.17.21" manifesto.js "^4.2.14"