src/widgets/KnowledgeConcierge.js
author ymh <ymh.work@gmail.com>
Fri, 18 Oct 2024 10:24:57 +0200
changeset 1074 231ea5ea7de4
parent 1072 ac1eacb3aa33
permissions -rw-r--r--
change http to https for default thumb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
     1
// KnowledgeConcierge
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
     2
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
     3
import knowledgeConciergeStyles from "./KnowledgeConcierge.module.css";
964
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
     4
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
     5
import Processing from "processing";
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
     6
import Mustache from "mustache";
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
     7
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
     8
const KnowledgeConcierge = function (ns) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
     9
  return class extends ns.Widgets.Widget {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    10
    constructor(player, config) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    11
      super(player, config);
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    12
    }
964
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    13
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    14
    static defaults = {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    15
      width: 600,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    16
      height: 500,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    17
      sketch_path: "tmgraph",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    18
      sketch_files: [
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    19
        "tmgraph.pde",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    20
        "physics.pde",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    21
        "model.pde",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    22
        "javascript.pde",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    23
        "menu.pde",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    24
        "event.pde",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    25
        "constants.pde",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    26
        "initialdata.pde",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    27
      ],
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    28
      kc_api_root: "/kn-concierge/",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    29
      related_api_endpoint: "",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    30
      use_word_boundaries: false,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    31
      related_data_type: "json", // SET TO "jsonp" FOR CROSS-DOMAIN OPERATION
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    32
      related_count: 8,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    33
    };
964
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    34
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    35
    static messages =  {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    36
      fr: {
982
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 964
diff changeset
    37
        related_videos: "Vidéos liées",
1002
a86208b60c91 Bugfixes and changes for MDComposer
veltr
parents: 986
diff changeset
    38
        duration_: "Durée\u00a0:",
a86208b60c91 Bugfixes and changes for MDComposer
veltr
parents: 986
diff changeset
    39
        for_keywords_: "pour le(s) mots-clé(s)\u00a0:",
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    40
        no_matching_videos: "Pas de vidéos correspondantes",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    41
      },
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    42
      en: {
982
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 964
diff changeset
    43
        related_videos: "Related Videos",
983
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
    44
        duration_: "Duration:",
984
e034099276f6 Added keyword passing between related videos
veltr
parents: 983
diff changeset
    45
        for_keywords_: "for keyword(s):",
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    46
        no_matching_videos: "No matching videos",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    47
      },
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    48
    };
964
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    49
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    50
    template =
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    51
      '<div class="Ldt-Kc-Slider"></div><canvas class="Ldt-Kc-Canvas" />' +
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    52
      '<div class="Ldt-Kc-Related"><h2>{{ l10n.related_videos }}</h2>' +
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    53
      '<h3 class="Ldt-Kc-For-Keywords">{{l10n.for_keywords_}} <span class="Ldt-Kc-Keywords"></span></h3>' +
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    54
      '<div class="Ldt-Kc-Waiting"></div>' +
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    55
      '<div class="Ldt-Kc-Related-List"></div></div>';
964
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    56
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    57
    draw() {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    58
      this.renderTemplate();
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    59
      var _canvasHeight = this.height - 16,
964
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    60
        _canvasWidth = this.width - 2,
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
    61
        _canvas = this.$.find(".Ldt-Kc-Canvas"),
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    62
        _tmpId = _.uniqueId("Processing-"),
982
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 964
diff changeset
    63
        _slider = this.$.find(".Ldt-Kc-Slider"),
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    64
        radius = 0.375 * Math.min(_canvasHeight, _canvasWidth);
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    65
      _canvas
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    66
        .attr({
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    67
          width: _canvasWidth,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    68
          height: _canvasHeight,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    69
          id: _tmpId,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    70
        })
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    71
        .css({
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    72
          width: _canvasWidth,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    73
          height: _canvasHeight,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    74
        });
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    75
      var _this = this,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    76
        _pjsfiles = _(this.sketch_files).map(function (_f) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    77
          return _this.sketch_path + "/" + _f;
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    78
        }),
982
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 964
diff changeset
    79
        _selectedText = "",
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 964
diff changeset
    80
        currentNodesList = "",
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 964
diff changeset
    81
        relatedCache = {},
