src/js/serializers/segmentapi-serializer.js
author ymh <ymh.work@gmail.com>
Tue, 22 Oct 2024 09:54:34 +0200
changeset 1080 2b513bcb710a
parent 1072 ac1eacb3aa33
permissions -rw-r--r--
increment version
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1015
63c5e5b16770 Compatibility fix
veltr
parents: 1014
diff changeset
     1
/* START segmentapi-serializer.js */
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1032
diff changeset
     2
import _ from "lodash";
1015
63c5e5b16770 Compatibility fix
veltr
parents: 1014
diff changeset
     3
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1032
diff changeset
     4
const segmentapi = function(IriSP) { return {
1014
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
     5
    deSerialize : function(_data, _source) {
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
     6
        var _annotationlist = new IriSP.Model.List(_source.directory),
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
     7
            _medialist = new IriSP.Model.List(_source.directory);
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
     8
        _source.addList("media", _medialist);
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
     9
        
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
    10
        function deserializeObject(_s) {
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
    11
            var _ann = new IriSP.Model.Annotation(_s.element_id, _source),
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
    12
                _media = _source.getElement(_s.iri_id);
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
    13
            if (!_media) {
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
    14
                _media = new IriSP.Model.Media(_s.iri_id, _source);
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
    15
                _source.getMedias().push(_media);
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
    16
            }
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
    17
            _ann.setMedia(_s.iri_id);
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
    18
            _ann.title = _s.title;
1032
74ac0be7655c small corrections to allow js compilation
ymh <ymh.work@gmail.com>
parents: 1015
diff changeset
    19
            _ann.description = _s['abstract'];
1014
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
    20
            _ann.begin = new IriSP.Model.Time(_s.start_ts);
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
    21
            _ann.end = new IriSP.Model.Time(_s.start_ts + _s.duration);
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
    22
            _ann.keywords = (_s.tags ? _s.tags.split(",") : []);
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
    23
            _ann.project_id = _s.project_id;
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
    24
            _annotationlist.push(_ann);
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
    25
        }
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
    26
        
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
    27
        if (typeof _data.objects !== "undefined") {
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1032
diff changeset
    28
            _(_data.objects).each(deserializeObject);
1014
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
    29
        } else {
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
    30
            deserializeObject(_data);
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
    31
        }
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
    32
        _source.addList("annotation", _annotationlist);
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
    33
    }
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1032
diff changeset
    34
}};
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1032
diff changeset
    35
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1032
diff changeset
    36
export default segmentapi;
1014
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
    37
96ea47146c66 Retrieved exotic serializers from hashcut
veltr
parents:
diff changeset
    38
/* END segmentapi-serializer.js */