983
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
    82
        relatedRequests = {},
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    83
        relatedTemplate =
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    84
          '<div class="Ldt-Kc-Related-Item"><a href="{{ widget.video_url_base }}{{ media.iri_id }}#keyword={{ escaped_keyword }}"><img src="{{ media.image }}"></a>' +
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    85
          '<h3><a href="{{ widget.video_url_base }}{{ media.iri_id }}#keyword={{ escaped_keyword }}">{{ media.title }}</a></h3><p>{{ description }}</p>' +
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    86
          '<p>{{ widget.l10n.duration_ }} <span class="Ldt-Kc-Item-Duration">{{ duration }}</span></p>' +
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    87
          '</a><div class="Ldt-Kc-Clearer"></div></div>';
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    88
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    89
      Processing.loadSketchFromSources(_canvas[0], _pjsfiles);
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    90
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    91
      function renderRelated() {
983
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
    92
        var keywords = currentNodesList;
984
e034099276f6 Added keyword passing between related videos
veltr
parents: 983
diff changeset
    93
        _this.$.find(".Ldt-Kc-Related").show();
983
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
    94
        if (typeof relatedCache[keywords] === "undefined") {
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    95
          return;
983
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
    96
        }
982
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 964
diff changeset
    97
        _this.$.find(".Ldt-Kc-Waiting").hide();
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 964
diff changeset
    98
        if (relatedCache[keywords].length) {
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
    99
          var _html = '<div class="Ldt-Kc-Row">';
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   100
          _(relatedCache[keywords]).each(function (media, i) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   101
            var _tmpldata = {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   102
              widget: _this,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   103
              media: media,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   104
              description: media.description
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   105
                .replace(/(\n|\r|\r\n)/gm, " ")
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   106
                .replace(/(^.{120,140})[\s].+$/m, "$1&hellip;"),
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   107
              duration: new ns.Model.Time(media.duration).toString(),
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   108
              escaped_keyword: encodeURIComponent(keywords.split(",")[0]),
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   109
            };
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   110
            _html += Mustache.render(relatedTemplate, _tmpldata);
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   111
            if (i % 2) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   112
              _html += '</div><div class="Ldt-Kc-Row">';
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   113
            }
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   114
          });
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   115
          _html += "</div>";
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   116
          _this.$.find(".Ldt-Kc-Related-List").html(_html);
982
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 964
diff changeset
   117
        } else {
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   118
          _this.$.find(".Ldt-Kc-Related-List").html(
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   119
            "<p class='Ldt-Kc-Related-Empty'>" +
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   120
              _this.l10n.no_matching_videos +
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   121
              "</p>"
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   122
          );
982
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 964
diff changeset
   123
        }
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   124
      }
982
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 964
diff changeset
   125
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   126
      function triggerSearch(text) {
964
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   127
        if (_selectedText !== text) {
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   128
          _selectedText = text;
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   129
          _this.source.getAnnotations().search(text);
964
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   130
        }
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   131
      }
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   132
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   133
      function searchNodes(tags) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   134
        var _tlist = _this.use_word_boundaries
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   135
            ? _(tags).map(function (t) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   136
                return "\\\\y" + t + "\\\\y";
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   137
              })
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   138
            : tags,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   139
          _q = "(?i)(" + _tlist.join("|") + ")";
964
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   140
        jQuery.getJSON(
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   141
          _this.kc_api_root + "topics.jsp",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   142
          {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   143
            proj: _this.project_id,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   144
            q: _q,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   145
          },
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   146
          function (data) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   147
            if (data && data.items && data.items.length) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   148
              for (var i = 0, l = data.items.length; i < l; i++) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   149
                var node = data.items[i];
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   150
                if (i == 0) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   151
                  _pjs.initNode(
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   152
                    node.id,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   153
                    node.name,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   154
                    node.grp,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   155
                    node.uid,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   156
                    node.proj
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   157
                  );
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   158
                  var node = _pjs.findNode(node.id, node.proj);
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   159
                } else {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   160
                  var node = _pjs.newNode(
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   161
                    node.id,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   162
                    node.name,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   163
                    node.grp,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   164
                    node.uid,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   165
                    node.proj
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   166
                  );
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   167
                  node.root = true;
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   168
                  node.fix();
964
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   169
                }
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   170
                _fns.countassoc(node.id, node.proj);
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   171
                if (l > 1) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   172
                  node.position(
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   173
                    Math.floor(radius * Math.sin((2 * Math.PI * i) / l)),
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   174
                    Math.floor(radius * Math.cos((2 * Math.PI * i) / l))
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   175
                  );
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   176
                }
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   177
              }
964
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   178
            }
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   179
          }
964
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   180
        );
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   181
      }
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   182
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   183
      function showRelated(nodetexts) {
983
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
   184
        currentNodesList = nodetexts;
984
e034099276f6 Added keyword passing between related videos
veltr
parents: 983
diff changeset
   185
        _this.$.find(".Ldt-Kc-Related-List").html("");
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   186
        _this.$.find(".Ldt-Kc-Keywords").html(nodetexts.replace(/\,/g, ", "));
983
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
   187
        if (typeof relatedCache[nodetexts] === "undefined") {
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   188
          _this.$.find(".Ldt-Kc-Waiting").show();
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   189
          if (relatedRequests[nodetexts]) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   190
            return;
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   191
          }
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   192
          relatedRequests[nodetexts] = true;
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   193
          ns.jQuery.ajax({
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   194
            url: _this.related_api_endpoint,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   195
            data: {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   196
              format: _this.related_data_type,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   197
              keywords: nodetexts,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   198
            },
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   199
            dataType: _this.related_data_type,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   200
            success: function (data) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   201
              relatedCache[nodetexts] = ns
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   202
                ._(data.objects)
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   203
                .chain()
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   204
                .filter(function (o) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   205
                  return o.iri_id !== _this.media.id;
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   206
                })
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   207
                .sortBy(function (o) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   208
                  return -o.score;
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   209
                })
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   210
                .first(_this.related_count)
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   211
                .value();
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   212
              renderRelated();
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   213
            },
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   214
          });
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   215
        } else {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   216
          renderRelated();
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   217
        }
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   218
      }
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   219
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   220
      function rootNode(id, proj) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   221
        jQuery.getJSON(
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   222
          _this.kc_api_root + "topic.jsp",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   223
          {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   224
            id: id,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   225
            proj: proj,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   226
          },
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   227
          function (response) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   228
            if (response != null && response.items.length > 0) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   229
              item = response.items[0];
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   230
              _pjs.initNode(item.id, item.name, item.grp, item.uid, item.proj);
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   231
              _fns.countassoc(item.id, item.proj);
982
cfcbac34d020 Added Multi Segments Widget
veltr
parents: 964
diff changeset
   232
            }
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   233
          }
983
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
   234
        );
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   235
      }
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   236
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   237
      function bindJavascript() {
964
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   238
        _pjs = Processing.getInstanceById(_tmpId);
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   239
        if (_pjs && typeof _pjs.bindJavascript === "function") {
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   240
          setTimeout(function () {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   241
            _pjs.bindJavascript(_fns);
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   242
            _pjs.setSize(_canvasWidth, _canvasHeight);
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   243
            var _edit = false,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   244
              _teamMode = true;
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   245
            _pjs.saveMode("en", false, _teamMode, false, "both", _edit);
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   246
            rootNode(_this.topic_id, _this.project_id);
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   247
            _slider.slider({
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   248
              min: -20,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   249
              max: 20,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   250
              value: 0,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   251
              range: "min",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   252
              slide: function (event, ui) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   253
                _pjs.zoom(Math.exp(ui.value / 10));
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   254
              },
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   255
            });
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   256
          }, 1000);
964
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   257
        } else {
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   258
          setTimeout(bindJavascript, 1000);
964
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   259
        }
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   260
      }
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   261
      var currentSelection = null;
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   262
      var _fns = {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   263
        adjacentnodes: function (id, proj, adj, both) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   264
          jQuery.ajax({
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   265
            url: _this.kc_api_root + "associations-bd.jsp",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   266
            cache: false,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   267
            data: {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   268
              id: id,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   269
              proj: proj,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   270
              both: both,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   271
              adj: adj,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   272
            },
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   273
            success: function (response) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   274
              if (response.items.length > 0) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   275
                for (i = 0, end = response.items.length; i < end; i++) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   276
                  item = response.items[i];
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   277
                  _pjs.addEdge(
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   278
                    item.asc_id,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   279
                    item.id,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   280
                    item.from_proj,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   281
                    item.to_id,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   282
                    item.to_proj,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   283
                    item.r_name,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   284
                    item.r_from,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   285
                    item.r_to,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   286
                    item.uid,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   287
                    item.proj
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   288
                  );
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   289
                  _pjs.setNodeName(item.id, item.from_proj, item.name);
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   290
                  _pjs.setNodeValue(
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   291
                    item.id,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   292
                    item.from_proj,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   293
                    item.name,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   294
                    item.grp,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   295
                    item.abst,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   296
                    item.from_uid
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   297
                  );
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   298
                  if (item.from_assoc != null) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   299
                    _pjs.setNodeAssoc(item.id, item.from_proj, item.from_assoc);
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   300
                  }
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   301
                  _pjs.setNodeName(item.to_id, item.to_proj, item.to_name);
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   302
                  _pjs.setNodeValue(
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   303
                    item.to_id,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   304
                    item.to_proj,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   305
                    item.to_name,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   306
                    item.to_grp,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   307
                    item.to_abst,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   308
                    item.to_uid
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   309
                  );
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   310
                  if (item.to_assoc != null) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   311
                    _pjs.setNodeAssoc(item.to_id, item.to_proj, item.to_assoc);
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   312
                  }
964
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   313
                }
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   314
                return response;
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   315
              } else {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   316
                //.debug('No such topic.');
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   317
                return null;
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   318
              }
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   319
            },
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   320
          });
964
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   321
        },
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   322
        setscale: function (scl) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   323
          _slider.slider("value", 10 * Math.log(scl));
964
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   324
        },
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   325
        countassoc: function (id, proj) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   326
          jQuery.ajax({
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   327
            url: _this.kc_api_root + "count-assoc.jsp",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   328
            data: {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   329
              id: id,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   330
              proj: proj,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   331
            },
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   332
            success: function (response) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   333
              if (response.items.length > 0) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   334
                for (i = 0, end = response.items.length; i < end; i++) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   335
                  item = response.items[i];
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   336
                  _pjs.setNodeValue(
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   337
                    item.id,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   338
                    item.proj,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   339
                    item.name,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   340
                    item.grp,
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   341
                    item.abst
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   342
                  );
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   343
                  if (item.assoc != null)
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   344
                    _pjs.setNodeAssoc(item.id, item.proj, item.assoc);
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   345
                  if (item.mass != null)
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   346
                    _pjs.setNodeMass(item.id, item.proj, item.mass);
964
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   347
                }
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   348
              }
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   349
            },
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   350
          });
964
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   351
        },
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   352
        username: function () {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   353
          var nodes = _pjs.getNodes().values().toArray(),
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   354
            nodetexts = ns
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   355
              ._(nodes)
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   356
              .chain()
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   357
              .map("name")
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   358
              .sortBy()
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   359
              .value()
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   360
              .join(",");
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   361
          showRelated(nodetexts);
964
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   362
        },
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   363
        mousemove: function (selection) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   364
          if (selection !== currentSelection) {
983
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
   365
            if (selection) {
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   366
              triggerSearch(selection.name);
983
97fef7a4b189 updated search
veltr
parents: 982
diff changeset
   367
            }
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   368
            currentSelection = selection;
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   369
          }
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   370
        },
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   371
        click: function (selection) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   372
          if (selection) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   373
            triggerSearch(selection.name);
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   374
            showRelated(selection.name);
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   375
          } else {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   376
            triggerSearch();
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   377
          }
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   378
        },
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   379
      };
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   380
      var uselessfuncts = [
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   381
        "selectnode",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   382
        "selectedge",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   383
        "topicnode",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   384
        "group_shapes",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   385
        "allbackup",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   386
        "allretrieve",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   387
        "new_topic",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   388
        "pedia",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   389
        "set_mode",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   390
        "new_relation",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   391
        "startexpand",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   392
        "endexpand",
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   393
        "new_select", //, "mouseover" //, "username"
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   394
      ];
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   395
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   396
      _(uselessfuncts).each(function (funcname) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   397
        _fns[funcname] = function () {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   398
          //            console.log("Function", funcname, "called with arguments", arguments);
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   399
        };
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   400
      });
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   401
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   402
      this.getWidgetAnnotations().forEach(function (annotation) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   403
        annotation.on("click", function () {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   404
          var _tags = annotation.getTagTexts();
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   405
          if (_tags.length) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   406
            searchNodes(_tags);
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   407
          }
964
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   408
        });
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   409
      });
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   410
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   411
      this.source.getTags().forEach(function (tag) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   412
        tag.on("click", function () {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   413
          if (tag.title) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   414
            searchNodes([tag.title]);
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   415
          }
964
d7d56ea2d0a6 Adaptations for Knowledge Concierge
veltr
parents:
diff changeset
   416
        });
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   417
      });
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   418
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   419
      var keywmatch = document.location.hash.match(/keyword=([^#?&]+)/);
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   420
      if (keywmatch) {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   421
        this.player.on("widgets-loaded", function () {
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   422
          triggerSearch(decodeURIComponent(keywmatch[1]));
1013
392ddcd212d7 Throwed in a bunch of semicolons
veltr
parents: 1002
diff changeset
   423
        });
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   424
      }
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   425
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   426
      bindJavascript();
984
e034099276f6 Added keyword passing between related videos
veltr
parents: 983
diff changeset
   427
    }
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   428
  };
1013
392ddcd212d7 Throwed in a bunch of semicolons
veltr
parents: 1002
diff changeset
   429
};
1072
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   430
ac1eacb3aa33 Migrate source and build to vite.js
ymh <ymh.work@gmail.com>
parents: 1013
diff changeset
   431
export { KnowledgeConcierge, knowledgeConciergeStyles };